From 06ab64ff38d339f39549990b3311d4b1023ebefb Mon Sep 17 00:00:00 2001 From: "wallace.henrique" Date: Fri, 1 Mar 2024 11:36:13 -0300 Subject: [PATCH] fixes bugAL-3921 --- pom.xml | 2 +- .../relatorios/impl/RelatorioEstoque.java | 236 ++++++++++++------ 2 files changed, 161 insertions(+), 77 deletions(-) diff --git a/pom.xml b/pom.xml index 9478ca699..0184aa9f8 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.54.7 + 1.54.8 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java index 0cda99763..d9267ab76 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java @@ -187,92 +187,176 @@ public class RelatorioEstoque extends Relatorio { StringBuilder sb = new StringBuilder(); - sb.append("SELECT DAB.AIDF_ID AS aidfId, est.NOMBESTADO as nomeEstado,"); - sb.append("dab.NUMSERIEPREIMPRESA as serie, "); - sb.append(" TO_NUMBER(CJ.NUMFOLIOPREIMPRESO) as folioCaja, "); - sb.append(" DAB.NUMFOLIOINICIAL AS folioInicial,"); - sb.append(" DAB.NUMFOLIOFINAL AS folioFinal,"); - sb.append(" PV.NOMBPUNTOVENTA AS descPuntoVenta,"); - sb.append(" AI.SUBSERIE AS subSerie,"); - sb.append(" AB.ARTICULO_ID AS articuloId, "); - sb.append(" EM.NOMBEMPRESA AS nombEmpresa," ); - sb.append(" EM.EMPRESA_ID AS empresaId," ); - sb.append(" M.MARCA_ID AS marcaId, " ); - sb.append(" DAB.AIDF_ID || DAB.NUMSERIEPREIMPRESA || DAB.NUMFOLIOINICIAL || DAB.NUMFOLIOFINAL || EM.EMPRESA_ID AS ID, " ); - sb.append("CASE WHEN dab.STATUSOPERACION = 4 THEN CONCAT(a.descarticulo,' (Distribuição Estoque)') ELSE a.descarticulo END as tipo, "); - sb.append(" to_date(to_char(AI.fecadquisicion, 'dd/MM/yyyy'), 'dd/MM/yyyy') as fechorAquisicion, "); - sb.append(" to_date(to_char(ai.fecvencimiento, 'dd/MM/yyyy'), 'dd/MM/yyyy') as fecVencimento "); - sb.append("FROM CAJA CJ,"); - sb.append(" ESTACION E,"); - sb.append(" ARTICULO A,"); - sb.append(" EMPRESA EM,"); - sb.append(" MARCA M,"); - - sb.append(" AIDF AI,"); - sb.append(" ESTADO est,"); - - sb.append(" USUARIO U,"); - sb.append(" PUNTO_VENTA PV,"); - sb.append(" ABASTO_BOLETO AB "); - sb.append("LEFT JOIN DET_ABASTO_BOLETO DAB ON (AB.ABASTOBOLETO_ID = DAB.ABASTOBOLETO_ID) "); - sb.append("WHERE TO_NUMBER(CJ.NUMFOLIOPREIMPRESO) BETWEEN TO_NUMBER(DAB.NUMFOLIOINICIAL) AND TO_NUMBER(DAB.NUMFOLIOFINAL) "); - sb.append(" AND CJ.PUNTOVENTA_ID = AB.PUNTOVENTA_ID "); - sb.append(" AND DAB.ACTIVO = 1 "); - sb.append("and (cj.NUMSERIEPREIMPRESA = dab.NUMSERIEPREIMPRESA OR (cj.NUMSERIEPREIMPRESA IS NULL and dab.NUMSERIEPREIMPRESA is null)) "); - + sb.append(" select TB.aidfId as aidfId, "); + sb.append(" TB.serie as serie, "); + sb.append(" TB.folioCaja as folioCaja, "); + sb.append(" TB.folioInicial as folioInicial, "); + sb.append(" TB.folioFinal as folioFinal, "); + sb.append(" TB.descPuntoVenta as descPuntoVenta, "); + sb.append(" TB.articuloId as articuloId, "); + sb.append(" TB.nombEmpresa as nombEmpresa, "); + sb.append(" TB.empresaId as empresaId, "); + sb.append(" TB.marcaId as marcaId, "); + sb.append(" TB.fechorAquisicion as fechorAquisicion, "); + sb.append(" TB.tipo as tipo, "); + sb.append(" TB.fecVencimento as fecVencimento, "); + sb.append(" TB.ID as ID , TB.nomeEstado as nomeEstado "); + sb.append(" from (SELECT DAB.AIDF_ID AS aidfId, est.NOMBESTADO as nomeEstado, "); + sb.append(" dab.NUMSERIEPREIMPRESA AS serie, "); + sb.append(" TO_NUMBER(CJ.NUMFOLIOPREIMPRESO) AS folioCaja, "); + sb.append(" DAB.NUMFOLIOINICIAL AS folioInicial, "); + sb.append(" DAB.NUMFOLIOFINAL AS folioFinal, "); + sb.append(" PV.NOMBPUNTOVENTA AS descPuntoVenta, "); + sb.append(" AB.ARTICULO_ID AS articuloId, "); + sb.append(" EM.NOMBEMPRESA AS nombEmpresa, "); + sb.append(" EM.EMPRESA_ID AS empresaId, "); + sb.append(" M.MARCA_ID AS marcaId, "); + sb.append(" DAB.AIDF_ID || DAB.NUMSERIEPREIMPRESA || DAB.NUMFOLIOINICIAL || DAB.NUMFOLIOFINAL || EM.EMPRESA_ID AS ID, "); + sb.append(" CASE "); + sb.append(" WHEN dab.STATUSOPERACION = 4 THEN CONCAT(a.descarticulo, ' (Distribuição Estoque)') "); + sb.append(" ELSE a.descarticulo "); + sb.append(" END AS tipo , "); + sb.append(" to_date(to_char(AI.fecadquisicion, 'dd/MM/yyyy'), 'dd/MM/yyyy') AS fechorAquisicion, "); + sb.append(" to_date(to_char(ai.fecvencimiento, 'dd/MM/yyyy'), 'dd/MM/yyyy') AS fecVencimento "); + sb.append(" FROM CAJA CJ, "); + sb.append(" ARTICULO A, "); + sb.append(" EMPRESA EM, "); + sb.append(" MARCA M, "); + sb.append(" USUARIO U, "); + sb.append(" AIDF AI, "); + sb.append(" ESTADO est,"); + sb.append(" PUNTO_VENTA PV, "); + sb.append(" ABASTO_BOLETO AB "); + sb.append(" "); + sb.append(" LEFT JOIN DET_ABASTO_BOLETO DAB ON (AB.ABASTOBOLETO_ID = DAB.ABASTOBOLETO_ID) "); + sb.append(" WHERE TO_NUMBER(CJ.NUMFOLIOPREIMPRESO) BETWEEN TO_NUMBER(DAB.NUMFOLIOINICIAL) AND TO_NUMBER(DAB.NUMFOLIOFINAL) "); + sb.append(" AND CJ.PUNTOVENTA_ID = AB.PUNTOVENTA_ID "); + sb.append(" AND DAB.ACTIVO = 1 "); + sb.append(" AND (cj.NUMSERIEPREIMPRESA = dab.NUMSERIEPREIMPRESA "); + sb.append(" OR (cj.NUMSERIEPREIMPRESA IS NULL "); + sb.append(" AND dab.NUMSERIEPREIMPRESA IS NULL)) "); if (puntoVentaId != null) { - sb.append(" AND pv.PUNTOVENTA_ID in("+puntoVentaId+ ")"); + sb.append("AND cj.PUNTOVENTA_ID = ") + .append(puntoVentaId); } - if(empresaId != null) { sb.append(" AND Em.empresa_ID = ") .append(empresaId); } - - sb.append(" AND DAB.NUMFOLIOFINAL < 2147483647"); - sb.append(" AND DAB.STATUSOPERACION IN(0,1,4)"); - sb.append(" AND A.ARTICULO_ID = AB.ARTICULO_ID"); - sb.append(" AND EM.EMPRESA_ID = AB.EMPRESA_ID"); - sb.append(" AND M.EMPRESA_ID = EM.EMPRESA_ID"); - sb.append(" AND M.ACTIVO = 1 "); - - sb.append(" AND DAB.AIDF_ID = AI.AIDF_ID"); - - if(dataInicio!= null && dataFim != null) { sb.append(" AND AI.fecadquisicion BETWEEN TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFinal,'dd/mm/yyyy hh24:mi:ss') "); }else if(dataInicio!= null) { - sb.append(" AND fecadquisicion >= TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') "); + sb.append(" AND AI.fecadquisicion >= TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') "); } - sb.append(" AND CJ.USUARIO_ID = U.USUARIO_ID"); - sb.append(" AND (CJ.INDREIMPRESION = 0"); - sb.append(" OR (CJ.INDREIMPRESION = 1"); - sb.append(" AND CJ.INDSTATUSBOLETO = 'E'))"); - sb.append(" AND CJ.PUNTOVENTA_ID = PV.PUNTOVENTA_ID"); - sb.append(" AND DAB.ACTIVO = 1 and AB.activo =1 and est.estado_id = ai.ESTADO_ID "); - sb.append("GROUP BY DAB.AIDF_ID,"); - sb.append(" DAB.NUMSERIEPREIMPRESA,"); - sb.append(" CJ.NUMFOLIOPREIMPRESO,"); - sb.append(" DAB.NUMFOLIOINICIAL,"); - sb.append(" DAB.NUMFOLIOFINAL,"); - sb.append(" PV.NOMBPUNTOVENTA,"); - - - sb.append(" AI.SUBSERIE,"); - - sb.append(" AB.ARTICULO_ID,"); - sb.append(" EM.NOMBEMPRESA,"); - sb.append(" U.USUARIO_ID,"); - sb.append(" EM.EMPRESA_ID,"); - sb.append(" DAB.AIDF_ID,"); - sb.append(" M.MARCA_ID, "); - sb.append(" A.descarticulo, "); - sb.append(" dab.STATUSOPERACION, "); - sb.append(" to_char(AI.fecadquisicion, 'dd/MM/yyyy'),"); - sb.append(" to_char(ai.fecvencimiento, 'dd/MM/yyyy'), est.NOMBESTADO "); - sb.append("ORDER BY DAB.AIDF_ID,"); - sb.append(" DAB.NUMSERIEPREIMPRESA,"); - sb.append(" TO_NUMBER(CJ.NUMFOLIOPREIMPRESO)"); + sb.append(" AND DAB.NUMFOLIOFINAL < 2147483647 "); + sb.append(" AND DAB.STATUSOPERACION IN(0, "); + sb.append(" 1, "); + sb.append(" 4) "); + sb.append(" AND A.ARTICULO_ID = AB.ARTICULO_ID "); + sb.append(" AND EM.EMPRESA_ID = AB.EMPRESA_ID "); + sb.append(" AND M.EMPRESA_ID = EM.EMPRESA_ID "); + sb.append(" AND M.ACTIVO = 1 AND DAB.AIDF_ID = AI.AIDF_ID "); + sb.append(" AND CJ.USUARIO_ID = U.USUARIO_ID "); + sb.append(" AND (CJ.INDREIMPRESION = 0 "); + sb.append(" OR (CJ.INDREIMPRESION = 1 "); + sb.append(" AND CJ.INDSTATUSBOLETO = 'E')) "); + sb.append(" AND CJ.PUNTOVENTA_ID = PV.PUNTOVENTA_ID "); + sb.append(" AND DAB.ACTIVO = 1 "); + sb.append(" AND AB.activo =1 AND AI.activo = 1 and est.estado_id = ai.ESTADO_ID "); + sb.append(" GROUP BY DAB.AIDF_ID, "); + sb.append(" DAB.NUMSERIEPREIMPRESA, "); + sb.append(" CJ.NUMFOLIOPREIMPRESO, "); + sb.append(" DAB.NUMFOLIOINICIAL, "); + sb.append(" DAB.NUMFOLIOFINAL, "); + sb.append(" PV.NOMBPUNTOVENTA, "); + sb.append(" AB.ARTICULO_ID, "); + sb.append(" EM.NOMBEMPRESA, "); + sb.append(" U.USUARIO_ID, "); + sb.append(" EM.EMPRESA_ID, "); + sb.append(" DAB.AIDF_ID, "); + sb.append(" M.MARCA_ID, "); + sb.append(" A.descarticulo, "); + sb.append(" dab.STATUSOPERACION , "); + sb.append(" to_char(AI.fecadquisicion, 'dd/MM/yyyy'), "); + sb.append(" to_char(ai.fecvencimiento, 'dd/MM/yyyy'), est.NOMBESTADO "); + sb.append(" "); + sb.append(" UNION ALL "); + sb.append(" SELECT DAB.AIDF_ID AS aidfId, est.NOMBESTADO as nomeEstado , "); + sb.append(" dab.NUMSERIEPREIMPRESA AS serie, "); + sb.append(" TO_NUMBER(CJ.NUMFOLIOPREIMPRESO) AS folioCaja, "); + sb.append(" DAB.NUMFOLIOINICIAL AS folioInicial, "); + sb.append(" DAB.NUMFOLIOFINAL AS folioFinal, "); + sb.append(" PV.NOMBPUNTOVENTA AS descPuntoVenta, "); + sb.append(" AB.ARTICULO_ID AS articuloId, "); + sb.append(" EM.NOMBEMPRESA AS nombEmpresa, "); + sb.append(" EM.EMPRESA_ID AS empresaId, "); + sb.append(" M.MARCA_ID AS marcaId, "); + sb.append(" DAB.AIDF_ID || DAB.NUMSERIEPREIMPRESA || DAB.NUMFOLIOINICIAL || DAB.NUMFOLIOFINAL || EM.EMPRESA_ID AS ID, "); + sb.append(" CASE "); + sb.append(" WHEN dab.STATUSOPERACION = 4 THEN CONCAT(a.descarticulo, ' (Distribuição Estoque)') "); + sb.append(" ELSE a.descarticulo "); + sb.append(" END AS tipo, "); + sb.append(" to_date(to_char(AI.fecadquisicion, 'dd/MM/yyyy'), 'dd/MM/yyyy') AS fechorAquisicion, "); + sb.append(" to_date(to_char(ai.fecvencimiento, 'dd/MM/yyyy'), 'dd/MM/yyyy') AS fecVencimento "); + sb.append(" FROM CAJA_DIVERSOS CJ, "); + sb.append(" ARTICULO A, "); + sb.append(" EMPRESA EM, "); + sb.append(" MARCA M, "); + sb.append(" AIDF AI, "); + sb.append(" ESTADO est,"); + sb.append(" USUARIO U, "); + sb.append(" PUNTO_VENTA PV, "); + sb.append(" ABASTO_BOLETO AB "); + sb.append(" LEFT JOIN DET_ABASTO_BOLETO DAB ON (AB.ABASTOBOLETO_ID = DAB.ABASTOBOLETO_ID) "); + sb.append(" WHERE TO_NUMBER(CJ.NUMFOLIOPREIMPRESO) BETWEEN TO_NUMBER(DAB.NUMFOLIOINICIAL) AND TO_NUMBER(DAB.NUMFOLIOFINAL) "); + sb.append(" AND CJ.PUNTOVENTA_ID = AB.PUNTOVENTA_ID "); + sb.append(" AND (cj.NUMSERIEPREIMPRESA = dab.NUMSERIEPREIMPRESA "); + sb.append(" OR (cj.NUMSERIEPREIMPRESA IS NULL "); + sb.append(" AND dab.NUMSERIEPREIMPRESA IS NULL)) "); + if (puntoVentaId != null) { + sb.append("AND cj.PUNTOVENTA_ID = ") + .append(puntoVentaId); + } + if(empresaId != null) { + sb.append(" AND Em.empresa_ID = ") + .append(empresaId); + } + if(dataInicio!= null && dataFim != null) { + sb.append(" AND AI.fecadquisicion BETWEEN TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFinal,'dd/mm/yyyy hh24:mi:ss') "); + }else if(dataInicio!= null) { + sb.append(" AND AI.fecadquisicion >= TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') "); + } + sb.append(" AND DAB.NUMFOLIOFINAL < 2147483647 "); + sb.append(" AND DAB.STATUSOPERACION IN(0, "); + sb.append(" 1, "); + sb.append(" 4) "); + sb.append(" AND A.ARTICULO_ID = AB.ARTICULO_ID "); + sb.append(" AND EM.EMPRESA_ID = AB.EMPRESA_ID "); + sb.append(" AND M.EMPRESA_ID = EM.EMPRESA_ID "); + sb.append(" AND M.ACTIVO = 1 AND DAB.AIDF_ID = AI.AIDF_ID "); + sb.append(" AND CJ.USUARIO_ID = U.USUARIO_ID "); + sb.append(" AND CJ.PUNTOVENTA_ID = PV.PUNTOVENTA_ID "); + sb.append(" AND DAB.ACTIVO = 1 "); + sb.append(" AND AB.activo =1 AND AI.activo = 1 and est.estado_id = ai.ESTADO_ID "); + sb.append(" GROUP BY DAB.AIDF_ID, "); + sb.append(" DAB.NUMSERIEPREIMPRESA, "); + sb.append(" CJ.NUMFOLIOPREIMPRESO, "); + sb.append(" DAB.NUMFOLIOINICIAL, "); + sb.append(" DAB.NUMFOLIOFINAL, "); + sb.append(" PV.NOMBPUNTOVENTA, "); + sb.append(" AB.ARTICULO_ID, "); + sb.append(" EM.NOMBEMPRESA, "); + sb.append(" U.USUARIO_ID, "); + sb.append(" EM.EMPRESA_ID, "); + sb.append(" DAB.AIDF_ID, "); + sb.append(" M.MARCA_ID, "); + sb.append(" A.descarticulo, "); + sb.append(" dab.STATUSOPERACION, "); + sb.append(" to_char(AI.fecadquisicion, 'dd/MM/yyyy'), "); + sb.append(" to_char(ai.fecvencimiento, 'dd/MM/yyyy') , est.NOMBESTADO ) TB "); + sb.append(" ORDER BY TB.aidfId, "); + sb.append(" TB.serie, "); + sb.append(" TB.folioCaja "); return sb.toString();