✏️ 正在编辑: Planilha.php
路径:
/srv/systems_dir/yuppiecred-bkp/library/Core/OpSacada/Planilha.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_OpSacada_Planilha { protected $colunas = array( 'numero_contrato' => 'B', 'data_op_sacada' => 'A' ); protected $_inicioLaco = 2; protected $_dateFormat = 'dd/MM/yyyy'; private $success = 0; private $error = array(); protected function _addNaoImportadas($contrato, $motivo) { $this->error[] = array('numero_contrato' => $contrato, 'motivo' => $motivo); } public function getColuna($coluna) { return isset($this->colunas[$coluna]) ? trim($this->colunas[$coluna]) : null; } public function getInicioLaco() { return $this->_inicioLaco; } public function setInicioLaco($inicioLaco) { $this->_inicioLaco = $inicioLaco; return $this; } public function getBanco() { } public function importar(array $sheetData) { $dbtable = new Model_DbTable_Contrato(); for ($i = $this->_inicioLaco; $i <= count($sheetData); $i++) { $bancoId = $this->getBanco(); if(empty($bancoId)){ $this->_addNaoImportadas($sheetData[$i][$this->colunas['numero_contrato']], "Banco não informado."); continue; } try { $numeroContrato = $this->_getNumeroContrato($sheetData[$i]); if (empty($numeroContrato)) { $this->_addNaoImportadas($sheetData[$i][$this->colunas['numero_contrato']], "Número do contrato inválido."); continue; } $contrato = $dbtable->fetchRow("(numero_contrato = '$numeroContrato' OR numero_contrato = '$numeroContrato-S') AND banco_id = {$this->getBanco()}"); if (empty($contrato)) { $this->_addNaoImportadas($sheetData[$i][$this->colunas['numero_contrato']], "Contrato não localizado."); continue; } $dataSaque = $this->_getDataOpSacada($sheetData[$i]); if(empty($dataSaque)){ $this->_addNaoImportadas($sheetData[$i][$this->colunas['numero_contrato']], "Data inválida."); continue; } $result = $dbtable->setarOpSacada($contrato['id'], $dataSaque); if (empty($result)) { $this->_addNaoImportadas($sheetData[$i][$this->colunas['numero_contrato']], "Contrato não foi atualizado."); continue; } $this->success++; } catch( Exception $e ){ $this->_addNaoImportadas($sheetData[$i][$this->colunas['numero_contrato']], $e->getMessage()); } } return array("success" => $this->success, "error" => $this->error); } protected function _getNumeroContrato(array $sheetData) { if ($this->getColuna('numero_contrato')) { return String_Refatorar::soNumeros($sheetData[$this->getColuna('numero_contrato')]); } return null; } protected function _getDataOpSacada(array $sheetData) { $colunaDtSaque = $sheetData[$this->getColuna('data_op_sacada')]; if (!empty($colunaDtSaque)) { $validator = new Zend_Validate_Date(); if(!$validator->isValid($colunaDtSaque)) throw new Core_Exception("Padrão de data de op sacada está errado. ($colunaDtSaque)"); $data = new Zend_Date($colunaDtSaque, $this->_dateFormat); if($data->get("yyyy") < 1900){ throw new Core_Exception("Padrão de data de op sacada está errado. ($colunaDtSaque -> {$data->get('dd/MM/yyyy')})"); } return $data->toString('yyyy-MM-dd'); } return null; } }
💾 保存文件
← 返回文件管理器