✏️ 正在编辑: EnvioFisico.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/library/Core/Banco/Planilha/Bradesco/EnvioFisico.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_Banco_Planilha_Bradesco_EnvioFisico { protected $_bancoId; protected $_inicioLaco = 2; protected $colunas = array( 'numero_contrato' => 'A', 'cpf' => 'D', 'cliente' => 'E', ); public function __construct($bancoId) { $this->setBancoId($bancoId); } public function setBancoId($bancoId) { $this->_bancoId = $bancoId; return $this; } public function getBancoId() { return $this->_bancoId; } public function getColuna($coluna) { return isset($this->colunas[$coluna]) ? trim($this->colunas[$coluna]) : null; } public function getColunas() { return $this->colunas; } public function validarColunas(array $sheetData) { $colunas = array_flip($this->getColunas()); unset($colunas['']); $colunas = array_keys($colunas); $sheetDataColunas = array_keys(current($sheetData)); $colunasFaltandoArquivo = array_diff($colunas, $sheetDataColunas); $colunasAmaisArquivo = array_diff($sheetDataColunas, $colunas); $msg = ''; if( $colunasFaltandoArquivo ){ asort($colunasFaltandoArquivo); $msg = count($colunasFaltandoArquivo) == 1 ? "A coluna '" . current($colunasFaltandoArquivo) . "' não existe na planilha enviada. " : 'As seguintes colunas não existem na planilha enviada:<br />' . implode(', ', $colunasFaltandoArquivo) . '. '; $msg .= '<br />Confira na planilha padrão deste banco o que está diferente.'; } elseif( $colunasAmaisArquivo ){ asort($colunasAmaisArquivo); $msg = count($colunasAmaisArquivo) == 1 ? "A coluna '" . current($colunasAmaisArquivo) . "' não existe na planilha padrão. " : 'As seguintes colunas não existem na planilha padão:<br />' . implode(', ', $colunasAmaisArquivo) . '. '; $msg .= '<br />Confira na planilha padrão deste banco o que está diferente.'; } if( $msg != '' ) throw new Core_Exception($msg, '01'); } public function excluirLinhasVazias(array $sheetData) { $cont = $this->_inicioLaco; $newSheetData = array(); if( $this->_inicioLaco > 0 ){ $cont = $this->_inicioLaco; } foreach ( $sheetData as $l => $linha ) { if( !empty($linha[$this->getColuna('numero_contrato')]) && is_numeric($linha[$this->getColuna('numero_contrato')])){ $newSheetData[$cont++] = $linha; } } return $newSheetData; } public function importar(array $sheetData, array $params) { $registros = array(); if( count($sheetData) > 0 ){ $sheetData = $this->excluirLinhasVazias($sheetData); $protocolo = time(); foreach ( $sheetData as $row ) { $dt = new Zend_Date($params['data_envio']); $dtEnvio = $dt->get('yyyy-MM-dd'); $numeroContrato = trim($row[$this->getColuna('numero_contrato')]); $dbtable = new Model_DbTable_Contrato(); $result = $dbtable->baixarEnvioFisico($dtEnvio, $params['bordero_newspace'], $params['numero_envelope'], $numeroContrato, $this->getBancoId(), $protocolo, $params['obs_envio_fisico'], $params['usuario_formalizacao']); $registros[] = array( "numero_contrato" => $row[$this->getColuna('numero_contrato')], "cpf" => "", "cliente" => "", "resultado" => $result ); } } return $registros; } }
💾 保存文件
← 返回文件管理器