private function GeraCr() { $ModelCr = new ModellancaCrBd(); $ValorParcela = Array(); $VencimentoParcela = Array(); $String = new CString(); $TipoFechamento = $this->getTipoFechamento(); //Dia de Vencimento $DataVencimento = $this->DiaVencimentoTabela($this->getCodConfiguracaoFechamento()); array_push($VencimentoParcela, $DataVencimento); //Método que efetua o lançamento de contas a receber, recebe o parâmetro referente ao valro das parcelas como array array_push($ValorParcela, 'R$ ' . str_replace('.', ",", $this->getValor())); if ($ModelCr->GravarLancamento('NULL', $this->getIdFechamento(), 'NULL', 'NULL', 'NULL', $this->getObservacao(), $this->getCodEmp(), $this->getCodGrupoGerarLancamentoCr(), $VencimentoParcela, $_SESSION['id_usuario'], $this->getCodContaCC(), $this->getCodSubCategoriaGerarLancamentoCr(), $this->getCodFilial(), 1, $ValorParcela, $String, $this->getCodFechamentoSigmo(), 1, 'NULL', false, 'NULL', $this->getTransacao(), true)) { //Popula o array com os lançamentos gerados $this->PopulaArrayCrGerado($_POST["CodCrTransacao"][0], $_POST["CodCrTransacao"]); return true; } else { $this->setMsg("Não foi possível criar o lançamento de contas a receber referente ao fechamento " . $this->getCodFechamentoSigmo() . " " . $TipoFechamento . " (ID =" . $this->getIdFechamento() . ") \n" . $ModelCr->getMotivoErro()); return false; } }
public function ImportaVencimentoFatura() { $sql = "SELECT * FROM VENCIMENTO_FATURA WHERE RECEBIDO = 'N'"; if ($result = parent::execute_query($sql)) { $CR = new ModellancaCrBd(); $Data = new Data(); $String = new CString(); while ($linha = parent::criaObjetoConsulta($result)){ $linha->VENCIMENTO_FATURA_ID; $linha->BANCO_ID; $linha->OBSERVACAO; $linha->EMPRESA_ID; $linha->FORMA_PAGAMENTO; $linha->DATA_VENCIMENTO; $linha->VALOR_FINAL; //Associa a forma de pagamento aos códigos do pagamento switch ($linha->FORMA_PAGAMENTO){ case "BOLETO": $Cod = 1; break; case "CARTAO_CREDITO": $Cod = 2; break; case "CARTAO_DEBITO": $Cod = 3; break; case "DINHEIRO": $Cod = 4; break; } $linha->UCIDUSER = 1; if (!$linha->BANCO_ID) { $linha->BANCO_ID = 1; } $linha->CENTRO_CUSTO_ID = 'NULL'; $linha->UCIDUSER = 1; $linha->GRUPO_ID = 194; //Verifica a quantidade de parcelas do lançamento $sqlVerificaQtdParcelas = "SELECT COUNT(VENCIMENTO_FATURA_ID) AS TOTAL FROM VENCIMENTO_FATURA WHERE VENCIMENTO_FATURA_ID =" . $linha->VENCIMENTO_FATURA_ID; $resultParcelas = parent::execute_query($sqlVerificaQtdParcelas); $linhaParcela = parent::criaObjetoConsulta($resultParcelas); $Total = $linhaParcela->TOTAL; if ($Total >= 1) { $TotParcelas = $Total; $ValorParcela = Array(); $VencimentoParcela = Array(); $Pais = Array(); $resultFilhos = parent::execute_query("SELECT * FROM VENCIMENTO_FATURA VF WHERE VF.ORIGEM_VENCIMENTO_FATURA_ID =" . $linha->VENCIMENTO_FATURA_ID); while ($linhaFilhos = parent::criaObjetoConsulta($resultFilhos)){ $Parcela = parent::RecuperaCampo("VALOR_FINAL", "VENCIMENTO_FATURA", "VENCIMENTO_FATURA_ID", ($linhaFilhos->VENCIMENTO_FATURA_ID)); $DataVencimento = parent::RecuperaCampo("DATA_VENCIMENTO", "VENCIMENTO_FATURA", "VENCIMENTO_FATURA_ID", ($linhaFilhos->VENCIMENTO_FATURA_ID)); array_push($ValorParcela, 'R$ ' . str_replace('.', ",", $Parcela)); array_push($VencimentoParcela, $Data->convertDataBrasileira($DataVencimento)); array_push($Pais, $linhaFilhos->VENCIMENTO_FATURA_ID); } if (!$CR->GravarLancamento(0, $linha->CENTRO_CUSTO_ID, 0, $linha->OBSERVACAO, $linha->EMPRESA_ID, $linha->GRUPO_ID, $VencimentoParcela, $linha->UCIDUSER, $linha->BANCO_ID, 134, 5, $TotParcelas, $ValorParcela, $String, 0, $Cod, $Pais, NULL, 0)) { break; return false; } } } } }
public function Gravar() { //Variável iniciada como false, pois de maneira geral as transações serão comitadas //porém, em algumas situações específicas, o lançamento será comitado em outro momento $ExecutaTransacao = true; $retornaTrans = false; $Datas = new Data(); $String = new CString(); if ($_POST["NameForm"] == "FormFechamentoDiario") { //Caso seja fechamento diário, verifica se o valor recebido através do form //condiz com a soma dos valores do caixa, de acordo com a forma de pagamento $ValorDia = (new ModelPendencias())->VerificaTotalDiaFormaPagamento($Datas->convertDataSql($_POST["diaf"]), $_POST["formap"], base64_decode($_POST["caixaId"])); if ($ValorDia != $String->limpa_moeda($_POST["valor"])) { $this->setMotivoErro("Não foi possível garantir a integridade dos valores, refaça a operação"); echo json_encode(array('A' => 0, 'B' => $GravaLancamento->getMotivoErro())); exit(); } $ExecutaTransacao = false; $retornaTrans = true; } //Caso seja lançamento agrupado, verifica os critério do método que fará a validação da rotina if ($_POST["NameForm"] == "FormAgrupamento") { $ExecutaTransacao = false; $retornaTrans = true; } //Verifica se o lançamento é parcelado if (isset($_POST['check_parcelas'])) { $NumParcelas = count($_POST['vencimentoParcela']); $ArrayValorParcelas = $_POST["Valorparcela"]; $Parcelamento = true; } else { $NumParcelas = 1; $ArrayValorParcelas = null; $Parcelamento = False; } if ($NumParcelas > 1) { $totalParcelas = 0; //Verifica se a soma das parcelas condiz com o total do lançamento for ($i = 0; $i < count($_POST["Valorparcela"]); $i++){ $totalParcelas += $String->limpa_moeda($_POST['Valorparcela'][$i]); if (trim(($_POST['vencimentoParcela'][$i] == "")) || trim(($_POST['Valorparcela'][$i] == "Valorparcela"))) { echo json_encode(array('A' => 0, 'B' => "Preencha o valor de dada de vencimento de todas as parcelas \n ")); exit(); } } if (trim($totalParcelas) != trim($String->limpa_moeda($_POST['valor']))) { echo json_encode(array('A' => 0, 'B' => "Soma das parcelas diverge do valor total do lançamento")); exit(); } } $cliente = isset($_POST['cliente']) ? $_POST['cliente'] : 'NULL'; $descricao = isset($_POST['descricao']) ? $String->convertem(strip_tags($_POST['descricao']), 1) : ''; $centroReceita = ($_POST['centro_receita'] != "") ? $_POST['centro_receita'] : 'NULL'; $conta = isset($_POST['conta']) ? $_POST['conta'] : ''; $categoria = ($_POST['categoria'] != "") ? $_POST['categoria'] : 'NULL'; $filial = $_POST["filial"]; $vencimento = (!$Parcelamento) ? array($_POST['vencimento']) : $_POST['vencimentoParcela']; $ArrayValorParcelas = ($ArrayValorParcelas == null) ? array($_POST['valor']) : $ArrayValorParcelas; $CodFechamento = isset($_POST['codFechamento']) ? $String->descriptografa($_POST['codFechamento']) : 'NULL'; $PkFechamento = isset($_POST['pkFechamento']) ? $String->descriptografa($_POST['pkFechamento']) : 'NULL'; $FormaPagamento = ($_POST['forma_pagamento'] != "") ? $_POST['forma_pagamento'] : 'NULL'; $NumeroNF = isset($_POST['numero_nf']) ? $_POST['numero_nf'] : ''; $NumCheque = !empty($_POST['num_cheque']) ? $_POST['num_cheque'] : 'NULL'; $CentroCusto = isset($_POST['centro_custo']) ? $_POST['centro_custo'] : 'NULL'; $CodServico = !empty($_POST['servico']) ? trim($_POST['servico']) : 'NULL'; $CodOrigemResiduo = isset($_POST['cod_origem_residuo']) ? $String->descriptografa($_POST['cod_origem_residuo']) : 'NULL'; $GravaLancamento = new ModellancaCrBd(); $a = $_POST["NameForm"]; //Verifica se o usuário possui acesso limitado ao módulo recepção if ($_SESSION["modulo_recepcao"] != "S") $Redir = "VlancaCr.php"; else $Redir = "VlancaCrRecepcao.php"; if ($GravaLancamento->GravarLancamento($CodOrigemResiduo, $PkFechamento, $CodServico, $CentroCusto, $NumeroNF, $descricao, $cliente, $centroReceita, $vencimento, $_SESSION["id_usuario"], $conta, $categoria, $filial, $NumParcelas, $ArrayValorParcelas, $String, $CodFechamento, $FormaPagamento, 'null', $ExecutaTransacao, $NumCheque, false, $retornaTrans)) { //Caso esteja efetuando o fechamento diário if (trim($_POST["NameForm"]) == "FormFechamentoDiario") if ((new ModelPendencias ())->RegistraFechamento($_POST["formap"], $Datas->convertDataSql($_POST["diaf"]), $_POST["CodCrTransacao"], base64_decode($_POST["caixaId"]))) { $Redir = "VFechamentoDiario.php"; echo json_encode(array('A' => 1, 'B' => $Redir)); exit(); } //Quando se tratar de lançamento agrupado if ($_POST["NameForm"] == "FormAgrupamento") { if (unserialize($_SESSION['ArrayAgrup'])->GravaAgrupamento($_POST["CodCrTransacao"], $cliente, $String->limpa_moeda($_POST['valor']))) { unset($_SESSION['ArrayAgrup']); echo json_encode(array('A' => 1, 'B' => $Redir)); exit(); } else { echo json_encode(array('A' => 0, 'B' => $GravaLancamento->getMotivoErro())); } } echo json_encode(array('A' => 1, 'B' => $Redir)); exit(); } else { echo json_encode(array('A' => 0, 'B' => $GravaLancamento->getMotivoErro())); exit(); } }