maia_modificado/.svn/pristine/7b/7b647308723dbca5f9d9014bc4a...

395 lines
12 KiB
Plaintext
Executable File

package com.fp.frontend.controller.armas.solicitud;
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 javax.faces.event.AjaxBehaviorEvent;
import org.primefaces.component.selectbooleancheckbox.SelectBooleanCheckbox;
import org.primefaces.context.RequestContext;
import org.primefaces.event.TabChangeEvent;
import com.fp.dto.AbstractDataTransport;
import com.fp.dto.Request;
import com.fp.dto.Response;
import com.fp.dto.query.DtoQuery;
import com.fp.dto.save.DtoSave;
import com.fp.frontend.controller.AbstractController;
import com.fp.frontend.controller.armas.parametros.CentroControlArmasController;
import com.fp.frontend.controller.pgeneral.gene.CantonController;
import com.fp.frontend.controller.pgeneral.gene.CatalogDetailController;
import com.fp.frontend.controller.pgeneral.gene.CityController;
import com.fp.frontend.controller.pgeneral.gene.ParroquiaController;
import com.fp.frontend.controller.pgeneral.gene.ProvinceController;
import com.fp.frontend.helper.MessageHelper;
import com.fp.frontend.utility.MsgControlArmas;
import com.fp.persistence.parmas.param.TarmCentroControl;
import com.fp.persistence.parmas.soli.TarmDecomiso;
import com.fp.persistence.parmas.soli.TarmDecomisoArma;
import com.fp.persistence.pgeneral.gene.TgeneCatalogDetail;
@SuppressWarnings("serial")
@ManagedBean
@ViewScoped
public class VerificarMaterialDecomisadoController extends AbstractController<AbstractDataTransport> {
/**
* C&oacute;digo de decomiso
*/
private String cDecomiso;
/**
* Manejador de decomiso armas controller
*/
@ManagedProperty(value = "#{decomisoArmaController}")
private DecomisoArmaController decomisoArmaController;
/**
* Variable que incluye datos de la cabecera de decomiso
*/
private TarmDecomiso decomiso;
/**
* Variable que incluye datos del detalle del decomiso
*/
private TarmDecomisoArma decomisoArmaObj;
/**
* Provincia
*/
private String provincia;
/**
* Cant&oacute;n
*/
private String canton;
/**
* Ciudad
*/
private String ciudad;
/**
* Parroquia
*/
private String parroquia;
/**
* Variable usada para activar el bot&oacute;n de generar reporte
*/
private Boolean isEnableImprimir;
/**
* Cat&acute;logo Grado
*/
private TgeneCatalogDetail gradoCatalogDatail;
/**
* Cat&acute;logo Unidad
*/
private TgeneCatalogDetail unidadCatalogDatail;
private Boolean btnFlujo;
//private List<TarmDecomisoArma> armasDecomisadasLst = new ArrayList<TarmDecomisoArma>();
public VerificarMaterialDecomisadoController() throws Exception {
super(AbstractDataTransport.class);
// TODO Auto-generated constructor stub
}
@PostConstruct
private void postconstruct() {
// Inicializa autoconsulta
startQuery();
// cDecomiso="357";
if(cDecomiso!=null){
this.init();
this.query();
}
else{
decomisoArmaController.setLrecord(new ArrayList<TarmDecomisoArma>());
}
}
public void startQuery() {
try {
this.pasteBpmScreenParameters();
cDecomiso=super.getMfilters().get("cdecomiso");
super.getMfilters().clear();
} catch (Exception e) {
MessageHelper.setMessageError(e);
}
}
/**
* Incializa el controlador, cuando se esta utilizando una pagina que utliza el controlador.
*/
private void init() {
try {
decomiso = DecomisoController.findByCodigo(cDecomiso);
if(decomiso!=null){
provincia = ProvinceController.getDescProvByCodigo(decomiso.getCountrycode(), decomiso.getProvincecode());
canton = CantonController.getDescCantonByCodigo(decomiso.getCountrycode(), decomiso.getProvincecode(), decomiso.getCantoncode());
ciudad = CityController.getDescCiudadByCodigo(decomiso.getCountrycode(), decomiso.getProvincecode(), decomiso.getCantoncode(), decomiso.getCitycode());
parroquia = ParroquiaController.getDescParroquiaByCodigo(decomiso.getCountrycode(), decomiso.getProvincecode(), decomiso.getCantoncode(), decomiso.getParroquiacode());
gradoCatalogDatail = CatalogDetailController.findxCodigoCodcatalogo(decomiso.getGradofuncionario(), decomiso.getGradofuncionariocode());
TarmCentroControl centroControl = CentroControlArmasController.findPorCodigo(decomiso.getCcentrocontrol());
unidadCatalogDatail = CatalogDetailController.findxCodigoCodcatalogo(centroControl.getNombreinstitucion(), centroControl.getNombreinstitucioncodigo());
decomisoArmaController.addFilter("cdecomiso", cDecomiso);
decomisoArmaController.query();
isEnableImprimir = Boolean.FALSE;
}
else{
MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_numReciboNoRegistrado"));
}
btnFlujo=Boolean.FALSE;
} catch (Exception e) {
MessageHelper.setMessageError(e);
}
}
@Override
public void query() {
try {
this.decomisoArmaController.query();
} catch (Throwable e) {
MessageHelper.setMessageError(e);
}
}
@Override
public void next() {
try {
if(cDecomiso!=null){
this.decomisoArmaController.next();
}
} catch (Throwable e) {
MessageHelper.setMessageError(e);
}
}
@Override
public void previous() {
try {
if(cDecomiso!=null){
this.decomisoArmaController.previous();
}
} catch (Throwable e) {
MessageHelper.setMessageError(e);
}
}
/**
* Crea una instancia de TgeneTransactionProcess y marca el registro como nuevo.
*
* @throws Exception
*/
@Override
public void create() throws Exception {
super.create();
}
@SuppressWarnings("unchecked")
@Override
protected void querydatabase() {
try {
DtoQuery dto = super.getDtoQuery(true);
dto.setOrderby("t.pk");
HashMap<String, DtoQuery> mtables = new HashMap<String, DtoQuery>();
mtables.put(beanalias, dto); // permite adicionar mas de una tabla.
Request request = callerhelper.getRequest();
request.setQueryTables(mtables);
Response resp = callerhelper.executeQuery(request);
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) != 0) {
lrecord = new ArrayList<AbstractDataTransport>();
MessageHelper.setMessageError(resp);
} else {
lrecord = (List<AbstractDataTransport>) resp.get(beanalias);
super.postQuery(lrecord);
}
} catch (Throwable e) {
MessageHelper.setMessageError(e);
}
}
@Override
public void save() {
try {
if(decomisoArmaObj==null || decomisoArmaObj.getEnbodega()==null || decomisoArmaObj.getEnbodega().compareTo("Y")!=0){
MessageHelper.setMessageWarn(MsgControlArmas.getProperty("msg_proceso"));
return;
}
Request request = this.callerhelper.getRequest();
HashMap<String, DtoSave> msave = new HashMap<String, DtoSave>();
DtoSave dtosaveDA = decomisoArmaController.getDtoSave();
if(dtosaveDA.pendingProcess()){
dtosaveDA.setReturnpk(true);
msave.put(this.decomisoArmaController.getBeanalias(), dtosaveDA);
}
request.setSaveTables(msave);
Response resp = this.callerhelper.executeSave(request);
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) {
this.decomisoArmaController.postCommit(resp);
isEnableImprimir = Boolean.TRUE;
btnFlujo=Boolean.TRUE;
MessageHelper.setMessageInfo(resp);
} else {
MessageHelper.setMessageError(resp);
}
} catch (Throwable e) {
MessageHelper.setMessageError(e);
}
}
/**
* Metodo para finalizar la tarea del flujo
*/
public void completarTarea() {
try {
Request request = callerhelper.getRequest();
// limpiar request para finalizar la tarea.
super.cleanRequest(request);
request.modifiedData().put("cdecomiso",cDecomiso);
request.modifiedData().put("TID", tid);
request.modifiedData().put("BPMStatus", bpmDataStatus == null ? "A" : bpmDataStatus); // A,D,R
request.modifiedData().put("BPMObs",bpmDataComment == null ? "OK" : bpmDataComment);
Response resp = callerhelper.executeSave(request);
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) {
MessageHelper.setMessageInfo(resp);
btnFlujo=Boolean.FALSE;
RequestContext.getCurrentInstance().execute("Maia.refreshusertasks()");
} else {
MessageHelper.setMessageError(resp);
}
} catch (Throwable e) {
MessageHelper.setMessageError(e);
}
}
@Override
public void postCommit(Response response) throws Exception {
super.postCommitGeneric(response, beanalias);
}
public DecomisoArmaController getDecomisoArmaController() {
return decomisoArmaController;
}
public void setDecomisoArmaController(
DecomisoArmaController decomisoArmaController) {
this.decomisoArmaController = decomisoArmaController;
}
public TarmDecomiso getDecomiso() {
return decomiso;
}
public void setDecomiso(TarmDecomiso decomiso) {
this.decomiso = decomiso;
}
public String getProvincia() {
return provincia;
}
public void setProvincia(String provincia) {
this.provincia = provincia;
}
public String getCanton() {
return canton;
}
public void setCanton(String canton) {
this.canton = canton;
}
public String getCiudad() {
return ciudad;
}
public void setCiudad(String ciudad) {
this.ciudad = ciudad;
}
public String getParroquia() {
return parroquia;
}
public void setParroquia(String parroquia) {
this.parroquia = parroquia;
}
public TgeneCatalogDetail getGradoCatalogDatail() {
return gradoCatalogDatail;
}
public void setGradoCatalogDatail(TgeneCatalogDetail gradoCatalogDatail) {
this.gradoCatalogDatail = gradoCatalogDatail;
}
public TgeneCatalogDetail getUnidadCatalogDatail() {
return unidadCatalogDatail;
}
public void setUnidadCatalogDatail(TgeneCatalogDetail unidadCatalogDatail) {
this.unidadCatalogDatail = unidadCatalogDatail;
}
public TarmDecomisoArma getDecomisoArmaObj() {
return decomisoArmaObj;
}
public void setDecomisoArmaObj(TarmDecomisoArma decomisoArmaObj) {
this.decomisoArmaObj = decomisoArmaObj;
}
public Boolean getIsEnableImprimir() {
return isEnableImprimir;
}
public void setIsEnableImprimir(Boolean isEnableImprimir) {
this.isEnableImprimir = isEnableImprimir;
}
public void seleccionarArma(AjaxBehaviorEvent event){
try {
SelectBooleanCheckbox booleanCheckbox = (SelectBooleanCheckbox) event.getComponent();
decomisoArmaObj = (TarmDecomisoArma) booleanCheckbox.getAttributes().get("armaDecomisadaObj");
boolean checked = (Boolean) booleanCheckbox.getValue();
if (checked) {
decomisoArmaObj.setEnbodega("Y");
}else{
decomisoArmaObj.setEnbodega(null);
}
decomisoArmaController.update(decomisoArmaObj);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Boolean getBtnFlujo() {
return btnFlujo;
}
public void setBtnFlujo(Boolean btnFlujo) {
this.btnFlujo = btnFlujo;
}
}