382 lines
11 KiB
Plaintext
Executable File
382 lines
11 KiB
Plaintext
Executable File
package com.fp.frontend.controller.armas.parametros;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
|
|
import javax.annotation.PostConstruct;
|
|
import javax.faces.bean.ManagedBean;
|
|
import javax.faces.bean.ManagedProperty;
|
|
import javax.faces.bean.ViewScoped;
|
|
|
|
import org.primefaces.model.DefaultTreeNode;
|
|
import org.primefaces.model.TreeNode;
|
|
|
|
import com.fp.dto.Request;
|
|
import com.fp.dto.Response;
|
|
import com.fp.dto.query.DtoQuery;
|
|
import com.fp.dto.query.SubQuery;
|
|
import com.fp.dto.save.DtoSave;
|
|
import com.fp.frontend.controller.AbstractController;
|
|
import com.fp.frontend.controller.pgeneral.gene.ProvinceController;
|
|
import com.fp.frontend.helper.MessageHelper;
|
|
import com.fp.persistence.parmas.param.TarmCentroControl;
|
|
import com.fp.persistence.parmas.param.TarmCentroControlJur;
|
|
import com.fp.persistence.pgeneral.gene.TgeneCatalogDetail;
|
|
import com.fp.persistence.pgeneral.gene.TgeneProvince;
|
|
|
|
/**
|
|
* Clase controladora del bean TarmCentroControlJur.
|
|
*
|
|
* @author C.P.
|
|
* @version 2.1
|
|
*/
|
|
@ManagedBean
|
|
@ViewScoped
|
|
public class TarmCentroControlJurController extends AbstractController<TarmCentroControlJur> {
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
/**
|
|
* Nodos para la creacion del arbol
|
|
*/
|
|
private TreeNode root;
|
|
/**
|
|
* Variable que se carga cuando selecciona un nodo del arbol
|
|
*/
|
|
private TreeNode selectedNode;
|
|
/**
|
|
* Recupera el codigo de la provincia selecionada
|
|
*/
|
|
private String codigoProvincia;
|
|
/**
|
|
* Recupera la descripcion de la provincia selecionada
|
|
*/
|
|
private String descripcionProvincia;
|
|
/**
|
|
* Carga la lista de las provincias
|
|
*/
|
|
private List<TgeneProvince> lprovinces;
|
|
/**
|
|
* Carga el centro de control
|
|
*/
|
|
private TarmCentroControl tarmCentroControl;
|
|
|
|
/**
|
|
* Inyeccion del controlador centroControlArmasController
|
|
*/
|
|
@ManagedProperty(value = "#{centroControlArmasController}")
|
|
private CentroControlArmasController centroControlArmasController;
|
|
|
|
public TarmCentroControlJurController() throws Exception {
|
|
super(TarmCentroControlJur.class);
|
|
}
|
|
|
|
@PostConstruct
|
|
private void postconstruct() {
|
|
this.init();
|
|
// Inicializa autoconsulta
|
|
super.startQuery();
|
|
}
|
|
|
|
/**
|
|
* Incializa el controlador, cuando se esta utilizando una pagina que utliza
|
|
* el controlador.
|
|
*/
|
|
private void init() {
|
|
try {
|
|
this.recperpage = 10; // Cambiar al # reg a mirar.
|
|
this.lrecord = new ArrayList<>();
|
|
this.beanalias = "TARMCENTROCONTROLJURIS";
|
|
tarmCentroControl= new TarmCentroControl();
|
|
} catch (Exception e) {
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
@Override
|
|
public void querydatabase() {
|
|
try {
|
|
Request request = this.callerhelper.getRequest();
|
|
DtoQuery dto = super.getDtoQuery(true);
|
|
SubQuery sprovincia= new SubQuery
|
|
("TgeneProvince", "description", "desprovincia", "i.pk.countrycode = t.countrycode and i.pk.provincecode= t.provincecode");
|
|
dto.addSubQuery(sprovincia);
|
|
HashMap<String, DtoQuery> mtables = new HashMap<String, DtoQuery>();
|
|
mtables.put(this.beanalias, dto);
|
|
request.setQueryTables(mtables);
|
|
Response resp = this.callerhelper.executeQuery(request);
|
|
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) != 0) {
|
|
this.lrecord = new ArrayList<TarmCentroControlJur>();
|
|
MessageHelper.setMessageError(resp);
|
|
} else {
|
|
this.lrecord = (List<TarmCentroControlJur>) resp
|
|
.get(this.beanalias);
|
|
super.postQuery(this.lrecord);
|
|
}
|
|
} catch (Throwable e) {
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
public void save() {
|
|
try {
|
|
Request request = this.callerhelper.getRequest();
|
|
DtoSave dtosave = super.getDtoSave();
|
|
dtosave.setReturnpk(true);
|
|
if (!dtosave.pendingProcess()) {
|
|
return;
|
|
}
|
|
HashMap<String, DtoSave> msave = new HashMap<String, DtoSave>();
|
|
msave.put(this.beanalias, dtosave);
|
|
|
|
request.setSaveTables(msave);
|
|
Response resp = this.callerhelper.executeSave(request);
|
|
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) {
|
|
this.postCommit(resp);
|
|
MessageHelper.setMessageInfo(resp);
|
|
} else {
|
|
MessageHelper.setMessageError(resp);
|
|
}
|
|
|
|
} catch (Throwable e) {
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void postCommit(Response response) throws Exception {
|
|
super.postCommitGeneric(response, this.beanalias);
|
|
}
|
|
|
|
/**
|
|
* Metodo que se ejecuta al pulsar jurisdiccion
|
|
* Inicializa las variables, lista las provincias y el arbol de jurisdiccion
|
|
*/
|
|
public void loadEdit() {
|
|
centroControlArmasController.getRecord();// contiene el registro seleccionado
|
|
clearAll();
|
|
listarProvincias();
|
|
root=null;
|
|
getMfilters().put("ccentrocontrol", centroControlArmasController.getRecord().getPk());
|
|
querydatabase();
|
|
root=createTree();//carga el arbol
|
|
}
|
|
|
|
/**
|
|
* selecciona un registro para anadir una jurisdiccion
|
|
* @throws Exception
|
|
*/
|
|
public void displaySelectedSingle() throws Exception {
|
|
if(selectedNode != null) {
|
|
super.create();
|
|
record.setCountrycode("EC");
|
|
record.setCcentrocontrol(centroControlArmasController.getRecord().getPk());
|
|
listarProvincias();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* elimna la jurisdiccion
|
|
* @throws Exception
|
|
*/
|
|
public void deleteNode() throws Exception {
|
|
record=(TarmCentroControlJur)selectedNode.getData();
|
|
if(record.getCcentrocontrol()==null || record.getCcentrocontrol().trim().length()==0){
|
|
MessageHelper.setMessageError("NO SE PUEDE ELIMINAR EL NODO");
|
|
return;
|
|
}
|
|
record.setProvincianombre(null);
|
|
super.remove();
|
|
selectedNode.getChildren().clear();
|
|
selectedNode.getParent().getChildren().remove(selectedNode);
|
|
selectedNode.setParent(null);
|
|
selectedNode = null;
|
|
}
|
|
|
|
/**
|
|
* arma el arbol
|
|
* @return
|
|
*/
|
|
@SuppressWarnings("unused")
|
|
public TreeNode createTree() {
|
|
TarmCentroControlJur cabecera = new TarmCentroControlJur();
|
|
cabecera.setProvincianombre(centroControlArmasController.getRecord().getModifiedData().get("desinstitucion").toString());
|
|
|
|
TarmCentroControlJur reg1 = new TarmCentroControlJur();
|
|
reg1.setProvincianombre(centroControlArmasController.getRecord().getModifiedData().get("desinstitucion").toString());
|
|
|
|
TarmCentroControlJur reg2 = new TarmCentroControlJur();
|
|
reg2.setProvincianombre(centroControlArmasController.getRecord().getModifiedData().get("desnombreinstitucion").toString());
|
|
|
|
TreeNode root = new DefaultTreeNode(cabecera, null);
|
|
TreeNode nombreCentro = new DefaultTreeNode(cabecera, root);
|
|
TreeNode Default2 = new DefaultTreeNode(reg2, nombreCentro);
|
|
//se recorre para el arbol
|
|
if(lrecord!=null && lrecord.size()>0){
|
|
for(TarmCentroControlJur jurisdiccion:lrecord){
|
|
jurisdiccion.setProvincianombre(nombreProvincia(lprovinces, jurisdiccion.getProvincecode()));
|
|
TreeNode documents = new DefaultTreeNode(jurisdiccion, Default2);
|
|
}
|
|
}
|
|
return root;
|
|
}
|
|
|
|
/**
|
|
* Metodo para obtener la descripcion de la provincia
|
|
* @param list
|
|
* @param codigo
|
|
* @return
|
|
*/
|
|
public String nombreProvincia(List<TgeneProvince>list, String codigo){
|
|
for(TgeneProvince item:list){
|
|
if(item.getPk().getProvincecode().equals(codigo)){
|
|
return item.getDescription();
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
|
|
|
|
/**
|
|
* metodo para a\u00F1adir un nuevo registro de jurisdiccion
|
|
* @param province
|
|
* @throws Exception
|
|
*/
|
|
public void setProvincia(TgeneProvince province) throws Exception {
|
|
System.out.println(province.getDescription());
|
|
//validamos que el registro no este ingresado
|
|
List<TarmCentroControlJur> listaJurisdicciones=find();
|
|
if(listaJurisdicciones!=null && listaJurisdicciones.size()>0){
|
|
for(TarmCentroControlJur item:listaJurisdicciones){
|
|
if(item.getProvincecode().equals(province.getPk().getProvincecode())){
|
|
MessageHelper.setMessageError("LA JURISDICCI\u00D3N YA PERTENECE A UN CENTRO DE CONTROL DE ARMAS");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
//validamos sobre la lista que vamos a guardar
|
|
if(this.lrecord!=null && this.lrecord.size()>0){
|
|
for(TarmCentroControlJur item:this.lrecord){
|
|
if(item.getProvincecode().equals(province.getPk().getProvincecode())){
|
|
MessageHelper.setMessageError("LA JURISDICCI\u00D3N YA PERTENECE A UN CENTRO DE CONTROL DE ARMAS");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
record.setProvincecode(province.getPk().getProvincecode());
|
|
addNew(record);
|
|
getLrecord().add(record);
|
|
root=createTree();
|
|
super.update();
|
|
}
|
|
|
|
/**
|
|
* Metodo para listar las provincias
|
|
*/
|
|
public void listarProvincias(){
|
|
if(lprovinces==null || lprovinces.size()==0){
|
|
lprovinces = ProvinceController.findxDescripcion("EC",codigoProvincia, descripcionProvincia);
|
|
}
|
|
}
|
|
|
|
public static List<TarmCentroControlJur> find() {
|
|
try {
|
|
TarmCentroControlJurController cc = new TarmCentroControlJurController();
|
|
cc.init();
|
|
cc.recperpage = 300;
|
|
cc.querydatabase();
|
|
if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) {
|
|
return cc.lrecord;
|
|
}
|
|
return null;
|
|
} catch (Throwable e) {
|
|
MessageHelper.setMessageError(e);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public static TarmCentroControlJur findxProvincia(String provincecode) {
|
|
try {
|
|
TarmCentroControlJurController cc = new TarmCentroControlJurController();
|
|
cc.init();
|
|
cc.addFilter("provincecode", provincecode);
|
|
cc.recperpage = 300;
|
|
cc.querydatabase();
|
|
if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) {
|
|
return cc.lrecord.get(0);
|
|
}
|
|
return null;
|
|
} catch (Throwable e) {
|
|
MessageHelper.setMessageError(e);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public TreeNode getRoot() {
|
|
return root;
|
|
}
|
|
|
|
public void setRoot(TreeNode root) {
|
|
this.root = root;
|
|
}
|
|
|
|
|
|
public TreeNode getSelectedNode() {
|
|
return selectedNode;
|
|
}
|
|
|
|
|
|
public void setSelectedNode(TreeNode selectedNode) {
|
|
this.selectedNode = selectedNode;
|
|
}
|
|
|
|
public CentroControlArmasController getCentroControlArmasController() {
|
|
return centroControlArmasController;
|
|
}
|
|
|
|
public void setCentroControlArmasController(
|
|
CentroControlArmasController centroControlArmasController) {
|
|
this.centroControlArmasController = centroControlArmasController;
|
|
}
|
|
|
|
public List<TgeneProvince> getLprovinces() {
|
|
return lprovinces;
|
|
}
|
|
|
|
public void setLprovinces(List<TgeneProvince> lprovinces) {
|
|
this.lprovinces = lprovinces;
|
|
}
|
|
|
|
public String getCodigoProvincia() {
|
|
return codigoProvincia;
|
|
}
|
|
|
|
public void setCodigoProvincia(String codigoProvincia) {
|
|
this.codigoProvincia = codigoProvincia;
|
|
}
|
|
|
|
public String getDescripcionProvincia() {
|
|
return descripcionProvincia;
|
|
}
|
|
|
|
public void setDescripcionProvincia(String descripcionProvincia) {
|
|
this.descripcionProvincia = descripcionProvincia;
|
|
}
|
|
|
|
public TarmCentroControl getTarmCentroControl() {
|
|
return tarmCentroControl;
|
|
}
|
|
|
|
public void setTarmCentroControl(TarmCentroControl tarmCentroControl) {
|
|
this.tarmCentroControl = tarmCentroControl;
|
|
}
|
|
|
|
}
|