コード例 #1
0
    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;
    }