#7212 - desenvolvimento parcial Modificação Massiva Alias, exportação ok, importação em desenvolvimento

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@53855 d1611594-4594-4d17-8e1d-87c2c4800839
master
frederico 2016-03-14 19:05:07 +00:00
parent a1fc75f54f
commit 4ada89b9fc
6 changed files with 411 additions and 15 deletions

View File

@ -910,29 +910,18 @@ public class EditarCorridaController extends MyGenericForwardComposer {
} }
if (pe != null) { if (pe != null) {
boolean podeExcluir = false; boolean podeExcluir = false;
for (int i = 0; i < lsParadaEsquema.size(); i++) { if (lsParadaEsquema.size() > 2) {
if (lsParadaEsquema.get(i).getParada().equals(pe.getParada())) { for (int i = 0; i < lsParadaEsquema.size(); i++) {
if (i > 0 && i < lsParadaEsquema.size() - 1) { if (lsParadaEsquema.get(i).getParada().equals(pe.getParada())) {
// condi��o para não poder remover o inicial nem o final
ParadaEsquema paradaEsquema = lsParadaEsquema.get(i); ParadaEsquema paradaEsquema = lsParadaEsquema.get(i);
lsParadaEsquema.remove(paradaEsquema); lsParadaEsquema.remove(paradaEsquema);
log.debug("Esquema Tramo Removida: " + paradaEsquema.getNumsecuencia() + " - " + paradaEsquema.getParada().getCveparada());
log.debug("Esquema Tramo Removida: " + lsParadaEsquema.get(i).getNumsecuencia() + " - " + lsParadaEsquema.get(i).getParada().getCveparada());
esquemaTramoList.setData(lsParadaEsquema); esquemaTramoList.setData(lsParadaEsquema);
podeExcluir = true; podeExcluir = true;
break; break;
} else if (i == 0 || i == lsParadaEsquema.size() - 1) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.removerSecuencia"),
Labels.getLabel("editarConfiguracionCorridaController.window.title"),
Messagebox.OK,
Messagebox.EXCLAMATION);
} }
} }
} }
if (podeExcluir) { if (podeExcluir) {
String ok = esquemaTramoCorrecto(lsParadaEsquema); String ok = esquemaTramoCorrecto(lsParadaEsquema);
if (ok != null) { if (ok != null) {

View File

@ -0,0 +1,250 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.tarifas;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.zkoss.util.media.Media;
import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Filedownload;
import org.zkoss.zhtml.Fileupload;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
import com.rjconsultores.ventaboletos.entidad.AliasServico;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.service.AliasServicoService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCatalogoDeRutas;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaModificacionMassivaTarifa;
@Controller("modificacionMasivaTarifasAliasController")
@Scope("prototype")
public class ModificacionMasivaTarifasAliasController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
@Autowired
private RutaService rutaService;
@Autowired
private AliasServicoService aliasServicoService;
private List<Empresa> lsEmpresas;
private List<Ruta> lsRutas;
private List<Empresa> lsAddRmvEmpresas;
private List<Ruta> lsAddRmvRutas;
private Combobox cmbEmpresa;
private Combobox cmbRuta;
private MyListbox empresaList;
private MyListbox rutaList;
private static Logger log = Logger.getLogger(ModificacionMasivaTarifasAliasController.class);
public List<Empresa> getLsEmpresas() {
return lsEmpresas;
}
public void setLsEmpresas(List<Empresa> lsEmpresas) {
this.lsEmpresas = lsEmpresas;
}
public List<Ruta> getLsRutas() {
return lsRutas;
}
public void setLsRutas(List<Ruta> lsRutas) {
this.lsRutas = lsRutas;
}
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
lsEmpresas = UsuarioLogado.getUsuarioLogado().getEmpresa();
lsRutas = rutaService.obtenerTodos();
empresaList.setItemRenderer(new RenderEmpresaModificacionMassivaTarifa());
rutaList.setItemRenderer(new RenderCatalogoDeRutas());
lsAddRmvEmpresas = new ArrayList<Empresa>();
lsAddRmvRutas = new ArrayList<Ruta>();
}
public void onClick$btnGerarExcel(Event ev) {
onClick$btnGerarExcelLinear(null);
}
public void onClick$btnGerarExcelLinear(Event ev) {
try {
BigDecimal coeficiente = new BigDecimal(BigInteger.ZERO);
// Estilo padrão
HSSFWorkbook wb = new HSSFWorkbook();
// fonte em negrito:
HSSFFont fonte = wb.createFont();
fonte.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
HSSFCellStyle estilo = wb.createCellStyle();
estilo.setFont(fonte);
List<AliasServico> lsAliasServico = aliasServicoService.buscarPorLinhaEmpresa(lsAddRmvRutas, lsAddRmvEmpresas);
if (!lsAliasServico.isEmpty()) {
gerarExcelSemAgrupamento(lsAliasServico, wb, estilo, coeficiente);
String nomeArquivo =
UsuarioLogado.getUsuarioLogado().getNombusuario()
+ "_" + Calendar.getInstance().getTime().getTime()
+ "_" + "modMassivaT";
File fNomeArquivo = File.createTempFile(nomeArquivo, ".tmp");
FileOutputStream stream = new FileOutputStream(fNomeArquivo);
stream.flush();
wb.write(stream);
stream.close();
InputStream is = null;
is = new FileInputStream(fNomeArquivo);
Filedownload.save(is, "application/xls", "modificacionMasivaAlias.xls");
fNomeArquivo.delete();
}
else {
Messagebox.show(Labels.getLabel("modificacionMasivaTarifasUploadController.MSG.excelVazio"),
Labels.getLabel("modificacionMasivaTarifasController.window.title"), Messagebox.OK, Messagebox.INFORMATION);
}
} catch (Exception ex) {
log.error("", ex);
}
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public void onClick$btnUpLoadExcel(Event ev) throws InterruptedException, IOException {
Media mExcel = Fileupload.get();
if (mExcel != null) {
Map args = new HashMap();
args.put("mExcel", mExcel);
openWindow("/gui/tarifas/modificacionMasivaTarifasUpload.zul",
Labels.getLabel("modificacionMasivaTarifasController.window.title"), args, MODAL);
}
}
public void onClick$btnAdicionarEmpresa(Event ev) {
Comboitem cbiEmpresa = cmbEmpresa.getSelectedItem();
if (cbiEmpresa != null) {
Empresa empresa = (Empresa) cbiEmpresa.getValue();
if(!lsAddRmvEmpresas.contains(empresa)){
lsAddRmvEmpresas.add(empresa);
empresaList.setData(lsAddRmvEmpresas);
}
cmbEmpresa.setSelectedItem(null);
}
}
public void onClick$btnRemoverEmpresa(Event ev) {
Empresa empresa = (Empresa) empresaList.getSelected();
if (empresa != null) {
lsAddRmvEmpresas.remove(empresa);
empresaList.setData(lsAddRmvEmpresas);
}
}
public void onClick$btnAdicionarRuta(Event ev) {
Comboitem cbiRuta = cmbRuta.getSelectedItem();
if (cbiRuta != null) {
Ruta ruta = (Ruta) cbiRuta.getValue();
if (!lsAddRmvRutas.contains(ruta)) {
lsAddRmvRutas.add(ruta);
rutaList.setData(lsAddRmvRutas);
}
cmbRuta.setSelectedItem(null);
}
}
public void onClick$btnRemoverRuta(Event ev) {
Ruta ruta = (Ruta) rutaList.getSelected();
if (ruta != null) {
lsAddRmvRutas.remove(ruta);
rutaList.setData(lsAddRmvRutas);
}
}
private void gerarExcelSemAgrupamento(List<AliasServico> lsRutaCombinacion, HSSFWorkbook wb, HSSFCellStyle estilo, BigDecimal coeficiente){
HSSFSheet sheet1 = wb.createSheet("UTIL");
int contRow = 1;
HSSFRow rowCabecalho = sheet1.createRow(0);
HSSFCell cell = rowCabecalho.createCell(0);
cell.setCellValue(Labels.getLabel("modificacionMasivaAliasTarifasController.lblAliasOrigem"));
cell.setCellStyle(estilo);
HSSFCell cell0 = rowCabecalho.createCell(1);
cell0.setCellValue(Labels.getLabel("modificacionMasivaAliasTarifasController.lblAliasDestino"));
cell0.setCellStyle(estilo);
HSSFCell cell1 = rowCabecalho.createCell(2);
cell1.setCellValue(Labels.getLabel("modificacionMasivaAliasTarifasController.lblOrigem"));
cell1.setCellStyle(estilo);
HSSFCell cell2 = rowCabecalho.createCell(3);
cell2.setCellValue(Labels.getLabel("modificacionMasivaAliasTarifasController.lblDestino"));
cell2.setCellStyle(estilo);
HSSFCell cell3 = rowCabecalho.createCell(4);
cell3.setCellValue(Labels.getLabel("modificacionMasivaAliasTarifasController.lblLinha"));
cell3.setCellStyle(estilo);
for (AliasServico aliasServico : lsRutaCombinacion) {
HSSFRow row = sheet1.createRow(contRow++);
row.createCell(0).setCellValue(aliasServico.getAliasOrigen().getParadaId());
row.createCell(1).setCellValue(aliasServico.getAliasDestino().getParadaId());
row.createCell(2).setCellValue(aliasServico.getOrigen().getParadaId());
row.createCell(3).setCellValue(aliasServico.getDestino().getParadaId());
row.createCell(4).setCellValue(aliasServico.getRuta().getRutaId());
}
for (int i = 0; i <= 4; i++) {
sheet1.autoSizeColumn(i);
}
}
}

View File

@ -0,0 +1,26 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.tarifas;
import org.zkoss.util.resource.Labels;
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class ItemMenuModificacionMasivaAlias extends DefaultItemMenuSistema {
public ItemMenuModificacionMasivaAlias() {
super("indexController.mniModificacionMasivaAlias.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.TARIFAS.MENU.MODIFICACIONMASIVAALIAS";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/tarifas/modificacionMasivaTarifasAlias.zul",
Labels.getLabel("indexController.mniModificacionMasivaAlias.label"), getArgs(), desktop);
}
}

View File

@ -147,6 +147,7 @@ indexController.mniParamAcumulacionMasivo.label = Configuración acumulación ma
indexController.mniParamCompraPunto.label = Configuración compra de puntos indexController.mniParamCompraPunto.label = Configuración compra de puntos
indexController.mniParamCostoTarjeta.label = Configuración costo tarjeta indexController.mniParamCostoTarjeta.label = Configuración costo tarjeta
indexController.mniModificacionMasiva.label = Modificación masiva de tarifas indexController.mniModificacionMasiva.label = Modificación masiva de tarifas
indexController.mniModificacionMasivaAlias.label = Modificação Massiva Alias
indexController.mniCambioVigencia.label = Cambiar/Copia vigencia indexController.mniCambioVigencia.label = Cambiar/Copia vigencia
indexController.mnAjuda.label = Ayuda indexController.mnAjuda.label = Ayuda
indexController.mniVersion.label = Versión indexController.mniVersion.label = Versión
@ -2378,6 +2379,19 @@ modificacionMasivaTarifasController.agrupamentoLinha.label = Línea de Agrupaci
modificacionMasivaTarifasController.agrupamentoLinha.radioSim = Sí modificacionMasivaTarifasController.agrupamentoLinha.radioSim = Sí
modificacionMasivaTarifasController.agrupamentoLinha.radioNao = No modificacionMasivaTarifasController.agrupamentoLinha.radioNao = No
# Modificação Massiva Alias
modificacionMasivaAliasTarifasController.btnGerarExcel.label = Gerar Excel com simulação
modificacionMasivaAliasTarifasController.btnGerarExcel.tooltiptext = Gerar Excel com simulação.
modificacionMasivaAliasTarifasController.btnUpLoadExcel.label = Importar Excel autorizado
modificacionMasivaAliasTarifasController.btnUpLoadExcel.tooltiptext = Importar Excel autorizado.
modificacionMasivaAliasTarifasController.lblAliasOrigem = ID Alias Origem
modificacionMasivaAliasTarifasController.lblAliasDestino = ID Alias Destino
modificacionMasivaAliasTarifasController.lblOrigem = ID Origem
modificacionMasivaAliasTarifasController.lblDestino = ID Destino
modificacionMasivaAliasTarifasController.lblLinha = ID Linha
#Geracion de Servicio #Geracion de Servicio
geracionCorridaController.window.title = Generación de corridas geracionCorridaController.window.title = Generación de corridas
geracionCorridaController.lhGerar.label = Generar corridas geracionCorridaController.lhGerar.label = Generar corridas

View File

@ -149,6 +149,7 @@ indexController.mniParamAcumulacionMasivo.label = Configuração Acumulação Ma
indexController.mniParamCompraPunto.label = Configuração Compra de Pontos indexController.mniParamCompraPunto.label = Configuração Compra de Pontos
indexController.mniParamCostoTarjeta.label = Configuração Custo Cartão indexController.mniParamCostoTarjeta.label = Configuração Custo Cartão
indexController.mniModificacionMasiva.label = Modificação Massiva de Preços indexController.mniModificacionMasiva.label = Modificação Massiva de Preços
indexController.mniModificacionMasivaAlias.label = Modificação Massiva Alias
indexController.mniCambioVigencia.label = Mudar/Copiar Vigência indexController.mniCambioVigencia.label = Mudar/Copiar Vigência
indexController.mnAjuda.label = Ajuda indexController.mnAjuda.label = Ajuda
indexController.mniVersion.label = Versão indexController.mniVersion.label = Versão
@ -2423,6 +2424,18 @@ modificacionMasivaTarifasController.agrupamentoLinha.radioSim = Sim
modificacionMasivaTarifasController.agrupamentoLinha.radioNao = Não modificacionMasivaTarifasController.agrupamentoLinha.radioNao = Não
# Modificação Massiva Alias
modificacionMasivaAliasTarifasController.btnGerarExcel.label = Gerar Excel com simulação
modificacionMasivaAliasTarifasController.btnGerarExcel.tooltiptext = Gerar Excel com simulação.
modificacionMasivaAliasTarifasController.btnUpLoadExcel.label = Importar Excel autorizado
modificacionMasivaAliasTarifasController.btnUpLoadExcel.tooltiptext = Importar Excel autorizado.
modificacionMasivaAliasTarifasController.lblAliasOrigem = ID Alias Origem
modificacionMasivaAliasTarifasController.lblAliasDestino = ID Alias Destino
modificacionMasivaAliasTarifasController.lblOrigem = ID Origem
modificacionMasivaAliasTarifasController.lblDestino = ID Destino
modificacionMasivaAliasTarifasController.lblLinha = ID Linha
#Geracion de Serviço #Geracion de Serviço
geracionCorridaController.window.title = Geração de Serviços geracionCorridaController.window.title = Geração de Serviços
geracionCorridaController.lhGerar.label = Gerar serviços geracionCorridaController.lhGerar.label = Gerar serviços

View File

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winModificacionMasivaTarifaAlias"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winModificacionMasivaTarifaAlias" border="normal"
apply="${modificacionMasivaTarifasAliasController}"
width="700px" height="500px" contentStyle="overflow:auto"
title="${c:l('editarTarifaController.window.title')}">
<toolbar>
<hbox spacing="5px" style="padding:1px" align="right">
<button id="btnGerarExcel"
label="${c:l('modificacionMasivaAliasTarifasController.btnGerarExcel.label')}"
tooltiptext="${c:l('modificacionMasivaAliasTarifasController.btnGerarExcel.tooltiptext')}"/>
<!-- <button id="btnUpLoadExcel" -->
<!-- label="${c:l('modificacionMasivaAliasTarifasController.btnUpLoadExcel.label')}" -->
<!-- tooltiptext="${c:l('modificacionMasivaTarifasController.btnUpLoadExcel.tooltiptext')}"/> -->
<button id="btnFechar" height="20" image="/gui/img/exit.png" width="35px"
onClick="winModificacionMasivaTarifaAlias.detach()"
tooltiptext="${c:l('editarTarifaController.btnFechar.tooltiptext')}"/>
</hbox>
</toolbar>
<tabbox>
<tabs>
<tab label="${c:l('busquedaTarifaController.lhEmpresa.label')}" />
<tab label="${c:l('busquedaTarifaController.lhRuta.label')}" />
</tabs>
<tabpanels>
<tabpanel height="300px">
<grid fixedLayout="true">
<columns>
<column width="20%" />
<column width="80%" />
</columns>
<rows>
<row>
<label value="${c:l('busquedaTarifaController.lhEmpresa.label')}"/>
<combobox id="cmbEmpresa" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="90%"
model="@{winModificacionMasivaTarifaAlias$composer.lsEmpresas}"/>
</row>
</rows>
</grid>
<toolbar>
<button id="btnAdicionarEmpresa" height="20" image="/gui/img/add.png" width="35px"/>
<button id="btnRemoverEmpresa" height="20" image="/gui/img/remove.png" width="35px"/>
</toolbar>
<listbox id="empresaList" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false">
<listhead sizable="true">
<listheader width="45px" image="/gui/img/builder.gif"
label="${c:l('busquedaEmpresaController.lhId.label')}"
sort="auto(empresaId)"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaEmpresaController.lhDesc.label')}"
sort="auto(nombempresa)"/>
</listhead>
</listbox>
</tabpanel>
<tabpanel height="300px">
<grid fixedLayout="true">
<columns>
<column width="20%" />
<column width="80%" />
</columns>
<rows>
<row>
<label value="${c:l('busquedaTarifaController.lhRuta.label')}"/>
<combobox id="cmbRuta" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="90%"
model="@{winModificacionMasivaTarifaAlias$composer.lsRutas}"/>
</row>
</rows>
</grid>
<toolbar>
<button id="btnAdicionarRuta" height="20" image="/gui/img/add.png" width="35px"/>
<button id="btnRemoverRuta" height="20" image="/gui/img/remove.png" width="35px"/>
</toolbar>
<listbox id="rutaList" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false">
<listhead sizable="true">
<listheader width="10%" image="/gui/img/builder.gif"
label="${c:l('busquedaCatalogoDeRutaController.lhId.label')}"
sort="auto(rutaId)" />
<listheader image="/gui/img/builder.gif"
label="${c:l('busquedaCatalogoDeRutaController.lhDesc.label')}"
sort="auto(descruta)" />
<listheader width="25%" image="/gui/img/builder.gif"
label="${c:l('busquedaCatalogoDeRutaController.lhClase.label')}"
sort="auto(claseServicio.descclase)" />
</listhead>
</listbox>
</tabpanel>
</tabpanels>
</tabbox>
</window>
</zk>