✏️ 正在编辑: Producao.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/library/Core/Banco/Planilha/Bv/Producao.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_Banco_Planilha_Bv_Producao extends Core_Banco_Planilha { protected $_dateFormat = 'dd-MM-yyyy'; protected $_inicioLaco = 1; protected $colunas = array( 'agencia_beneficiado' => 'AE', 'banco_beneficiado' => 'AD', 'cidade' => '', 'cidade_uf' => 'AG', 'codigo_agente' => '', 'codigo_convenio' => '', 'conta_beneficiado' => '', 'convenio' => 'B', 'corretor_id' => 'AB', 'cpf_cliente' => 'D', 'data_emissao' => 'S', 'data_expedicao' => '', 'data_liberacao' => '', 'data_nascimento' => 'F', 'digito_agencia_beneficiado' => '', 'digito_conta_beneficiado' => '', 'endereco' => '', 'forma_liberacao' => 'R', 'matricula' => '', 'nome_cliente' => 'C', 'numero_ade' => '', 'numero_beneficio' => 'E', 'numero_contrato' => 'A', 'orgao_expedidor' => '', 'prazo' => 'Q', 'produto' => '', 'status_proposta' => 'T', 'tabela' => 'J', 'uf' => '', 'uf_expedidor' => '', 'valor_bruto' => 'K', 'valor_liquido' => 'O', 'valor_parcela' => '', 'tipo_produto' => 'H' ); public function importar(array $sheetData) { $this->validarColunas($sheetData); $sheetData = $this->excluirLinhasVazias($sheetData); end($sheetData); $lastKey = key($sheetData); reset($sheetData); for ( $i = $this->_inicioLaco; $i <= $lastKey; $i++ ) { $dados = array( 'banco_id' => $this->getBancoId(), 'corretor_id' => null, 'empresa_id' => null, 'convenio_id' => null, 'tabela_id' => null, 'cliente_id' => null, 'produto' => null, 'prazo' => null, 'valor_bruto' => null, 'valor_liquido' => null, 'numero_contrato' => null, 'data_emissao' => null, 'data_recebimento_comissao' => null, 'digitador' => Yuppie_Auth::getIdentity()->login, 'forma_liberacao' => null, 'comissao_corretor' => null, 'comissao_empresa' => null, 'diferimento_corretor' => null, 'status_proposta' => null, 'seguranca' => null, ); $sheetData[$i][$this->getColuna('cpf_cliente')] = String_Refatorar::formatarCpf($sheetData[$i][$this->getColuna('cpf_cliente')]); $this->_getTipoContrato($sheetData[$i], $dados); $this->_getProduto($sheetData[$i], $dados); $this->_getPrazo($sheetData[$i], $dados); $this->_getValorBrutoLiquido($sheetData[$i], $dados); $this->_getEstornado($sheetData[$i], $dados); $this->_getNumeroContrato($sheetData[$i], $dados); $this->_getFormaLiberacao($sheetData[$i], $dados); $this->_getConvenioIdTabelaId($sheetData[$i], $dados); $this->_getCorretorId($sheetData[$i], $dados); $this->_getEmpresaId($sheetData[$i], $dados); $this->_getClienteId($sheetData[$i], $dados); $this->_getDataEmissao($sheetData[$i], $dados); $this->_getComissaoCorretorAndEmpresa($sheetData[$i], $dados); $this->_getStatusProposta($sheetData[$i], $dados); $this->_getDataLiberacao($sheetData[$i], $dados); $this->_getOutros($sheetData[$i], $dados); $this->_getDigitador($sheetData[$i], $dados); $this->contratosImportados[] = $dados['numero_contrato']; $this->salvarLinha($sheetData[$i], $dados); } return $this->naoImportados; } protected function _getConvenioIdTabelaId(array $sheetData, array &$dados) { $colunaTabela = $sheetData[$this->getColuna('tabela')]; $colunaConvenio = $sheetData[$this->getColuna('convenio')]; //verifica se o convenio existe $convenio = new Model_DbTable_Convenio(); $dadosConvenio = $convenio->fetchRow("nome = '" . $colunaConvenio . "'"); if( $dadosConvenio == null ){ $dados['convenio_id'] = $convenio->insert(array( 'nome' => $colunaConvenio )); } else if( $dadosConvenio['parent_id'] ){ $dadosParent = $convenio->fetchRow("id='" . $dadosConvenio['parent_id'] . "'"); $dados['convenio_id'] = $dadosParent['id']; } else { $dados['convenio_id'] = $dadosConvenio['id']; } if (!empty($colunaTabela)) { $this->_getTipoFormalizacao($sheetData, $dados); $tabela = (new Model_Tabela())->getOrCreateTabelaByNome(null, $colunaTabela, $dados['convenio_id'], $this->getBancoId(), $dados['tipo_formalizacao']); $dados['tabela_id'] = $tabela; } } protected function _getValorBrutoLiquido(array $sheetData, array &$dados) { $valorBruto = $this->getColuna('valor_bruto') ? trim($sheetData[$this->getColuna('valor_bruto')]) : null; $valorLiquido = $this->getColuna('valor_liquido') ? trim($sheetData[$this->getColuna('valor_liquido')]) : null; $dados['valor_bruto'] = str_replace(array( ',', '.' ), array( '', ',' ), $valorBruto); $dados['valor_liquido'] = str_replace(array( ',', '.' ), array( '', ',' ), $valorLiquido); } /** * Busca p corretor * @param array $sheetData * @param array $dados * @return void */ protected function _getCorretorId(array $sheetData, array &$dados) { $colCorretorId = isset($sheetData[$this->getColuna('corretor_id')]) ? $sheetData[$this->getColuna('corretor_id')] : null; $colAgente = isset($sheetData[$this->getColuna('codigo_agente')]) ? $sheetData[$this->getColuna('codigo_agente')] : null; $corretor = new Model_Corretor(); $corretorId = 0; //pesquisa pelo ID if( $corretorId <= 0 && $colCorretorId != null ){ $dadosCorretor = $corretor->exibir($colCorretorId); if( $dadosCorretor != null ){ $corretorId = $dadosCorretor['id']; } } //pesquisa pelo codigo do usuario if( $colAgente != null && ($corretorId >= 0 || $corretorId == null) ){ $corretorSenha = new Model_CorretorSenha(); $corretorId = $corretorSenha->getCorretorIdBySenha($colAgente, $dados['banco_id']); } $dados['corretor_id'] = $corretorId; } protected function _getDigitador(array $sheetData, array &$dados) { $colCodigoAgente = isset($sheetData[$this->getColuna('codigo_agente')]) ? $sheetData[$this->getColuna('codigo_agente')] : null; if( $colCodigoAgente != null ){ $dados['digitador'] = $colCodigoAgente; } } protected function _getFormaLiberacao(array $sheetData, array &$dados) { $colunaLiberacao = isset($sheetData[$this->getColuna('forma_liberacao')]) ? $sheetData[$this->getColuna('forma_liberacao')] : null; $dados['forma_liberacao'] = $colunaLiberacao; } protected function _getProduto(array $sheetData, array &$dados) { $colunaTipoProduto = isset($sheetData[$this->getColuna('tipo_produto')]) ? $sheetData[$this->getColuna('tipo_produto')] : null; $codigoProduto = 0; $tipo = ""; if( strstr($colunaTipoProduto, "REFIN") ){ $tipo = "REFINANCIAMENTO"; $codigoProduto = 21; } elseif( strstr($colunaTipoProduto, "PORTABILIDADE") ){ $tipo = "PORTABILIDADE"; } if( $colunaTipoProduto ){ $produto = new Model_Produto(); $dadosProduto = $produto->existe($codigoProduto, $this->getBancoId()); if( $dadosProduto == null ){ $produto->setCodigo($codigoProduto); $produto->setDescricao($colunaTipoProduto); $produto->setBancoId($this->getBancoId()); $produto->setTipo($tipo); $result = $produto->salvar($produto); if( $result != null ){ $dados['tipo'] = $tipo; } } else { $codigoProduto = $dadosProduto['codigo']; //adiciona o tipo do contrato $dados['tipo'] = $dadosProduto['tipo']; } } $dados['produto'] = $codigoProduto; } }
💾 保存文件
← 返回文件管理器