✏️ 正在编辑: ImportarDireto.php
路径:
/srv/systems_dir/yuppiecred-bkp/application/models/ImportarDireto.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php use Model_AcessoExterno as AcessoExterno; class Model_ImportarDireto { use AcessoExterno; protected $bancoNome; protected $dataImportacao; protected $empresaId; protected $aws = false; /** * @return mixed */ public function getBancoNome() { return $this->bancoNome; } /** * @param mixed $bancoNome * @return Model_ImportarDireto */ public function setBancoNome($bancoNome): Model_ImportarDireto { $this->bancoNome = $bancoNome; return $this; } /** * @return mixed */ public function getDataImportacao() { return $this->dataImportacao; } /** * @param mixed $dataImportacao * @return Model_ImportarDireto */ public function setDataImportacao($dataImportacao): Model_ImportarDireto { $this->dataImportacao = $dataImportacao; return $this; } /** * @return mixed */ public function getAws() { return $this->aws; } /** * @param mixed $aws * @return Model_ImportarDireto */ public function setAws($aws): Model_ImportarDireto { $this->aws = $aws; return $this; } /** * @return mixed */ public function getEmpresaId() { return $this->empresaId; } /** * @param mixed $empresaId * @return Model_ImportarDireto */ public function setEmpresaId($empresaId): Model_ImportarDireto { $this->empresaId = $empresaId; return $this; } public function importar() { if ($this->getAws()) { $this->logarImportacaoAmazon(); $this->gerarLogImportacaoAmazon(); } switch ($this->getBancoNome()) { case 'BONSUCESSO' : return $this->_importacaoFtp(); break; default: $config = new Zend_Config(include CLIENT_PATH . '/configs/importacao.php'); $config = $this->setConfigBanco($config); $retorno = $this->_importacaodireta($config); if( !empty($config->{$this->getBancoNome()}->usuario2) ){ $config2 = new Zend_Config([ $this->getBancoNome() => [ 'usuario' => $config->{$this->getBancoNome()}->usuario2, 'senha' => $config->{$this->getBancoNome()}->senha2, ] ]); $retorno2 = $this->_importacaodireta($config2); $retorno['resultado'] = array_merge($retorno['resultado'], $retorno2['resultado']); $retorno['mensagens'] = array_merge($retorno['mensagens'], $retorno2['mensagens']); } if (!empty($config->{$this->getBancoNome()}->usuario3)) { $config3 = new Zend_Config([ $this->getBancoNome() => [ 'usuario' => $config->{$this->getBancoNome()}->usuario3, 'senha' => $config->{$this->getBancoNome()}->senha3, ] ]); $retorno3 = $this->_importacaodireta($config3); $retorno['resultado'] = array_merge($retorno['resultado'], $retorno3['resultado']); $retorno['mensagens'] = array_merge($retorno['mensagens'], $retorno3['mensagens']); } return $retorno; break; } return 'O banco informado é inválido!'; } /** * Regra para importação do banco SAFRA/BANRISUL * @return array */ public function _importacaodireta(Zend_Config $config) { $mensagens = []; $naoImportados = null; try { $service = Core_Banco_Service_ImportacaoDiretaFactory::create($this->getBancoNome(), $config); $naoImportados = $service->importar($this->getDataImportacao()); $erros = $service->getErros(); if (!empty($erros)) { $mensagens = $erros; } } catch (Exception $ex) { return [ 'resultado' => $naoImportados, 'mensagens' => [ $ex->getMessage() ] ]; } if ($naoImportados != null) { $bancoNome = Model_Banco::getNomeBancoImportacao($this->getBancoNome()); $bancoId = Model_Banco::bancoPorNome($bancoNome); $falhaImportacao = new Model_DbTable_FalhaImportacao(); foreach ($naoImportados as $data) { $data['banco_id'] = $bancoId; unset($data['valor_liquido']); $falhaImportacao->insert($data); } array_push($mensagens, 'Alguns contratos não foram importados.'); } return [ 'resultado' => $naoImportados, 'mensagens' => $mensagens ]; } private function _importacaoFtp() { if ($empresaId = $this->getEmpresaId()) { return (new Model_ImportarFtp) ->setBancoNome($this->getBancoNome()) ->setEmpresaId($empresaId) ->setDataImportacao($this->getDataImportacao()) ->sincronizar(); } $resultados = [ 'mensagens' => [], 'resultado' => [] ]; if( empty($this->getEmpresaId()) ){ $empresas = Core_Combos::getEmpresasFtpOptions(); foreach ($empresas as $key => $value) { if ($key == '') continue; $result = (new Model_ImportarFtp) ->setBancoNome($this->getBancoNome()) ->setEmpresaId($key) ->setDataImportacao($this->getDataImportacao()) ->sincronizar(); array_push($resultados['mensagens'], $result['mensagens']); array_push($resultados['resultado'], $result['resultado']); } } return $resultados; } public function setConfigBanco($config) { $bancos = $config->toArray(); if (!empty($config->BANRISUL)) { $bancos['BANRISUL-COMISSAO'] = $config->BANRISUL->toArray(); } return new Zend_Config($bancos); } }
💾 保存文件
← 返回文件管理器