✏️ 正在编辑: AberturaConta.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/library/Core/Banco/Planilha/BB/AberturaConta.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php use Service_Exception_ImportacaoContratoException as ImportacaoContratoException; class Core_Banco_Planilha_BB_AberturaConta extends Core_Banco_Planilha { private $inicio = 2; protected $colunas = [ 'mci_empresa' => 'A', 'data_movimento' => 'B', 'codigo_subestabelecido' => 'C', 'chavej' => 'D', 'data_emissao' => 'E', 'agencia_beneficiado' => 'F', 'conta_beneficiado' => 'G', 'data_liberacao' => 'H', 'data_cancelamento' => 'I', 'status_proposta' => 'J' ]; protected $naoImportados = []; public function importar(array $dados) { $this->validarColunas($dados); $sheetData = $this->excluirLinhasVazias($dados, 'conta_beneficiado'); end($sheetData); $lastKey = key($sheetData); reset($sheetData); for($i = $this->inicio; $i <= $lastKey; $i++) { $dados = [ 'banco_id' => $this->getBancoId(), 'empresa_id' => null, 'produto' => null, 'tipo' => null, 'convenio_id' => 0, 'numero_contrato' => null, 'corretor_id' => null, 'status_proposta' => null, 'prazo' => 1, 'valor_bruto' => null, 'valor_liquido' => null, 'forma_liberacao' => null, 'data_emissao' => null, 'data_liberacao' => null, 'cliente_id' => null, 'banco_beneficiado' => null, 'agencia_beneficiado' => null, 'conta_beneficiado' => null, 'tabela_id' => 1 ]; try { $this->_getCorretorId($sheetData[$i], $dados); $this->_getEmpresaId($sheetData[$i], $dados); $this->getProduto($dados); $this->getNumeroContrato($sheetData[$i], $dados); $this->_getStatusProposta($sheetData[$i], $dados); $this->getValorBruto($dados); $this->_getDataEmissao($sheetData[$i], $dados); $this->_getDataLiberacao($sheetData[$i], $dados); $this->getBancoBeneficiado($sheetData[$i], $dados); $this->_getAgenciaBeneficiado($sheetData[$i], $dados); $this->_getContaBeneficiado($sheetData[$i], $dados); $this->_getComissaoCorretorAndEmpresa($sheetData[$i], $dados); $this->_getClienteId($sheetData[$i], $dados); $this->salvarLinha($sheetData[$i], $dados); } catch ( ImportacaoContratoException $e) { $this->_addNaoImportado($dados, $sheetData[$i], $this->naoImportados, $e->getMessage()); } catch ( Core_Exception $e) { $this->_addNaoImportado($dados, $sheetData[$i], $this->naoImportados, $e->getMessage()); } catch ( Zend_Db_Exception $e){ $this->_addNaoImportado($dados, $sheetData[$i], $this->naoImportados, "Erro na consulta SQL" . $e->getMessage()); } } return $this->naoImportados; } protected function salvarLinha($sheetData, &$dados) { $modelContrato = new Model_Contrato(); $dadosContrato = $modelContrato->existe($dados['numero_contrato'], $dados['banco_id']); try { if (!empty($dadosContrato)) { $modelContrato->atualizandoContrato($dados, $dadosContrato); } else { $dadosContrato['id'] = $modelContrato->inserindoContrato($dados); } } catch (ImportacaoContratoException $importacaoContratoException) { $this->_addNaoImportado( $importacaoContratoException->getDados(), $sheetData, $this->naoImportados, $importacaoContratoException->getMessage() ); } Model_Contrato::gravarEspelhoImportacao($dadosContrato['id'], $sheetData, $this->getArquivoOrigem()); } public function getProduto(&$dados) { $dbtable = new Model_DbTable_Produto(); $produto = $dbtable->fetchRow("descricao LIKE 'ABERTURA C/C PF'"); if (!$produto) { $produto = $dbtable->insert([ 'codigo' => '111111', 'descricao' => 'ABERTURA C/C PF', 'tipo' => 'ABERTURA DE CONTA', 'banco_id' => $this->_bancoId, ]); } $dados['produto'] = $produto->codigo; $dados['tipo'] = $produto->tipo; } public function getNumeroContrato($sheetData, &$dados) { $dados['numero_contrato'] = $sheetData[$this->getColuna('agencia_beneficiado')]; $dados['numero_contrato'] .= '.'; $dados['numero_contrato'] .= $sheetData[$this->getColuna('conta_beneficiado')]; $dados['numero_contrato'] .= '.CC'; } public function getValorBruto(&$dados) { $model = new Model_Produto(); $valor = $model->buscaValorProdutoPorCodigo($dados['produto']); $dados['valor_bruto'] = number_format($valor, 2, ',', '.'); $dados['valor_liquido'] = number_format($valor, 2, ',', '.'); } public function getBancoBeneficiado($sheetData, &$dados) { $dados['banco_beneficiado'] = '001'; } public function _getCorretorId(array $sheetData, array &$dados) { $model = new Model_Corretor(); $corretor = $model->getByCodCorretor($sheetData[$this->getColuna('chavej')]); $corretor = current($corretor); if ($corretor) { $dados['corretor_id'] = $corretor['id']; return false; } } }
💾 保存文件
← 返回文件管理器