diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/impressaofiscal/BusquedaExportacaoFiscalController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/impressaofiscal/BusquedaExportacaoFiscalController.java new file mode 100644 index 000000000..cd8012f7f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/impressaofiscal/BusquedaExportacaoFiscalController.java @@ -0,0 +1,164 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.impressaofiscal; + +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.List; + +import javax.sql.DataSource; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +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.zk.ui.event.Event; +import org.zkoss.zul.Button; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Filedownload; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Estado; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.EstadoService; +import com.rjconsultores.ventaboletos.service.FiscalService; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; + +@Controller("busquedaExportacaoFiscalController") +@Scope("prototype") +public class BusquedaExportacaoFiscalController extends MyGenericForwardComposer { + private static final long serialVersionUID = 1L; + + private static Logger log = Logger.getLogger(BusquedaExportacaoFiscalController.class); + + @Autowired + private DataSource dataSourceRead; + + @Autowired + private FiscalService fiscalService; + + @Autowired + private EmpresaService empresaService; + + @Autowired + private EstadoService estadoService; + + private List lsEmpresa; + private List lsEstado; + + private Datebox datInicial; + private Datebox datFinal; + + private MyComboboxEstandar cmbEmpresa; + private MyComboboxEstandar cmbEstado; + + private Button btnExeExportacaoECF; + private Button btnExeExportacaoRMD; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + lsEstado = estadoService.obtenerTodos(); + + super.doAfterCompose(comp); + + defineImportacao(); + } + + private void defineImportacao() { + boolean isEcf = Executions.getCurrent().getArg().get("ECF") == null ? Boolean.FALSE : (Boolean) Executions.getCurrent().getArg().get("ECF"); + if (isEcf) { + btnExeExportacaoECF.setVisible(true); + } else { + btnExeExportacaoECF.setVisible(false); + } + + boolean isRmd = Executions.getCurrent().getArg().get("RMD") == null ? Boolean.FALSE : (Boolean) Executions.getCurrent().getArg().get("RMD"); + if (isRmd) { + btnExeExportacaoRMD.setVisible(true); + } else { + btnExeExportacaoRMD.setVisible(false); + } + } + + public void onClick$btnExeExportacaoECF(Event ev) throws InterruptedException { + Empresa empresa = null; + Estado estado = null; + + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + Comboitem itemEstado = cmbEstado.getSelectedItem(); + + if (itemEmpresa != null) { + empresa = (Empresa) itemEmpresa.getValue(); + } + + if (itemEstado != null) { + estado = (Estado) itemEstado.getValue(); + } + + if (empresa != null && estado != null) { + File arquivo = fiscalService.buscarArquivoExportacaoECF(datInicial.getValue(), datFinal.getValue(), empresa, estado); + + try { + downloadArquivo(arquivo); + + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + } + + public void onClick$btnExeExportacaoRMD(Event ev) throws InterruptedException { + Empresa empresa = null; + Estado estado = null; + + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + Comboitem itemEstado = cmbEstado.getSelectedItem(); + + if (itemEmpresa != null) { + empresa = (Empresa) itemEmpresa.getValue(); + } + + if (itemEstado != null) { + estado = (Estado) itemEstado.getValue(); + } + + if (empresa != null && estado != null) { + File arquivo = fiscalService.buscarArquivoExportacaoRMD(datInicial.getValue(), datFinal.getValue(), empresa, estado); + + try { + downloadArquivo(arquivo); + + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + } + + private void downloadArquivo(File arquivoTxt) throws Exception { + String contentType = "application/notepad"; + InputStream isFile = new FileInputStream(arquivoTxt); + String nomeArquivo = arquivoTxt.getName(); + + Filedownload.save(isFile, contentType, nomeArquivo); + + if (arquivoTxt != null) { + arquivoTxt.delete(); + } + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public List getLsEstado() { + return lsEstado; + } + + public void setLsEstado(List lsEstado) { + this.lsEstado = lsEstado; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/ItemMenuExportacaoFiscalECF.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/ItemMenuExportacaoFiscalECF.java new file mode 100644 index 000000000..6c61ab875 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/ItemMenuExportacaoFiscalECF.java @@ -0,0 +1,29 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.impressaofiscal; + +import java.util.HashMap; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; +import com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.impressaofiscal.TipoImportacaoFiscal.TipoImportacao; + +public class ItemMenuExportacaoFiscalECF extends DefaultItemMenuSistema { + public ItemMenuExportacaoFiscalECF() { + super("indexController.mniExportacaoFiscalECF.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.IMPRESSAOFISCAL.MENU.IMPORTACIONFISCAL"; + } + + @Override + public void ejecutar() { + @SuppressWarnings("unchecked") + HashMap map = TipoImportacaoFiscal.selecionaTipoImportacao(TipoImportacao.ECF, (HashMap) getArgs()); + + PantallaUtileria.openWindow("/gui/impressaofiscal/busquedaExportacaoFiscal.zul", + Labels.getLabel("busquedaExportacaoFiscalECFController.window.title"), map, desktop); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/ItemMenuExportacaoFiscalRMD.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/ItemMenuExportacaoFiscalRMD.java new file mode 100644 index 000000000..2e1db6113 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/ItemMenuExportacaoFiscalRMD.java @@ -0,0 +1,30 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.impressaofiscal; + +import java.util.HashMap; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; +import com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.impressaofiscal.TipoImportacaoFiscal.TipoImportacao; + +public class ItemMenuExportacaoFiscalRMD extends DefaultItemMenuSistema { + public ItemMenuExportacaoFiscalRMD() { + super("indexController.mniExportacaoFiscalRMD.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.IMPRESSAOFISCAL.MENU.IMPORTACIONFISCAL"; + } + + @Override + public void ejecutar() { + @SuppressWarnings("unchecked") + HashMap map = TipoImportacaoFiscal.selecionaTipoImportacao(TipoImportacao.RMD, (HashMap) getArgs()); + + PantallaUtileria.openWindow("/gui/impressaofiscal/busquedaExportacaoFiscal.zul", + Labels.getLabel("busquedaExportacaoFiscalRMDController.window.title"), map, desktop); + + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/SubMenuExportacaoFiscal.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/SubMenuExportacaoFiscal.java new file mode 100644 index 000000000..8c9c730a9 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/SubMenuExportacaoFiscal.java @@ -0,0 +1,16 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.impressaofiscal; + +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class SubMenuExportacaoFiscal extends DefaultItemMenuSistema { + + public SubMenuExportacaoFiscal() { + super("indexController.mnSubMenuExportacaoFiscal.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.RELATORIOFISCAL"; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/TipoImportacaoFiscal.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/TipoImportacaoFiscal.java index be0a3980a..5142e35f9 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/TipoImportacaoFiscal.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/impressaofiscal/TipoImportacaoFiscal.java @@ -5,13 +5,14 @@ import java.util.HashMap; public class TipoImportacaoFiscal { public enum TipoImportacao { - ECF_RED_Z, ECF, ECF_CANCELADOS, MANUAL, REDUCAO_Z, NAO_FISCAL, RELATORIO_FINANCEIRO, RELATORIO_VOUCHER, PENDENCIA_ECF, PENDENCIA_REDUCAO_Z, RELATORIO_VOUCHER_CANCELADOS; + ECF_RED_Z, ECF, RMD, ECF_CANCELADOS, MANUAL, REDUCAO_Z, NAO_FISCAL, RELATORIO_FINANCEIRO, RELATORIO_VOUCHER, PENDENCIA_ECF, PENDENCIA_REDUCAO_Z, RELATORIO_VOUCHER_CANCELADOS; } public static HashMap selecionaTipoImportacao(TipoImportacao tipo, HashMap map) { map.remove(TipoImportacao.ECF_RED_Z.toString()); map.remove(TipoImportacao.ECF.toString()); + map.remove(TipoImportacao.RMD.toString()); map.remove(TipoImportacao.ECF_CANCELADOS.toString()); map.remove(TipoImportacao.MANUAL.toString()); map.remove(TipoImportacao.REDUCAO_Z.toString()); @@ -30,6 +31,10 @@ public class TipoImportacaoFiscal { map.put(TipoImportacao.ECF.toString(), Boolean.TRUE); } + if (tipo.equals(TipoImportacao.RMD)) { + map.put(TipoImportacao.RMD.toString(), Boolean.TRUE); + } + if (tipo.equals(TipoImportacao.ECF_CANCELADOS)) { map.put(TipoImportacao.ECF_CANCELADOS.toString(), Boolean.TRUE); } diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index be03c8b73..a0f576bab 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -301,6 +301,10 @@ indexController.mniImportacionFiscalPendenciaReducaoZ.label=Pendência Redução indexController.mniImportacionFiscalEcfReducaoZ.label=ECF Integrado Redução Z indexController.mniRelatorioVoucherCancelados.label=Voucher Cancelados +indexController.mnSubMenuExportacaoFiscal.label=Exportação Fiscal +indexController.mniExportacaoFiscalECF.label=ECF +indexController.mniExportacaoFiscalRMD.label=RMD + indexController.mniSubMenuClientePacote.label=Paquete indexController.mniManutencaoPacote.label=Mantenimiento Paquete @@ -6283,11 +6287,14 @@ busquedaImportacionFiscalController.lbArquivoTxt.value = Importación Texto busquedaImportacionFiscalController.lbArquivoXls.value = Consolidado Excel busquedaImportacionFiscalController.lbCompetencia.label = Competencia busquedaImportacionFiscalController.btnExe.label = Ejecutar Importación + #busquedaImportacionFiscalController.btnExe.label = Importación Fiscal ECF #busquedaImportacionFiscalController.btnExeManual.label = Importación Fiscal Manual #busquedaImportacionFiscalController.btnExeNaoFiscal.label = Importación No Fiscal #busquedaImportacionFiscalController.btnExeImportacionReducaoZ.label = Importación Fiscal Reducción Z +busquedaExportacaoFiscalController.btnExe.label = Executar Exportação + #corridaServiceImpl corridaServiceImpl.geracaoCorrida.dataMenorQueAtual=El periodo informado es invalido corridaServiceImpl.geracaoCorrida.cantDiasManual=La cantidad maxima de dias para generacion manual es de {0}. @@ -6663,6 +6670,9 @@ busquedaImportacionFiscalEcfPendenciaController.window.title=Impresión Fiscal : busquedaImportacionFiscalEcfPendenciaReducaoZController.window.title=Impresión Fiscal :: Pendencia Reducción Z busquedaImportacionFiscalEcfReducaoZController.window.title=Impresión Fiscal :: ECF Integrado c/ Reducción Z +busquedaExportacaoFiscalECFController.window.title=Exportação Fiscal :: ECF +busquedaExportacaoFiscalRMDController.window.title=Exportação Fiscal :: RMD + #OCD busquedaOCDParamController.empresa.label=Empresa busquedaOCDParamController.btnPesquisa.label=Buscar diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index ea1ec4ec3..52c0619a1 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -308,6 +308,10 @@ indexController.mniImportacionFiscalPendenciaReducaoZ.label=Pendência Redução indexController.mniImportacionFiscalEcfReducaoZ.label=ECF Integrado Redução Z indexController.mniRelatorioVoucherCancelados.label=Voucher Cancelados +indexController.mnSubMenuExportacaoFiscal.label=Exportação Fiscal +indexController.mniExportacaoFiscalECF.label=ECF +indexController.mniExportacaoFiscalRMD.label=RMD + indexController.mniSubMenuClientePacote.label=Pacote indexController.mniManutencaoPacote.label=Manutenção Pacote @@ -6299,11 +6303,14 @@ busquedaImportacionFiscalController.lbArquivoTxt.value = Importação Texto busquedaImportacionFiscalController.lbArquivoXls.value = Consolidado Excel busquedaImportacionFiscalController.lbCompetencia.label = Competência busquedaImportacionFiscalController.btnExe.label = Executar Importação + #busquedaImportacionFiscalController.btnExe.label = Importação Fiscal ECF #busquedaImportacionFiscalController.btnExeManual.label = Importação Fiscal Manual #busquedaImportacionFiscalController.btnExeNaoFiscal.label = Importação Não Fiscal #busquedaImportacionFiscalController.btnExeImportacionReducaoZ.label = Importação Fiscal Redução Z +busquedaExportacaoFiscalController.btnExe.label = Executar Exportação + editarRelgerencialEmpresaController.MSG.suscribirOK=Relatorio Gerencial gravado com sucesso! editarRelgerencialEmpresaController.window.title=Impressão Fiscal :: Editar Relatorio Gerencial editarRelgerencialEmpresaController.MSG.borrarPergunta=Deseja eliminar Relatorio Gerencial? @@ -6832,6 +6839,9 @@ busquedaImportacionFiscalEcfPendenciaReducaoZController.window.title=Impressão busquedaImportacionFiscalEcfReducaoZController.window.title=Impressão Fiscal :: ECF Integrado c/ Redução Z busquedaImportacionFiscalRelatorioVoucherCanceladosController.window.title=Impressão Fiscal :: Relatório Voucher Cancelados +busquedaExportacaoFiscalECFController.window.title=Exportação Fiscal :: ECF +busquedaExportacaoFiscalRMDController.window.title=Exportação Fiscal :: RMD + # Relatorio Conferencia Formulario Fisico relatorioConferenciaFormularioFisicoController.lbDataIni.value = Data Inicial relatorioConferenciaFormularioFisicoController.lbDataFin.value = Data Final diff --git a/web/gui/impressaofiscal/busquedaExportacaoFiscal.zul b/web/gui/impressaofiscal/busquedaExportacaoFiscal.zul new file mode 100644 index 000000000..5da4f0e2b --- /dev/null +++ b/web/gui/impressaofiscal/busquedaExportacaoFiscal.zul @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +