package com.fp.frontend.controller.armas.solicitud; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; 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 javax.faces.context.FacesContext; import org.primefaces.context.RequestContext; import org.primefaces.event.FileUploadEvent; import org.primefaces.event.SelectEvent; import org.primefaces.model.UploadedFile; 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.alfresco.AlfrescoController; import com.fp.frontend.controller.armas.funcionalidad.CargaController; import com.fp.frontend.controller.armas.lov.SitioAlmacenamientoLovController; import com.fp.frontend.controller.armas.parametros.CentroControlArmasController; import com.fp.frontend.controller.armas.parametros.IngresoDatosTipoTramite; import com.fp.frontend.controller.pcustomer.PersonAddressController; import com.fp.frontend.controller.pcustomer.PersonDetailController; import com.fp.frontend.controller.pcustomer.PersonPhoneController; import com.fp.frontend.controller.pgeneral.gene.ParametersController; import com.fp.frontend.helper.MessageHelper; import com.fp.frontend.utility.MsgControlArmas; import com.fp.frontend.utility.Utilidades; import com.fp.persistence.parmas.fun.TarmCarga; import com.fp.persistence.parmas.param.TarmSitioAlmacenamiento; import com.fp.persistence.parmas.param.TarmTramite; import com.fp.persistence.parmas.soli.TarmAgenciaArma; import com.fp.persistence.parmas.soli.TarmSolicitudAgenciaSucursal; import com.fp.persistence.parmas.soli.TarmSolicitudArmas; import com.fp.persistence.parmas.soli.TarmSolicitudTramite; import com.fp.persistence.pcustomer.gene.TcustPersonAddress; import com.fp.persistence.pcustomer.gene.TcustPersonDetail; import com.fp.persistence.pcustomer.gene.TcustPersonPhone; import com.fp.persistence.pgeneral.gene.TgeneParameters; import com.fp.persistence.pgeneral.safe.TsafeUserDetail; /** * Clase controladora del bean TgeneInspeccion. * * @author C.P. * @version 2.1 */ @SuppressWarnings("serial") @ManagedBean @ViewScoped public class RegistroInspeccionController extends AbstractController{ public RegistroInspeccionController() throws Exception { super(AbstractDataTransport.class); } /** * Atributo para obtener el valor del flujo */ private String codigoSolicitud; /** * Atributo para obtener el valor del flujo */ private String numeroSolicitud; @ManagedProperty(value = "#{inspeccionController}") private InspeccionController inspeccionController; @ManagedProperty(value = "#{solicitudTramiteController}") private SolicitudTramiteController solicitudTramiteController; @ManagedProperty(value = "#{solicitudArmasController}") private SolicitudArmasController solicitudArmasController; @ManagedProperty(value = "#{personDetailController}") private PersonDetailController persondetail; @ManagedProperty(value = "#{personAddressController}") private PersonAddressController address; @ManagedProperty(value = "#{centroControlArmasController}") private CentroControlArmasController centroControlArmasController; @ManagedProperty(value = "#{personPhoneController}") private PersonPhoneController personPhoneController; //PARA LOS ARCHIVOS @ManagedProperty(value = "#{inspeccionArchivoController}") private InspeccionArchivoController inspeccionArchivoController; // TRAMITE @ManagedProperty(value = "#{ingresoDatosTipoTramite}") private IngresoDatosTipoTramite tarmTramiteController; @ManagedProperty(value = "#{alfrescoController}") private AlfrescoController alfrescoController; /** * Controlador que maneja las armas asociadas a las agencias */ @ManagedProperty(value="#{agenciaArmaController}") private AgenciaArmaController agenciaArma; /** * Controlador que maneja cargas para previa importacion */ @ManagedProperty(value = "#{cargaController}") private CargaController cargaController; /** * Campo para seleccionar si el tramite sigue el proceso */ private Boolean tramiteProceso=Boolean.FALSE; /** * Campo para seleccionar si se niega el tramite */ private Boolean tramiteProcesoNegar=Boolean.FALSE; private String aplicaDecomiso; private Integer codigoPersona; //sitio de almacenamiento private TarmSitioAlmacenamiento sitioAlmacenamiento; //propietario private TcustPersonAddress personAddressDireccion; private TcustPersonAddress personAddressCorreo; private TcustPersonDetail tcustPersonDetailProp; private TcustPersonPhone personPhoneDomiProp; //PERSONA RESPONSABLE private TcustPersonDetail tcustPersonDetailResp; /** * campo para cargar al usuario logeado */ private TsafeUserDetail tsafeUserDetail; private TcustPersonPhone personPhoneDomiResp; private TcustPersonPhone personPhoneCelResp; private TcustPersonAddress personAddressCorreoresp; /** * Atributos para cargar los archivos */ private UploadedFile file; private UploadedFile uploadedFileFoto1; private UploadedFile uploadedFileFoto2; private UploadedFile uploadedFileFoto3; /** * Atributos para obtener los codigos pra las validaciones */ private String codigoMail; private String codigoOficina; private String codigoPhoneFijo; private String codigoPhoneCelular; /** * campo para desabilitar el boton */ private Boolean btn=Boolean.FALSE; private Boolean btnFlujo; @PostConstruct private void postconstruct() { this.init(); // Inicializa autoconsulta this.startQuery(); querydatabase(); } public void startQuery() { try { this.pasteBpmScreenParameters(); codigoSolicitud=super.getMfilters().get("csolicitud"); super.getMfilters().clear(); } catch (Exception e) { MessageHelper.setMessageError(e); } } /** * Incializa variables del controlador, cuando se esta utilizando una pagina que utliza el controlador. */ private void init() { try { this.recperpage = 15; // Cambiar al # reg a mirar. this.lrecord = new ArrayList<>(); this.beanalias = "REGISTROINSP"; inspeccionController.create(); inspeccionArchivoController.create(); sitioAlmacenamiento= new TarmSitioAlmacenamiento(); //propietario personAddressDireccion= new TcustPersonAddress(); personAddressCorreo= new TcustPersonAddress(); tcustPersonDetailProp= new TcustPersonDetail(); personPhoneDomiProp= new TcustPersonPhone(); //PERSONA RESPONSABLE tcustPersonDetailResp= new TcustPersonDetail(); tsafeUserDetail= new TsafeUserDetail(); personPhoneDomiResp= new TcustPersonPhone(); personPhoneCelResp= new TcustPersonPhone(); personAddressCorreoresp= new TcustPersonAddress(); //se obtiene el usuario logeado tsafeUserDetail=(TsafeUserDetail)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL"); //codigos codigoMail=codigoParameter("CODIGO.MAIL"); codigoOficina=codigoParameter("CODIGO.OFICINA"); codigoPhoneFijo=codigoParameter("CODIGO.PHONE.FIJO"); codigoPhoneCelular=codigoParameter("CODIGO.PHONE.CELULAR"); btnFlujo=Boolean.FALSE; } catch (Exception e) { MessageHelper.setMessageError(e); } } public String codigoParameter(String codigo){ TgeneParameters parameter= ParametersController.find(codigo, "1"); return parameter.getTextvalue(); } @Override protected void querydatabase() { try { solicitudArmasController.getMfilters().clear(); solicitudArmasController.getMfilters().put("pk", codigoSolicitud); solicitudArmasController.query();//devuelve el record codigoPersona=solicitudArmasController.getRecord().getPersoncode(); String centroControl=solicitudArmasController.getRecord().getCcentrocontrol(); Long ctramite=solicitudArmasController.getRecord().getCtramite(); numeroSolicitud=solicitudArmasController.getRecord().getNumerosolicitud(); solicitudTramiteController.getMfilters().clear(); solicitudTramiteController.getMfilters().put("pk.csolicitud", codigoSolicitud); solicitudTramiteController.getMfilters().put("pk.ctramite", solicitudArmasController.getRecord().getCtramite().toString()); solicitudTramiteController.query(); solicitudTramiteController.setRecord(solicitudTramiteController.getLrecord().get(0)); persondetail.getMfilters().clear(); persondetail.getMfilters().put("pk.personcode", codigoPersona.toString()); persondetail.addFilterDateto(); persondetail.query(); tcustPersonDetailProp=persondetail.getRecord(); address.getMfilters().clear(); address.addPersoncodeFilter(codigoPersona.toString()); address.addFilterDateto(); address.query(); if(address.getLrecord()!=null && address.getLrecord().size()>0){ for(TcustPersonAddress direccion:address.getLrecord()){ if(direccion.getAddresstypecatalog().equals(codigoOficina)){//1-CODIGO.OFICINA personAddressDireccion=direccion; }else{ personAddressCorreo=direccion; } } } //telefono personPhoneController.getMfilters().clear(); personPhoneController.addPersoncodeFilter(codigoPersona.toString()); personPhoneController.addFilterDateto(); personPhoneController.getMfilters().put("phonetypecatalog", codigoPhoneFijo);//1 CODIGO.PHONE.FIJO personPhoneController.query(); if(personPhoneController.getLrecord()!=null && personPhoneController.getLrecord().size()>0){ personPhoneDomiProp=personPhoneController.getLrecord().get(0); } centroControlArmasController.getMfilters().clear(); centroControlArmasController.getMfilters().put("pk", centroControl); centroControlArmasController.query(); centroControlArmasController.setRecord(centroControlArmasController.getLrecord().get(0)); String numOrdenTrabajo=""; if(solicitudTramiteController.getRecord().getNumerotramite().contains("TRA")){ numOrdenTrabajo=solicitudTramiteController.getRecord().getNumerotramite().replace("TRA", "INS"); }else{ numOrdenTrabajo="TRA"+solicitudTramiteController.getRecord().getNumerotramite(); } inspeccionController.getRecord().setNumordentrabajo(numOrdenTrabajo); inspeccionController.getRecord().setFecharegistro(new Date(new java.util.Date().getTime())); //TRAMITE tarmTramiteController.getMfilters().clear(); tarmTramiteController.getMfilters().put("pk", ctramite.toString()); tarmTramiteController.query(); if(tarmTramiteController.getLrecord()!= null && tarmTramiteController.getLrecord().size()>0){ tarmTramiteController.setRecord(tarmTramiteController.getLrecord().get(0)); } //responsable--------------------------------------------------------------------------------------- persondetail.getMfilters().clear(); persondetail.getMfilters().put("pk.personcode", tsafeUserDetail.getPk().getPersoncode().toString()); persondetail.getMfilters().put("pk.dateto", tsafeUserDetail.getPk().getDateto().toString()); persondetail.query(); tcustPersonDetailResp=persondetail.getRecord(); personPhoneController.getMfilters().clear(); personPhoneController.addPersoncodeFilter(tsafeUserDetail.getPk().getPersoncode().toString()); personPhoneController.addFilterDateto(); personPhoneController.query(); if(personPhoneController.getLrecord()!=null && personPhoneController.getLrecord().size()>0){ for(TcustPersonPhone tel:personPhoneController.getLrecord()){ if(tel.getPhonetypecatalog().equals(codigoPhoneFijo)){ // CODIGO.PHONE.FIJO personPhoneDomiResp=tel; }else if(tel.getPhonetypecatalog().equals(codigoPhoneCelular)){// CODIGO.PHONE.CELULAR personPhoneCelResp=tel; } } } address.getMfilters().clear(); address.addPersoncodeFilter(tsafeUserDetail.getPk().getPersoncode().toString()); address.addFilterDateto(); address.getMfilters().put("addresstypecatalog", codigoMail);// 3 CODIGO.MAIL personaddress address.query(); if(address.getLrecord()!=null && address.getLrecord().size()>0){ address.setRecord(address.getLrecord().get(0)); personAddressCorreoresp=address.getRecord(); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } /** * Método para manejar el evento change en el CheckBox */ public void onChangeAprobar() { if (tramiteProceso) { tramiteProcesoNegar=false; inspeccionController.getRecord().setTramiteproceso("Y"); } else { tramiteProcesoNegar=true; inspeccionController.getRecord().setTramiteproceso("N"); } aplicaDecomiso=null; } /** * Método para manejar el evento change en el CheckBox */ public void onChangeRechazar() { if (tramiteProcesoNegar) { tramiteProceso=false; inspeccionController.getRecord().setTramiteproceso("N"); } else { tramiteProceso=true; inspeccionController.getRecord().setTramiteproceso("Y"); } aplicaDecomiso="N"; } //lov de persona /** * Método para abrir el lov de personas */ public void openSitioLov() { if(codigoPersona==null || codigoPersona==0){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_realizelabusqueda")); return; } Map> params = new HashMap<>(); List lcat = new ArrayList<>(); lcat.add(codigoPersona.toString()); params.put("personcode", lcat); SitioAlmacenamientoLovController.openLov(params); } /** * Maneja la respuesta del Lov de Personas * @param event * @throws Exception */ public void onReturnSitioLov(SelectEvent event) throws Exception { sitioAlmacenamiento=(TarmSitioAlmacenamiento) event.getObject();; } @Override public void save() { Boolean msg=Boolean.FALSE; try { if(sitioAlmacenamiento==null || sitioAlmacenamiento.getPk()==null || sitioAlmacenamiento.getPk().trim().length()==0){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_seleccionenesitioinspeccion")); msg=Boolean.TRUE; } if(tramiteProceso== false && tramiteProcesoNegar == false){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_seleccionenegarocontinuartramiteproceso")); msg=Boolean.TRUE; } if(msg){ return; } HashMap msave = new HashMap(); Request request = callerhelper.getRequest(); if(!saveWithDocumentAlfresco()){ return; } if(tramiteProceso){ bpmDataStatus="A"; // request.modifiedData().put("BPMStatus", bpmDataStatus == null ? "A" : bpmDataStatus); // A,D,R }else{ if(aplicaDecomiso==null ||(!aplicaDecomiso.equals("Y") && !aplicaDecomiso.equals("N"))){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_seleccionesionoenaplicadecomiso")); return; } inspeccionController.getRecord().setAplicadecomiso(aplicaDecomiso); bpmDataStatus="D"; //request.modifiedData().put("BPMStatus", bpmDataStatus == null ? "D" : bpmDataStatus); // A,D,R } //request.modifiedData().put("csolicitud",codigoSolicitud); //request.modifiedData().put("TID", tid); bpmDataComment= inspeccionController.getRecord().getObservacion(); //request.modifiedData().put("BPMObs", inspeccionController.getRecord().getObservacion()); inspeccionController.getRecord().setPlanificado("T"); inspeccionController.getRecord().setCsolicitud(codigoSolicitud); inspeccionController.getRecord().setCtramite(solicitudArmasController.getRecord().getCtramite()); inspeccionController.getRecord().setCsitioalmacenamiento(sitioAlmacenamiento.getPk()); inspeccionController.getRecord().setPersoncode(tsafeUserDetail.getPk().getPersoncode()); inspeccionController.update(); DtoSave dtosaveInspeccion = inspeccionController.getDtoSave(); dtosaveInspeccion.setReturnpk(true); DtoSave dtosave = inspeccionArchivoController.getDtoSave(); dtosave.setReturnpk(true); // Para que el core devuelva el pk de los registros nuevos. msave.put(inspeccionController.getBeanalias(), dtosaveInspeccion); // adicionar metadata de mantenimiento para cada tabla. msave.put(inspeccionArchivoController.getBeanalias(), dtosave); // adicionar metadata de mantenimiento para cada tabla. request.setSaveTables(msave); Response resp = callerhelper.executeSave(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) { this.postCommit(resp); MessageHelper.setMessageInfo(resp); btn=Boolean.TRUE; btnFlujo=Boolean.TRUE; } else { MessageHelper.setMessageError(resp); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } public void handleUpload(FileUploadEvent event){ file = event.getFile(); } /** * Método para cargar el archivo pdf * @param event */ public void upload(FileUploadEvent event) { file = event.getFile(); } /** * Método para cargar la imagen 1 * @param event */ public void upload1(FileUploadEvent event) { uploadedFileFoto1 = event.getFile(); } /** * Método para cargar la imagen 2 * @param event */ public void upload2(FileUploadEvent event) { uploadedFileFoto2 = event.getFile(); } /** * Método para cargar la imagen 3 * @param event */ public void upload3(FileUploadEvent event) { uploadedFileFoto3 = event.getFile(); } /** * Método para cargar los archivos al alfresco * */ public Boolean saveWithDocumentAlfresco() { try { Boolean msgArchivos=Boolean.FALSE; //pdf if(file==null || file.getFileName()==null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_ingreseelformatodeinspeccion")); msgArchivos=Boolean.TRUE; } if(uploadedFileFoto1==null || uploadedFileFoto1.getFileName()==null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_ingreselafoto1")); msgArchivos=Boolean.TRUE; } if(uploadedFileFoto2==null || uploadedFileFoto2.getFileName()==null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_ingreselafoto2")); msgArchivos=Boolean.TRUE; } if(uploadedFileFoto3==null || uploadedFileFoto3.getFileName()==null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_ingreselafoto3")); msgArchivos=Boolean.TRUE; } if(msgArchivos){ return false; } String xPathLocation= getRutaDocumentoSolBase() + "/cm:"+numeroSolicitud+"/cm:Inspeccion"; //String xphat1="FormatoInspeccion-"+forma.format(fecha)+extencionArchivo(file.getFileName()); String xphat1=eliminaCaractersEspeciales(Utilidades.obtieneNombreLimpio(recorteNombre(file.getFileName()))); if(alfrescoController.uploadFile(file.getInputstream(),xphat1, xPathLocation)){ inspeccionArchivoController.create(); inspeccionArchivoController.getRecord().setXpath(xPathLocation + "/cm:"+xphat1); String fielname=file.getFileName(); if(fielname.length()>99){ fielname=fielname.substring(0, 95)+extencionArchivo(file.getFileName()); } inspeccionArchivoController.getRecord().setDescripcion(fielname); inspeccionArchivoController.update(); }else{ return false; } //String xphat2="Foto1-"+forma.format(fecha)+extencionArchivo(uploadedFileFoto1.getFileName()); String xphat2=eliminaCaractersEspeciales(Utilidades.obtieneNombreLimpio(recorteNombre(uploadedFileFoto1.getFileName()))); if(alfrescoController.uploadFile(uploadedFileFoto1.getInputstream(),xphat2, xPathLocation)){ inspeccionArchivoController.create(); inspeccionArchivoController.getRecord().setXpath(xPathLocation + "/cm:"+xphat2); String fielname=uploadedFileFoto1.getFileName(); if(fielname.length()>99){ fielname=fielname.substring(0, 95)+extencionArchivo(uploadedFileFoto1.getFileName()); } inspeccionArchivoController.getRecord().setDescripcion(fielname); inspeccionArchivoController.update(); }else{ return false; } //String xphat3="Foto2-"+forma.format(fecha)+extencionArchivo(uploadedFileFoto2.getFileName()); String xphat3=eliminaCaractersEspeciales(Utilidades.obtieneNombreLimpio(recorteNombre(uploadedFileFoto2.getFileName()))); if(alfrescoController.uploadFile(uploadedFileFoto2.getInputstream(),xphat3, xPathLocation)){ inspeccionArchivoController.create(); inspeccionArchivoController.getRecord().setXpath(xPathLocation + "/cm:"+xphat3); String fielname=uploadedFileFoto2.getFileName(); if(fielname.length()>99){ fielname=fielname.substring(0, 95)+extencionArchivo(uploadedFileFoto2.getFileName()); } inspeccionArchivoController.getRecord().setDescripcion(fielname); inspeccionArchivoController.update(); }else{ return false; } //String xphat4="Foto3-"+forma.format(fecha)+extencionArchivo(uploadedFileFoto3.getFileName()); String xphat4=eliminaCaractersEspeciales(Utilidades.obtieneNombreLimpio(recorteNombre(uploadedFileFoto3.getFileName()))); if(alfrescoController.uploadFile(uploadedFileFoto3.getInputstream(),xphat4, xPathLocation)){ inspeccionArchivoController.create(); inspeccionArchivoController.getRecord().setXpath(xPathLocation + "/cm:"+xphat4); String fielname=uploadedFileFoto3.getFileName(); if(fielname.length()>99){ fielname=fielname.substring(0, 95)+extencionArchivo(uploadedFileFoto3.getFileName()); } inspeccionArchivoController.getRecord().setDescripcion(fielname); inspeccionArchivoController.update(); }else{ return false; } } catch (Exception e) { MessageHelper.setMessageError(e); } catch (Throwable e) { MessageHelper.setMessageError(e); } return true; } public String eliminaCaractersEspeciales(String nombre){ nombre=nombre.replace("(", ""); nombre=nombre.replace(")", ""); String numero="1234567890"; if(numero.contains(nombre.substring(0, 1))){ nombre=nombre.replace(nombre.substring(0, 1), "A"); } if(nombre.length()<10){ nombre="ARC"+nombre; } return nombre; } /** * obtiene la extencion del archivo * @param nombre * @return */ private String extencionArchivo(String nombre){ int pos=nombre.lastIndexOf('.'); nombre=nombre.substring(pos); return nombre; } /** * recorta el nombre * @param nombre * @return */ public String recorteNombre(String nombre){ String fielname=nombre; if(fielname.length()>30){ fielname=fielname.substring(0,30)+extencionArchivo(nombre); } return fielname; } /** * Retorna la ruta de documento base en donde se almacenará dicho archivo * * @return */ public String getRutaDocumentoSolBase() { Calendar calendar = Calendar.getInstance(); calendar.setTime(inspeccionController.getRecord().getFecharegistro()); StringBuilder ruta = new StringBuilder("cm:Solicitudes"); ruta = ruta.append("/cm:A-").append(calendar.get(Calendar.YEAR)); ruta = ruta.append("/cm:M-").append((calendar.get(Calendar.MONTH)+1) <= 9 ? "0" + (calendar.get(Calendar.MONTH) + 1) : (calendar.get(Calendar.MONTH)+1)); return ruta.toString(); } /** * 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("csolicitud", codigoSolicitud); request.modifiedData().put("TID", tid); request.modifiedData().put("BPMStatus", bpmDataStatus == null ? "-" : bpmDataStatus); // A,D,R request.modifiedData().put("BPMObs", bpmDataComment == null ? "OK" : bpmDataComment); if(bpmDataStatus!= null && bpmDataStatus.equals("D")){ Mapdatosmail = new HashMap(); datosmail.put("razons",tcustPersonDetailProp.getName()); datosmail.put("sol",solicitudArmasController.getRecord().getNumerosolicitud()); datosmail.put("observaciones",bpmDataComment); //grado funcionario de la persona logeada TsafeUserDetail userDetailObj=(TsafeUserDetail)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL"); TcustPersonDetail personDetailObj=PersonDetailController.find(userDetailObj.getPk().getPersoncode().toString()); datosmail.put("grado",personDetailObj.getMilitarygrade()); datosmail.put("funcionario",personDetailObj.getName()); // Centro de control de armas datosmail.put("centrocontrol",centroControlArmasController.getRecord().getModifiedData().get("desnombreinstitucion")); request.modifiedData().put("datosmail", datosmail); } Response resp = callerhelper.executeSave(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) { MessageHelper.setMessageInfo(resp); if(bpmDataStatus.equals("D")){ saveAnularSolicitud(); } btnFlujo=Boolean.FALSE; RequestContext.getCurrentInstance().execute("Maia.refreshusertasks()"); } else { MessageHelper.setMessageError(resp); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } public void saveAnularSolicitud() { try { // CATEGORIA 14 PREVIA IMPORTACION TarmTramite tarmTramite = TarmTramiteController.find(this.solicitudArmasController.getRecord().getCtramite().toString()); if(tarmTramite.getCategoria().equals("14")){ desasociarCargaSolicitud(); } //Poner la solicitud en estado anulado this.solicitudArmasController.getRecord().setEstado("ANU"); this.solicitudArmasController.update(); DtoSave dtoSolicitud = this.solicitudArmasController.getDtoSave(); TarmSolicitudTramite solicitudTramiteObj = SolicitudTramiteController.findByCSolicitud(this.solicitudArmasController.getRecord().getPk()); if(solicitudTramiteObj!=null){ solicitudTramiteObj.setIsnew(false); solicitudTramiteObj.setEstadotramite("ANU"); solicitudTramiteController.updateSolicitud(solicitudTramiteObj); } //Desasociar las armas en apertura de agencias y apertura de sucursales if(this.solicitudArmasController.getRecord().getCtramite()==44 || this.solicitudArmasController.getRecord().getCtramite()==48){ List armasSolicitudList = RecepcionArmasController.findPorSolicitud(this.solicitudArmasController.getRecord().getPk()); for(TarmSolicitudArmas armaObj:armasSolicitudList){ // Codigo agencia de la solicitud ListsolicitudAgenciaLst = SolicitudAgenciaSucursalController.findPorSolicitud(this.solicitudArmasController.getRecord().getPk()); for(TarmSolicitudAgenciaSucursal solicitudAgenciaSucursalObj:solicitudAgenciaLst){ String cAgencia = solicitudAgenciaSucursalObj.getPk().getCagencia().toString(); TarmAgenciaArma agenciaArmaObj = AgenciaArmaController.findByCArma(armaObj.getPk().getCarma(), cAgencia); agenciaArma.setRecord(agenciaArmaObj); agenciaArma.remove(); } } } DtoSave dtoSolicitudTramite = solicitudTramiteController.getDtoSave(); DtoSave dtoAgenciaArma = agenciaArma.getDtoSave(); HashMap msave = new HashMap(); Request request = callerhelper.getRequest(); super.cleanRequest(request); msave.put(solicitudArmasController.getBeanalias(), dtoSolicitud); // adicionar metadata de mantenimiento para cada tabla. msave.put(solicitudTramiteController.getBeanalias(), dtoSolicitudTramite); msave.put(agenciaArma.getBeanalias(), dtoAgenciaArma); request.setSaveTables(msave); Response resp = callerhelper.executeSave(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) { solicitudArmasController.postCommit(resp); solicitudTramiteController.postCommit(resp); agenciaArma.postCommit(resp); MessageHelper.setMessageInfo(resp); } else { MessageHelper.setMessageError(resp); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } public void desasociarCargaSolicitud(){ try{ TarmCarga carga = CargaController.findByAUCP(solicitudArmasController.getRecord().getAucp()); if(carga!=null){ carga.setCsolicitud(null); cargaController.update(carga); cargaController.save(); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } public InspeccionController getInspeccionController() { return inspeccionController; } public void setInspeccionController(InspeccionController inspeccionController) { this.inspeccionController = inspeccionController; } public SolicitudTramiteController getSolicitudTramiteController() { return solicitudTramiteController; } public void setSolicitudTramiteController( SolicitudTramiteController solicitudTramiteController) { this.solicitudTramiteController = solicitudTramiteController; } public SolicitudArmasController getSolicitudArmasController() { return solicitudArmasController; } public void setSolicitudArmasController( SolicitudArmasController solicitudArmasController) { this.solicitudArmasController = solicitudArmasController; } public PersonDetailController getPersondetail() { return persondetail; } public void setPersondetail(PersonDetailController persondetail) { this.persondetail = persondetail; } public PersonAddressController getAddress() { return address; } public void setAddress(PersonAddressController address) { this.address = address; } public TarmSitioAlmacenamiento getSitioAlmacenamiento() { return sitioAlmacenamiento; } public void setSitioAlmacenamiento(TarmSitioAlmacenamiento sitioAlmacenamiento) { this.sitioAlmacenamiento = sitioAlmacenamiento; } public Boolean getTramiteProceso() { return tramiteProceso; } public void setTramiteProceso(Boolean tramiteProceso) { this.tramiteProceso = tramiteProceso; } public String getAplicaDecomiso() { return aplicaDecomiso; } public void setAplicaDecomiso(String aplicaDecomiso) { this.aplicaDecomiso = aplicaDecomiso; } public CentroControlArmasController getCentroControlArmasController() { return centroControlArmasController; } public void setCentroControlArmasController( CentroControlArmasController centroControlArmasController) { this.centroControlArmasController = centroControlArmasController; } public TcustPersonAddress getPersonAddressDireccion() { return personAddressDireccion; } public void setPersonAddressDireccion(TcustPersonAddress personAddressDireccion) { this.personAddressDireccion = personAddressDireccion; } public TcustPersonAddress getPersonAddressCorreo() { return personAddressCorreo; } public void setPersonAddressCorreo(TcustPersonAddress personAddressCorreo) { this.personAddressCorreo = personAddressCorreo; } public PersonPhoneController getPersonPhoneController() { return personPhoneController; } public void setPersonPhoneController(PersonPhoneController personPhoneController) { this.personPhoneController = personPhoneController; } public TcustPersonDetail getTcustPersonDetailProp() { return tcustPersonDetailProp; } public void setTcustPersonDetailProp(TcustPersonDetail tcustPersonDetailProp) { this.tcustPersonDetailProp = tcustPersonDetailProp; } public TcustPersonDetail getTcustPersonDetailResp() { return tcustPersonDetailResp; } public void setTcustPersonDetailResp(TcustPersonDetail tcustPersonDetailResp) { this.tcustPersonDetailResp = tcustPersonDetailResp; } public TsafeUserDetail getTsafeUserDetail() { return tsafeUserDetail; } public void setTsafeUserDetail(TsafeUserDetail tsafeUserDetail) { this.tsafeUserDetail = tsafeUserDetail; } public TcustPersonPhone getPersonPhoneDomiProp() { return personPhoneDomiProp; } public void setPersonPhoneDomiProp(TcustPersonPhone personPhoneDomiProp) { this.personPhoneDomiProp = personPhoneDomiProp; } public TcustPersonPhone getPersonPhoneDomiResp() { return personPhoneDomiResp; } public void setPersonPhoneDomiResp(TcustPersonPhone personPhoneDomiResp) { this.personPhoneDomiResp = personPhoneDomiResp; } public TcustPersonPhone getPersonPhoneCelResp() { return personPhoneCelResp; } public void setPersonPhoneCelResp(TcustPersonPhone personPhoneCelResp) { this.personPhoneCelResp = personPhoneCelResp; } public TcustPersonAddress getPersonAddressCorreoresp() { return personAddressCorreoresp; } public void setPersonAddressCorreoresp( TcustPersonAddress personAddressCorreoresp) { this.personAddressCorreoresp = personAddressCorreoresp; } public Integer getCodigoPersona() { return codigoPersona; } public void setCodigoPersona(Integer codigoPersona) { this.codigoPersona = codigoPersona; } public InspeccionArchivoController getInspeccionArchivoController() { return inspeccionArchivoController; } public void setInspeccionArchivoController( InspeccionArchivoController inspeccionArchivoController) { this.inspeccionArchivoController = inspeccionArchivoController; } public UploadedFile getFile() { return file; } public void setFile(UploadedFile file) { this.file = file; } public AlfrescoController getAlfrescoController() { return alfrescoController; } public void setAlfrescoController(AlfrescoController alfrescoController) { this.alfrescoController = alfrescoController; } public UploadedFile getUploadedFileFoto1() { return uploadedFileFoto1; } public void setUploadedFileFoto1(UploadedFile uploadedFileFoto1) { this.uploadedFileFoto1 = uploadedFileFoto1; } public UploadedFile getUploadedFileFoto2() { return uploadedFileFoto2; } public void setUploadedFileFoto2(UploadedFile uploadedFileFoto2) { this.uploadedFileFoto2 = uploadedFileFoto2; } public UploadedFile getUploadedFileFoto3() { return uploadedFileFoto3; } public void setUploadedFileFoto3(UploadedFile uploadedFileFoto3) { this.uploadedFileFoto3 = uploadedFileFoto3; } public String getCodigoSolicitud() { return codigoSolicitud; } public void setCodigoSolicitud(String codigoSolicitud) { this.codigoSolicitud = codigoSolicitud; } public IngresoDatosTipoTramite getTarmTramiteController() { return tarmTramiteController; } public void setTarmTramiteController( IngresoDatosTipoTramite tarmTramiteController) { this.tarmTramiteController = tarmTramiteController; } public Boolean getTramiteProcesoNegar() { return tramiteProcesoNegar; } public void setTramiteProcesoNegar(Boolean tramiteProcesoNegar) { this.tramiteProcesoNegar = tramiteProcesoNegar; } public Boolean getBtn() { return btn; } public void setBtn(Boolean btn) { this.btn = btn; } public Boolean getBtnFlujo() { return btnFlujo; } public void setBtnFlujo(Boolean btnFlujo) { this.btnFlujo = btnFlujo; } public AgenciaArmaController getAgenciaArma() { return agenciaArma; } public void setAgenciaArma(AgenciaArmaController agenciaArma) { this.agenciaArma = agenciaArma; } public CargaController getCargaController() { return cargaController; } public void setCargaController(CargaController cargaController) { this.cargaController = cargaController; } }