✏️ 正在编辑: Cartao.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/library/Core/Banco/Planilha/Daycoval/Cartao.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_Banco_Planilha_Daycoval_Cartao extends Core_Banco_Planilha { protected $_dateFormat = 'dd/MM/yyyy'; protected $_inicioLaco = 1; protected $colunas = array( 'base_calculo' => 'N', 'codigo_agente' => 'V', 'codigo_convenio' => 'D', 'codigo_tabela' => 'H', 'convenio' => 'E', 'cpf_cliente' => 'K', 'data_emissao' => 'P', 'data_liberacao' => 'M', 'data_recebimento_comissao' => 'M', 'nome_cliente' => 'J', 'nome_produto' => 'I', 'numero_contrato' => 'G', 'produto' => 'H', 'tabela' => 'I', 'tipo_contrato' => 'A', 'natureza' => 'F', 'valor_bruto' => 'N', 'valor_comissao' => 'O', 'valor_liquido' => 'N', 'tipo_pagamento' => 'F', ); protected function _getConvenioIdTabelaId(array $sheetData, array &$dados) { $codigoConvenio = trim($sheetData[$this->getColuna('codigo_convenio')]); $descricaoConvenio = trim($sheetData[$this->getColuna('convenio')]); $mConvenio = new Model_Convenio(); $dados['convenio_id'] = $mConvenio->getOrCreateConvenio($descricaoConvenio, $codigoConvenio); $codigoTabela = trim($sheetData[$this->getColuna('codigo_tabela')]); $descricaoTabela = isset($sheetData[$this->getColuna('tabela')]) ? trim($sheetData[$this->getColuna('tabela')]) : $codigoTabela; $dados['tabela_id'] = 0; if( !empty($codigoTabela) ){ $tabela = new Model_Tabela(); $dados['tabela_id'] = $tabela->getOrCreateTabelaByCodigo($codigoTabela, $descricaoTabela, $dados['convenio_id'], $this->getBancoId()); } } protected function _getTipoContrato(array $sheetData, array &$dados) { $tipoContrato = !empty($sheetData[$this->getColuna('tipo_contrato')]) ? trim($sheetData[$this->getColuna('tipo_contrato')]) : null; if( stristr($tipoContrato, "complementar") ){ $dados['tipo'] = "SAQUE COMPLEMENTAR"; } elseif(stristr($tipoContrato, "saque")) { $dados['tipo'] = "SAQUE"; } elseif(stristr($tipoContrato, "venda")) { $dados['tipo'] = "PLASTICO"; } elseif(stristr($tipoContrato, "ativação")) { $dados['tipo'] = "ATIVACAO"; } } protected function _getStatusProposta(array $sheetData, array &$dados) { $model = new Model_StatusProposta(); $natureza = trim($sheetData[$this->getColuna('natureza')]); $status = null; if( $natureza == 'D' ){ $status = $model->existe("Estorno"); $dados['estornado'] = 1; }elseif( $natureza == 'C' ){ $status = $model->existe("Operação Finalizada"); $dados['estornado'] = 0; } if( $status ){ $dados['status_proposta'] = $status->parent_id > 0 ? $status->parent_id : $status->id; } } protected function _getComissaoEmpresa(array $sheetData, array &$dados) { $dados['comissao_empresa'] = 0; $baseCalculo = String_Refatorar::parseStringToFloat($sheetData[$this->getColuna('base_calculo')]); $vlComissao = $this->getColuna('valor_comissao') ? String_Refatorar::parseStringToFloat($sheetData[$this->getColuna('valor_comissao')]) : null; if( $baseCalculo > 0 && $vlComissao != null ){ $dados['comissao_empresa'] = number_format(($vlComissao*100/$baseCalculo), 2, ',', '.'); } } 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 _getCorretorId(array $sheetData, array &$dados) { $colCodigoCorretor = isset($sheetData[$this->getColuna('codigo_agente')]) ? trim($sheetData[$this->getColuna('codigo_agente')]) : null; $corretorId = 0; //pesquisa pelo codigo do usuario if( !empty($colCodigoCorretor) ){ $corretorSenha = new Model_CorretorSenha(); $corretorId = $corretorSenha->getCorretorIdBySenha($colCodigoCorretor, $dados['banco_id']); } $dados['corretor_id'] = $corretorId; } protected function _getDataRecebimentoComissao(array $sheetData, array &$dados) { $colunaDtRecebimento = !empty($sheetData[$this->getColuna('data_recebimento_comissao')]) ? trim($sheetData[$this->getColuna('data_recebimento_comissao')]) : null; $dataRecebimento = null; if ( !empty($colunaDtRecebimento) ) { $dataRecebimento = Core_Util::convertDate($colunaDtRecebimento); if( is_array($dataRecebimento) ){ throw new Core_Exception("Não foi possível converter a data de liberação para o banco de dados. ({$colunaDtRecebimento})"); } } $dados['data_recebimento_comissao'] = $dataRecebimento; } protected function _receberComissao(array $sheetData, array &$dados) { $this->_getDataRecebimentoComissao($sheetData, $dados); $this->_getComissaoEmpresa($sheetData, $dados); $dados['tipo_remuneracao'] = 1; //à vista $natureza = trim($sheetData[$this->getColuna('tipo_pagamento')]); $dados['natureza'] = $natureza == 'C' ? 1 : 5; //1=Comissão ou 5=Ajuste de débito $valorComissao = $this->getColuna('valor_comissao') ? String_Refatorar::parseStringToFloat($sheetData[$this->getColuna('valor_comissao')]) : 0; if( $this->_dadosContrato ){ if ( !empty($dados['data_recebimento_comissao']) && empty($this->_dadosContrato->data_recebimento_comissao) && !empty($valorComissao) ) { $this->_dadosContrato->data_recebimento_comissao = $dados['data_recebimento_comissao']; $this->_dadosContrato->save(); } $recebimento = array( 'contrato_id' => $this->_dadosContrato->id, 'data_recebimento_comissao' => $dados['data_recebimento_comissao'], 'parcelas' => 0, 'comissao_empresa' => String_Refatorar::parseStringToFloat($dados['comissao_empresa']), 'data_saldo' => $dados['data_recebimento_comissao'], 'tipo_remuneracao' => $dados['tipo_remuneracao'], 'valor_lancamento' => $valorComissao, 'natureza' => $dados['natureza'], 'descricao' => $sheetData[$this->getColuna('tipo_contrato')] ); $dbtableRecebimento = new Model_DbTable_RecebimentoContrato(); $dbtableRecebimento->receberComissao($recebimento); } } protected function _getCamposAtualizacao(array &$dados) { $dados = parent::_getCamposAtualizacao($dados); if(!in_array($dados['tipo'], ['SAQUE', 'COMPLEMENTAR'])){ unset($dados['comissao_empresa']); } unset($dados['base_comissao']); unset($dados['base_comissao_valor']); return $dados; } }
💾 保存文件
← 返回文件管理器