306 lines
9.5 KiB
Plaintext
Executable File
306 lines
9.5 KiB
Plaintext
Executable File
package com.fp.frontend.controller.armas.solicitud;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import javax.annotation.PostConstruct;
|
|
import javax.faces.bean.ManagedBean;
|
|
import javax.faces.bean.ManagedProperty;
|
|
import javax.faces.bean.ViewScoped;
|
|
|
|
import org.primefaces.context.RequestContext;
|
|
|
|
import com.fp.dto.AbstractDataTransport;
|
|
import com.fp.dto.Request;
|
|
import com.fp.dto.Response;
|
|
import com.fp.dto.save.DtoSave;
|
|
import com.fp.frontend.controller.AbstractController;
|
|
import com.fp.frontend.controller.pgeneral.gene.CatalogDetailController;
|
|
import com.fp.frontend.controller.pgeneral.gene.ParametersController;
|
|
import com.fp.frontend.helper.MessageHelper;
|
|
import com.fp.frontend.utility.MsgGeneral;
|
|
import com.fp.persistence.parmas.soli.TarmCabRepDestruirArmas;
|
|
import com.fp.persistence.parmas.soli.TarmDecomisoArma;
|
|
import com.fp.persistence.parmas.soli.TarmDetRepDestruirArmas;
|
|
import com.fp.persistence.pgeneral.gene.TgeneCatalogDetail;
|
|
import com.fp.persistence.pgeneral.gene.TgeneParameters;
|
|
|
|
/**
|
|
* Clase controladora de la revision de reporte de armas a destruirse por parte del jefe del comando conjunto
|
|
* @author JALVARADO
|
|
*
|
|
*/
|
|
@SuppressWarnings("serial")
|
|
@ManagedBean
|
|
@ViewScoped
|
|
public class RevisarRprteArmasADestJefCCController extends AbstractController<AbstractDataTransport> {
|
|
|
|
private Integer creporte;
|
|
private Date fechaCorte;
|
|
private String estado;
|
|
|
|
/**
|
|
* lista del catalogo de las acciones (Aceptar o rechazar)
|
|
**/
|
|
private List<TgeneCatalogDetail> laccion;
|
|
|
|
/**
|
|
* Variable que indica si el funcionario esta negado para iniciar el flujo y enviar el reporte a su superior para aprobacion
|
|
*/
|
|
private Boolean isDenied;
|
|
|
|
private String observacion;
|
|
|
|
private TarmCabRepDestruirArmas tarmCabRepDestruirArmas;
|
|
|
|
@ManagedProperty(value="#{cabRepDestruirArmasController}")
|
|
private CabRepDestruirArmasController cabRepDestruirArmasController;
|
|
|
|
@ManagedProperty(value="#{detRepDestruirArmasController}")
|
|
private DetRepDestruirArmasController detRepDestruirArmasController;
|
|
|
|
@ManagedProperty(value="#{decomisoArmaController}")
|
|
private DecomisoArmaController decomisoArmaController;
|
|
|
|
|
|
public RevisarRprteArmasADestJefCCController() throws Exception {
|
|
super(AbstractDataTransport.class);
|
|
// TODO Auto-generated constructor stub
|
|
}
|
|
|
|
@PostConstruct
|
|
private void postconstruct() {
|
|
super.startQuery();
|
|
if(this.getMfilters().get("creporte")!=null){
|
|
creporte = Integer.parseInt(this.getMfilters().get("creporte"));
|
|
}
|
|
if(creporte!=null){
|
|
this.getMfilters().clear();
|
|
this.init();
|
|
this.querydatabase();
|
|
}
|
|
else{
|
|
detRepDestruirArmasController.setLrecord(new ArrayList<TarmDetRepDestruirArmas>());
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Incializa el controlador, cuando se esta utilizando una pagina que utliza el controlador.
|
|
*/
|
|
private void init() {
|
|
try {
|
|
isDenied = Boolean.FALSE;
|
|
tarmCabRepDestruirArmas = CabRepDestruirArmasController.findByCodigo(creporte.toString());
|
|
detRepDestruirArmasController.addFilter("creporte", creporte.toString());
|
|
detRepDestruirArmasController.query();
|
|
TgeneParameters tgeneparam=ParametersController.find("CODIGO.AR", "1");
|
|
laccion=CatalogDetailController.find("ESTADOSOLICITUD",tgeneparam.getTextvalue());
|
|
} catch (Exception e) {
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void next(){
|
|
try {
|
|
if(creporte!=null){
|
|
this.detRepDestruirArmasController.next();
|
|
}
|
|
} catch (Exception e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void previous(){
|
|
try {
|
|
if(creporte!=null){
|
|
this.detRepDestruirArmasController.previous();
|
|
}
|
|
} catch (Exception e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void querydatabase() {
|
|
|
|
}
|
|
|
|
public Integer getCreporte() {
|
|
return creporte;
|
|
}
|
|
|
|
public void setCreporte(Integer creporte) {
|
|
this.creporte = creporte;
|
|
}
|
|
|
|
public Date getFechaCorte() {
|
|
return fechaCorte;
|
|
}
|
|
|
|
public void setFechaCorte(Date fechaCorte) {
|
|
this.fechaCorte = fechaCorte;
|
|
}
|
|
|
|
public CabRepDestruirArmasController getCabRepDestruirArmasController() {
|
|
return cabRepDestruirArmasController;
|
|
}
|
|
|
|
public void setCabRepDestruirArmasController(
|
|
CabRepDestruirArmasController cabRepDestruirArmasController) {
|
|
this.cabRepDestruirArmasController = cabRepDestruirArmasController;
|
|
}
|
|
|
|
public DetRepDestruirArmasController getDetRepDestruirArmasController() {
|
|
return detRepDestruirArmasController;
|
|
}
|
|
|
|
public void setDetRepDestruirArmasController(
|
|
DetRepDestruirArmasController detRepDestruirArmasController) {
|
|
this.detRepDestruirArmasController = detRepDestruirArmasController;
|
|
}
|
|
|
|
public TarmCabRepDestruirArmas getTarmCabRepDestruirArmas() {
|
|
return tarmCabRepDestruirArmas;
|
|
}
|
|
|
|
public void setTarmCabRepDestruirArmas(
|
|
TarmCabRepDestruirArmas tarmCabRepDestruirArmas) {
|
|
this.tarmCabRepDestruirArmas = tarmCabRepDestruirArmas;
|
|
}
|
|
|
|
public DecomisoArmaController getDecomisoArmaController() {
|
|
return decomisoArmaController;
|
|
}
|
|
|
|
public void setDecomisoArmaController(
|
|
DecomisoArmaController decomisoArmaController) {
|
|
this.decomisoArmaController = decomisoArmaController;
|
|
}
|
|
|
|
public List<TgeneCatalogDetail> getLaccion() {
|
|
return laccion;
|
|
}
|
|
|
|
public void setLaccion(List<TgeneCatalogDetail> laccion) {
|
|
this.laccion = laccion;
|
|
}
|
|
|
|
public Boolean getIsDenied() {
|
|
return isDenied;
|
|
}
|
|
|
|
public void setIsDenied(Boolean isDenied) {
|
|
this.isDenied = isDenied;
|
|
}
|
|
|
|
public String getEstado() {
|
|
return estado;
|
|
}
|
|
|
|
public void setEstado(String estado) {
|
|
this.estado = estado;
|
|
}
|
|
|
|
public String getObservacion() {
|
|
return observacion;
|
|
}
|
|
|
|
public void setObservacion(String observacion) {
|
|
this.observacion = observacion;
|
|
}
|
|
|
|
public String codigoAceptado() throws Exception {
|
|
TgeneParameters f = ParametersController.find("ACEPTADO", "1");
|
|
return f.getTextvalue();
|
|
}
|
|
|
|
@Override
|
|
public void save() {
|
|
try {
|
|
Request request = this.callerhelper.getRequest();
|
|
HashMap<String, DtoSave> msave = new HashMap<String, DtoSave>();
|
|
if(observacion!=null){
|
|
request.modifiedData().put("observacion", observacion);
|
|
tarmCabRepDestruirArmas.setObsjefecc(observacion);
|
|
tarmCabRepDestruirArmas.setIsnew(Boolean.FALSE);
|
|
cabRepDestruirArmasController.update(tarmCabRepDestruirArmas);
|
|
DtoSave dtoSaveCAC = cabRepDestruirArmasController.getDtoSave();
|
|
if(dtoSaveCAC.pendingProcess()){
|
|
dtoSaveCAC.setPosition(1);
|
|
msave.put(cabRepDestruirArmasController.getBeanalias(), dtoSaveCAC);
|
|
}
|
|
}
|
|
// Si el reporte es rechazado se vuelven las armas del reporte a la lista de armas para ser seleccionadas en nuevos reportes
|
|
if (!codigoAceptado().equals(estado)){
|
|
for(TarmDetRepDestruirArmas armasDecomRprteObj:detRepDestruirArmasController.getLrecord()){
|
|
TarmDecomisoArma armasDecomisadasObj = DecomisoArmaController.findByCodigo(armasDecomRprteObj.getCdecomisoarma());
|
|
armasDecomisadasObj.setAdestruirse(null);
|
|
armasDecomisadasObj.setAdestruirsecode(null);
|
|
armasDecomisadasObj.setIsnew(Boolean.FALSE);
|
|
decomisoArmaController.update(armasDecomisadasObj);
|
|
}
|
|
DtoSave dtoSaveDAC = decomisoArmaController.getDtoSave();
|
|
if(dtoSaveDAC.pendingProcess()){
|
|
dtoSaveDAC.setPosition(2);
|
|
msave.put(decomisoArmaController.getBeanalias(), dtoSaveDAC);
|
|
}
|
|
}
|
|
request.setSaveTables(msave);
|
|
Response resp = this.callerhelper.executeSave(request);
|
|
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) {
|
|
this.postCommit(resp);
|
|
this.cabRepDestruirArmasController.postCommit(resp);
|
|
this.decomisoArmaController.postCommit(resp);
|
|
this.setShowRow(true);
|
|
MessageHelper.setMessageInfo(resp);
|
|
} else {
|
|
MessageHelper.setMessageError(resp);
|
|
}
|
|
completarTarea();
|
|
} catch (Throwable e) {
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Metodo para finalizar la tarea del flujo
|
|
*/
|
|
public void completarTarea() {
|
|
try {
|
|
Request request = callerhelper.getRequest();
|
|
|
|
super.cleanRequest(request);
|
|
// validamos si cargamos los datos cuando apruebe
|
|
Map<String,Object>datosmail = new HashMap<String,Object>();
|
|
request.modifiedData().put("TID", tid);
|
|
request.modifiedData().put("creporte", creporte);
|
|
request.modifiedData().put("BPMObs", observacion);
|
|
if (codigoAceptado().equals(estado)) {
|
|
request.modifiedData().put("BPMStatus", "A");
|
|
}else{
|
|
request.modifiedData().put("BPMStatus", "D");
|
|
}
|
|
Response resp = callerhelper.executeSave(request);
|
|
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) {
|
|
MessageHelper.setMessageInfo(resp, MsgGeneral.getProperty("msg_initFlow") + "jefe dpto - CREPORTE: " + creporte);
|
|
isDenied = Boolean.TRUE;
|
|
RequestContext.getCurrentInstance().execute("Maia.refreshusertasks()");
|
|
} else {
|
|
MessageHelper.setMessageError(resp);
|
|
}
|
|
|
|
} catch (Throwable e) {
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
}
|