✏️ 正在编辑: Planilha.php
路径:
/srv/systems_dir/yuppiecred/library/Core/TedDevolvida/Planilha.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_TedDevolvida_Planilha { protected $_bancoId; protected $colunas = [ 'numero_contrato' => '', 'data_ted_devolvida' => '' ]; protected $_dateFormat = 'dd/MM/yyyy'; protected $naoImportadas = []; function __construct(?int $bancoId) { if (empty($bancoId)) { throw new Core_Exception("Banco não identificado"); } $this->_bancoId = $bancoId; } public function getBancoId() { return $this->_bancoId; } protected function _addNaoImportadas($contrato) { $this->naoImportadas[] = $contrato; } protected function _getNaoImportadas() { return $this->naoImportadas; } public function getColuna($coluna) { return isset($this->colunas[$coluna]) ? trim($this->colunas[$coluna]) : null; } public function importar(array $sheetData) { $indice = 0; for ($i = 2; $i <= count($sheetData); $i++) { $dados = [ 'numero_contrato' => null, 'data_ted_devolvida' => null, ]; $this->_getNumeroContrato($sheetData[$i], $dados); $this->_getDataDevolucao($sheetData[$i], $dados); $dbtable = new Model_DbTable_Contrato(); $dadosContrato = $dbtable->fetchRow("numero_contrato = '{$dados['numero_contrato']}' AND banco_id = " . $this->getBancoId()); if (empty($dadosContrato)) { $this->_addNaoImportadas($sheetData[$i][$this->colunas['numero_contrato']]); continue; } try { $result = $dbtable->update([ 'data_ted_devolvida' => $dados['data_ted_devolvida'] ], "id = '{$dadosContrato->id}'"); if ($result > 0) { $indice++; } else { $this->_addNaoImportadas($sheetData[$i][$this->colunas['numero_contrato']]); } } catch (Exception $e) { $this->_addNaoImportadas($sheetData[$i][$this->colunas['numero_contrato']]); } } $retorno = new stdClass(); $retorno->importadas = $indice; $retorno->naoImportadas = $this->_getNaoImportadas(); return $retorno; } protected function _getNumeroContrato(array $sheetData, array &$dados) { if ($this->getColuna('numero_contrato')) { $dados['numero_contrato'] = String_Refatorar::soNumeros( $sheetData[$this->getColuna('numero_contrato')] ); } } protected function _getDataDevolucao(array $sheetData, array &$dados) { $colunaDtSaque = $sheetData[$this->getColuna('data_ted_devolvida')]; $dataDevolucao = null; if (!empty($colunaDtSaque)) { try { $data = new Zend_Date($colunaDtSaque, $this->_dateFormat); $dataDevolucao = $data->toString('yyyy-MM-dd'); } catch (Zend_Date_Exception $e) { $dataDevolucao = null; } } $dados['data_ted_devolvida'] = $dataDevolucao; } }
💾 保存文件
← 返回文件管理器