✏️ 正在编辑: Producao.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/library/Core/Banco/Planilha/Daycoval/Producao.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_Banco_Planilha_Daycoval_Producao extends Core_Banco_Planilha { /* Planilha com 2 colunas (Forma de liberação, Motivo Estorno, Valor liberação) */ protected $_dateFormat = 'dd/MM/yyyy'; protected $_inicioLaco = 11; protected $colunas = array( 'agencia_beneficiado' => 'B', 'bairro' => 'C', 'banco_beneficiado' => 'Y', 'base_calculo' => 'D', 'celular' => 'AF', 'cep' => 'M', 'cidade' => 'N', 'cidade_uf' => 'AC', 'codigo_agente' => 'H', 'codigo_convenio' => 'K', 'codigo_tabela' => 'BE', 'comissao_empresa' => 'BJ', 'complemento' => 'P', 'conta_beneficiado' => 'Q', 'convenio' => 'Z', 'corretor_id' => '', 'cpf_cliente' => 'L', 'data_emissao' => 'U', 'data_expedicao' => '', 'data_liberacao' => 'T', 'data_nascimento' => 'V', 'data_primeiro_vencimento' => 'R', 'digito_agencia_beneficiado' => '', 'digito_conta_beneficiado' => '', 'endereco' => 'AB', 'estorno' => 'AE', 'fone' => 'AH', 'forma_liberacao' => 'AI', 'matricula' => 'AK', 'nome_cliente' => 'AT', 'nome_mae' => 'AR', 'nome_pai' => 'AU', 'nome_produto' => 'X', 'numero' => 'AP', 'numero_ade' => '', 'numero_beneficio' => '', 'numero_contrato' => 'AO', 'orgao_expedidor' => '', 'prazo' => 'AY', 'produto' => 'BE', 'rg' => 'BB', 'status_proposta' => '', 'tabela' => 'X', 'uf' => 'AC', 'uf_expedidor' => '', 'valor_bruto' => 'BL', 'valor_bruto_empresa' => '', 'valor_liquido' => 'BM', 'valor_liberacao2' => 'BN', 'valor_prestacao' => 'BK', 'valor_principal' => '', 'valor_refin' => '', 'usuario_integrador' => 'AW' //usuário que integra a proposta no banco ); protected function _limpaString($s1clean) { $s1clean = json_encode($s1clean); $s1clean = str_replace('\u0096', '-', $s1clean); return json_decode($s1clean); } protected function _getConvenioIdTabelaId(array $sheetData, array &$dados) { $colunaConvenio = trim($sheetData[$this->getColuna('convenio')]); $colunaCodigoTabela = trim($sheetData[$this->getColuna('codigo_tabela')]); $colunaTabela = isset($sheetData[$this->getColuna('tabela')]) ? trim($sheetData[$this->getColuna('tabela')]) : $colunaCodigoTabela; $dados['tabela_id'] = 0; $dados['convenio_id'] = 0; $colunaTabela = $this->_limpaString($colunaTabela); $convenio = new Model_DbTable_Convenio(); $dadosConvenio = $convenio->fetchRow("nome='" . $colunaConvenio . "'"); if( $dadosConvenio == null ){ if( $colunaConvenio != 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($colunaCodigoTabela)) { $this->_getTipoFormalizacao($sheetData, $dados); $tabela = (new Model_Tabela())->getOrCreateTabelaByCodigo($colunaCodigoTabela, $colunaTabela, $dados['convenio_id'], $this->getBancoId(), $dados['tipo_formalizacao']); $dados['tabela_id'] = $tabela; } } protected function _getTipoContrato(array $sheetData, array &$dados) { $formaLiberacao = $sheetData[$this->getColuna('forma_liberacao')]; $colunaTabela = !empty($sheetData[$this->getColuna('tabela')]) ? trim($sheetData[$this->getColuna('tabela')]) : null; $dados['tipo'] = "NOVO"; if( stristr($formaLiberacao, "REFINANCIAMENTO") ){ $dados['tipo'] = "REFINANCIAMENTO"; if( stristr($colunaTabela, "PORTAB") ){ $dados['tipo'] = "REFIN DA PORTABILIDADE"; } }elseif( stristr($formaLiberacao, "PORT") ){ $dados['tipo'] = "PORTABILIDADE"; }elseif( stristr($formaLiberacao, "AUMENTO") ){ $dados['tipo'] = "AUMENTO SALARIAL"; } } protected function _getStatusProposta(array $sheetData, array &$dados) { $model = new Model_StatusProposta(); if( ($dadosStatus = $model->existe("ANDAMENTO")) != null ){ $statusId = $dadosStatus->id; if($dadosStatus->parent_id > 0){ $statusId = $dadosStatus->parent_id; } }else{ $model->setDescricao("ANDAMENTO"); $statusId = $model->salvar($model); } //só é Operação Finalizada se tiver o usuário integrador $usuarioIntegrador = $sheetData[$this->getColuna('usuario_integrador')]; if( !empty($usuarioIntegrador) ){ if( ($dadosStatus = $model->existe("Operação Finalizada")) != null ){ $statusId = $dadosStatus->parent_id > 0 ? $dadosStatus->parent_id : $dadosStatus->id; } } $estorno = $sheetData[$this->getColuna('estorno')]; $dados['estornado'] = 0; if( stristr($estorno, "S") ){ $dados['estornado'] = 1; if( ($dadosStatus = $model->existe("Estorno")) != null ){ $statusId = $dadosStatus->parent_id > 0 ? $dadosStatus->parent_id : $dadosStatus->id; } } $dados['status_proposta'] = $statusId; } // protected function _getComissaoEmpresa(array $sheetData, array &$dados) // { // $dados['comissao_empresa'] = 0; // $baseCalculo = String_Refatorar::parseStringToFloat($sheetData[$this->getColuna('base_calculo')]); // $comissao = $this->getColuna('comissao_empresa') // ? String_Refatorar::parseStringToFloat($sheetData[$this->getColuna('comissao_empresa')]) // : null; // if( $baseCalculo > 0 && $comissao != null ){ // $dados['comissao_empresa'] = number_format(($comissao*100/$baseCalculo), 2, ',', '.'); // } // } /** * * @param array $sheetData * @param array $dados * @return void */ protected function _getValorBrutoLiquido(array $sheetData, array &$dados) { $valorBruto = $this->getColuna('valor_bruto') ? String_Refatorar::parseStringToFloat($sheetData[$this->getColuna('valor_bruto')]) : null; $valorLiquido = $this->getColuna('valor_liquido') ? String_Refatorar::parseStringToFloat($sheetData[$this->getColuna('valor_liquido')]) : null; $valorLiberacao2 = $this->getColuna('valor_liberacao2') ? String_Refatorar::parseStringToFloat($sheetData[$this->getColuna('valor_liberacao2')]) : null; if( $valorLiberacao2 > 0 ){ $valorLiquido = $valorLiberacao2; } $dados['valor_bruto'] = number_format($valorBruto, 2, ',', '.'); $dados['valor_liquido'] = number_format($valorLiquido, 2, ',', '.'); } protected function _getCorretorId(array $sheetData, array &$dados) { $colCorretorId = !empty($sheetData[$this->getColuna('complemento')]) ? (int)$sheetData[$this->getColuna('complemento')] : 0; $colCodigoCorretor = isset($sheetData[$this->getColuna('codigo_agente')]) ? trim($sheetData[$this->getColuna('codigo_agente')]) : null; $corretorId = 0; $empresaId = 0; if( !empty($colCodigoCorretor) ){ //pesquisa pelo codigo do usuario $corretorSenha = new Model_CorretorSenha(); $corretorId = (int)$corretorSenha->getCorretorIdBySenha($colCodigoCorretor, $this->getBancoId()); $dadosCorretor = (new Model_Corretor())->exibir($corretorId); $empresaId = $dadosCorretor['empresa_id']; } $banco = (new Model_Banco())->exibir($dados['banco_id']); if( $banco['obedecer_id'] == 1 && !empty($dadosCorretor) && $dadosCorretor['obedecer_id'] == 1 ){ if( $corretorId <= 0 && $colCorretorId > 0 ){ $dadosCorretor = (new Model_Corretor())->exibir($colCorretorId); if( $dadosCorretor != null ){ $corretorId = $dadosCorretor['id']; $empresaId = $dadosCorretor['id']; } } } $dados['corretor_id'] = $corretorId; $dados['empresa_id'] = $empresaId; } /** * @param array $sheetData * @param array $dados */ protected function _getProduto(array $sheetData, array &$dados) { @$colunaCodigoProduto = $sheetData[$this->getColuna('produto')]; $colunaDescricaoProduto = isset($sheetData[$this->getColuna('nome_produto')]) ? $sheetData[$this->getColuna('nome_produto')] : null; $codigoProduto = 0; if ($colunaCodigoProduto) { $produto = new Model_Produto(); $dadosProduto = $produto->existe($colunaCodigoProduto, $this->getBancoId()); if ($dadosProduto == null) { $produto->setCodigo($colunaCodigoProduto); $produto->setDescricao($colunaDescricaoProduto); $produto->setBancoId($this->getBancoId()); $produto->setTipo(!empty($dados['tipo']) ? $dados['tipo'] : null); $result = $produto->salvar($produto); if ($result != null) { $codigoProduto = $colunaCodigoProduto; $dados['tipo'] = !empty($dados['tipo']) ? $dados['tipo'] : null; } } else { if (empty($dadosProduto['tipo'])) { $dbtable = new Model_DbTable_Produto(); $dbtable->update([ 'tipo' => $dados['tipo'] ], ['id = ?' => $dadosProduto['id']]); $dadosProduto = $produto->existe($colunaCodigoProduto, $this->getBancoId()); } $codigoProduto = $dadosProduto['codigo']; $dados['tipo'] = $dadosProduto['tipo']; } } $dados['produto'] = $codigoProduto; } }
💾 保存文件
← 返回文件管理器