public function EvolucaoConta($dataInicial, $dataFinal, $codCC, $CodUsu = false, $TipoOp = false, $idOP = false) { $dataInicial = $dataInicial . " " . "00:00:01"; $dataFinal = $dataFinal . " " . "23:59:59"; $StringTipoOp = !$TipoOp ? "" : "AND IDENTIFICACAO_OPERACAO = '$TipoOp'"; $StringCodUsu = !$CodUsu ? "" : "AND USU.CHAVE_USER = $CodUsu"; $StringCodCC = !$codCC ? "" : "AND HIS.BANCO_ID = $codCC"; $StringCodBanco = !$codCC ? "" : "AND BANCO_ID = $codCC"; $StringCodOperacao = ((!$idOP) || ($idOP == -1)) ? "" : "AND HIS.F_HISTORICO_SALDO_ID IN ($idOP)"; $sql1 = "SELECT '' AS TIPO_PERACAO, 'SALDO ANTERIOR' AS RESUMO_OPERACAO, '' AS USUARIO, '' AS DATA_SALDO, '' AS VALOR_OPERACAO, CASE WHEN ( SELECT VALOR_SALDO FROM F_HISTORICO_SALDO WHERE F_HISTORICO_SALDO.F_HISTORICO_SALDO_ID = (SELECT MAX(F_HISTORICO_SALDO.F_HISTORICO_SALDO_ID) FROM F_HISTORICO_SALDO WHERE DATA_HORA_SALDO < '$dataInicial' $StringCodBanco) ) IS NULL THEN '0.00' ELSE ( SELECT VALOR_SALDO FROM F_HISTORICO_SALDO WHERE F_HISTORICO_SALDO.F_HISTORICO_SALDO_ID = (SELECT MAX(F_HISTORICO_SALDO.F_HISTORICO_SALDO_ID) FROM F_HISTORICO_SALDO WHERE DATA_HORA_SALDO < '$dataInicial' $StringCodBanco) ) END AS VALOR_SALDO, 'CONTA' AS NOME, '' AS COD_OPERACAO FROM F_HISTORICO_SALDO"; $sql2 = "SELECT CASE WHEN HIS.IDENTIFICACAO_OPERACAO = 'CP' THEN 'PAGAMENTO DE CONTAS' WHEN HIS.IDENTIFICACAO_OPERACAO = 'CR' THEN 'RECEBIMENTO DE CONTAS' WHEN HIS.IDENTIFICACAO_OPERACAO = 'EP' THEN 'ESTORNO DE PAGAMENTO' WHEN HIS.IDENTIFICACAO_OPERACAO = 'ER' THEN 'ESTORNO DE RECEBIMENTO' WHEN HIS.IDENTIFICACAO_OPERACAO = 'SAQUE' THEN 'SAQUE' WHEN HIS.IDENTIFICACAO_OPERACAO = 'DEPOSITO' THEN 'DEPOSITO' WHEN HIS.IDENTIFICACAO_OPERACAO = 'TRANSFERENCIA' THEN 'TRANSFERENCIA ENTRE CONTAS' END AS TIPO_PERACAO , CASE WHEN HIS.IDENTIFICACAO_OPERACAO = 'CP' THEN CP.RESUMO WHEN HIS.IDENTIFICACAO_OPERACAO = 'CR' THEN CR.NOME_CONTA WHEN (HIS.IDENTIFICACAO_OPERACAO = 'SAQUE') OR (HIS.IDENTIFICACAO_OPERACAO = 'DEPOSITO') THEN DS.OBSERVACAO WHEN HIS.IDENTIFICACAO_OPERACAO = 'TRANSFERENCIA' THEN TRANS.OBSERVACAO WHEN HIS.IDENTIFICACAO_OPERACAO = 'ER' OR HIS.IDENTIFICACAO_OPERACAO = 'EP' THEN 'ESTORNO' END AS RESUMO_OPERACAO, USU.UCUSERNAME AS USUARIO, HIS.DATA_HORA_SALDO AS DATA_SALDO, HIS.VALOR_OPERACAO AS VALOR_OPERACAO, HIS.VALOR_SALDO AS VALOR_SALDO, BANCO.NOME, HIS.F_HISTORICO_SALDO_ID AS COD_OPERACAO FROM F_HISTORICO_SALDO HIS LEFT JOIN F_LANCA_CR2 CR2 ON (CR2.F_LANCA_CR2_ID = HIS.F_LANCA_CR2_ID) LEFT JOIN F_LANCA_CR CR ON (CR.F_LANCA_CR_ID = CR2.F_LANCA_CR_ID) LEFT JOIN F_LANCA_CP2 CP2 ON (CP2.F_LANCA_CP2_ID = HIS.F_LANCA_CP2_ID) LEFT JOIN F_LANCA_CP CP ON (CP.F_LANCA_CP_ID = CP2.F_LANCA_CP) LEFT JOIN F_DEPOSITO_SAQUE DS ON (DS.F_DEPOSITO_SAQUE_ID = HIS.F_DEPOSITO_SAQUE_ID) LEFT JOIN F_TRANSFERENCIA TRANS ON (TRANS.F_TRANSFERENCIA_ID = HIS.F_TRANSFERENCIA_ID) INNER JOIN UCTABUSERS USU ON (USU.CHAVE_USER = HIS.CHAVE_USER) INNER JOIN BANCO ON (BANCO.BANCO_ID = HIS.BANCO_ID) WHERE HIS.DATA_HORA_SALDO BETWEEN '$dataInicial' AND '$dataFinal' $StringCodCC $StringTipoOp $StringCodUsu $StringCodOperacao ORDER BY 4"; $sql = $sql1 . " UNION " . $sql2; if (($idOP) || ($idOP == -1)) $sql = $sql2; $ListaEvolucaoConta = array(); if ($result = parent::execute_query($sql, true)) { while ($linha = parent::criaObjetoConsulta($result)){ $dadosBanco = new ModelBanco(); $dadosBanco->setTIPO_OPERACAO($linha->TIPO_PERACAO); $dadosBanco->setRESUMO_OPERACAO($linha->RESUMO_OPERACAO); $dadosBanco->setSALDO($linha->VALOR_SALDO); $dadosBanco->setVALOR_OPERACAO($linha->VALOR_OPERACAO); $dadosBanco->setUSUARIO_OPERACAO($linha->USUARIO); $dadosBanco->setDATA_OPERACAO($linha->DATA_SALDO); $dadosBanco->setNOMEBANCO($linha->NOME); $dadosBanco->setCOD_OPERACAO($linha->COD_OPERACAO); array_push($ListaEvolucaoConta, $dadosBanco); } } return $ListaEvolucaoConta; }