public function DadosLancamento($id_cr = false, $CodParcelamento = false, $IdCr2 = false, $StatusLancamento = false) { $StringIN = ""; $join = "F_LANCA_CR2 ON (F_LANCA_CR2.F_LANCA_CR2_ID = (SELECT MAX(F_LANCA_CR2.F_LANCA_CR2_ID) FROM F_LANCA_CR2 WHERE F_LANCA_CR2.F_LANCA_CR_ID = CR.F_LANCA_CR_ID))"; if (($id_cr) && ($CodParcelamento)) { $StringIN = "AND CR.COD_PARCELAMENTO IN ($CodParcelamento) AND CR.F_LANCA_CR_ID IN ($id_cr)"; } elseif (($id_cr) && (!$CodParcelamento)) { $StringIN = "AND CR.F_LANCA_CR_ID IN ($id_cr)"; } elseif ((!$id_cr) && ($CodParcelamento)) { $StringIN = "AND CR.COD_PARCELAMENTO IN ($CodParcelamento)"; } else { $StringIN; } //Verifica se está buscando pelo código do filho if ($IdCr2) { $join = "F_LANCA_CR2 ON (F_LANCA_CR2.F_LANCA_CR_ID = CR.F_LANCA_CR_ID)"; $StringIN = "AND F_LANCA_CR2_ID = $IdCr2"; } //Verifica se está buscando com status específico $StringStatus = ""; if ($StatusLancamento == 2) $join = "F_LANCA_CR2 ON (F_LANCA_CR2.F_LANCA_CR2_ID = (SELECT MAX(F_LANCA_CR2.F_LANCA_CR2_ID) FROM F_LANCA_CR2 WHERE F_LANCA_CR2.F_LANCA_CR_ID = CR.F_LANCA_CR_ID AND ACAO_FATURAR = 'S'))"; elseif ($StatusLancamento == 3) $join = "F_LANCA_CR2 ON (F_LANCA_CR2.F_LANCA_CR2_ID = (SELECT MAX(F_LANCA_CR2.F_LANCA_CR2_ID) FROM F_LANCA_CR2 WHERE F_LANCA_CR2.F_LANCA_CR_ID = CR.F_LANCA_CR_ID AND ACAO_RECEBER = 'S'))"; $sql = "SELECT CR.F_LANCA_CR_ID, NOME_CONTA, VALOR, VLR_DESCONTO_RECEBIMENTO, VLR_RESIDUAL, VLR_ACRESCIMO_RECEBIMENTO, STATUS.F_STATUS_FINANCEIRO_ID, STATUS.NOME_STATUS, F_LANCA_CR2.F_LANCA_CR2_ID, CR.EMPRESA_ID, GRUPO_CAIXA, DATA_VENCIMENTO, COD_FILIAL_ID, SUBCATEGORIA_ID, BANCO_ID, EMP.RAZAO_SOCIAL, FORMA.F_FORMA_PAGAMENTO_ID, FORMA.FORMA_PAGAMENTO, (SELECT COUNT(COD_PARCELAMENTO) FROM F_LANCA_CR WHERE COD_PARCELAMENTO = CR.COD_PARCELAMENTO) AS TOTAL_PARCELAS, F_LANCA_CR2.NUM_PARCELA, NUMERO_NF, NUM_CHEQUE, GRUPO.GRUPO AS CENTRO_RECEITA, VLR_IMPOSTO_FATURA, VLR_DESCONTO_FATURA, VLR_MULTA, VLR_MORA FROM F_LANCA_CR CR INNER JOIN $join INNER JOIN F_STATUS_FINANCEIRO STATUS ON (STATUS.F_STATUS_FINANCEIRO_ID = CR.F_STATUS_FINANCEIRO_ID) INNER JOIN GRUPO_CAIXA GRUPO ON (GRUPO.GRUPO_CAIXA_ID = CR.GRUPO_CAIXA) INNER JOIN EMPRESA EMP ON (CR.EMPRESA_ID = EMP.EMPRESA_ID) INNER JOIN F_FORMA_PAGAMENTO FORMA ON (FORMA.F_FORMA_PAGAMENTO_ID = CR.F_FORMA_PAGAMENTO_ID) WHERE (1 = 1) $StringIN;"; if ($result = parent::execute_query($sql)) { $listaLancamentos = array(); while ($linha = parent::criaObjetoConsulta($result)){ $dados = new ModellancaCrBd(); $dados->setConta_receber_id($linha->F_LANCA_CR_ID); $dados->setNome_conta($linha->NOME_CONTA); $dados->setValor($linha->VALOR); $dados->setCod_status($linha->F_STATUS_FINANCEIRO_ID); $dados->setNome_status($linha->NOME_STATUS); $dados->setCodFilho($linha->F_LANCA_CR2_ID); $dados->setValor($linha->VALOR); $dados->setId_cliente($linha->EMPRESA_ID); $dados->setCod_centro_receita($linha->GRUPO_CAIXA); $dados->setData_vencimento($linha->DATA_VENCIMENTO); $dados->setCodContaCorrente($linha->BANCO_ID); $dados->setCodFilial($linha->COD_FILIAL_ID); $dados->setCodCategoria($linha->SUBCATEGORIA_ID); $dados->setTotalParcelas($linha->TOTAL_PARCELAS); $dados->setCodParcela($linha->NUM_PARCELA); $dados->setFormaPagamento($linha->F_FORMA_PAGAMENTO_ID); $dados->setNumeroNF($linha->NUMERO_NF); $dados->setRazao_social_cli($linha->RAZAO_SOCIAL); $dados->setNomeFormaPagamento($linha->FORMA_PAGAMENTO); $dados->setNumCheque($linha->NUM_CHEQUE); $dados->setCentroReceita($linha->CENTRO_RECEITA); $dados->setValorDesconto($linha->VLR_DESCONTO_RECEBIMENTO); $dados->setValorResidual($linha->VLR_RESIDUAL); $dados->setVlrImposto($linha->VLR_IMPOSTO_FATURA); $dados->setVlrDescontoFatura($linha->VLR_DESCONTO_FATURA); $dados->setVlrMora($linha->VLR_MORA); $dados->setVlrMulta($linha->VLR_MULTA); $dados->setVlrAcrescimoRecebimento($linha->VLR_ACRESCIMO_RECEBIMENTO); $dados->setRazao_social_cli($linha->RAZAO_SOCIAL); array_push($listaLancamentos, $dados); } return $listaLancamentos; } return false; }