Problema de somar excedente de ontem com excedente de hoje(Lógica, pura lógica)

.NET

17/04/2013

Essa é a query que me traz os resultados:

WITH
CTE_A AS
(SELECT CONVERT(DATETIME, FLOOR(CONVERT(FLOAT(24),DT_CADASTRO)))AS DT_CADASTRO,
COUNT(*) AS QTDEA FROM TBL_TRIAGEM
WHERE ID_TIPO_DOCUMENTO IN(2,3,4,9) AND CONVERT(VARCHAR(10),DT_CADASTRO,103) BETWEEN '06/04/2013' AND '25/04/2013'
GROUP BY CONVERT(DATETIME, FLOOR(CONVERT(FLOAT(24),DT_CADASTRO)))) ,
CTE_B AS
(SELECT CONVERT(DATETIME, FLOOR(CONVERT(FLOAT(24),DT_LANCAMENTO)))AS DT_LANCAMENTO,
COUNT(*) AS QTDEB FROM TBL_CADASTRO WHERE CONVERT(VARCHAR(10),DT_LANCAMENTO,103)
BETWEEN '06/04/2013' AND '25/04/2013'
GROUP BY CONVERT(DATETIME, FLOOR(CONVERT(FLOAT(24),DT_LANCAMENTO))))

SELECT
CONVERT(VARCHAR,A.DT_CADASTRO,103)AS DATA,A.QTDEA, B.QTDEB, -(A.QTDEA - B.QTDEB) AS DIFERENCA,
(A.QTDEA - B.QTDEB) AS EXCEDENTE,(B.QTDEB/2) AS MEDIA FROM CTE_A AS A CROSS JOIN CTE_B AS B
WHERE CONVERT(DATETIME, FLOOR(CONVERT(FLOAT(24),A.DT_CADASTRO))) =
CONVERT(DATETIME, FLOOR(CONVERT(FLOAT(24),B.DT_LANCAMENTO)))



Observe que existe um campo chamado EXCEDENTE. Na aplicação, esse campo é deslocado do dia anterior para o dia atual, através dessa linha:

Bem, aqui está meu código no C#:

while (dr.Read())
{
//arrayExcedente[i] = Convert.ToDouble(dr["EXCEDENTE"].ToString());
dataCampos[i] = Convert.ToDateTime(dr["DATA"].ToString());

for (int cont = 0; cont < totalDias; cont++)
{
if (dataPeriodo[cont] == dataCampos[i])
{
arrayTriagem[cont] = Convert.ToDouble(dr["QTDEA"].ToString());
arrayCadastro[cont] = Convert.ToDouble(dr["QTDEB"].ToString());
doubleArrayVariacao[cont] = Convert.ToDouble(dr["MEDIA"].ToString());
arrayExcedente[cont] = Convert.ToDouble(dr["EXCEDENTE"].ToString());
if (Convert.ToDouble(dr["DIFERENCA"].ToString()) < 0)
{
arrayDiferenca[cont + 1] = Convert.ToDouble(dr["DIFERENCA"].ToString());

}
}
}
Eu preciso carregar num array chamado SomaDiferenca, exatamente a soma do dia anterior com o excedente de hoje. Observe que no array arrayDiferenca, eu desloco a diferença de hoje para o dia de amanhã, através do CONT + 1. Estou errando na lógica, pois preciso no dia HOJE, pegar o excedente de ontem(DIFERENCA) e somar ao excedente de hoje. Como eu faço isso? Só para entender a query, ela me traz isso:

QTDA ==> Total Triado
QTDB ==> Cadastrado
DIFERENCA ==> Excedente do dia anterior
EXCEDENTE ==> Sobra do dia

Preciso no dia hoje, somar o Exdente Hoje + Sobra de Ontem
Pjava

Pjava

Curtidas 0
POSTAR