diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/job/MonitoramentoCCFCRZJob.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/job/MonitoramentoCCFCRZJob.java index e0f74001e..7552e270d 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/job/MonitoramentoCCFCRZJob.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/job/MonitoramentoCCFCRZJob.java @@ -1,11 +1,13 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.job; +import java.sql.Connection; +import java.sql.SQLException; import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.sql.DataSource; + import org.apache.log4j.Logger; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -13,14 +15,7 @@ import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; -import com.rjconsultores.ventaboletos.entidad.Empresa; -import com.rjconsultores.ventaboletos.entidad.Estado; -import com.rjconsultores.ventaboletos.entidad.FiscalImpressora; -import com.rjconsultores.ventaboletos.entidad.MonitoramentoCCF; -import com.rjconsultores.ventaboletos.entidad.MonitoramentoCCFR2; import com.rjconsultores.ventaboletos.entidad.MonitoramentoCRZ; -import com.rjconsultores.ventaboletos.entidad.PuntoVenta; -import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.service.MonitoramentoCCFService; import com.rjconsultores.ventaboletos.service.MonitoramentoCRZService; import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; @@ -35,6 +30,7 @@ public class MonitoramentoCCFCRZJob implements Job { @Autowired private MonitoramentoCRZService monitoramentoCRZService; + @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { log.info("Inicio do job de Monitoramento CCF CRZ..."); @@ -46,49 +42,46 @@ public class MonitoramentoCCFCRZJob implements Job { inicio.add(Calendar.DATE, -1); inicio.set(Calendar.HOUR, 0); inicio.set(Calendar.MINUTE, 0); - inicio.set(Calendar.SECOND, 0); - + inicio.set(Calendar.SECOND, 0); - for (MonitoramentoCCFR2 r2 : buscaRegistrosR2()){ - Map ccfs = new HashMap(); - for (int i = 0; i < r2.coofim - r2.cooinicio; i++){ - ccfs.put(r2.cooinicio + i, null); - } - for (MonitoramentoCCF m : buscaQuebraCCF(r2)){ - ccfs.put(m.getSequenciaCCFQuebrada(), m); - } - for (Map.Entry entry : ccfs.entrySet()) { - if (entry.getValue() == null){ - MonitoramentoCCF novo = new MonitoramentoCCF(); - novo.setDataMonitoramento(new Date()); - novo.setDataOcorrencia(inicio.getTime()); - novo.setDiasAlertaAberto(new Date()); - novo.setImpressora(new FiscalImpressora(r2.fiscalImpressoraId)); - novo.setEmpresa(new Empresa(r2.empresaId)); - novo.setEstadoInstalacao(new Estado(r2.estadoId)); - novo.setPuntoventa(new PuntoVenta(r2.puntoventaId)); - novo.setSequenciaCCFQuebrada(entry.getKey()); - //novo.setUsuario(new Usuario(r2.u)); - monitoramentoCCFService.suscribir(novo); - } - } - } - - for (MonitoramentoCRZ m : buscaQuebraCRZ()){ - monitoramentoCRZService.suscribir(m); - } + gravaCCFsQuebrados(); + + gravaCRZsQuebradas(); log.info("Fim do job de Monitoramento CCF CRZ."); } - - public List buscaRegistrosR2(){ - return monitoramentoCCFService.buscaRegistrosR2(inicio.getTime()); - } - - public List buscaQuebraCCF(MonitoramentoCCFR2 r2){ - return monitoramentoCCFService.buscaQuebraCCF(r2.numserie20, inicio.getTime()); + + private void gravaCRZsQuebradas() { + log.info("Gravando CRZs quebradas..."); + for (MonitoramentoCRZ m : buscaQuebraCRZ()){ + monitoramentoCRZService.suscribir(m); + } } + private void gravaCCFsQuebrados() { + try{ + //con = dataSource.getConnection(); + monitoramentoCCFService.openConnection(); + /* + * CCF: + * Distinct serie impressora na caja pra pegar somente as que venderam no dia anterior + * ultimo CCF no dia anterior -1 pra pegar o inicial + * join caja com fiscal_r4 + * verificar se tem quebra + */ + log.info("Gravando CCFs quebrados..."); + Map impressoras = monitoramentoCCFService.obterImpressorasComCCFInicial(inicio.getTime()); + Calendar c = Calendar.getInstance(); + c.setTime(inicio.getTime()); + c.add(Calendar.DAY_OF_MONTH, -5); + monitoramentoCCFService.gravarListaCCFQuebrados(impressoras, c.getTime()); + //con.commit(); + monitoramentoCCFService.closeConnection(); + } catch (Exception e){ + log.error("", e); + } + } + public List buscaQuebraCRZ(){ return monitoramentoCRZService.buscaQuebraCRZ(inicio.getTime()); } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/PainelEcfController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/PainelEcfController.java index 1e5aa136e..02c729d29 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/PainelEcfController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/PainelEcfController.java @@ -14,6 +14,8 @@ import com.rjconsultores.ventaboletos.service.MonitoramentoCCFService; import com.rjconsultores.ventaboletos.service.MonitoramentoCRZService; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderMonitoramentoCCF; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderMonitoramentoCRZ; @Controller("painelEcfController") @Scope("prototype") @@ -38,7 +40,9 @@ public class PainelEcfController extends MyGenericForwardComposer { super.doAfterCompose(comp); monitoramentoCCFList.setData(lsCCF); + monitoramentoCCFList.setItemRenderer(new RenderMonitoramentoCCF()); monitoramentoCRZList.setData(lsCRZ); + monitoramentoCRZList.setItemRenderer(new RenderMonitoramentoCRZ()); } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderMonitoramentoCCF.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderMonitoramentoCCF.java new file mode 100644 index 000000000..f15fe4188 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderMonitoramentoCCF.java @@ -0,0 +1,41 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.text.SimpleDateFormat; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.MonitoramentoCCF; + +public class RenderMonitoramentoCCF implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + MonitoramentoCCF m = (MonitoramentoCCF) o; + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + + Listcell lc = new Listcell(m.getEmpresa() != null ? m.getEmpresa().getNombempresa() : ""); + lc.setParent(lstm); + + lc = new Listcell(m.getImpressora().getNumserie20()); + lc.setParent(lstm); + + lc = new Listcell(m.getEstadoInstalacao() != null ? m.getEstadoInstalacao().getNombestado() : ""); + lc.setParent(lstm); + + lc = new Listcell(sdf.format(m.getDataOcorrencia())); + lc.setParent(lstm); + + lc = new Listcell(m.getPuntoventa().getNombpuntoventa()); + lc.setParent(lstm); + + lc = new Listcell(m.getSequenciaCCFQuebrada().toString()); + lc.setParent(lstm); + + lc = new Listcell(sdf.format(m.getDiasAlertaAberto())); + lc.setParent(lstm); + + lstm.setAttribute("data", m); + } +} + diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderMonitoramentoCRZ.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderMonitoramentoCRZ.java new file mode 100644 index 000000000..bd7108258 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderMonitoramentoCRZ.java @@ -0,0 +1,40 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.text.SimpleDateFormat; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.MonitoramentoCRZ; + +public class RenderMonitoramentoCRZ implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + MonitoramentoCRZ m = (MonitoramentoCRZ) o; + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + + Listcell lc = new Listcell(m.getEmpresa() != null ? m.getEmpresa().getNombempresa() : ""); + lc.setParent(lstm); + + lc = new Listcell(m.getImpressora().getNumserie20()); + lc.setParent(lstm); + + lc = new Listcell(m.getEstadoInstalacao() != null ? m.getEstadoInstalacao().getNombestado() : ""); + lc.setParent(lstm); + + lc = new Listcell(sdf.format(m.getDataReducaoZFaltante())); + lc.setParent(lstm); + + lc = new Listcell(m.getPuntoventa().getNombpuntoventa()); + lc.setParent(lstm); + + lc = new Listcell(m.getSequenciaCRZQuebrada().toString()); + lc.setParent(lstm); + + lc = new Listcell(sdf.format(m.getDiasAlertaAberto())); + lc.setParent(lstm); + + lstm.setAttribute("data", m); + } +} \ No newline at end of file diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 2fd7ffe8f..60bea5d5d 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -160,6 +160,8 @@ com.rjconsultores.ventaboletos.entidad.MerchantBancario com.rjconsultores.ventaboletos.entidad.Moneda + com.rjconsultores.ventaboletos.entidad.MonitoramentoCRZ + com.rjconsultores.ventaboletos.entidad.MonitoramentoCCF com.rjconsultores.ventaboletos.entidad.MarcaClaseServicio com.rjconsultores.ventaboletos.entidad.MotivoCancelacion diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 2b128b2e6..ce0305422 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -7246,6 +7246,6 @@ painelEcfController.lbECF.value=ECF painelEcfController.lbUFInstalacao.value=UF Instalação painelEcfController.lbDataOcorrencia.value=Data Ocorrência painelEcfController.lbAgencia.value=Agência -painelEcfController.lbSeqCCFQuebrada.value=Seq. CCF Quebrada +painelEcfController.lbSeqCCFQuebrada.value=CCF Quebrada painelEcfController.lbDiasAlertaAberto.value=Dias Alerta Aberto -painelEcfController.lbSeqCRZQuebrada.value=Seq. CRZ Quebrada \ No newline at end of file +painelEcfController.lbSeqCRZQuebrada.value=CRZ Quebrada \ No newline at end of file diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 686d4f88f..bc9fb9e4c 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -7734,6 +7734,6 @@ painelEcfController.lbECF.value=ECF painelEcfController.lbUFInstalacao.value=UF Instalação painelEcfController.lbDataOcorrencia.value=Data Ocorrência painelEcfController.lbAgencia.value=Agência -painelEcfController.lbSeqCCFQuebrada.value=Seq. CCF Quebrada +painelEcfController.lbSeqCCFQuebrada.value=CCF Quebrada painelEcfController.lbDiasAlertaAberto.value=Dias Alerta Aberto -painelEcfController.lbSeqCRZQuebrada.value=Seq. CRZ Quebrada \ No newline at end of file +painelEcfController.lbSeqCRZQuebrada.value=CRZ Quebrada \ No newline at end of file diff --git a/web/gui/seguridad/painelEcf.zul b/web/gui/seguridad/painelEcf.zul index f49e8c2fc..84c37f964 100644 --- a/web/gui/seguridad/painelEcf.zul +++ b/web/gui/seguridad/painelEcf.zul @@ -4,68 +4,86 @@ - - - - -