✏️ 正在编辑: Pagos.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/library/Core/Banco/Planilha/Mercantil/Pagos.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_Banco_Planilha_Mercantil_Pagos extends Core_Banco_Planilha { private $_inicioLaco = 2; protected $_dateFormat = 'd/m/y'; protected $colunas = array( 'agencia_beneficiado' => '', 'bairro' => '', 'banco_beneficiado' => '', 'celular' => '', 'cep' => '', 'cidade' => '', 'cidade_uf' => '', 'codigo_agente' => '', 'codigo_convenio' => '', 'complemento' => '', 'conta_beneficiado' => '', 'convenio' => '', 'corretor_id' => '', 'cpf_cliente' => '', 'data_emissao' => '', 'data_expedicao' => '', 'data_liberacao' => 'AG', 'data_nascimento' => '', 'digito_agencia_beneficiado' => '', 'digito_conta_beneficiado' => '', 'endereco' => '', 'fone' => '', 'forma_liberacao' => '', 'matricula' => '', 'nome_cliente' => '', 'nome_mae' => '', 'nome_pai' => '', 'nome_produto' => '', 'numero' => '', 'numero_ade' => '', 'numero_beneficio' => '', 'numero_contrato' => 'V', 'orgao_expedidor' => '', 'prazo' => '', 'produto' => '', // código 'rg' => '', 'status_proposta' => '', 'tabela' => '', 'uf' => '', 'uf_expedidor' => '', 'valor_bruto' => '', 'valor_liquido' => '', 'valor_parcela' => '', 'valor_principal' => '', 'valor_refin' => '' ); protected function _getStatusProposta(array $sheetData, array &$dados) { $dados['status_proposta'] = 43; //operação finalizada } public function importar(array $sheetData) { $this->validarColunas($sheetData); $sheetData = $this->excluirLinhasVazias($sheetData); end($sheetData); $lastKey = key($sheetData); reset($sheetData); //laço começa em 2 pois a planilha possui um cabeçalho 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, 'status_proposta' => null, 'seguranca' => null ); $this->_getNumeroContrato($sheetData[$i], $dados); $this->_getStatusProposta($sheetData[$i], $dados); $this->_getDataLiberacao($sheetData[$i], $dados); $this->contratosImportados[] = $dados['numero_contrato']; $this->salvarLinha($sheetData[$i], $dados); } return $this->naoImportados; } protected function salvarLinha($sheetData, &$dados) { /* Apenas para LOG */ $urlSistema = Yuppie_Auth::getSiteKey(); $writer = new Zend_Log_Writer_Stream("/var/log/sistemayuppie/zf_log_planilha_{$urlSistema}_" . date('dmY') . ".txt"); $classeChamada = get_class($this); $log = new Zend_Log($writer); $log->log('#######################', Zend_Log::INFO); $log->log("IMPORTAÇÃO: " . $classeChamada, Zend_Log::INFO); $log->log("Usuário logado: " . Yuppie_Auth::getIdentity()->login, Zend_Log::INFO); $log->log(print_r($dados, true), Zend_Log::INFO); $newContrato = new Model_DbTable_Contrato(); $result = 0; //verifica se o contrato existe $dadosContrato = isset($dados['numero_contrato']) && $dados['numero_contrato'] ? $newContrato->fetchRow("numero_contrato = '" . $dados['numero_contrato'] . "' " . "AND banco_id = " . $this->getBancoId()) : null; $protocolos = null; if( $dadosContrato != null ){ $protocoloContrato = new Model_DbTable_ProtocoloContrato(); $protocolos = $protocoloContrato->fetchRow("contrato_id = " . $dadosContrato['id']); if( $protocolos == null ){ $dados['id'] = $dadosContrato['id']; $dados = $this->_getCamposAtualizacao($dados); try { $result = $newContrato->update($dados, "id = {$dadosContrato['id']}"); if( $result ){ Model_Contrato::gravarEspelhoImportacao($dadosContrato['id'], $sheetData, $this->getArquivoOrigem()); $log->log("Contrato foi atualizado.", Zend_Log::INFO); } else { $log->log("Contrato não foi atualizado.", Zend_Log::INFO); } } catch ( Exception $e ) { $this->_addNaoImportado( $dados, $sheetData, $this->naoImportados, $e->getMessage() ); } } else { $log->log("Contrato {$dadosContrato['numero_contrato']} já possui protocolo de pagamento.", Zend_Log::INFO); $this->_addNaoImportado( $dados, $sheetData, $this->naoImportados, 'Já Cadastrado' ); } } else { $log->log("Contrato {$dadosContrato['numero_contrato']} não foi localizado.", Zend_Log::INFO); } } protected function _getCamposAtualizacao(array &$dados) { $dadosAtualizacao = array( 'status_proposta' => $dados['status_proposta'], 'id' => $dados['id'] ); if( !empty($dados['data_liberacao']) ){ $dadosAtualizacao['data_liberacao'] = $dados['data_liberacao']; } return $dadosAtualizacao; } protected function _addNaoImportado(array $dados, array $sheetData, array &$naoImportados, $motivo = '') { array_push($naoImportados, array( 'numero_contrato' => isset($dados['numero_contrato']) ? $dados['numero_contrato'] : null, 'tabela' => null, 'cpf' => null, 'cliente' => null, 'valor' => null, 'valor_liquido' => null, 'prazo' => null, 'codigo_atendente' => null, 'codigo_vendedor' => null, 'motivo' => $motivo )); } }
💾 保存文件
← 返回文件管理器