fixes bug#0010749
dev: lucas qua: Implementação da exportação SGTI. git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@85050 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
8b21c5bee0
commit
12d7015634
|
@ -1,6 +1,7 @@
|
|||
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.zkoss.zul.Paging;
|
||||
|
||||
|
@ -56,6 +57,13 @@ public abstract class PagedListGenerico<T> {
|
|||
}
|
||||
}
|
||||
|
||||
public static void validarInclusaoLista(Object objeto, MyListbox listBox) {
|
||||
if (objeto != null &&
|
||||
!Arrays.asList(listBox.getData()).contains(objeto)) {
|
||||
listBox.addItemNovo(objeto);
|
||||
}
|
||||
}
|
||||
|
||||
public Paging getPaging() {
|
||||
return paging;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
import org.zkoss.zul.Datebox;
|
||||
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.MensagensUtils;
|
||||
|
@ -8,10 +10,25 @@ public class ValidarDatas {
|
|||
|
||||
private Datebox dataInicial;
|
||||
private Datebox dataFinal;
|
||||
private Calendar calendarDataInicial;
|
||||
private Calendar calendarDataFinal;
|
||||
|
||||
public ValidarDatas(Datebox dataInicial, Datebox dataFinal) {
|
||||
this.dataInicial = dataInicial;
|
||||
this.dataFinal = dataFinal;
|
||||
inicializaCalendar(dataInicial, dataFinal);
|
||||
}
|
||||
|
||||
private void inicializaCalendar(Datebox dataInicial, Datebox dataFinal) {
|
||||
if (dataInicial.getValue() != null) {
|
||||
calendarDataInicial = Calendar.getInstance();
|
||||
calendarDataInicial.setTime(dataInicial.getValue());
|
||||
}
|
||||
|
||||
if (dataFinal.getValue() != null) {
|
||||
calendarDataFinal = Calendar.getInstance();
|
||||
calendarDataFinal.setTime(dataFinal.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isPeriodoNaoInformado() {
|
||||
|
@ -36,6 +53,15 @@ public class ValidarDatas {
|
|||
return dataInicial.getValue().after(dataFinal.getValue());
|
||||
}
|
||||
|
||||
public boolean isMesmoMes() {
|
||||
return isMesmoAno()
|
||||
&& calendarDataInicial.get(Calendar.MONTH) == calendarDataFinal.get(Calendar.MONTH);
|
||||
}
|
||||
|
||||
public boolean isMesmoAno() {
|
||||
return calendarDataInicial.get(Calendar.YEAR) == calendarDataFinal.get(Calendar.YEAR);
|
||||
}
|
||||
|
||||
public boolean validarPeriodoNaoInformado(String labelMensagem, String tituloMenssagem) {
|
||||
if (isPeriodoNaoInformado()) {
|
||||
MensagensUtils.showMessageInformation(labelMensagem, tituloMenssagem);
|
||||
|
|
|
@ -32,9 +32,9 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
|
|||
import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPersonalizado;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioLinhaHorario;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiro;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiroSelecionados;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRutaPersonalizado;
|
||||
|
||||
@Controller("relatorioHistoricoComprasController")
|
||||
@Scope("prototype")
|
||||
|
@ -88,12 +88,13 @@ public class RelatorioHistoricoComprasController extends MyGenericForwardCompose
|
|||
puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro());
|
||||
puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados());
|
||||
|
||||
linhaList.setItemRenderer(new RenderRelatorioLinhaHorario());
|
||||
linhaSelList.setItemRenderer(new RenderRelatorioLinhaHorario());
|
||||
List<String> colunasLinhaRender = Arrays.asList("numRuta", "prefixo", "descruta");
|
||||
linhaList.setItemRenderer(new RenderRutaPersonalizado(colunasLinhaRender));
|
||||
linhaSelList.setItemRenderer(new RenderRutaPersonalizado(colunasLinhaRender).comBotaoExcluir());
|
||||
|
||||
List<String> colunasClienteRender = Arrays.asList("numIdentificaUno", "nombcliente");
|
||||
cpfList.setItemRenderer(new RenderPersonalizado<Cliente>(colunasClienteRender));
|
||||
cpfSelList.setItemRenderer(new RenderPersonalizado<Cliente>(colunasClienteRender).comBotaoExcluir(true));
|
||||
cpfSelList.setItemRenderer(new RenderPersonalizado<Cliente>(colunasClienteRender).comBotaoExcluir());
|
||||
}
|
||||
|
||||
public void onClick$btnPesquisaPuntoVenta(Event ev) throws Exception {
|
||||
|
@ -112,7 +113,7 @@ public class RelatorioHistoricoComprasController extends MyGenericForwardCompose
|
|||
}
|
||||
|
||||
public void onDoubleClick$puntoVentaList(Event ev) {
|
||||
validarInclusaoLista((PuntoVenta) puntoVentaList.getSelected(), puntoVentaSelList);
|
||||
PagedListGenerico.validarInclusaoLista((PuntoVenta) puntoVentaList.getSelected(), puntoVentaSelList);
|
||||
}
|
||||
|
||||
public void onClick$btnPesquisaLinha(Event ev) {
|
||||
|
@ -129,7 +130,7 @@ public class RelatorioHistoricoComprasController extends MyGenericForwardCompose
|
|||
}
|
||||
|
||||
public void onDoubleClick$linhaList(Event ev) {
|
||||
validarInclusaoLista((Ruta) linhaList.getSelected(), linhaSelList);
|
||||
PagedListGenerico.validarInclusaoLista((Ruta) linhaList.getSelected(), linhaSelList);
|
||||
}
|
||||
|
||||
public void onClick$btnPesquisaCpf(Event ev) {
|
||||
|
@ -147,7 +148,7 @@ public class RelatorioHistoricoComprasController extends MyGenericForwardCompose
|
|||
}
|
||||
|
||||
public void onDoubleClick$cpfList(Event ev) {
|
||||
validarInclusaoLista((Cliente) cpfList.getSelected(), cpfSelList);
|
||||
PagedListGenerico.validarInclusaoLista((Cliente) cpfList.getSelected(), cpfSelList);
|
||||
}
|
||||
|
||||
public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
|
||||
|
@ -198,13 +199,6 @@ public class RelatorioHistoricoComprasController extends MyGenericForwardCompose
|
|||
}
|
||||
}
|
||||
|
||||
private void validarInclusaoLista(Object objeto, MyListbox listBox) {
|
||||
if (objeto != null &&
|
||||
!Arrays.asList(listBox.getData()).contains(objeto)) {
|
||||
listBox.addItemNovo(objeto);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isDatasValidas() {
|
||||
ValidarDatas validarDtVenda = new ValidarDatas(dtVendaInicial, dtVendaFinal);
|
||||
ValidarDatas validarDtEmbarque = new ValidarDatas(dtEmbarqueInicial, dtEmbarqueFinal);
|
||||
|
|
|
@ -0,0 +1,123 @@
|
|||
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.sgti;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import javax.activation.MimetypesFileTypeMap;
|
||||
|
||||
import org.zkoss.zul.Filedownload;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.Ruta;
|
||||
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
||||
import com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.EspecializaLista;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
|
||||
|
||||
public class ExecutarExportacaoSGTI {
|
||||
|
||||
private RelatorioExportacaoSGTIController controller;
|
||||
private Connection connection;
|
||||
|
||||
public ExecutarExportacaoSGTI(RelatorioExportacaoSGTIController controller, Connection connection) {
|
||||
this.controller = controller;
|
||||
this.connection = connection;
|
||||
}
|
||||
|
||||
public void executa() throws IOException {
|
||||
GerarXMLExportacaoSGTI geradorXML = new GerarXMLExportacaoSGTI(controller, this);
|
||||
File arquivoXml = geradorXML.gerar();
|
||||
downloadArquivo(arquivoXml);
|
||||
}
|
||||
|
||||
private void downloadArquivo(File file) throws IOException {
|
||||
if (file.exists()) {
|
||||
FileInputStream inputStream = new FileInputStream(file);
|
||||
Filedownload.save(inputStream, new MimetypesFileTypeMap().getContentType(file), "Exportacao_SGTI.xml");
|
||||
}
|
||||
}
|
||||
|
||||
protected ResultSet getDadosTrecho() throws SQLException {
|
||||
return obtemInstrucaoSqlParametrizada(getQueryTrechosPorLinha()).executeQuery();
|
||||
}
|
||||
|
||||
protected ResultSet getDadosReceita() throws SQLException {
|
||||
return obtemInstrucaoSqlParametrizada(getQueryReceitasPorLinha()).executeQuery();
|
||||
}
|
||||
|
||||
protected ResultSet getDadosViagemExtra() throws SQLException {
|
||||
return obtemInstrucaoSqlParametrizada(getQueryViagensExtrasPorLinha()).executeQuery();
|
||||
}
|
||||
|
||||
private NamedParameterStatement obtemInstrucaoSqlParametrizada(String instrucaoSQL) throws SQLException {
|
||||
NamedParameterStatement stmt = new NamedParameterStatement(connection, instrucaoSQL, ResultSet.TYPE_SCROLL_INSENSITIVE);
|
||||
stmt.setTimestamp("data_inicio", new Timestamp(DateUtil.inicioFecha(controller.getDataInicial().getValue()).getTime()));
|
||||
stmt.setTimestamp("data_fim", new Timestamp(DateUtil.inicioFecha(controller.getDataFinal().getValue()).getTime()));
|
||||
return stmt;
|
||||
}
|
||||
|
||||
private String getQueryTrechosPorLinha() {
|
||||
StringBuilder query = new StringBuilder();
|
||||
query.append("select sum(coalesce(bo.qtde, 0)) as qtde, ");
|
||||
query.append("r.indsentidoida, ");
|
||||
query.append("ct.origen_id, ct.destino_id, ");
|
||||
query.append("r.ruta_id, ct.numsecuencia ");
|
||||
query.append("from corrida_tramo ct ");
|
||||
query.append("inner join corrida c on ct.corrida_id = c.corrida_id ");
|
||||
query.append(" and ct.feccorrida = c.feccorrida ");
|
||||
query.append("inner join ruta_combinacion rc on ct.tramo_id = rc.tramo_id ");
|
||||
query.append("inner join ruta r on rc.ruta_id = r.ruta_id ");
|
||||
query.append("left join ( ");
|
||||
query.append(" select count(*) qtde, corrida_id, ");
|
||||
query.append(" feccorrida, origen_id, ruta_id ");
|
||||
query.append(" from boleto b ");
|
||||
query.append(" where b.indstatusboleto = 'V' ");
|
||||
query.append(" and b.motivocancelacion_id is null ");
|
||||
query.append(" group by corrida_id, feccorrida, ");
|
||||
query.append(" origen_id, ruta_id) bo on ct.corrida_id = bo.corrida_id ");
|
||||
query.append(" and ct.feccorrida = bo.feccorrida ");
|
||||
query.append(" and ct.origen_id = bo.origen_id ");
|
||||
query.append(" and r.ruta_id = bo.ruta_id ");
|
||||
query.append("where r.ruta_id in("+getIdsRuta()+") ");
|
||||
query.append("and ct.feccorrida between :data_inicio and :data_fim ");
|
||||
query.append("group by r.indsentidoida, ");
|
||||
query.append("ct.origen_id, ct.destino_id, ");
|
||||
query.append("r.ruta_id, ct.numsecuencia ");
|
||||
query.append("order by r.ruta_id, ct.numsecuencia ");
|
||||
return query.toString();
|
||||
}
|
||||
|
||||
private String getQueryReceitasPorLinha() {
|
||||
StringBuilder query = new StringBuilder();
|
||||
query.append("select sum(b.preciopagado) receita, b.ruta_id ");
|
||||
query.append("from boleto b ");
|
||||
query.append("where b.indstatusboleto = 'V' ");
|
||||
query.append("and b.motivocancelacion_id is null ");
|
||||
query.append("and b.ruta_id in("+getIdsRuta()+") ");
|
||||
query.append("and b.feccorrida between :data_inicio and :data_fim ");
|
||||
query.append("group by b.ruta_id ");
|
||||
return query.toString();
|
||||
}
|
||||
|
||||
private String getQueryViagensExtrasPorLinha() {
|
||||
StringBuilder query = new StringBuilder();
|
||||
query.append("select r.ruta_id, r.indsentidoida, ");
|
||||
query.append("extract(day from c.fechorsalida) dia, ");
|
||||
query.append("to_char(c.fechorsalida, 'hh24:mi') horario ");
|
||||
query.append("from corrida c ");
|
||||
query.append("inner join ruta r on c.ruta_id = r.ruta_id ");
|
||||
query.append("where c.feccorrida between :data_inicio and :data_fim ");
|
||||
query.append("and c.tiposervicio_id = 2 ");
|
||||
query.append("and r.ruta_id in("+getIdsRuta()+") ");
|
||||
return query.toString();
|
||||
}
|
||||
|
||||
private String getIdsRuta() {
|
||||
EspecializaLista<Ruta> especializaLista = new EspecializaLista<Ruta>(Ruta.class, controller.getLinhaSelList(), "getRutaId");
|
||||
return especializaLista.obtemIds();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,204 @@
|
|||
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.sgti;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.OutputKeys;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerConfigurationException;
|
||||
import javax.xml.transform.TransformerException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.TransformerFactoryConfigurationError;
|
||||
import javax.xml.transform.dom.DOMSource;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
import com.rjconsultores.ventaboletos.entidad.Ruta;
|
||||
|
||||
public class GerarXMLExportacaoSGTI {
|
||||
|
||||
private static final String SENTIDO_IDA_CORRIDA = "1";
|
||||
|
||||
private static Logger log = Logger.getLogger(GerarXMLExportacaoSGTI.class);
|
||||
private RelatorioExportacaoSGTIController controller;
|
||||
private ExecutarExportacaoSGTI exportador;
|
||||
private ResultSet dadosTrecho;
|
||||
private ResultSet dadosReceita;
|
||||
private ResultSet dadosViagemExtra;
|
||||
|
||||
public GerarXMLExportacaoSGTI(RelatorioExportacaoSGTIController controller,
|
||||
ExecutarExportacaoSGTI exportador) {
|
||||
this.controller = controller;
|
||||
this.exportador = exportador;
|
||||
}
|
||||
|
||||
public File gerar() throws IOException {
|
||||
File fileXML = File.createTempFile("Exportacao_SGTI", ".xml");
|
||||
try {
|
||||
Document doc = inicializaDOM();
|
||||
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
|
||||
inicializaDadosExportacao();
|
||||
|
||||
Element tagEntrega = gerarTag(doc, "Entrega", getAtributosEntrega(map));
|
||||
for (Ruta ruta : getLinhasSelecionadas()) {
|
||||
Element tagQdmp = gerarTag(doc, "Qdmp", getAtributosLinha(map, ruta));
|
||||
Element tagPeriodo = gerarTag(doc, "Periodo", getAtributosPeriodo(map, ruta));
|
||||
tagQdmp.appendChild(tagPeriodo);
|
||||
gerarTagsPeriodo(doc, map, tagPeriodo, ruta);
|
||||
tagEntrega.appendChild(tagQdmp);
|
||||
}
|
||||
|
||||
doc.appendChild(tagEntrega);
|
||||
|
||||
transformaDOMToXML(doc, fileXML);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("Ocorreu um erro ao gerar o XML. "+e.getMessage());
|
||||
}
|
||||
return fileXML;
|
||||
}
|
||||
|
||||
private void inicializaDadosExportacao() {
|
||||
try {
|
||||
dadosTrecho = exportador.getDadosTrecho();
|
||||
} catch (SQLException e) {
|
||||
log.error("Ocorreu um erro ao consultar os trechos. "+e.getMessage());
|
||||
}
|
||||
|
||||
try {
|
||||
dadosReceita = exportador.getDadosReceita();
|
||||
} catch (SQLException e) {
|
||||
log.error("Ocorreu um erro ao obter os dados da receita. "+e.getMessage());
|
||||
}
|
||||
|
||||
try {
|
||||
dadosViagemExtra = exportador.getDadosViagemExtra();
|
||||
} catch (SQLException e) {
|
||||
log.error("Ocorreu um erro ao obter os dados da viagem extra. "+e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private void gerarTagsPeriodo(Document doc, Map<String, String> map, Element tagPeriodo, Ruta ruta) throws SQLException {
|
||||
dadosTrecho.beforeFirst();
|
||||
while (dadosTrecho.next()) {
|
||||
if (ruta.getRutaId() == dadosTrecho.getInt("ruta_id")) {
|
||||
tagPeriodo.appendChild(gerarTag(doc, "Trecho", getAtributosTrecho(map, dadosTrecho)));
|
||||
}
|
||||
}
|
||||
//Verificar o que é uma paralisação
|
||||
//tagPeriodo.appendChild(gerarTag(doc, "Paralisacao", getAtributosParalisacaoOuViagemExtra(map)));
|
||||
dadosViagemExtra.beforeFirst();
|
||||
while (dadosViagemExtra.next()) {
|
||||
if (ruta.getRutaId() == dadosViagemExtra.getInt("ruta_id")) {
|
||||
tagPeriodo.appendChild(gerarTag(doc, "ViagemExtra", getAtributosParalisacaoOuViagemExtra(map, dadosViagemExtra)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Document inicializaDOM() throws ParserConfigurationException {
|
||||
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
|
||||
return docBuilder.newDocument();
|
||||
}
|
||||
|
||||
private void transformaDOMToXML(Document doc, File fileXML) throws FileNotFoundException, TransformerFactoryConfigurationError, TransformerConfigurationException, TransformerException {
|
||||
DOMSource source = new DOMSource(doc);
|
||||
StreamResult result = new StreamResult(new FileOutputStream(fileXML));
|
||||
|
||||
TransformerFactory transFactory = TransformerFactory.newInstance();
|
||||
Transformer transformer = transFactory.newTransformer();
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
transformer.transform(source, result);
|
||||
}
|
||||
|
||||
private Element gerarTag(Document doc, String tagName, Map<String, String> atributos) {
|
||||
Element tag = doc.createElement(tagName);
|
||||
for (Entry<String, String> atributo : atributos.entrySet()) {
|
||||
tag.setAttribute(atributo.getKey(), atributo.getValue());
|
||||
}
|
||||
return tag;
|
||||
}
|
||||
|
||||
private Map<String, String> getAtributosEntrega(Map<String, String> map) {
|
||||
map.clear();
|
||||
map.put("codigoDelegatario", ((Empresa)controller.getCbEmpresa().getSelectedItem().getValue()).getEmpresaId().toString());
|
||||
map.put("ano", String.valueOf(getValueCalendar(Calendar.YEAR, controller.getDataInicial().getValue())));
|
||||
map.put("mes", String.valueOf(getValueCalendar(Calendar.MONTH, controller.getDataInicial().getValue()) + 1));
|
||||
return map;
|
||||
}
|
||||
|
||||
private Map<String, String> getAtributosLinha(Map<String, String> map, Ruta ruta) {
|
||||
map.clear();
|
||||
map.put("linha", ruta.getNumRuta());
|
||||
return map;
|
||||
}
|
||||
|
||||
private Map<String, String> getAtributosPeriodo(Map<String, String> map, Ruta ruta) throws SQLException {
|
||||
map.clear();
|
||||
map.put("diaInicio", String.valueOf(getValueCalendar(Calendar.DAY_OF_MONTH, controller.getDataInicial().getValue())));
|
||||
map.put("diaFim", String.valueOf(getValueCalendar(Calendar.DAY_OF_MONTH, controller.getDataFinal().getValue())));
|
||||
BigDecimal valorReceita = BigDecimal.ZERO;
|
||||
dadosReceita.beforeFirst();
|
||||
while (dadosReceita.next()) {
|
||||
if (ruta.getRutaId() == dadosReceita.getInt("ruta_id")) {
|
||||
valorReceita = dadosReceita.getBigDecimal("receita");
|
||||
break;
|
||||
}
|
||||
}
|
||||
map.put("receita", valorReceita.toString());
|
||||
return map;
|
||||
}
|
||||
|
||||
private Map<String, String> getAtributosTrecho(Map<String, String> map, ResultSet resultSet) throws SQLException {
|
||||
map.clear();
|
||||
map.put("pontoInicial", resultSet.getString("origen_id"));
|
||||
map.put("pontoFinal", resultSet.getString("destino_id"));
|
||||
map.put("quantidadeIda", isSentidoIdaCorrida(resultSet.getString("indsentidoida")) ? resultSet.getString("qtde") : "0");
|
||||
map.put("quantidadeVolta", isSentidoIdaCorrida(resultSet.getString("indsentidoida")) ? "0" : resultSet.getString("qtde"));
|
||||
return map;
|
||||
}
|
||||
|
||||
private Map<String, String> getAtributosParalisacaoOuViagemExtra(Map<String, String> map, ResultSet resultSet) throws SQLException {
|
||||
map.clear();
|
||||
map.put("dia", resultSet.getString("dia"));
|
||||
map.put("horario", resultSet.getString("horario"));
|
||||
map.put("trajeto", isSentidoIdaCorrida(resultSet.getString("indsentidoida")) ? "I" : "V");
|
||||
return map;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<Ruta> getLinhasSelecionadas() {
|
||||
return (List<Ruta>) (Object)Arrays.asList(controller.getLinhaSelList().getData());
|
||||
}
|
||||
|
||||
private int getValueCalendar(final int valueCalendar, Date data) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(data);
|
||||
return calendar.get(valueCalendar);
|
||||
}
|
||||
|
||||
private boolean isSentidoIdaCorrida(String sentidoCorrida) {
|
||||
return SENTIDO_IDA_CORRIDA.equals(sentidoCorrida);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,136 @@
|
|||
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.sgti;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.TransformerException;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.xml.sax.SAXException;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zul.Datebox;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.Ruta;
|
||||
import com.rjconsultores.ventaboletos.relatorios.utilitarios.PagedListGenerico;
|
||||
import com.rjconsultores.ventaboletos.relatorios.utilitarios.ValidarDatas;
|
||||
import com.rjconsultores.ventaboletos.service.RutaService;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.MensagensUtils;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEmpresa;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRutaPersonalizado;
|
||||
|
||||
@Controller("relatorioExportacaoSGTIController")
|
||||
@Scope("prototype")
|
||||
public class RelatorioExportacaoSGTIController extends MyGenericForwardComposer {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static final String TITULO_EXPORTACAO = "indexController.mniRelatorioExportacaoSGTI.label";
|
||||
private static final String MSG_DATA_INICIAL_MAIOR_FINAL = "relatorioExportacaoSGTIController.MSG.dataInicialMaiorFinal";
|
||||
private static final String MSG_MESES_DIFERENTES = "relatorioExportacaoSGTIController.MSG.mesDiferente";
|
||||
private static final String MSG_SEM_LINHA = "relatorioExportacaoSGTIController.MSG.semLinha";
|
||||
private static final String MSG_ERRO_SEM_EMPRESA = "relatorioExportacaoSGTIController.msg.erro.empresa";
|
||||
|
||||
private MyComboboxEmpresa cbEmpresa;
|
||||
private Datebox dataInicial;
|
||||
private Datebox dataFinal;
|
||||
private MyListbox linhaList;
|
||||
private MyListbox linhaSelList;
|
||||
private MyTextbox txtPalavraPesquisaLinha;
|
||||
private MyTextbox txtObservacao;
|
||||
|
||||
@Autowired
|
||||
private RutaService rutaService;
|
||||
|
||||
@Autowired
|
||||
private DataSource dataSourceRead;
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception {
|
||||
super.doAfterCompose(comp);
|
||||
|
||||
List<String> colunasLinhaRender = Arrays.asList("numRuta", "prefixo", "descruta");
|
||||
linhaList.setItemRenderer(new RenderRutaPersonalizado(colunasLinhaRender));
|
||||
linhaSelList.setItemRenderer(new RenderRutaPersonalizado(colunasLinhaRender).comBotaoExcluir());
|
||||
}
|
||||
|
||||
public void onClick$btnPesquisaLinha(Event ev) {
|
||||
linhaList.setData(rutaService.buscaRuta(txtPalavraPesquisaLinha.getText()));
|
||||
PagedListGenerico.validarPagedListSemRegistro(linhaList, TITULO_EXPORTACAO);
|
||||
}
|
||||
|
||||
public void onClick$btnLimparLinha(Event ev) {
|
||||
PagedListGenerico.limparPesquisaListBox(linhaList, txtPalavraPesquisaLinha);
|
||||
}
|
||||
|
||||
public void onDoubleClick$linhaSelList(Event ev) {
|
||||
linhaSelList.removeItem((Ruta) linhaSelList.getSelected());
|
||||
}
|
||||
|
||||
public void onDoubleClick$linhaList(Event ev) {
|
||||
PagedListGenerico.validarInclusaoLista((Ruta) linhaList.getSelected(), linhaSelList);
|
||||
}
|
||||
|
||||
public void onClick$btnExecutarExportacao(Event ev) throws TransformerException, SAXException, IOException, ParserConfigurationException, SQLException {
|
||||
if (isDatasValidas() && possuiEmpresa()
|
||||
&& possuiLinha()) {
|
||||
new ExecutarExportacaoSGTI(this, dataSourceRead.getConnection()).executa();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean possuiEmpresa() {
|
||||
if (cbEmpresa.getSelectedItem() == null) {
|
||||
MensagensUtils.showMessageInformation(MSG_ERRO_SEM_EMPRESA, TITULO_EXPORTACAO);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean possuiLinha() {
|
||||
if (linhaSelList.getSize() == 0) {
|
||||
MensagensUtils.showMessageInformation(MSG_SEM_LINHA, TITULO_EXPORTACAO);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean isDatasValidas() {
|
||||
ValidarDatas validarDatas = new ValidarDatas(dataInicial, dataFinal);
|
||||
|
||||
if (!validarDatas.isMesmoMes()) {
|
||||
MensagensUtils.showMessageInformation(MSG_MESES_DIFERENTES, TITULO_EXPORTACAO);
|
||||
return false;
|
||||
}
|
||||
|
||||
return !validarDatas.validarDataInicioMaiorQueTermino(MSG_DATA_INICIAL_MAIOR_FINAL, TITULO_EXPORTACAO);
|
||||
}
|
||||
|
||||
public MyComboboxEmpresa getCbEmpresa() {
|
||||
return cbEmpresa;
|
||||
}
|
||||
|
||||
public Datebox getDataInicial() {
|
||||
return dataInicial;
|
||||
}
|
||||
|
||||
public Datebox getDataFinal() {
|
||||
return dataFinal;
|
||||
}
|
||||
|
||||
public MyListbox getLinhaSelList() {
|
||||
return linhaSelList;
|
||||
}
|
||||
|
||||
public MyTextbox getTxtObservacao() {
|
||||
return txtObservacao;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
package com.rjconsultores.ventaboletos.web.utilerias;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
public class CompactarParaZip {
|
||||
|
||||
private List<File> arquivosACompactar;
|
||||
private String caminhoArquivoDeSaida;
|
||||
final byte[] buffer;
|
||||
|
||||
public CompactarParaZip(List<File> arquivosACompactar, String caminhoArquivoDeSaida) {
|
||||
this.arquivosACompactar = arquivosACompactar;
|
||||
this.caminhoArquivoDeSaida = caminhoArquivoDeSaida;
|
||||
buffer = new byte[1024];
|
||||
}
|
||||
|
||||
public void compactar() throws IOException {
|
||||
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(caminhoArquivoDeSaida));
|
||||
try {
|
||||
for (File fileZip : arquivosACompactar) {
|
||||
escreverSaida(out, fileZip);
|
||||
}
|
||||
} finally {
|
||||
out.close();
|
||||
}
|
||||
}
|
||||
|
||||
private void escreverSaida(final ZipOutputStream out, final File fileZip) throws IOException {
|
||||
FileInputStream in = new FileInputStream(fileZip.getPath());
|
||||
int len;
|
||||
try {
|
||||
out.putNextEntry(new ZipEntry(fileZip.getName()));
|
||||
while ((len = in.read(buffer)) > 0) {
|
||||
out.write(buffer, 0, len);
|
||||
}
|
||||
} finally {
|
||||
out.closeEntry();
|
||||
in.close();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorio.sgti;
|
||||
|
||||
import org.zkoss.util.resource.Labels;
|
||||
|
||||
import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
|
||||
|
||||
public class SubMenuSGTI extends DefaultItemMenuSistema {
|
||||
|
||||
public SubMenuSGTI() {
|
||||
super("indexController.mnSubMenuSGTI.label");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getClaveMenu() {
|
||||
return ConstantesFuncionSistema.CLAVE_EXPORTACAO_SGTI;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ejecutar() {
|
||||
PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioExportacaoSGTI.zul",
|
||||
Labels.getLabel("indexController.mniRelatorioExportacaoSGTI.label"), getArgs() ,desktop);
|
||||
}
|
||||
|
||||
}
|
|
@ -228,6 +228,7 @@ analitico.integracion.bpe.exportacao=com.rjconsultores.ventaboletos.web.utileria
|
|||
analitico.integracion.bpe.rdi=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorio.bpe.ItemMenuBpeRdi
|
||||
analitico.integracion.bpe.financeiro=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorio.bpe.ItemMenuBpeFinanceiro
|
||||
analitico.integracion.bpe.devolucion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorio.bpe.ItemMenuBpeDevolucao
|
||||
analitico.integracion.sgti=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorio.sgti.SubMenuSGTI
|
||||
seguridad=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.MenuSeguridad
|
||||
seguridad.estacion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuEstacion
|
||||
seguridad.autorizacion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuAutorizacion
|
||||
|
|
|
@ -30,8 +30,8 @@ public class RenderPersonalizado<T> implements ListitemRenderer {
|
|||
this.colunas = colunas;
|
||||
}
|
||||
|
||||
public RenderPersonalizado<T> comBotaoExcluir(Boolean addBotaoExcluir) {
|
||||
this.addBotaoExcluir = addBotaoExcluir;
|
||||
public RenderPersonalizado<T> comBotaoExcluir() {
|
||||
this.addBotaoExcluir = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -58,9 +58,13 @@ public class RenderPersonalizado<T> implements ListitemRenderer {
|
|||
String nomeMetodo = obtemMetodoGet(coluna);
|
||||
for (Method method : methods) {
|
||||
if (method.getName().equals(nomeMetodo)) {
|
||||
try {
|
||||
Listcell lc = new Listcell(method.invoke((T)objeto).toString());
|
||||
lc.setParent(item);
|
||||
break;
|
||||
} catch (NullPointerException e) {
|
||||
e.getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
package com.rjconsultores.ventaboletos.web.utilerias.render;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.List;
|
||||
|
||||
import org.zkoss.zul.Listcell;
|
||||
import org.zkoss.zul.Listitem;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
|
||||
import com.rjconsultores.ventaboletos.entidad.Ruta;
|
||||
|
||||
public class RenderRutaPersonalizado extends RenderPersonalizado<Ruta> {
|
||||
|
||||
public RenderRutaPersonalizado(List<String> colunas) {
|
||||
super(colunas);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void incluirColunasRender(Listitem item, Object objeto) throws IllegalAccessException, InvocationTargetException {
|
||||
super.incluirColunasRender(item, objeto);
|
||||
OrgaoConcedente orgaoConcedente = ((Ruta)objeto).getOrgaoConcedente();
|
||||
Listcell lc = orgaoConcedente != null ? new Listcell(orgaoConcedente.getDescOrgao()) : new Listcell("-");
|
||||
lc.setParent(item);
|
||||
}
|
||||
}
|
|
@ -250,6 +250,7 @@ indexController.mniIntegracion.bgm.label = BGM
|
|||
indexController.mniRelatorios.label = Reportes
|
||||
indexController.mniRelatorioAproveitamento.label = Aprovechamiento
|
||||
indexController.mniRelatorioArquivoBGM.label = Arquivo BGM
|
||||
indexController.mniRelatorioExportacaoSGTI.label = Exportação SGTI
|
||||
indexController.mniRelatorioReceitaDiariaAgencia.label = Ingreso diário por punto de venta
|
||||
indexController.mniRelatorioLinhaOperacional.label = Boleto por Ruta
|
||||
indexController.mniRelatorioTrechoVendido.label = Tramo por punto de venta
|
||||
|
@ -341,6 +342,8 @@ indexController.mnSubMenuBpeFiscal.rdi.label=Reporte RDI BPE
|
|||
indexController.mnSubMenuBpeFiscal.financeiro.label=Reporte Financiero BPE
|
||||
indexController.mnSubMenuBpeFiscal.devolucion.label=Reporte Devolución BPE
|
||||
|
||||
indexController.mnSubMenuSGTI.label=SGTI
|
||||
|
||||
indexController.mnRelatoriosFinanceiros.label=Reportes financeiros
|
||||
|
||||
indexController.mniSubMenuClientePacote.label=Paquete
|
||||
|
@ -7205,6 +7208,21 @@ relatorioArquivoBGMController.lbPuntoVenta.value = Agencia
|
|||
relatorioArquivoBGMController.msg.erro.puntoventa = El Campo Agencia es Obligatório!
|
||||
relatorioArquivoBGMController.msg.erro.empresa = El Campo Empresa es Obligatório!
|
||||
|
||||
# Relatorio Exportação SGTI
|
||||
relatorioExportacaoSGTIController.lbDataIni.value = Fecha Inicial
|
||||
relatorioExportacaoSGTIController.lbDataFin.value = Fecha Final
|
||||
relatorioExportacaoSGTIController.lbEmpresa.value = Agencia
|
||||
relatorioExportacaoSGTIController.lbLinha.label = Línea
|
||||
relatorioExportacaoSGTIController.lbNumLinha.label = Num. línea
|
||||
relatorioExportacaoSGTIController.btnPesquisa.label = Búsqueda
|
||||
relatorioExportacaoSGTIController.btnLimpar.label = Limpiar
|
||||
relatorioExportacaoSGTIController.lbObservacao.value = Observación
|
||||
relatorioExportacaoSGTIController.btnExecutarExportacao = Exportar
|
||||
relatorioExportacaoSGTIController.MSG.dataInicialMaiorFinal = Fecha inicial maior que final.
|
||||
relatorioExportacaoSGTIController.MSG.mesDiferente = El período informado debe estar en el mismo mes.
|
||||
relatorioExportacaoSGTIController.MSG.semLinha = Por favor informe al menos una línea.
|
||||
relatorioExportacaoSGTIController.msg.erro.empresa = El Campo Agencia es Obligatório!
|
||||
|
||||
# Recebimento Malote
|
||||
recebimentoMaloteController.window.title = Recibimento Malote
|
||||
recebimentoMaloteController.btnConfirmar.label = Confirmar - F12
|
||||
|
|
|
@ -261,6 +261,7 @@ indexController.mniIntegracion.bgm.label = BGM
|
|||
indexController.mniRelatorios.label = Relatórios
|
||||
indexController.mniRelatorioAproveitamento.label = Aproveitamento
|
||||
indexController.mniRelatorioArquivoBGM.label = Arquivo BGM
|
||||
indexController.mniRelatorioExportacaoSGTI.label = Exportação SGTI
|
||||
indexController.mniRelatorioReceitaDiariaAgencia.label = Receita Diária por Agência
|
||||
indexController.mniRelatorioLinhaOperacional.label = Passagem por Linha
|
||||
indexController.mniRelatorioTrechoVendido.label = Trecho por Agência
|
||||
|
@ -358,6 +359,8 @@ indexController.mnSubMenuBpeFiscal.rdi.label=Relatório RDI BPE
|
|||
indexController.mnSubMenuBpeFiscal.financeiro.label=Relatório Financiero BPE
|
||||
indexController.mnSubMenuBpeFiscal.devolucion.label=Relatório Devolução BPE
|
||||
|
||||
indexController.mnSubMenuSGTI.label=SGTI
|
||||
|
||||
indexController.mnRelatoriosFinanceiros.label=Relatórios Financeiros
|
||||
|
||||
indexController.mniSubMenuClientePacote.label=Pacote
|
||||
|
@ -7658,6 +7661,21 @@ relatorioArquivoBGMController.msg.erro.empresa = O Campo Empresa é obrigatório
|
|||
relatorioArquivoBGMController.txtArquivo.value=Local Arq. Servidor
|
||||
relatorioArquivoBGMController.arquivoGeradoNoServidor.value=Arquivo gerado no servidor
|
||||
|
||||
# Relatorio Exportação SGTI
|
||||
relatorioExportacaoSGTIController.lbDataIni.value = Data Inicial
|
||||
relatorioExportacaoSGTIController.lbDataFin.value = Data Final
|
||||
relatorioExportacaoSGTIController.lbEmpresa.value = Empresa
|
||||
relatorioExportacaoSGTIController.lbLinha.label = Linha
|
||||
relatorioExportacaoSGTIController.lbNumLinha.label = Num. Linha
|
||||
relatorioExportacaoSGTIController.btnPesquisa.label = Pesquisar
|
||||
relatorioExportacaoSGTIController.btnLimpar.label = Limpar
|
||||
relatorioExportacaoSGTIController.lbObservacao.value = Observação
|
||||
relatorioExportacaoSGTIController.btnExecutarExportacao = Exportar
|
||||
relatorioExportacaoSGTIController.MSG.dataInicialMaiorFinal = Data inicial maior que final.
|
||||
relatorioExportacaoSGTIController.MSG.mesDiferente = O período informado deve estar no mesmo mês.
|
||||
relatorioExportacaoSGTIController.MSG.semLinha = Favor informar pelo menos uma linha.
|
||||
relatorioExportacaoSGTIController.msg.erro.empresa = O Campo Empresa é obrigatório!
|
||||
|
||||
# Recebimento Malote
|
||||
recebimentoMaloteController.window.title = Recebimento Malote
|
||||
recebimentoMaloteController.btnConfirmar.label = Confirmar - F12
|
||||
|
|
|
@ -0,0 +1,120 @@
|
|||
<?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="winRelatorioExportacaoSGTI"?>
|
||||
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
|
||||
|
||||
<zk xmlns="http://www.zkoss.org/2005/zul">
|
||||
<window id="winRelatorioExportacaoSGTI"
|
||||
apply="${relatorioExportacaoSGTIController}"
|
||||
contentStyle="overflow:auto" height="392px" width="728px"
|
||||
border="normal">
|
||||
|
||||
<grid fixedLayout="true">
|
||||
<columns>
|
||||
<column width="40%" />
|
||||
<column width="60%" />
|
||||
<column width="40%" />
|
||||
<column width="60%" />
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="${c:l('relatorioExportacaoSGTIController.lbDataIni.value')}" />
|
||||
<datebox id="dataInicial"
|
||||
format="dd/MM/yyyy" constraint="no empty"
|
||||
maxlength="10" width="90%" mold="rounded"/>
|
||||
<label value="${c:l('relatorioExportacaoSGTIController.lbDataFin.value')}" />
|
||||
<datebox id="dataFinal"
|
||||
format="dd/MM/yyyy" constraint="no empty"
|
||||
maxlength="10" width="90%" mold="rounded"/>
|
||||
</row>
|
||||
<row spans="1, 3">
|
||||
<label
|
||||
value="${c:l('relatorioExportacaoSGTIController.lbEmpresa.value')}" />
|
||||
<combobox id="cbEmpresa"
|
||||
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEmpresa"
|
||||
mold="rounded" buttonVisible="true" width="70%" />
|
||||
</row>
|
||||
<row spans="1,3">
|
||||
<label value="${c:l('relatorioExportacaoSGTIController.lbLinha.label')}" />
|
||||
<bandbox id="bbPesquisaLinha" width="100%"
|
||||
mold="rounded" readonly="true">
|
||||
<bandpopup>
|
||||
<vbox>
|
||||
<hbox>
|
||||
<label value="${c:l('relatorioExportacaoSGTIController.lbLinha.label')}" />
|
||||
<textbox id="txtPalavraPesquisaLinha"
|
||||
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox"
|
||||
width="300px" mold="rounded" />
|
||||
<button id="btnPesquisaLinha"
|
||||
image="/gui/img/find.png"
|
||||
label="${c:l('relatorioExportacaoSGTIController.btnPesquisa.label')}" />
|
||||
<button id="btnLimparLinha"
|
||||
image="/gui/img/eraser.png"
|
||||
label="${c:l('relatorioExportacaoSGTIController.btnLimpar.label')}" />
|
||||
</hbox>
|
||||
|
||||
<listbox id="linhaList" mold="paging"
|
||||
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
|
||||
vflex="true" height="100%" width="700px">
|
||||
<listhead>
|
||||
<listheader
|
||||
label="${c:l('relatorioExportacaoSGTIController.lbNumLinha.label')}"
|
||||
width="18%" />
|
||||
<listheader
|
||||
label="${c:l('relatorioHistoricoComprasController.lbPrefixo.label')}"
|
||||
width="20%" />
|
||||
<listheader
|
||||
label="${c:l('lb.dec')}" width="35%" />
|
||||
<listheader
|
||||
label="${c:l('relatorioHistoricoComprasController.lbOrgao.label')}"
|
||||
width="27%" />
|
||||
</listhead>
|
||||
</listbox>
|
||||
<paging id="pagingLinha" pageSize="10" />
|
||||
</vbox>
|
||||
</bandpopup>
|
||||
</bandbox>
|
||||
</row>
|
||||
<row>
|
||||
<cell colspan="4">
|
||||
<borderlayout height="100px">
|
||||
|
||||
<center border="0">
|
||||
<listbox id="linhaSelList"
|
||||
mold="paging"
|
||||
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
|
||||
vflex="true" height="100%" width="700px">
|
||||
<listhead>
|
||||
<listheader
|
||||
label="${c:l('relatorioExportacaoSGTIController.lbNumLinha.label')}"
|
||||
width="18%" />
|
||||
<listheader
|
||||
label="${c:l('relatorioHistoricoComprasController.lbPrefixo.label')}"
|
||||
width="20%" />
|
||||
<listheader
|
||||
label="${c:l('lb.dec')}" width="30%" />
|
||||
<listheader
|
||||
label="${c:l('relatorioHistoricoComprasController.lbOrgao.label')}"
|
||||
width="22%" />
|
||||
<listheader width="10%" />
|
||||
</listhead>
|
||||
</listbox>
|
||||
</center>
|
||||
</borderlayout>
|
||||
</cell>
|
||||
</row>
|
||||
<row spans="1,3">
|
||||
<label value="${c:l('relatorioExportacaoSGTIController.lbObservacao.value')}" />
|
||||
<textbox id="txtObservacao"
|
||||
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox"
|
||||
rows="8" width="90%;" tabindex="11" />
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<toolbar>
|
||||
<button id="btnExecutarExportacao" image="/gui/img/find.png"
|
||||
label="${c:l('relatorioExportacaoSGTIController.btnExecutarExportacao')}" />
|
||||
</toolbar>
|
||||
</window>
|
||||
</zk>
|
Loading…
Reference in New Issue