✏️ 正在编辑: Pagos.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/library/Core/Banco/Planilha/Bv/Pagos.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_Banco_Planilha_Bv_Pagos extends Core_Banco_Planilha { protected $_dateFormat = 'dd-MM-yyyy'; protected $_inicioLaco = 2; protected $colunas = array( 'agencia_beneficiado' => '', 'bairro' => '', 'banco_beneficiado' => '', 'celular' => '', 'cep' => '', 'cidade' => '', 'cidade_uf' => '', 'codigo_agente' => 'C', 'codigo_convenio' => 'K', 'complemento' => '', 'conta_beneficiado' => '', 'convenio' => 'L', 'corretor_id' => 'AS', 'cpf_cliente' => 'G', 'data_emissao' => 'O', 'data_expedicao' => '', 'data_liberacao' => 'P', 'data_nascimento' => '', 'digito_agencia_beneficiado' => '', 'digito_conta_beneficiado' => '', 'endereco' => '', 'fone' => '', 'forma_liberacao' => '', 'matricula' => '', 'nome_cliente' => 'H', 'nome_mae' => '', 'nome_pai' => '', 'nome_produto' => '', 'numero' => '', 'numero_ade' => '', 'numero_beneficio' => '', 'numero_contrato' => 'I', 'orgao_expedidor' => '', 'prazo' => 'M', 'produto' => '', 'rg' => '', 'status_proposta' => '', 'tabela' => 'N', 'uf' => '', 'uf_expedidor' => '', 'valor_bruto' => 'Q', 'valor_liquido' => 'S', 'valor_parcela' => '', 'valor_liquido_contrato' => 'S', 'valor_liquido_comissao' => 'AF', ); protected $colunasOpcionais = array( 'corretor_id' ); public function importar(array $sheetData) { $this->validarColunas($sheetData); $sheetData = $this->excluirLinhasVazias($sheetData); end($sheetData); $lastKey = key($sheetData); reset($sheetData); for ( $i = $this->_inicioLaco; $i <= $lastKey; $i++ ) { $dados = array( 'banco_id' => $this->getBancoId(), 'corretor_id' => null, 'empresa_id' => null, 'convenio_id' => null, 'tabela_id' => null, 'cliente_id' => null, 'produto' => null, 'prazo' => null, 'valor_bruto' => null, 'valor_liquido' => null, 'numero_contrato' => null, 'data_emissao' => null, 'data_recebimento_comissao' => null, 'digitador' => Yuppie_Auth::getIdentity()->login, 'forma_liberacao' => null, 'comissao_corretor' => null, 'comissao_empresa' => null, 'diferimento_corretor' => null, 'status_proposta' => null, 'seguranca' => null ); try { $sheetData[$i][$this->getColuna('cpf_cliente')] = String_Refatorar::formatarCpf($sheetData[$i][$this->getColuna('cpf_cliente')]); $this->_getTipoContrato($sheetData[$i], $dados); $this->_getProduto($sheetData[$i], $dados); $this->_getPrazo($sheetData[$i], $dados); $this->_getValorBrutoLiquido($sheetData[$i], $dados); $this->_getEstornado($sheetData[$i], $dados); $this->_getNumeroContrato($sheetData[$i], $dados); $this->_getFormaLiberacao($sheetData[$i], $dados); $this->_getConvenioIdTabelaId($sheetData[$i], $dados); $this->_getCorretorId($sheetData[$i], $dados); $this->_getEmpresaId($sheetData[$i], $dados); $this->_getClienteId($sheetData[$i], $dados); $this->_getDataEmissao($sheetData[$i], $dados); $this->_getComissaoEmpresa($sheetData[$i], $dados); $this->_getComissaoCorretorAndEmpresa($sheetData[$i], $dados); $this->_getStatusProposta($sheetData[$i], $dados); $this->_getDataLiberacao($sheetData[$i], $dados); $this->_getOutros($sheetData[$i], $dados); $this->_getDigitador($sheetData[$i], $dados); $this->contratosImportados[] = $dados['numero_contrato']; $this->salvarLinha($sheetData[$i], $dados); } catch ( Exception $e ) { $this->_addNaoImportado( $dados, $sheetData[$i], $this->naoImportados, $e->getMessage() ); } } $result = $this->naoImportados; $recebimentoBv = new Core_Banco_Planilha_Bv_Recebimento($this->_bancoId); $recebimentoBv->importar($sheetData); return $result; } protected function _getConvenioIdTabelaId(array $sheetData, array &$dados) { $colunaTabela = $sheetData[$this->getColuna('tabela')]; $colunaConvenio = $sheetData[$this->getColuna('convenio')]; //verifica se o convenio existe $convenio = new Model_DbTable_Convenio(); $dadosConvenio = $convenio->fetchRow("nome = '" . $colunaConvenio . "'"); if( $dadosConvenio == null ){ $dados['convenio_id'] = $convenio->insert(array( 'nome' => $colunaConvenio )); } else if( $dadosConvenio['parent_id'] ){ $dadosParent = $convenio->fetchRow("id='" . $dadosConvenio['parent_id'] . "'"); $dados['convenio_id'] = $dadosParent['id']; } else { $dados['convenio_id'] = $dadosConvenio['id']; } if (!empty($colunaTabela)) { $this->_getTipoFormalizacao($sheetData, $dados); $tabela = (new Model_Tabela())->getOrCreateTabelaByNome(null, $colunaTabela, $dados['convenio_id'], $this->getBancoId(), $dados['tipo_formalizacao']); $dados['tabela_id'] = $tabela; } } protected function _getStatusProposta(array $sheetData, array &$dados) { $dados['status_proposta'] = 43; //operação finalizada } protected function _getValorBrutoLiquido(array $sheetData, array &$dados) { $valorBruto = $this->getColuna('valor_bruto') ? trim($sheetData[$this->getColuna('valor_bruto')]) : null; $valorLiquido = $this->getColuna('valor_liquido') ? trim($sheetData[$this->getColuna('valor_liquido')]) : null; $dados['valor_bruto'] = number_format($valorBruto, 2, ',', '.'); $dados['valor_liquido'] = number_format($valorLiquido, 2, ',', '.'); } public function _getComissaoEmpresa(array $sheetData, array &$dados) { $valorLiquidoContrato = trim($sheetData[$this->getColuna('valor_liquido_contrato')]); $valorLiquidoComissao = trim($sheetData[$this->getColuna('valor_liquido_comissao')]); $dados['comissao_empresa'] = ($valorLiquidoComissao * 100 / $valorLiquidoContrato); } /** * Busca p corretor * @param array $sheetData * @param array $dados * @return void */ protected function _getCorretorId(array $sheetData, array &$dados) { $colCorretorId = isset($sheetData[$this->getColuna('corretor_id')]) ? $sheetData[$this->getColuna('corretor_id')] : null; $colAgente = isset($sheetData[$this->getColuna('codigo_agente')]) ? $sheetData[$this->getColuna('codigo_agente')] : null; $corretor = new Model_Corretor(); $corretorId = 0; //pesquisa pelo ID if( $corretorId <= 0 && $colCorretorId != null ){ $dadosCorretor = $corretor->exibir($colCorretorId); if( $dadosCorretor != null ){ $corretorId = $dadosCorretor['id']; } } //pesquisa pelo codigo do usuario if( $colAgente != null && ($corretorId >= 0 || $corretorId == null) ){ $corretorSenha = new Model_CorretorSenha(); $corretorId = $corretorSenha->getCorretorIdBySenha($colAgente, $dados['banco_id']); } $dados['corretor_id'] = $corretorId; } protected function _getDigitador(array $sheetData, array &$dados) { $colCodigoAgente = isset($sheetData[$this->getColuna('codigo_agente')]) ? $sheetData[$this->getColuna('codigo_agente')] : null; if( $colCodigoAgente != null ){ $dados['digitador'] = $colCodigoAgente; } } }
💾 保存文件
← 返回文件管理器