✏️ 正在编辑: Comissao.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/library/Core/Banco/Planilha/Itau/Comissao.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_Banco_Planilha_Itau_Comissao extends Core_Banco_Planilha { protected $_dateFormat = 'd/m/Y'; protected $_extensoesAceitas = array( 'csv' ); protected $colunas = array( 'agencia_beneficiado' => '', 'bairro' => '', 'banco_beneficiado' => '', 'celular' => '', 'cep' => '', 'cidade' => '', 'cidade_uf' => 'C', 'codigo_agente' => 'U', 'codigo_convenio' => '', 'codigo_tabela' => 'X', 'comissao_corretor' => 'BG', 'comissao_empresa' => 'O', 'complemento' => '', 'conta_beneficiado' => '', 'convenio' => 'F', 'corretor_id' => 'DD', 'cpf_agente' => 'BA', 'cpf_cliente' => 'B', 'data_emissao' => 'AX', 'data_expedicao' => '', 'data_liberacao' => 'D', 'data_nascimento' => '', 'data_primeiro_vencimento' => 'BB', 'digitador' => 'U', 'digito_agencia_beneficiado' => '', 'digito_conta_beneficiado' => '', 'endereco' => '', 'fone' => '', 'forma_liberacao' => 'AM', 'matricula' => '', 'nome_cliente' => 'A', 'nome_mae' => '', 'nome_pai' => '', 'nome_produto' => 'Y', 'numero' => '', 'numero_ade' => 'G', 'numero_beneficio' => '', 'numero_contrato' => 'G', 'orgao_expedidor' => '', 'obs' => 'T', 'prazo' => 'Q', 'produto' => 'X', 'rg' => '', 'status_proposta' => 'S', 'tabela' => 'Y', 'uf' => '', 'uf_expedidor' => '', 'valor_bruto' => 'I', 'valor_bruto_empresa' => 'J', // Identificação de Estorno 'valor_liquido' => 'I', 'valor_prestacao' => 'AK', 'valor_principal' => '', 'valor_refin' => '', 'tipo_contrato' => 'H', 'numero_contrato_anterior' => 'AE', 'tipo_remuneracao' => 'AY', 'data_recebimento_comissao' => 'E' ); protected $colunasOpcionais = array( 'corretor_id', 'comissao_corretor', 'tipo_contrato', 'numero_contrato_anterior' ); private $copiarDataRecebimento = false; private $contratosIndice; private $_inicioLaco = 1; protected function salvarLinha($sheetData, &$dados) { unset($dados['base_comissao'], $dados['base_comissao_empresa']); $dataLiberacao = null; /* Apenas para LOG */ $urlSistema = Yuppie_Auth::getSiteKey(); $writer = new Zend_Log_Writer_Stream("/var/log/sistemayuppie/zf_log_planilha_{$urlSistema}_" . date('dmY') . ".txt"); $classeChamada = get_class($this); $log = new Zend_Log($writer); $log->log('#######################', Zend_Log::INFO); $log->log("IMPORTAÇÃO: " . $classeChamada, Zend_Log::INFO); $log->log('ARQUIVO IMPORTADO: ' . print_r($this->getArquivoOrigem(), true), Zend_Log::INFO); $log->log("Usuário logado: " . Yuppie_Auth::getIdentity()->login, Zend_Log::INFO); if( $this->getColuna('data_liberacao') != null ){ $dataLiberacao = $sheetData[$this->getColuna('data_liberacao')]; } $log->log('Formatação (Dt Liberacao): ' . $dataLiberacao, Zend_Log::INFO); $log->log('Formatação (Dt Emissao): ' . $sheetData[$this->getColuna('data_emissao')], Zend_Log::INFO); $dbContrato = new Model_DbTable_Contrato(); $isSRCC = $this->SRCCService->isSRCC($dados['obs']); unset($dados['nao_comissionado_motivo']); /* Copia de $dados para atualização do recebimento */ $dadosRecebimento = $dados; //verifica se o contrato existe $this->_dadosContrato = isset($dados['numero_contrato']) && $dados['numero_contrato'] ? $dbContrato->fetchRow("numero_contrato = '" . $dados['numero_contrato'] . "' " . "AND banco_id = " . $this->getBancoId()) : null; $protocolos = null; if( $this->_dadosContrato == null ){ try { $log->log("Tentativa de inserção do contrato: {$dados['numero_contrato']}", Zend_Log::INFO); $this->_logFields($log, $dados); $dados['srcc'] = $isSRCC; $result = $dbContrato->insert($dados); if( $result > 0 ){ $log->log("Contrato adicionado.", Zend_Log::INFO); } else { $log->log("Contrato NAO foi foi adicionado.", Zend_Log::INFO); } if( $result <= 0 ){ $this->_addNaoImportado( $dados, $sheetData, $this->naoImportados, 'Contrato não inserido.' ); } } catch ( Exception $e ) { $log->log("[Exception] Erro ao adicionar contrato. " . $e->getMessage(), Zend_Log::INFO); $this->_addNaoImportado( $dados, $sheetData, $this->naoImportados, $e->getMessage() ); } } else { $protocoloContrato = new Model_DbTable_ProtocoloContrato(); $protocolos = $protocoloContrato->fetchRow("contrato_id = " . $this->_dadosContrato['id'], 'id DESC'); if( $protocolos != null ){ $log->log("Protocolos: " . print_r($protocolos->toArray(), true), Zend_Log::INFO); //verifica se é um estorno e se já não estava como estornado if( is_numeric($dados['estornado']) && $dados['estornado'] == 1 && $this->_dadosContrato['estornado'] == 0 ){ $log->log("Contrato está pago e no arquivo veio um estorno: {$dados['numero_contrato']}", Zend_Log::INFO); $dadosAtualizacao = array( 'id' => $this->_dadosContrato['id'], 'status_proposta' => $dados['status_proposta'], 'estornado' => 1, 'srcc' => $isSRCC ); $result = $dbContrato->update($dadosAtualizacao, "id = {$this->_dadosContrato['id']}"); if( $result > 0 ){ $log->log("Contrato sinalizado como estorno: {$dados['numero_contrato']}", Zend_Log::INFO); } else { $log->log("Contrato está pago, no arquivo veio um estorno mas não pode ser alterado no sistema: {$dados['numero_contrato']}", Zend_Log::INFO); $this->_addNaoImportado( $dados, $sheetData, $this->naoImportados, 'Contrato está pago, no arquivo veio um estorno mas não pode ser alterado no sistema.' ); } } elseif( $this->_dadosContrato['estornado'] == 1 && $dados['estornado'] != 1 ){ $log->log("Contrato está pago e no arquivo veio uma devolução: {$dados['numero_contrato']}", Zend_Log::INFO); $dadosAtualizacao = array( 'id' => $this->_dadosContrato['id'], 'status_proposta' => $dados['status_proposta'], 'estornado' => 0, ); $dados['srcc'] = $isSRCC; $result = $dbContrato->update($dadosAtualizacao, "id = {$this->_dadosContrato['id']}"); if( $result > 0 ){ $log->log("Contrato retirado a sinalização de estorno: {$dados['numero_contrato']}", Zend_Log::INFO); } else { $log->log("Contrato está pago, no arquivo veio uma devolução mas não pode ser alterado no sistema: {$dados['numero_contrato']}", Zend_Log::INFO); $this->_addNaoImportado( $dados, $sheetData, $this->naoImportados, 'Contrato está pago, no arquivo veio uma devolução mas não pode ser alterado no sistema.' ); } } else { $this->_addNaoImportado( $dados, $sheetData, $this->naoImportados, 'Contrato está pago e não pode ser alterado.' ); $log->log("Contrato está pago e nada foi alterado: {$dados['numero_contrato']}", Zend_Log::INFO); } } else { $dados['id'] = $this->_dadosContrato['id']; /* Caso o contrato encontrado já tenha corretor, não permitir atualizar o conrretor */ if( isset($this->_dadosContrato['corretor_id']) && $this->_dadosContrato['corretor_id'] > 0 && $dados['corretor_id'] > 0 && $dados['corretor_id'] != $this->_dadosContrato['corretor_id'] ){ $log->log("[Contrato já tem o corretor: {$this->_dadosContrato['corretor_id']}] Tentativa de atualização para: {$dados['corretor_id']}. ", Zend_Log::INFO); unset($dados['corretor_id']); } $dados = $this->_getCamposAtualizacao($dados); try { $log->log("Tentativa de atualizaçao do contrato: {$this->_dadosContrato['numero_contrato']}.", Zend_Log::INFO); $this->_logFields($log, $dados); $dados['srcc'] = $isSRCC; $result = $dbContrato->update($dados, "id = {$this->_dadosContrato['id']}"); if( $result > 0 ){ $log->log("Contrato atualizado.", Zend_Log::INFO); } else { $log->log("Contrato NAO foi foi atualizado.", Zend_Log::INFO); } } catch ( Exception $e ) { $log->log("[Exception] Erro ao atualizar contrato. " . $e->getMessage(), Zend_Log::INFO); $this->_addNaoImportado( $dados, $sheetData, $this->naoImportados, $e->getMessage() ); } } } /* Atualização de recebimento contrato */ $this->_recebimentoContrato($sheetData, $dadosRecebimento); } protected function _recebimentoContrato($sheetData, $dados) { $urlSistema = Yuppie_Auth::getSiteKey(); $writer = new Zend_Log_Writer_Stream("/var/log/sistemayuppie/zf_log_recebimento_{$urlSistema}_" . date('dmY') . ".txt"); $log = new Zend_Log($writer); $log->log('#######################', Zend_Log::INFO); $log->log("Numero contrato: " . $dados['numero_contrato'], Zend_Log::INFO); /* Considerando apenas contratos com status "Paga" */ $colunaStatusProposta = isset($sheetData[$this->getColuna('status_proposta')]) ? trim($sheetData[$this->getColuna('status_proposta')]) : ""; if( $colunaStatusProposta == "Paga" ){ $log->log("Status Paga: $colunaStatusProposta", Zend_Log::INFO); $dbtable = new Model_DbTable_Tipos(); /* Tipo Remuneração */ $colTipoRemuneracao = $sheetData[$this->getColuna('tipo_remuneracao')]; $tipoRemuneracao = $dbtable->fetchRow("descricao = '{$colTipoRemuneracao}' AND tipo = 'TIPO_REMUNERACAO_BMG '"); $dados['tipo_remuneracao'] = $tipoRemuneracao ? $tipoRemuneracao['id'] : $dbtable->insert(array( 'tipo' => 'TIPO_REMUNERACAO_ITAU', 'descricao' => $colTipoRemuneracao )); /* Natureza */ $colNatureza = $this->getColuna('identificador_comissao') ? trim($sheetData[$this->getColuna('identificador_comissao')]) : 0; $tipoPagamento = $dbtable->fetchRow("descricao = '{$colNatureza}' AND tipo = 'NATUREZA_BMG'"); $dados['natureza'] = $tipoPagamento ? $tipoPagamento['id'] : $dbtable->insert(array( 'tipo' => 'NATUREZA_BMG', 'descricao' => $colNatureza )); /* Valor Comissão */ $valorComissao = $this->getColuna('valor_bruto_empresa') ? trim($sheetData[$this->getColuna('valor_bruto_empresa')]) : 0; /* Descrição */ $descricao = isset($sheetData[$this->getColuna('obs')]) ? $sheetData[$this->getColuna('obs')] : ""; $comissaoEmpresa = isset($sheetData[$this->getColuna('comissao_empresa')]) ? $sheetData[$this->getColuna('comissao_empresa')] : 0; /* Verifica se o contrato existe */ if( isset($dados['numero_contrato']) && $dados['numero_contrato'] != null && $dados['banco_id'] > 0 ){ $contrato = new Model_DbTable_Contrato(); $dadosContrato = $contrato->fetchRow("numero_contrato = '{$dados['numero_contrato']}' AND banco_id = {$dados['banco_id']}"); } if( !empty($dadosContrato) ){ if(!empty($dados['data_recebimento_comissao']) && !empty($valorComissao)){ $dadosContrato->id = $dadosContrato->id; $dadosContrato->data_recebimento_comissao = $dados['data_recebimento_comissao']; $dadosContrato->comissao_empresa = $dadosContrato->comissao_empresa > 0 ? $dadosContrato->comissao_empresa : $dados['comissao_empresa']; $dadosContrato->save(); } try { $recebimento = [ 'contrato_id' => $dadosContrato->id, 'data_recebimento_comissao' => $dados['data_recebimento_comissao'], 'parcelas' => 0, 'comissao_empresa' => String_Refatorar::parseStringToFloat($comissaoEmpresa), 'rco' => isset($dados['rco']) ? $dados['rco'] : null, 'data_saldo' => $dados['data_liberacao'], 'tipo_remuneracao' => $dados['tipo_remuneracao'], 'valor_lancamento' => String_Refatorar::parseStringToFloat($valorComissao), 'natureza' => $dados['natureza'], 'descricao' => mb_detect_encoding($descricao, "UTF-8") ? utf8_decode($descricao) : $descricao ]; $dbtableRecebimento = new Model_DbTable_RecebimentoContrato(); $dbtableRecebimento->receberComissao($recebimento); $log->log(print_r($recebimento, true), Zend_Log::INFO); } catch ( Exception $e ) { $log->log('Exception: ' . $e->getMessage(), Zend_Log::INFO); $this->_addNaoImportado($dados, $sheetData, $this->naoImportados, $e->getMessage()); } } } } protected function _getConvenioIdTabelaId(array $sheetData, array &$dados) { $colunaConvenio = $sheetData[$this->getColuna('convenio')]; $colunaCodigoTabela = $sheetData[$this->getColuna('codigo_tabela')]; $colunaTabela = isset($sheetData[$this->getColuna('tabela')]) ? $sheetData[$this->getColuna('tabela')] : $colunaCodigoTabela; $dados['tabela_id'] = 0; $dados['convenio_id'] = 0; $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 ($colunaCodigoTabela != null) { $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 _getComissaoEmpresa(array $sheetData, array &$dados) { $colunaComissao = $sheetData[$this->getColuna('comissao_empresa')]; $dados['comissao_empresa'] = $colunaComissao; } protected function _getEstornado(array $sheetData, array &$dados) { $colunaValorBrutoEmpresa = str_replace(array( '.', ',' ), array( '', '.' ), $sheetData[$this->getColuna('valor_bruto_empresa')]); $dados['estornado'] = $colunaValorBrutoEmpresa >= 0 ? 0 : 1; parent::_getObs($sheetData, $dados); } protected function _getProduto(array $sheetData, array &$dados) { $colunaProduto = $sheetData[$this->getColuna('produto')]; $colunaProdutoNome = isset($sheetData[$this->getColuna('nome_produto')]) ? $sheetData[$this->getColuna('nome_produto')] : null; //localiza o produto para pegar o tipo do contrato, pois nesse arquivo os tipos não dizem nada $dbtable = new Model_DbTable_Produto(); $produto = $dbtable->fetchRow([ "codigo = ?" => $colunaProduto, "banco_id = ?" => $this->getBancoId(), ]); if( $produto ){ $dados['tipo'] = $produto->tipo; $dados['produto'] = $produto->codigo; return; } $modelProduto = new Model_Produto(); $dados['produto'] = $modelProduto->getOrCreateProdutoCodigo($colunaProduto, $colunaProdutoNome, $this->getBancoId(), $dados['tipo']); } protected function _getSeguranca(array $sheetData, array &$dados) { $dados['seguranca'] = md5(implode('#', $sheetData)); } protected function _getNumeroContrato(array $sheetData, array &$dados) { $this->copiarDataRecebimento = false; parent::_getNumeroContrato($sheetData, $dados); parent::_getNumeroAde($sheetData, $dados); $dbtableContrato = new Model_DbTable_Contrato(); //busca pela ADE quando nessa planilha não tem o número do contrato $dadosContrato = $dbtableContrato->fetchRow("numero_ade = '{$dados['numero_ade']}' AND banco_id = " . $this->getBancoId()); if( $dadosContrato ){ $dados['numero_contrato'] = $dadosContrato->numero_contrato; } } 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; $colCpfAgente = isset($sheetData[$this->getColuna('cpf_agente')]) ? $sheetData[$this->getColuna('cpf_agente')] : null; $corretor = new Model_Corretor(); $corretorId = 0; if( $colCorretorId != null ){ $dadosCorretor = $corretor->exibir($colCorretorId); //pesquisa pelo ID if( $dadosCorretor != null ){ $corretorId = $dadosCorretor['id']; } } if( $colAgente != null && ($corretorId <= 0 || $corretorId == null) ){ //pesquisa pelo codigo do usuario $corretorSenha = new Model_CorretorSenha(); $corretorId = $corretorSenha->getCorretorIdBySenha($colAgente, $dados['banco_id']); } if( Validators_Cpf::validate($colCpfAgente) && ($corretorId <= 0 || $corretorId == null) ){ //pesquisa pelo CPF $dadosCorretor = $corretor->getByCpf($colCpfAgente); if( $dadosCorretor != null ){ $corretorId = $dadosCorretor['id']; } } $dados['corretor_id'] = $corretorId; } 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; $dados['valor_bruto'] = number_format($valorBruto, 2, ',', '.'); $dados['valor_liquido'] = number_format($valorLiquido, 2, ',', '.'); } protected function _getCamposAtualizacao(array &$dados) { $dadosAtualizacao = array( 'status_proposta' => $dados['status_proposta'], 'estornado' => isset($dados['estornado']) ? $dados['estornado'] : '', 'valor_liquido' => $dados['valor_liquido'], 'id' => $dados['id'], ); if (!empty($dados['data_emissao'])) { $dadosAtualizacao['data_emissao'] = $dados['data_emissao']; } if (!empty($dados['data_liberacao'])) { $dadosAtualizacao['data_liberacao'] = $dados['data_liberacao']; } if (empty($this->_dadosContrato['corretor_id']) && !empty($dados['corretor_id'])) { $dadosAtualizacao['corretor_id'] = $dados['corretor_id']; } if (isset($dados['numero_ade']) && $dados['numero_ade'] > 0) { $dadosAtualizacao['numero_ade'] = $dados['numero_ade']; } if (isset($dados['tipo']) && $dados['tipo']) { $dadosAtualizacao['tipo'] = $dados['tipo']; } if (isset($dados['subestabelecido_id']) && $dados['subestabelecido_id'] > 0) { $dadosAtualizacao['subestabelecido_id'] = $dados['subestabelecido_id']; } if (isset($dados['convenio_id']) && $dados['convenio_id'] > 0) { $dadosAtualizacao['convenio_id'] = $dados['convenio_id']; } if (isset($dados['tabela_id']) && $dados['tabela_id'] > 0) { $dadosAtualizacao['tabela_id'] = $dados['tabela_id']; } if (isset($dados['valor_liquido']) && $dados['valor_liquido'] > 0) { $dadosAtualizacao['valor_liquido'] = $dados['valor_liquido']; } if (isset($dados['base_comissao_valor']) && $dados['base_comissao_valor'] > 0) { $dadosAtualizacao['base_comissao_valor'] = $dados['base_comissao_valor']; } if (isset($dados['base_comissao_empresa_valor']) && $dados['base_comissao_empresa_valor'] > 0) { $dadosAtualizacao['base_comissao_empresa_valor'] = $dados['base_comissao_empresa_valor']; } if (isset($dados['base_comissao_empresa_adiantamento']) && $dados['base_comissao_empresa_adiantamento'] > 0) { $dadosAtualizacao['base_comissao_empresa_adiantamento'] = $dados['base_comissao_empresa_adiantamento']; } if (isset($dados['base_comissao_empresa_bonus']) && $dados['base_comissao_empresa_bonus'] > 0) { $dadosAtualizacao['base_comissao_empresa_bonus'] = $dados['base_comissao_empresa_bonus']; } if ($dados['comissao_empresa'] != null) { $dadosAtualizacao['comissao_empresa'] = $dados['comissao_empresa']; } if (!empty($dados['adiantamento_comissao_empresa'])) { $dadosAtualizacao['adiantamento_comissao_empresa'] = $dados['adiantamento_comissao_empresa']; } if (isset($dados['bonus_empresa']) && $dados['bonus_empresa'] != null) { $dadosAtualizacao['bonus_empresa'] = $dados['bonus_empresa']; } if ($dados['comissao_corretor'] != null && $this->_dadosContrato['verificar_contratos'] != 1) { $dadosAtualizacao['comissao_corretor'] = $dados['comissao_corretor']; } if (isset($dados['bonus_corretor']) && $dados['bonus_corretor'] != null && $this->_dadosContrato['verificar_contratos'] != 1) { $dadosAtualizacao['bonus_corretor'] = $dados['bonus_corretor']; } if (isset($dados['produto']) && $dados['produto'] != null) { $dadosAtualizacao['produto'] = $dados['produto']; } if (isset($dados['data_recebimento_fisico'])) { $dadosAtualizacao['data_recebimento_fisico'] = $dados['data_recebimento_fisico']; } if (isset($dados['obs_recebimento_fisico'])) { $dadosAtualizacao['obs_recebimento_fisico'] = $dados['obs_recebimento_fisico']; } if (isset($dados['data_envio_fisico'])) { $dadosAtualizacao['data_envio_fisico'] = $dados['data_envio_fisico']; } if (isset($dados['obs_envio_fisico'])) { $dadosAtualizacao['obs_envio_fisico'] = $dados['obs_envio_fisico']; } if (isset($dados['protocolo_recebimento_fisico'])) { $dadosAtualizacao['protocolo_recebimento_fisico'] = $dados['protocolo_recebimento_fisico']; } if (isset($dados['protocolo_envio_fisico'])) { $dadosAtualizacao['protocolo_envio_fisico'] = $dados['protocolo_envio_fisico']; } if (isset($dados['bordero_newspace'])) { $dadosAtualizacao['bordero_newspace'] = $dados['bordero_newspace']; } if (isset($dados['numero_envelope'])) { $dadosAtualizacao['numero_envelope'] = $dados['numero_envelope']; } if (!empty($dados['obs'])) { $dadosAtualizacao['obs'] = !empty($this->_dadosContrato['obs']) ? $this->_dadosContrato['obs'] . "\n" . $dados['obs'] : $dados['obs']; } return $dadosAtualizacao; } protected function _getFormaLiberacao(array $sheetData, array &$dados) { if( $this->getColuna('forma_liberacao') ){ $colunaLiberacao = $sheetData[$this->getColuna('forma_liberacao')]; $dados['forma_liberacao'] = $colunaLiberacao == 'DOC E' ? 'C/C' : 'O/P'; } } /* * -Retira o parâmetro de identificação do contrato para verificar se ele já existe sem o tipo (importado pelo extrator) ou já com algum tipo. * -Existindo o contrato e caso tenha corretor (pois já pode ter vindo no extrator), o corretor é copiado para * as demais variações do contrato. */ private function _getContratos($contrato) { $dbtableContrato = new Model_DbTable_Contrato(); $contratoSemIndice = isset($contrato) && $contrato ? explode("-", $contrato) : null; $contratoSemIndice = $contratoSemIndice && is_array($contratoSemIndice) ? $contratoSemIndice[0] : null; $dadosContratoSemIndice = $contratoSemIndice ? $dbtableContrato->fetchAll("numero_contrato LIKE '" . $contratoSemIndice . "%' " . "AND banco_id = " . $this->getBancoId()) : null; $this->contratosIndice = $dadosContratoSemIndice; } protected function _getOutros(array $sheetData, array &$dados) { $this->_getContratos($dados['numero_contrato']); $tipos = array('SAQUE', 'PLASTICO', 'ATIVACAO', 'COMPLEMENTAR', 'SAQUE COM SEGURO', 'COMPLEMENTAR COM SEGURO'); $dadosContratoSemIndice = $this->contratosIndice; if( $this->copiarDataRecebimento && $dadosContratoSemIndice && $dadosContratoSemIndice->count() > 0 ){ foreach ( $dadosContratoSemIndice as $con ) { if( $con->protocolo_recebimento_fisico && $con->protocolo_recebimento_fisico > 0 && in_array($con->tipo, $tipos) ){ $dados['protocolo_recebimento_fisico'] = $con->protocolo_recebimento_fisico; $dados['protocolo_envio_fisico'] = $con->protocolo_envio_fisico; $dados['data_recebimento_fisico'] = $con->data_recebimento_fisico; $dados['obs_recebimento_fisico'] = $con->obs_recebimento_fisico; $dados['data_envio_fisico'] = $con->data_envio_fisico; $dados['obs_envio_fisico'] = $con->obs_envio_fisico; $dados['bordero_newspace'] = $con->bordero_newspace; $dados['numero_envelope'] = $con->numero_envelope; break; } } } } protected function _getDataRecebimentoComissao(array $sheetData, array &$dados) { $colunaDtRecebComissao = isset($sheetData[$this->getColuna('data_recebimento_comissao')]) ? trim($sheetData[$this->getColuna('data_recebimento_comissao')]) : null; $dataComissao = null; if ( !empty($colunaDtRecebComissao) ) { $dataComissao = Core_Util::convertDate($colunaDtRecebComissao); if( is_array($dataComissao) ){ throw new Core_Exception("Não foi possível converter a data de recebimento da comissão para o banco de dados. ({$colunaDtRecebComissao})"); } } $dados['data_recebimento_comissao'] = $dataComissao; } protected function _getTipoContrato(array $sheetData, array &$dados) { $colTipoContrato = isset($sheetData[$this->getColuna('tipo_contrato')]) ? trim($sheetData[$this->getColuna('tipo_contrato')]) : null; $ctrAnterior = trim($sheetData[$this->getColuna('numero_contrato_anterior')], " 0\t\n\r\0\x0B"); if( $colTipoContrato == "REFIN/CORRESPONDENTE" && empty($ctrAnterior) ){ $dados['tipo'] = "NOVO"; } $dados['tipo'] = $colTipoContrato; } protected function _getTipoFormalizacao(array $sheetData, array &$dados) { if (empty($dados['tabela_id'])){ return; } $dados['tipo_formalizacao'] = (new Model_Tabela()) ->exibir($dados['tabela_id']) ->tipo_formalizacao; } }
💾 保存文件
← 返回文件管理器