diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java
index cf6a18e6c..385549c80 100644
--- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java
+++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java
@@ -119,6 +119,8 @@ import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.entidad.UsuarioBancario;
import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil;
import com.rjconsultores.ventaboletos.enums.TipoAntifraude;
+import com.rjconsultores.ventaboletos.enums.TipoCarteiraDigital;
+import com.rjconsultores.ventaboletos.enums.TipoSocio;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.exception.IntegracionException;
import com.rjconsultores.ventaboletos.exception.ValidacionCampoException;
@@ -349,6 +351,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer {
private Combobox cmbReceita;
private Combobox cmbEmpresaComissao;
private Combobox cmbEmpresas;
+ private Combobox cmbTipoSocio;
private MyComboboxEstandar cmbEmpresasContaBancarias;
private Combobox cmbUsuarioEmpresa;
private Combobox cmbEmpresaFechamentoParamptovta;
@@ -586,7 +589,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer {
aplicarMascara();
- popularCombobox(cmbTipoConta, cmbPessoa, cmbForm, cmbLote, cmbPosicao, cmbReceita, cmbEmpresas, cmbUsuarioEmpresa, cmbEmpresaCobranca, cmbCobrancasPuntoVenta);
+ popularCombobox(cmbTipoConta, cmbPessoa, cmbForm, cmbLote, cmbPosicao, cmbReceita, cmbEmpresas, cmbUsuarioEmpresa, cmbEmpresaCobranca, cmbCobrancasPuntoVenta, cmbTipoSocio);
ptovtaEmpresasBloqueadasList.setItemRenderer(new RenderEmpresaBloquear());
ptovtaPtoVtaCheckinList.setItemRenderer(new RenderParadaPtoVtaCheckin());
@@ -681,6 +684,9 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer {
checkUTRRepasse.setChecked(false);
}
}
+ if(puntoVenta.getTipoSocio() != null) {
+ cmbTipoSocio.setValue(puntoVenta.getTipoSocio().toString());
+ }
}
puntoVentaList = (MyListbox) Executions.getCurrent().getArg().get("puntoVentaList");
@@ -1047,7 +1053,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer {
}
}
- public void popularCombobox(Combobox cmbConta, Combobox cmbPessoa, Combobox cmbForm, Combobox cmbLote, Combobox cmbPosicao, Combobox cmbReceita, Combobox cmbEmpresas, Combobox cmbUsuarioEmpresa, Combobox cmbEmpresaCobranca, Combobox cmbCobrancasPuntoVenta) throws Exception {
+ public void popularCombobox(Combobox cmbConta, Combobox cmbPessoa, Combobox cmbForm, Combobox cmbLote, Combobox cmbPosicao, Combobox cmbReceita, Combobox cmbEmpresas, Combobox cmbUsuarioEmpresa, Combobox cmbEmpresaCobranca, Combobox cmbCobrancasPuntoVenta, Combobox cmbTipoSocio) throws Exception {
clearCombobox(cmbConta);
clearCombobox(cmbPessoa);
@@ -1122,6 +1128,14 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer {
comboItem.setParent(cmbUsuarioEmpresa);
}
}
+
+
+ for (TipoSocio tipoSocio : TipoSocio.values()) {
+ Comboitem comboItem = new Comboitem(tipoSocio.toString());
+ comboItem.setValue(tipoSocio);
+ comboItem.setParent(cmbTipoSocio);
+ }
+
}
@@ -1943,6 +1957,9 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer {
if (puntoVenta.getIndIntegracion() == null) {
puntoVenta.setIndIntegracion(TipoRetorno.PENDENTE.getValor());
}
+ if(cmbTipoSocio.getSelectedItem() != null ) {
+ puntoVenta.setTipoSocio(((TipoSocio) cmbTipoSocio.getSelectedItem().getValue()));
+ }
if (puntoVenta.getPuntoventaId() == null) {
puntoVenta = puntoVentaService.suscribir(puntoVenta);
diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/ConfigLayoulGeradorContratoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/ConfigLayoulGeradorContratoController.java
new file mode 100644
index 000000000..a515552a0
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/ConfigLayoulGeradorContratoController.java
@@ -0,0 +1,193 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.rjconsultores.ventaboletos.web.gui.controladores.configuracioneccomerciales;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.MalformedURLException;
+import java.util.List;
+
+import javax.activation.MimetypesFileTypeMap;
+
+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.xhtmlrenderer.pdf.ITextRenderer;
+import org.zkforge.ckez.CKeditor;
+import org.zkoss.util.resource.Labels;
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zul.Combobox;
+import org.zkoss.zul.Filedownload;
+import org.zkoss.zul.Messagebox;
+import org.zkoss.zul.Radiogroup;
+
+import com.itextpdf.text.DocumentException;
+import com.rjconsultores.integracaoreceitadespesa.Arquivo;
+import com.rjconsultores.ventaboletos.entidad.ConfContratoPuntoVenta;
+import com.rjconsultores.ventaboletos.entidad.Empresa;
+import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
+import com.rjconsultores.ventaboletos.service.ConfContratoPuntoVentaService;
+import com.rjconsultores.ventaboletos.vo.configuracioneccomerciales.ConfLayoutContratoVO;
+import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
+
+@Controller("configLayoulGeradorContratoController")
+@Scope("prototype")
+public class ConfigLayoulGeradorContratoController extends MyGenericForwardComposer {
+
+ private static final long serialVersionUID = 1L;
+ private CKeditor chkConfigLayoutGeradorContratoPrazo;
+ private CKeditor chkConfigLayoutGeradorContratoVista;
+ private Combobox cmbPuntoVenta;
+ private Combobox cmbEmpresa;
+ private final String contratoPrazo = "Contrato_Prazo.pdf";
+ private final String contratoAVista = "Contrato_AVista.pdf";
+ @Autowired
+ private ConfContratoPuntoVentaService confContratoPuntoVentaService;
+
+ private ConfContratoPuntoVenta confContratoPuntoVenta;
+ private static Logger log = Logger.getLogger(ConfigLayoulGeradorContratoController.class);
+ private Radiogroup rdbGroup;
+
+ public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
+ executarRelatorio();
+ }
+
+ /**
+ * @throws Exception
+ *
+ */
+ private void executarRelatorio() throws Exception {
+
+ cmbPuntoVenta.getValue();
+ cmbEmpresa.getValue();
+
+ if(cmbPuntoVenta.getSelectedItem() == null || cmbEmpresa.getSelectedItem() == null){
+ return;
+ }
+
+ Integer puntoVentaId = ((PuntoVenta)cmbPuntoVenta.getSelectedItem().getValue()).getPuntoventaId();
+ Integer empresaId = ((Empresa)cmbEmpresa.getSelectedItem().getValue()).getEmpresaId();
+
+ ConfLayoutContratoVO confLayoutContratoVO = buscarInformacoesPontoVendaparaGerarContratos(puntoVentaId, empresaId);
+ if(confLayoutContratoVO == null){
+ Messagebox.show(Labels.getLabel("configLayoutGeradorContratoController.lbNoResultado.value"),
+ Labels.getLabel("configLayoutGeradorContratoController.window.title"),
+ Messagebox.OK, Messagebox.EXCLAMATION);
+ return;
+ }
+ String layout = "";
+
+ if(rdbGroup.getSelectedItem().getValue().equals("P")) {
+ layout = formatarLayout(confLayoutContratoVO, chkConfigLayoutGeradorContratoPrazo.getValue());
+ gerarPDF(layout, contratoPrazo);
+ }else if(rdbGroup.getSelectedItem().getValue().equals("A")) {
+ layout = formatarLayout(confLayoutContratoVO, chkConfigLayoutGeradorContratoVista.getValue());
+ gerarPDF(layout, contratoAVista);
+ }
+ }
+
+ private String formatarLayout(ConfLayoutContratoVO confLayoutContratoVO, String html) {
+ return confContratoPuntoVentaService.formatarLayout(confLayoutContratoVO, html);
+ }
+
+ private void gerarPDF(String html, String nomeArquivo) throws IOException, MalformedURLException, FileNotFoundException, DocumentException {
+
+ FileInputStream inputStream = null;
+ OutputStream output = null;
+ BufferedWriter writer = null;
+ try {
+
+ File fileHtml = File.createTempFile("contrato.html", ".tmp");
+ String url = fileHtml.toURI().toURL().toString();
+ System.out.println("Temp file: " + fileHtml.getAbsolutePath());
+
+ writer = new BufferedWriter(new FileWriter(fileHtml));
+ writer.write(html.toString());
+ writer.close();
+
+ File filePDF = File.createTempFile("pdfgerado.pdf", ".tmp");
+ System.out.println("Temp file: " + filePDF.getAbsolutePath());
+ output = new FileOutputStream(filePDF.getAbsolutePath());
+
+ ITextRenderer renderer = new ITextRenderer();
+ renderer.setDocument(url);
+ renderer.layout();
+ renderer.createPDF(output);
+
+ if (filePDF.exists()) {
+ inputStream = new FileInputStream(filePDF);
+ Filedownload.save(inputStream, new MimetypesFileTypeMap().getContentType(filePDF), nomeArquivo);
+ }
+
+ Arquivo.close(output);
+ fileHtml.delete();
+ filePDF.delete();
+
+ } catch (FileNotFoundException e) {
+ Arquivo.close(inputStream);
+ Arquivo.close(output);
+ e.printStackTrace();
+ }
+ }
+
+ public void onClick$botaoSalvar(Event ev) throws Exception {
+
+ try {
+ confContratoPuntoVenta.setTextoContratoAVista(chkConfigLayoutGeradorContratoVista.getValue());
+ confContratoPuntoVenta.setTextoContratoPrazo(chkConfigLayoutGeradorContratoPrazo.getValue());
+
+ if(confContratoPuntoVenta.getConfigContratoPuntoVentaId() != null){
+ confContratoPuntoVentaService.actualizacion(confContratoPuntoVenta);
+ Messagebox.show(Labels.getLabel("configLayoutGeradorContratoController.MBAtualizacao.value"),
+ Labels.getLabel("configLayoutGeradorContratoController.window.title"),
+ Messagebox.OK, Messagebox.INFORMATION);
+ }else{
+ confContratoPuntoVentaService.suscribir(confContratoPuntoVenta);
+ Messagebox.show(Labels.getLabel("configLayoutGeradorContratoController.MBNovo.value"),
+ Labels.getLabel("configLayoutGeradorContratoController.window.title"),
+ Messagebox.OK, Messagebox.INFORMATION);
+ }
+
+ } catch (Exception e) {
+ log.error(e);
+ }
+
+ }
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ if(!confContratoPuntoVentaService.obtenerTodos().isEmpty()){
+ confContratoPuntoVenta = confContratoPuntoVentaService.obtenerTodos().get(0);
+ }
+ if(confContratoPuntoVenta == null){
+ confContratoPuntoVenta = new ConfContratoPuntoVenta();
+ confContratoPuntoVenta.setTextoContratoAVista("");
+ confContratoPuntoVenta.setTextoContratoPrazo("");
+ }
+
+ }
+
+ public ConfContratoPuntoVenta getConfContratoPuntoVenta() {
+ return confContratoPuntoVenta;
+ }
+
+ public void setConfContratoPuntoVenta(ConfContratoPuntoVenta confContratoPuntoVenta) {
+ this.confContratoPuntoVenta = confContratoPuntoVenta;
+ }
+
+ private ConfLayoutContratoVO buscarInformacoesPontoVendaparaGerarContratos(Integer puntoVentaId, Integer empresaIsd){
+ return confContratoPuntoVentaService.buscarInformacoesPontoVendaparaGerarContratos(puntoVentaId, empresaIsd);
+ }
+
+}
diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/confcomerciales/ItemMenuGeradorContrato.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/confcomerciales/ItemMenuGeradorContrato.java
new file mode 100644
index 000000000..a2e80ed6b
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/confcomerciales/ItemMenuGeradorContrato.java
@@ -0,0 +1,26 @@
+package com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomerciales;
+
+import org.zkoss.util.resource.Labels;
+
+import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
+import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
+
+public class ItemMenuGeradorContrato extends DefaultItemMenuSistema {
+
+ public ItemMenuGeradorContrato() {
+ super("indexController.mniGeradorContrato.label");
+ }
+
+ @Override
+ public String getClaveMenu() {
+ return "COM.RJCONSULTORES.ADMINISTRACION.GUI.CONFIGURACIONECCOMERCIALES.MENU.GERADORCONTRATOS";
+ }
+
+ @Override
+ public void ejecutar() {
+ PantallaUtileria.openWindow("/gui/configuraciones_comerciales/configLayoutGeradorContrato.zul",
+ Labels.getLabel("busquedaComisionistaExternoController.window.title"), getArgs(), desktop);
+
+ }
+
+}
diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties
index c191af125..dc0edc628 100644
--- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties
+++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties
@@ -71,6 +71,7 @@ confComerciales.comissao.historicoComissao=com.rjconsultores.ventaboletos.web.ut
confComerciales.comissao.conferenciaComissao=com.rjconsultores.ventaboletos.web.utilerias.menu.item.comissao.ItemMenuConferenciaComissao
confComerciales.comissao.recebimentoMalote=com.rjconsultores.ventaboletos.web.utilerias.menu.item.comissao.ItemMenuRecebimentoMalote
confComerciales.configuracaoVendaTotem=com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomerciales.ItemMenuConfTotem
+confComerciales.geradorcontrato=com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomerciales.ItemMenuGeradorContrato
esquemaOperacional=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.MenuEsquemaOperacional
esquemaOperacional.tipoParadas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuTipoParadas
esquemaOperacional.paradas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuEsquemaOperacionalParadas
diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml
index e1c072541..70b3533e3 100644
--- a/src/java/spring-config.xml
+++ b/src/java/spring-config.xml
@@ -510,6 +510,7 @@
com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionPtoVta
com.rjconsultores.ventaboletos.entidad.ConexionRutaConf
com.rjconsultores.ventaboletos.entidad.ComissaoLog
+ com.rjconsultores.ventaboletos.entidad.ConfContratoPuntoVenta
diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label
index f0aca9b53..edb1e4760 100644
--- a/web/WEB-INF/i3-label_es_MX.label
+++ b/web/WEB-INF/i3-label_es_MX.label
@@ -9257,3 +9257,19 @@ relatorioVendaConexaoRuta.lbIdEmpresa.value = Id
relatorioVendaConexaoRuta.puntoVentaSelectedList.codigo = Código
relatorioVendaConexaoRuta.puntoVentaSelectedList.nome = Nombre
relatorioVendaConexaoRuta.lbAgencia.value = Punto Venta
+
+
+# Configuracao Gerador Contrato
+
+configLayoutGeradorContratoController.window.title = Config Layout Gerador Contrato
+configLayoutGeradorContratoController.contratoPrazo.label = Contratos à Prazo
+configLayoutGeradorContratoController.contratoVista.label = Contratos à Vista
+configLayoutGeradorContratoController.lb.puntoVenta.value = Agência
+configLayoutGeradorContratoController.btnVisualizarPDF.label = Gerar Contrato (PDF)
+configLayoutGeradorContratoController.lbPrazo.value = À Prazo
+configLayoutGeradorContratoController.lbAVista.value = À Vista
+configLayoutGeradorContratoController.lbAmbos.value = Ambos
+configLayoutGeradorContratoController.lbEmpresa.value = Empresa
+configLayoutGeradorContratoController.lbNoResultado.value = Não existe resultado para os dados informados;
+configLayoutGeradorContratoController.MBAtualizacao.value = Dados atualizado.
+configLayoutGeradorContratoController.MBNovo.value = Cadastro realizado.
\ 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 02154068c..ccebd87a8 100644
--- a/web/WEB-INF/i3-label_pt_BR.label
+++ b/web/WEB-INF/i3-label_pt_BR.label
@@ -232,6 +232,7 @@ indexController.mniRedondeo.label = Regras de Arredondamento
indexController.mniCotacao.label=Cotação
indexController.mniRedondeoMarca.label = Arredondamento Marca
indexController.mniComisionistaExterno.label = Comissionista Externo
+indexController.mniGeradorContrato.label = Gerador de Contrato
indexController.mniConvenio.label = Desconto
indexController.mniConfiguracionAlerta.label = Configuração Alertas
indexController.mniConfiguracionFeriado.label = Configuração de Feriado
@@ -2068,6 +2069,10 @@ editarPuntoVentaController.lbPodeCancelarPassage.value = Bloquear Cancelamento/T
editarPuntoVentaController.lbPodeCancelarPTA.value = Bloquear Cancelamento/Troca/Devolução PTA
editarPuntoVentaController.lbUTRRepasse.value = Repassa UTR
+editarPuntoVentaController.lbQSA.value = Q.S.A.
+editarPuntoVentaController.lbTipoSocioAdministrador.value = Sócio Administrador
+editarPuntoVentaController.lbTipoSocioProprietario.value = Sócio Proprietário
+editarPuntoVentaController.lbTipoProprietario.value = Proprietário
# Fechamento Conta Corrente Agencia
editarPuntoVentaController.puntoventa.label = Agencia
@@ -9927,4 +9932,19 @@ relatorioGratuidadeAGEPANController.btnLimpar.value = Limpar
relatorioGratuidadeAGEPANController.lbNumRuta.value = Num. Linha
relatorioGratuidadeAGEPANController.lbPrefixo.value = Prefixo
relatorioGratuidadeAGEPANController.lvVenda = Venda
-relatorioGratuidadeAGEPANController.lbOrgao.value = Orgão Concedente
\ No newline at end of file
+relatorioGratuidadeAGEPANController.lbOrgao.value = Orgão Concedente
+
+# Configuracao Gerador Contrato
+
+configLayoutGeradorContratoController.window.title = Config Layout Gerador Contrato
+configLayoutGeradorContratoController.contratoPrazo.label = Contratos à Prazo
+configLayoutGeradorContratoController.contratoVista.label = Contratos à Vista
+configLayoutGeradorContratoController.lb.puntoVenta.value = Agência
+configLayoutGeradorContratoController.btnVisualizarPDF.label = Gerar Contrato (PDF)
+configLayoutGeradorContratoController.lbPrazo.value = À Prazo
+configLayoutGeradorContratoController.lbAVista.value = À Vista
+configLayoutGeradorContratoController.lbAmbos.value = Ambos
+configLayoutGeradorContratoController.lbEmpresa.value = Empresa
+configLayoutGeradorContratoController.lbNoResultado.value = Não existe resultado para os dados informados;
+configLayoutGeradorContratoController.MBAtualizacao.value = Dados atualizado.
+configLayoutGeradorContratoController.MBNovo.value = Cadastro realizado.
\ No newline at end of file
diff --git a/web/gui/catalogos/editarPuntoVenta.zul b/web/gui/catalogos/editarPuntoVenta.zul
index ed4b549a1..a8f58b8d3 100644
--- a/web/gui/catalogos/editarPuntoVenta.zul
+++ b/web/gui/catalogos/editarPuntoVenta.zul
@@ -890,7 +890,7 @@
-
+
@@ -928,6 +928,13 @@
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox"
value="@{winEditarPuntoVenta$composer.puntoVenta.titularId.orgaoemissor}" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file