diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/IntegracaoTotvsController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/BusquedaIntegracaoTotvsController.java similarity index 69% rename from src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/IntegracaoTotvsController.java rename to src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/BusquedaIntegracaoTotvsController.java index d32e220ab..5428234a8 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/IntegracaoTotvsController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/BusquedaIntegracaoTotvsController.java @@ -2,7 +2,9 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -11,9 +13,12 @@ import org.springframework.stereotype.Controller; import org.zkoss.util.resource.Labels; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zul.Datebox; import org.zkoss.zul.Intbox; +import org.zkoss.zul.Paging; +import com.rjconsultores.ventaboletos.entidad.Caja; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.service.IntegracaoTotvsService; @@ -22,6 +27,10 @@ import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEmpresa; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCajaTotvs; /** * @@ -29,9 +38,9 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; */ @Controller("integracaoTotvsController") @Scope("prototype") -public class IntegracaoTotvsController extends MyGenericForwardComposer { +public class BusquedaIntegracaoTotvsController extends MyGenericForwardComposer { private static final long serialVersionUID = 1L; - private static Logger log = Logger.getLogger(IntegracaoTotvsController.class); + private static Logger log = Logger.getLogger(BusquedaIntegracaoTotvsController.class); private List lsEmpresas; private MyComboboxEmpresa cmbEmpresa; private MyComboboxEmpresa cmbEmpresaServico; @@ -50,7 +59,11 @@ public class IntegracaoTotvsController extends MyGenericForwardComposer { private Integer numServico; private Intbox txtNumCorrida; private Intbox txtNumServico; - + private MyListbox cajaList; + private Paging pagingCaja; + @Autowired + private transient PagedListWrapper plwCaja; + @Autowired private IntegracaoTotvsService integracaoTotvsService; @@ -93,6 +106,21 @@ public class IntegracaoTotvsController extends MyGenericForwardComposer { dataAte = new Date(); lsEmpresas = UsuarioLogado.getUsuarioLogado().getEmpresa(); lsPuntoVenta = new ArrayList(); + cajaList.setItemRenderer(new RenderCajaTotvs()); + cajaList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + cajaList.getSelected(); + Caja caja = (Caja) cajaList.getSelected(); + Map args = new HashMap(); + args.put("caja", caja); + openWindow("/gui/catalogos/editarIntegracaoTotvsBilhete.zul", + Labels.getLabel("editarIntegracaoTotvsController.window.title"), args, MyGenericForwardComposer.MODAL); + } + }); + + refreshLista(); } public List getLsEmpresas() { @@ -127,17 +155,61 @@ public class IntegracaoTotvsController extends MyGenericForwardComposer { this.lsPuntoVenta = lsPuntoVenta; } + private void refreshLista() { + HibernateSearchObject cajaBusqueda = new HibernateSearchObject(Caja.class, pagingCaja.getPageSize()); + cajaBusqueda.addFilterEqual("integradoTotvs", 3); + // Comboitem cbiTipo = cmbIndTipo.getSelectedItem(); + // Short tipo = null; + // if (cbiTipo != null) { + // tipo = Short.parseShort(cbiTipo.getValue().toString()); + // empresaBusqueda.addFilterEqual("indTipo", tipo); + // } + // + // if (!txtRFC.getText().isEmpty()) { + // empresaBusqueda.addFilterEqual("rfc", txtRFC.getText()); + // } + // + // empresaBusqueda.addFilterNotEqual("empresaId", -1); + // empresaBusqueda.addFilterLike("nombempresa", "%" + txtNombre.getText().trim().concat("%")); + // + // if (!txtEquivalencia.getText().isEmpty()) { + // empresaBusqueda.addFilterEqual("equivalenciaId", txtEquivalencia.getText()); + // } + // + // empresaBusqueda.addFilterEqual("activo", Boolean.TRUE); + // empresaBusqueda.addSortAsc("nombempresa"); + + plwCaja.init(cajaBusqueda, cajaList, pagingCaja); + + if (cajaList.getData().length == 0) { + try { + org.zkoss.zul.Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("busquedaEmpresaController.window.title"), + org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.INFORMATION); + } catch (InterruptedException ex) { + } + } + } + public void onClick$btnSolicitarIntegracao(Event ev) throws Exception { dataDe = fecInicioIntervalo.getValue() != null ? DateUtil.inicioFecha(fecInicioIntervalo.getValue()) : null; dataAte = fecFinIntervalo.getValue() != null ? DateUtil.fimFecha(fecFinIntervalo.getValue()) : null; // Período não pode ser vazio. if (dataDe == null || dataAte == null) { - IntegracaoTotvsController.log.info(""); org.zkoss.zul.Messagebox.show( Labels.getLabel("integracaoTotvsController.MSG.filtrovazio.value"), Labels.getLabel("integracaoTotvsController.window.title"), org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.EXCLAMATION); return; + } else { + Date dataAtual = new Date(); + if (DateUtil.compareOnlyDate(dataDe, dataAtual) >= 0 || DateUtil.compareOnlyDate(dataAte, dataAtual) >= 0) { + org.zkoss.zul.Messagebox.show( + Labels.getLabel("integracaoTotvsController.MSG.filtrodataatual.value"), + Labels.getLabel("integracaoTotvsController.window.title"), + org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.EXCLAMATION); + return; + } } Empresa empresa = cmbEmpresa.getSelectedItem() != null ? (Empresa) cmbEmpresa.getSelectedItem().getValue() : null; PuntoVenta puntoVenta = cmbPuntoVenta.getSelectedItem() != null ? (PuntoVenta) cmbPuntoVenta.getSelectedItem().getValue() : null; @@ -150,28 +222,39 @@ public class IntegracaoTotvsController extends MyGenericForwardComposer { } } Integer retornoUpdate = null; + Boolean isIntegrado = Boolean.FALSE; if (empresa == null) { for (Empresa empresaAux : lsEmpresas) { if (puntoVenta == null) { List lsPuntoVentaAux = integracaoTotvsService.buscaPuntoVentaEmpresa(empresaAux); for (PuntoVenta puntoVentaAux : lsPuntoVentaAux) { - retornoUpdate = integracaoTotvsService.atualizaStstausBilhetesIntegrar(empresa, dataDe, dataAte, puntoVentaAux); + retornoUpdate = integracaoTotvsService.solicitaReIntegracaoBilhete(empresaAux, dataDe, dataAte, puntoVentaAux, UsuarioLogado.getUsuarioLogado()); } } else { - retornoUpdate = integracaoTotvsService.atualizaStstausBilhetesIntegrar(empresa, dataDe, dataAte, puntoVenta); + retornoUpdate = integracaoTotvsService.solicitaReIntegracaoBilhete(empresaAux, dataDe, dataAte, puntoVenta, UsuarioLogado.getUsuarioLogado()); + } + if (retornoUpdate > 0) { + isIntegrado = Boolean.TRUE; } } } else { if (puntoVenta == null) { List lsPuntoVentaAux = integracaoTotvsService.buscaPuntoVentaEmpresa(empresa); for (PuntoVenta puntoVentaAux : lsPuntoVentaAux) { - retornoUpdate = integracaoTotvsService.atualizaStstausBilhetesIntegrar(empresa, dataDe, dataAte, puntoVentaAux); + retornoUpdate = integracaoTotvsService.solicitaReIntegracaoBilhete(empresa, dataDe, dataAte, puntoVentaAux, UsuarioLogado.getUsuarioLogado()); + if (retornoUpdate > 0) { + isIntegrado = Boolean.TRUE; + } } } else { - retornoUpdate = integracaoTotvsService.atualizaStstausBilhetesIntegrar(empresa, dataDe, dataAte, puntoVenta); + retornoUpdate = integracaoTotvsService.solicitaReIntegracaoBilhete(empresa, dataDe, dataAte, puntoVenta, UsuarioLogado.getUsuarioLogado()); + if (retornoUpdate > 0) { + isIntegrado = Boolean.TRUE; + } } + } - if (retornoUpdate.intValue() >= 1) { + if (isIntegrado) { org.zkoss.zul.Messagebox.show( Labels.getLabel("integracaoTotvsController.MSG.retornosucesso.value"), Labels.getLabel("integracaoTotvsController.window.title"), @@ -226,7 +309,6 @@ public class IntegracaoTotvsController extends MyGenericForwardComposer { dataFimCorrida = fecFinCorrida.getValue() != null ? DateUtil.fimFecha(fecFinCorrida.getValue()) : null; // Período não pode ser vazio. if (dataInicioCorrida == null || dataFimCorrida == null) { - IntegracaoTotvsController.log.info(""); org.zkoss.zul.Messagebox.show( Labels.getLabel("integracaoTotvsController.MSG.retornovazioCorrida.value"), Labels.getLabel("integracaoTotvsController.window.title"), diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarIntegracaoTotvsController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarIntegracaoTotvsController.java new file mode 100644 index 000000000..89577ad77 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarIntegracaoTotvsController.java @@ -0,0 +1,154 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad; + +import java.math.BigDecimal; + +import org.apache.log4j.Logger; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Executions; +import org.zkoss.zul.Button; +import org.zkoss.zul.Intbox; + +import com.rjconsultores.ventaboletos.entidad.Caja; +import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; + +/** + * + * @author Rafius + */ +@Controller("editarIntegracaoTotvsController") +@Scope("prototype") +public class EditarIntegracaoTotvsController extends MyGenericForwardComposer { + + /** + * + */ + private static final long serialVersionUID = 1L; + private Caja caja; + private MyListbox coloniaList; + private static Logger log = Logger.getLogger(EditarIntegracaoTotvsController.class); + private MyTextbox txtNumBilhete; + private Intbox txtpuntoVentaId; + private MyTextbox txtFechaVenta; + private MyTextbox txtOperacao; + private MyTextbox txtErro; + private Button btnApagar; + private BigDecimal valorBilhete; + + private Intbox codpostal; + + + public Caja getCaja() { + return caja; + } + + public void setCaja(Caja caja) { + this.caja = caja; + } + + public Button getBtnApagar() { + return btnApagar; + } + + public void setBtnApagar(Button btnApagar) { + this.btnApagar = btnApagar; + } + + public MyListbox getColoniaList() { + return coloniaList; + } + + public void setColoniaList(MyListbox coloniaList) { + this.coloniaList = coloniaList; + } + + public MyTextbox getTxtNome() { + return txtNumBilhete; + } + + public void setTxtNome(MyTextbox txtNome) { + this.txtNumBilhete = txtNome; + } + + + @Override + public void doAfterCompose(Component comp) throws Exception { + + super.doAfterCompose(comp); + caja = (Caja) Executions.getCurrent().getArg().get("caja"); + setValorBilhete(MoneyHelper.somar(caja.getPreciopagado(), caja.getImportetaxaembarque(), caja.getImportepedagio(), caja.getImporteseguro())); + txtNumBilhete.focus(); + } + + + /** + * @return the codpostal + */ + public Intbox getCodpostal() { + return codpostal; + } + + /** + * @param codpostal the codpostal to set + */ + public void setCodpostal(Intbox codpostal) { + this.codpostal = codpostal; + } + + public MyTextbox getTxtNumBilhete() { + return txtNumBilhete; + } + + public void setTxtNumBilhete(MyTextbox txtNumBilhete) { + this.txtNumBilhete = txtNumBilhete; + } + + public Intbox getTxtpuntoVentaId() { + return txtpuntoVentaId; + } + + public void setTxtpuntoVentaId(Intbox txtpuntoVentaId) { + this.txtpuntoVentaId = txtpuntoVentaId; + } + + public MyTextbox getTxtFechaVenta() { + return txtFechaVenta; + } + + public void setTxtFechaVenta(MyTextbox txtFechaVenta) { + this.txtFechaVenta = txtFechaVenta; + } + + public MyTextbox getTxtOperacao() { + return txtOperacao; + } + + public void setTxtOperacao(MyTextbox txtOperacao) { + this.txtOperacao = txtOperacao; + } + + public MyTextbox getTxtErro() { + return txtErro; + } + + public void setTxtErro(MyTextbox txtErro) { + this.txtErro = txtErro; + } + + public BigDecimal getValorBilhete() { + return valorBilhete; + } + + public void setValorBilhete(BigDecimal valorBilhete) { + this.valorBilhete = valorBilhete; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCajaTotvs.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCajaTotvs.java new file mode 100644 index 000000000..351eacc33 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCajaTotvs.java @@ -0,0 +1,45 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.math.BigDecimal; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Caja; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; + +/** + * + * @author Administrador + */ +public class RenderCajaTotvs implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object o) throws Exception { + Caja caja = (Caja) o; + + Listcell lc = new Listcell(caja.getNumfoliosistema().toString()); + lc.setParent(lstm); + + lc = new Listcell(caja.getPuntoventaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(DateUtil.getStringDateHour(caja.getFechorventaH())); + lc.setParent(lstm); + + lc = new Listcell(caja.getIndstatusboleto()); + lc.setParent(lstm); + + BigDecimal valorBilhete = MoneyHelper.somar(caja.getPreciopagado(), caja.getImportetaxaembarque(), caja.getImportepedagio(), caja.getImporteseguro()); + lc = new Listcell(MoneyHelper.getValor(valorBilhete)); + lc.setParent(lstm); + + lstm.setAttribute("data", caja); + } +} diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index d2a0f0021..38dfb8b50 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -466,7 +466,8 @@ com.rjconsultores.ventaboletos.entidad.PtovtaContaMD com.rjconsultores.ventaboletos.entidad.MensagemRecusa com.rjconsultores.ventaboletos.entidad.OrgaoEmpParam - com.rjconsultores.ventaboletos.entidad.ComissaoReceita + com.rjconsultores.ventaboletos.entidad.ComissaoReceita + com.rjconsultores.ventaboletos.entidad.IntegracaoTotvs diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 455e2ae9f..f4cafb6d1 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -7439,11 +7439,43 @@ busquedaRetencaoDiariaComissaoController.error.empresa = Empresa no fue informad busquedaRetencaoDiariaComissaoController.info.qtdeMaxDias = Retención Diaria Comisión es permitida para el intervalo máximo de {0} día(s) #Integracao TOTVS -indexController.mniIntegracaoTotvs.label = Integração Totvs integracaoTotvsController.window.title = Integração Totvs integracaoTotvsController.tabBilhetes.value = Bilhetes integracaoTotvsController.tabServicos.value = Serviços integracaoTotvsController.tabCorridas.value = Corridas integracaoTotvsController.tabCadastrosGerais.value = Cadastros Gerais integracaoTotvsController.cmbEmpresa.value = Empresa -integracaoTotvsController.lbPuntoVenta.value = Ponto de Venda (Agência) \ No newline at end of file +integracaoTotvsController.lbPuntoVenta.value = Ponto de Venda (Agência) +integracaoTotvsController.lblIntervalo.value = Intervalo +integracaoTotvsController.lbDe.value = De +integracaoTotvsController.lbAte.value = Até +integracaoTotvsController.btnSolicitarIntegracao.label = Solicitar Integração +integracaoTotvsController.btnFechar.tooltiptext = Fechar +integracaoTotvsController.MSG.filtrovazio.value = O intevalo é obrigatório para realizar a integração. +integracaoTotvsController.MSG.filtropuntoventavazio.value = Ponto de Venda não preenchido. Deseja realizar integração para todos Pontos de Vendas. +integracaoTotvsController.MSG.retornovazio.value = Não existe bilhetes a serem integrados para este filtro. +integracaoTotvsController.MSG.retornosucesso.value = Realizado alteração do status dos bilhetes com sucesso. Os bilhetes serão integrados pela Thread de Integração. +integracaoTotvsController.lbNumCorrida.value = Número Corrida +integracaoTotvsController.lbNumServico.value = Número Serviço +integracaoTotvsController.MSG.filtrovazioNumServico.value = O Número do Serviço é obrigatório para realizar a integração. +integracaoTotvsController.MSG.filtrovazioNumCorrida.value = O Número da Corrida é obrigatório para realizar a integração. +integracaoTotvsController.MSG.filtrodataatual.value = As datas devem ser anterior a data atual +integracaoTotvsController.MSG.retornosucessoServico.value = Realizado alteração do status do Serviço com sucesso. O Serviço será integrado pela Thread de Integração. +integracaoTotvsController.MSG.retornosucessoCorrida.value = Realizado alteração do status da Corrida com sucesso. A corrida será integrada pela Thread de Integração. +integracaoTotvsController.MSG.retornovazioServico.value = Não encontrado este Serviço. +integracaoTotvsController.MSG.retornovazioCorrida.value = Não encontrado este Corrida. +integracaoTotvsController.lbNumBilhete.label = Num. Bilhete +integracaoTotvsController.lbPuntoVenta.label = Ponto de Venda +integracaoTotvsController.lbFechaVenta.label = Data Venda +integracaoTotvsController.lbOperacao.label = Tipo Operação +integracaoTotvsController.lbvalorBilhete.label = Valor Bilhete + +#EditarIntegracaoTotvsController +editarIntegracaoTotvsController.window.title = Integração Totvs +editarIntegracaoTotvsController.btnFechar.tooltiptext= Fechar +editarIntegracaoTotvsController.lbNumBilhete.label = Num. Bilhete +editarIntegracaoTotvsController.lbPuntoVenta.label = Ponto de Venda +editarIntegracaoTotvsController.lbFechaVenta.label = Data Venda +editarIntegracaoTotvsController.lbOperacao.label = Tipo Operação +editarIntegracaoTotvsController.lbvalorBilhete.label = Valor Bilhete +editarIntegracaoTotvsController.lberro.label = Erro \ 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 8d90f38b4..c6a60a62c 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -7919,7 +7919,23 @@ integracaoTotvsController.lbNumCorrida.value = Número Corrida integracaoTotvsController.lbNumServico.value = Número Serviço integracaoTotvsController.MSG.filtrovazioNumServico.value = O Número do Serviço é obrigatório para realizar a integração. integracaoTotvsController.MSG.filtrovazioNumCorrida.value = O Número da Corrida é obrigatório para realizar a integração. +integracaoTotvsController.MSG.filtrodataatual.value = As datas devem ser anterior a data atual integracaoTotvsController.MSG.retornosucessoServico.value = Realizado alteração do status do Serviço com sucesso. O Serviço será integrado pela Thread de Integração. integracaoTotvsController.MSG.retornosucessoCorrida.value = Realizado alteração do status da Corrida com sucesso. A corrida será integrada pela Thread de Integração. integracaoTotvsController.MSG.retornovazioServico.value = Não encontrado este Serviço. integracaoTotvsController.MSG.retornovazioCorrida.value = Não encontrado este Corrida. +integracaoTotvsController.lbNumBilhete.label = Num. Bilhete +integracaoTotvsController.lbPuntoVenta.label = Ponto de Venda +integracaoTotvsController.lbFechaVenta.label = Data Venda +integracaoTotvsController.lbOperacao.label = Tipo Operação +integracaoTotvsController.lbvalorBilhete.label = Valor Bilhete + +#EditarIntegracaoTotvsController +editarIntegracaoTotvsController.window.title = Integração Totvs +editarIntegracaoTotvsController.btnFechar.tooltiptext= Fechar +editarIntegracaoTotvsController.lbNumBilhete.label = Num. Bilhete +editarIntegracaoTotvsController.lbPuntoVenta.label = Ponto de Venda +editarIntegracaoTotvsController.lbFechaVenta.label = Data Venda +editarIntegracaoTotvsController.lbOperacao.label = Tipo Operação +editarIntegracaoTotvsController.lbvalorBilhete.label = Valor Bilhete +editarIntegracaoTotvsController.lberro.label = Erro \ No newline at end of file diff --git a/web/gui/catalogos/editarIntegracaoTotvsBilhete.zul b/web/gui/catalogos/editarIntegracaoTotvsBilhete.zul new file mode 100644 index 000000000..de00999e3 --- /dev/null +++ b/web/gui/catalogos/editarIntegracaoTotvsBilhete.zul @@ -0,0 +1,66 @@ + + + + + + + + + + + +