frederico 2016-08-02 19:30:57 +00:00
parent 50b0e24755
commit e94a816568
2 changed files with 129 additions and 40 deletions

View File

@ -5,8 +5,11 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.tarifas;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.poi.hssf.util.HSSFColor.ORCHID;
import org.hibernate.LazyInitializationException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
@ -15,16 +18,19 @@ import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Constraint;
import org.zkoss.zul.Messagebox;
import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.EsquemaCorridaService;
import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService;
import com.rjconsultores.ventaboletos.service.RutaEmpresaService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TarifaOficialService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@ -45,6 +51,8 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
@Autowired
private RutaService rutaService;
@Autowired
private RutaEmpresaService rutaEmpresaService;
@Autowired
private TarifaOficialService tarifaOficialService;
@Autowired
private OrgaoConcedenteService orgaoConcedenteService;
@ -70,6 +78,7 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
private List<Ruta> listSelectedRutas;
private MyListbox selectedRutasList;
private List<Empresa> lsEmpresaSelected;
private Boolean esperar = false;
public List<Empresa> getLsEmpresaSelected() {
return lsEmpresaSelected;
@ -91,7 +100,6 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
return lsEmpresa;
}
@Override
public void doAfterCompose(Component comp) throws Exception {
lsOrgaoConcedente = orgaoConcedenteService.obtenerTodos();
@ -106,7 +114,7 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
public void onClick$chkZerarTabela(Event ev)
{
if(chkZerarTabela.isChecked())
if (chkZerarTabela.isChecked())
{
chkTarifa.setChecked(false);
chkTarifa.setDisabled(true);
@ -118,7 +126,7 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
chkPedagio.setDisabled(true);
chkArredondarTaxaEmbarque.setChecked(false);
chkArredondarTaxaEmbarque.setDisabled(true);
}else
} else
{
chkTarifa.setDisabled(false);
chkTarifa.setChecked(true);
@ -132,21 +140,21 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
public void onClick$btnGenerarVigencia(Event ev) throws InterruptedException {
cmbOrgaoConcedente.getValue();
cmbEmpresa.getValue();
Integer orgaoConcedenteId = null;
if (cmbOrgaoConcedente.getSelectedItem() != null) {
orgaoConcedenteId = ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue()).getOrgaoConcedenteId();
}
if(lsEmpresaSelected.isEmpty()){
lsEmpresaSelected = lsEmpresa;
}
if(listSelectedRutas == null || listSelectedRutas.isEmpty()){
lsEmpresaSelected = Arrays.asList((Empresa) cmbEmpresa.getSelectedItem().getValue());
if (listSelectedRutas == null || listSelectedRutas.isEmpty()) {
listSelectedRutas = lsRuta;
}
if (orgaoConcedenteId == null){
if (orgaoConcedenteId == null) {
int resp = Messagebox.show(
Labels.getLabel("generarTarifaOrgaoController.MSG.gerarTodosOrgaos"),
Labels.getLabel("indexController.mniGenerarTarifaOrgao.label"),
@ -157,7 +165,7 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
}
}
if(!chkZerarTabela.isChecked()){
if (!chkZerarTabela.isChecked()) {
try {
if (chkTarifa.isChecked()) {
@ -167,7 +175,7 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
boolean gerarTabelaZerada = !chkTarifa.isChecked();
if (chkTaxaEmbarque.isChecked()) {
tarifaOficialService.atualizarTaxaEmbarque(listSelectedRutas, orgaoConcedenteId,gerarTabelaZerada, lsEmpresaSelected);
tarifaOficialService.atualizarTaxaEmbarque(listSelectedRutas, orgaoConcedenteId, gerarTabelaZerada, lsEmpresaSelected);
}
if (chkSeguro.isChecked()) {
@ -186,20 +194,20 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
Labels.getLabel("indexController.mniGenerarTarifaOrgao.label"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (BusinessException e) {
Messagebox.show(e.getLocalizedMessage(),
Labels.getLabel("indexController.mniGenerarTarifaOrgao.label"),
Messagebox.OK, Messagebox.EXCLAMATION);
}
}else{
} catch (BusinessException e) {
Messagebox.show(e.getLocalizedMessage(),
Labels.getLabel("indexController.mniGenerarTarifaOrgao.label"),
Messagebox.OK, Messagebox.EXCLAMATION);
}
} else {
try{
try {
tarifaOficialService.gerarAtualizarTabelaZerada(listSelectedRutas, orgaoConcedenteId, lsEmpresaSelected);
Messagebox.show(Labels.getLabel("generarTarifaOrgaoController.MSG.suscribirOK"),
Labels.getLabel("indexController.mniGenerarTarifaOrgao.label"),
Messagebox.OK, Messagebox.INFORMATION);
}catch (BusinessException e) {
} catch (BusinessException e) {
Messagebox.show(e.getLocalizedMessage(),
Labels.getLabel("indexController.mniGenerarTarifaOrgao.label"),
Messagebox.OK, Messagebox.EXCLAMATION);
@ -218,10 +226,13 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
}
public void onClick$btnAddRuta(Event ev) throws InterruptedException {
if(cmbRuta.getSelectedItem() != null){
listSelectedRutas.add((Ruta)cmbRuta.getSelectedItem().getValue());
if(esperar){
cmbRuta.setSelectedItem(null);
return;
}
if (cmbRuta.getSelectedItem() != null) {
listSelectedRutas.add((Ruta) cmbRuta.getSelectedItem().getValue());
selectedRutasList.setData(listSelectedRutas);
lsEmpresaSelected.add(((Empresa)cmbEmpresa.getSelectedItem().getValue()));
cmbRuta.setSelectedItem(null);
}
}
@ -232,4 +243,56 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
selectedRutasList.setData(listSelectedRutas);
}
public void onSelect$cmbOrgaoConcedente(Event ev) {
onSelectEmpresaOrgaoConcedente();
}
public void onSelect$cmbEmpresa(Event ev) throws InterruptedException {
onSelectEmpresaOrgaoConcedente();
}
public void onSelectEmpresaOrgaoConcedente() {
Constraint constraint = cmbEmpresa.getConstraint();
cmbEmpresa.setConstraint("");
Empresa empresaSelected = cmbEmpresa.getSelectedItem() == null ? null : (Empresa) cmbEmpresa.getSelectedItem().getValue();
cmbEmpresa.setConstraint(constraint);
OrgaoConcedente orgaoSelected = cmbOrgaoConcedente.getSelectedItem() == null ? null : (OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue();
esperar = true;
lsRuta = rutaService.buscarRutasPorEmpresaOrgaoConcedente(empresaSelected, orgaoSelected);
int indexToRemove = 0;
boolean achou = false;
List<Integer> indexList = new ArrayList<Integer>();
for (final Ruta ruta : listSelectedRutas) {
if (orgaoSelected == null || orgaoSelected.getOrgaoConcedenteId() == -1 || ruta.getOrgaoConcedente().equals(orgaoSelected)) {
try {
ruta.getLsRutaEmpresa();
} catch (LazyInitializationException e) {
ruta.setLsRutaEmpresa(rutaEmpresaService.obtenerPorRuta(ruta));
}
for (RutaEmpresa rutaEmpresa : ruta.getLsRutaEmpresa()) {
if (empresaSelected == null || rutaEmpresa.getEmpresa().equals(empresaSelected)) {
achou = true;
}
}
}
if (!achou) {
indexList.add(indexToRemove);
}
indexToRemove++;
achou = false;
}
for (Integer i : indexList) {
Ruta ruta = listSelectedRutas.get(i);
listSelectedRutas.remove(ruta);
}
selectedRutasList.setData(listSelectedRutas);
cmbRuta.setSelectedItem(null);
esperar = false;
}
}

View File

@ -0,0 +1,26 @@
--drop constraint se existe
DECLARE
itemExists NUMBER;
BEGIN
itemExists := 0;
SELECT COUNT(CONSTRAINT_NAME) INTO itemExists
FROM ALL_CONSTRAINTS
WHERE UPPER(CONSTRAINT_NAME) = UPPER('UNIQUE_TARIFA_OFICIAL');
IF itemExists > 0 THEN
EXECUTE IMMEDIATE 'ALTER TABLE TARIFA_OFICIAL DROP CONSTRAINT UNIQUE_TARIFA_OFICIAL';
END IF;
END;
DECLARE
COUNT_INDEXES INTEGER;
BEGIN
SELECT COUNT(*) INTO COUNT_INDEXES
FROM USER_INDEXES
WHERE INDEX_NAME = 'UNIQUE_TARIFA_OFICIAL';
IF COUNT_INDEXES > 0 THEN
EXECUTE IMMEDIATE 'DROP INDEX UNIQUE_TARIFA_OFICIAL';
END IF;
END;