✏️ 正在编辑: TedCancelada.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/library/Core/Banco/Planilha/Mercantil/TedCancelada.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_Banco_Planilha_Mercantil_TedCancelada extends Core_Banco_Planilha { private $_inicioLaco = 2; protected $_dateFormat = 'd/m/Y'; protected $colunas = array( 'numero_contrato' => 'A', 'convenio' => 'B', 'codigo_agente' => 'C', 'cpf_agente' => 'D', 'nome_agente' => 'E', 'data_envio' => 'F', 'valor_cancelado' => 'G', 'data_cancelamento' => 'H', 'sub' => 'I', ); public function importar(array $sheetData) { $this->validarColunas($sheetData); $sheetData = $this->excluirLinhasVazias($sheetData); end($sheetData); $lastKey = key($sheetData); reset($sheetData); if( count($sheetData) > 0 ){ for ( $i = $this->_inicioLaco; $i <= $lastKey; $i++ ) { $dados = array( 'banco_id' => $this->getBancoId(), 'numero_contrato' => null, ); try { $this->_setarEstornado($sheetData[$i], $dados); $this->contratosImportados[] = $dados['numero_contrato']; } catch ( Exception $e ) { $this->_addNaoImportado( $dados, $sheetData[$i], $this->naoImportados, $e->getMessage() ); } } } return $this->naoImportados; } /** * * @param array $sheetData * @param array $dados * @return void */ protected function _setarEstornado(array $sheetData, array &$dados) { /* Apenas para LOG */ $urlSistema = Yuppie_Auth::getSiteKey(); $writer = new Zend_Log_Writer_Stream("/var/log/sistemayuppie/zf_log_planilha_{$urlSistema}_" . date('mY') . ".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('ARQUIVO IMPORTADO: ' . print_r($this->getArquivoOrigem(), true), Zend_Log::INFO); $log->log("Usuário logado: " . Yuppie_Auth::getIdentity()->login, Zend_Log::INFO); if( $this->getColuna('numero_contrato') ){ $dados['numero_contrato'] = String_Refatorar::soNumeros( $sheetData[$this->getColuna('numero_contrato')] ); } $newContrato = new Model_DbTable_Contrato(); $dadosContrato = isset($dados['numero_contrato']) && $dados['numero_contrato'] ? $newContrato->fetchRow("numero_contrato = '" . $dados['numero_contrato'] . "' " . "AND banco_id = " . $this->getBancoId()) : null; if( $dadosContrato == null ){ throw new Exception("Contrato não existe no sistema, logo não pode ser atualizado."); } $dataCancelamento = trim($sheetData[$this->getColuna('data_cancelamento')]); $dadosAtualizacao = array(); if( !empty($dataCancelamento) ){ $dataTedDevolvida = Core_Util::convertDate($dataCancelamento); if( is_array($dataTedDevolvida) ){ throw new Core_Exception("Não foi possível converter a data de ted devolvida para o banco de dados. ({$dataCancelamento})"); } $dadosAtualizacao['data_ted_devolvida'] = $dataTedDevolvida; $dadosAtualizacao['estornado'] = 1; $newContrato->update($dadosAtualizacao, "id = {$dadosContrato->id}"); Model_Contrato::gravarEspelhoImportacao($dadosContrato->id, $sheetData, $this->getArquivoOrigem()); } else { throw new Exception("Coluna da data de cancelamento esta vazia, logo não atualizará o contrato para estornado."); } } /** * * @param array $naoImportados * @param string $motivo * @return void */ protected function _addNaoImportado(array $dados, array $sheetData, array &$naoImportados, $motivo = '') { $result = array_push($naoImportados, array( 'numero_contrato' => $dados['numero_contrato'], 'motivo' => $motivo )); return $result; } }
💾 保存文件
← 返回文件管理器