maia_modificado/.svn/pristine/76/768e24a4123640f8b0c6753aa91...

692 lines
23 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 javax.faces.context.FacesContext;
import org.primefaces.context.RequestContext;
import org.primefaces.event.SelectEvent;
import com.fp.dto.AbstractDataTransport;
import com.fp.frontend.controller.AbstractController;
import com.fp.frontend.controller.alfresco.AlfrescoController;
import com.fp.frontend.controller.armas.eval.EvaluacionController;
import com.fp.frontend.controller.armas.parametros.CashManagementHistoryController;
import com.fp.frontend.controller.armas.parametros.CentroControlArmasController;
import com.fp.frontend.controller.armas.parametros.TarmCentroControlJurController;
import com.fp.frontend.controller.armas.parametros.TarmVentaArmaTemporalController;
import com.fp.frontend.controller.pcustomer.PersonAddressController;
import com.fp.frontend.controller.pcustomer.PersonDetailController;
import com.fp.frontend.enums.EnumLovOption;
import com.fp.frontend.helper.MessageHelper;
import com.fp.frontend.utility.MsgControlArmas;
import com.fp.persistence.parmas.eval.TarmEvaluacion;
import com.fp.persistence.parmas.fun.TarmCashManagementHistory;
import com.fp.persistence.parmas.fun.TarmVentaArmaTem;
import com.fp.persistence.parmas.ins.TarmPlanificacionInspeccion;
import com.fp.persistence.parmas.param.TarmCentroControl;
import com.fp.persistence.parmas.param.TarmCentroControlJur;
import com.fp.persistence.parmas.soli.TarmArmaPruebas;
import com.fp.persistence.parmas.soli.TarmArmas;
import com.fp.persistence.parmas.soli.TarmCertificadoFiscalia;
import com.fp.persistence.parmas.soli.TarmDecomiso;
import com.fp.persistence.parmas.soli.TarmDecomisoArmaTransaccion;
import com.fp.persistence.parmas.soli.TarmDocumentoAlfresco;
import com.fp.persistence.parmas.soli.TarmDocumentoHabilitante;
import com.fp.persistence.parmas.soli.TarmInspeccion;
import com.fp.persistence.parmas.soli.TarmInspeccionArchivo;
import com.fp.persistence.parmas.soli.TarmSolicitud;
import com.fp.persistence.parmas.soli.TarmSolicitudGuardias;
import com.fp.persistence.parmas.soli.TarmSolicitudRequisitos;
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.pgeneral.safe.TsafeUserDetail;
/**
* Clase controladora para consultar documentos en alfresco.
*
* @author Carlos Guzman.
* @version 2.1
*/
@SuppressWarnings("serial")
@ManagedBean
@ViewScoped
public class ConsultaAlfrescoController extends AbstractController<AbstractDataTransport> {
@ManagedProperty(value = "#{alfrescoController}")
private AlfrescoController alfrescoController;
@ManagedProperty(value = "#{ingresoFichaTecnicaArmasController}")
private IngresoFichaTecnicaArmasController ingresoFichaTecnicaArmasController;
//Manu
@ManagedProperty(value="#{solicitudController}")
private SolicitudController solicitudController;
@ManagedProperty(value = "#{solicitudGuardiasController}")
private SolicitudGuardiasController solicitudGuardiasController;
/*reporte alfresco*/
private TarmDocumentoHabilitante documentoHabilitante = new TarmDocumentoHabilitante();
private List<TarmArmaPruebas> armaPrueba = new ArrayList<>();
private List<TarmSolicitudRequisitos> solicitudRequisitos = new ArrayList<>();
private List<TarmInspeccionArchivo> inspeccionArchivo = new ArrayList<>();
private TarmSolicitudTramite solicitudTramite = new TarmSolicitudTramite();
//Manu
private TarmSolicitud solicitud = new TarmSolicitud();
private TarmEvaluacion tarmevaluacion = new TarmEvaluacion();
private List<TarmEvaluacion> listaEvaluacionGuardias = new ArrayList<>();
private List<TarmCashManagementHistory> listaCash = new ArrayList<>();
private List<TarmPlanificacionInspeccion> listaPlanificacion;
//New
private List<TarmInspeccionArchivo> listaInspeccionesNoPlanificacion;
private List<TarmDecomisoArmaTransaccion> listTtarmdecomisoarmaEntrega;
private List<TarmDecomisoArmaTransaccion> listTtarmdecomisoarmaRecepcion;
private List<TarmDecomiso> listTarmdecomiso;
private TarmCertificadoFiscalia certificadoFiscalia;
private String consulta;
private String tipoDocumento;
private boolean verPanelDocumentos;
private String year;
private String mes;
private Date fechaDesde;
private Date fechaHasta;
private String centro;
private TarmCentroControl centroControl = new TarmCentroControl();
private String documentos;
private String tipoPersona;
/**
* Lista de documentos habilitantes suspendidos
*/
private List<TarmDocumentoHabilitante>listaDocumentoHabSus;
private List<TarmArmas>listaArmasCompradas;
private TcustPersonDetail tcustPersonDetail;
private List<TarmVentaArmaTem>listaTarmVentaArmaTem;
/**
* Constructor
* @throws Exception
*/
public ConsultaAlfrescoController() throws Exception {
super(AbstractDataTransport.class);
}
@PostConstruct
private void postconstruct() throws Exception {
solicitudController= new SolicitudController();
listaDocumentoHabSus= new ArrayList<>();
listaArmasCompradas= new ArrayList<>();
listaTarmVentaArmaTem=new ArrayList<>();
String perfil = this.getLoginController().getRequest().getProfile();
List<TarmDocumentoAlfresco> lista = MantenimientoDocumentosAlfrescoController.findByProfile(perfil);
if(lista != null && !lista.isEmpty()){
for(TarmDocumentoAlfresco docAlfresco : lista){
if("".equals(documentos)){
documentos += docAlfresco.getDocumento();
}else{
documentos += ", " + docAlfresco.getDocumento();
}
}
}
this.init();
}
@Override
protected void querydatabase() {
try {
if("solicitud".equals(tipoDocumento)){
if(consulta==null || consulta.isEmpty()){
return ;
}
setSolicitud(SolicitudController.findSolicitudxnumerosolicitud(consulta.trim()));
if(solicitud == null){
MsgControlArmas.getProperty("msg_error_solicitud_noencontrada");
return;
}
String consultaCodigo = solicitud.getPk();
solicitudTramite = TarmSolicitudTramiteController.findPorCSolicitud(solicitud.getPk());
if(solicitudTramite != null && ("FIN".equals(solicitudTramite.getEstadotramite()) || "APB".equals(solicitudTramite.getEstadotramite()))){
documentoHabilitante = DocumentoHabilitanteController.findPorSolicitud(consultaCodigo);
}else{
documentoHabilitante = null;
}
armaPrueba = ingresoFichaTecnicaArmasController.findPorSolicitud(consultaCodigo);
solicitudRequisitos = SolicitudRequisitosController.find(consultaCodigo);
inspeccionArchivo = InspeccionArchivoController.findPorSolicitud(consultaCodigo);
// solicitudTramite = TarmSolicitudTramiteController.findPorCSolicitud(consultaCodigo);
TcustPersonDetail tcustPersonDetailObj=PersonDetailController.find(solicitud.getPersoncode().toString());
if(tcustPersonDetailObj.getPersontypecatalog().equals("2")){
tipoPersona = "JURIDICA";
this.listaEvaluacionGuardias.clear();
List<TarmSolicitudGuardias> lsolicitudGuardias = solicitudGuardiasController.findPorSolicitud(solicitud.getPk());
if(lsolicitudGuardias!=null && !lsolicitudGuardias.isEmpty()){
for(TarmSolicitudGuardias solicitudGuardias : lsolicitudGuardias){
TarmEvaluacion tarmEvaluacionGuardia = EvaluacionController.findEvaluacionesVigentes(solicitudGuardias.getPk().getCguardia().toString(), "PSICOLOGICA");
if(tarmEvaluacionGuardia==null){
tarmEvaluacionGuardia = new TarmEvaluacion();
}
TcustPersonDetail tcustPersonDetailGuardia=PersonDetailController.find(solicitudGuardias.getPk().getCguardia().toString());
tarmEvaluacionGuardia.getModifiedData().put("nombreGuardia", tcustPersonDetailGuardia.getName());
this.listaEvaluacionGuardias.add(tarmEvaluacionGuardia);
}
}
}else{
tipoPersona = "NATURAL";
tarmevaluacion = EvaluacionController.findEvaluacionesVigentes(solicitud.getPersoncode().toString(), "PSICOLOGICA");
}
}else if("cashManagement".equals(tipoDocumento)){
listaCash = CashManagementHistoryController.findReportesByDate(fechaDesde, fechaHasta);
}else if("planificacionAnual".equals(tipoDocumento)){
listaPlanificacion = AprobacionPlanInspeccionController.findPorAnno(centroControl.getPk(), getYear());
List<TarmInspeccion> listaInspecciones = InspeccionController.findPorAnno(centroControl.getPk(), getYear());
if(listaInspecciones != null && !listaInspecciones.isEmpty()){
listaInspeccionesNoPlanificacion = InspeccionArchivoController.findPorInspeccion(listaInspecciones.get(0).getPk().toString());
}
}else if("decomisos".equals(tipoDocumento)){
//numero de consulta
if(consulta==null || consulta.isEmpty()){
return ;
}
TarmDecomiso tarmDecomiso = DecomisoController.find(consulta);
if(tarmDecomiso != null){
listTarmdecomiso = new ArrayList<>();
listTarmdecomiso.add(tarmDecomiso);
listTtarmdecomisoarmaEntrega = DecomisoArmaTransaccionController.findPorEnvioNroDecomiso("ENTREGA", tarmDecomiso.getPk());
listTtarmdecomisoarmaRecepcion = DecomisoArmaTransaccionController.findPorEnvioNroDecomiso("RECEPCION", tarmDecomiso.getPk());
}
}else if("fiscalia".equals(tipoDocumento)){
certificadoFiscalia = SolicitudCertificadoController.findPorSolicitud(consulta.trim());
}else if("suspenciondh".equals(tipoDocumento)){
if(tcustPersonDetail==null || tcustPersonDetail.getPk()==null){
MessageHelper.setMessageError("SELECCIONE UNA IDENTIFICACI\u00d3N");
return;
}
listaDocumentoHabSus=DocumentoHabilitanteController.findByPersonCode(tcustPersonDetail.getPk().getPersoncode());
}else if("ventaarmas".equals(tipoDocumento) ){
solicitud=null;
if(consulta==null || consulta.trim().isEmpty()){
MessageHelper.setMessageError("INGRESE EL LOTE");
return;
}
listaArmasCompradas=ArmasController.findxLoteRegistro(consulta);
}
else if("roboperdida".equals(tipoDocumento)){
solicitud=null;
if(consulta==null || consulta.trim().isEmpty()){
MessageHelper.setMessageError("INGRESE EL LOTE");
return;
}
listaArmasCompradas=ArmasController.findxLotePerdidaRobo(consulta);
}
else if("ventaarmas2".equals(tipoDocumento) ){
solicitud=null;
if(consulta==null || consulta.trim().isEmpty()){
MessageHelper.setMessageError("INGRESE EL LOTE");
return;
}
listaTarmVentaArmaTem=TarmVentaArmaTemporalController.findLote(consulta);
}
} catch (Exception e) {
MessageHelper.setMessageError(e);
}
}
/**
* Metodo para extrer solo el nombre del archivo
* @param xpath xpath del archivo en alfresco
* @return solo la parte correspondiente al nombre del archivo
*/
public String soloNombreArchivo(String xpath){
return xpath.substring(xpath.lastIndexOf(":") + 1,xpath.length());
}
/**
* Incializa el controlador, cuando se esta utilizando una pagina que utliza el controlador.
*/
private void init() {
try {
this.lrecord = new ArrayList<>();
this.beanalias = "CONSULTAALFRESCO";
verPanelDocumentos = false;
} catch (Exception e) {
MessageHelper.setMessageError(e);
}
}
/**
* Metodo que analiza si el archivo tiene la extension permitida
* @param nombreArchivo
* @return
*/
public Boolean esExtensionDeArchivoPermitida(String nombreArchivo){
String[]archivosPermitidosLst = {".pdf"};
for(String extensionValida:archivosPermitidosLst){
if(nombreArchivo.contains(extensionValida)){
return Boolean.TRUE;
}
}
return Boolean.FALSE;
}
public void guardarRegistro() {
}
public boolean activarPanel(String selectedDocument){
for(String doc : documentos.split(", ")){
if(doc.equals(selectedDocument)){
return true;
}
}
return false;
}
/**
* Permite actualizar el centro de armas en caso de set tipo planificacionAnual
* @throws Exception
*
*/
public void actualizarMenu() throws Exception{
tcustPersonDetail=null;
verPanelDocumentos = false;
consulta = "";
fechaDesde = null;
fechaHasta = null;
year = "";
if("planificacionAnual".equals(tipoDocumento)){
TsafeUserDetail tsafeUserDetail = (TsafeUserDetail) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL");
PersonAddressController personAddressController = new PersonAddressController();
TcustPersonAddress tcustPersonAddres=personAddressController.findPrincipal(tsafeUserDetail.getPk().getPersoncode().toString());
TarmCentroControlJur centroControlJur= TarmCentroControlJurController.findxProvincia(tcustPersonAddres.getProvincecode());
setCentroControl(CentroControlArmasController.findPorCodigo(centroControlJur.getCcentrocontrol()));
}
}
/* (non-Javadoc)
* @see com.fp.frontend.controller.AbstractController#save()
*/
@Override
public void save(){}
@Override
public void query() throws Exception {
verPanelDocumentos = true;
super.query();
}
public static void openLov() {
Map<String, Object> options = new HashMap<String, Object>();
// hint: ver EnumLovOption para las opciones del modal
options.put(EnumLovOption.MODAL.getLabel(), true);
options.put(EnumLovOption.HEIGHT.getLabel(), 450);
options.put(EnumLovOption.WIDTH.getLabel(), 700);
options.put(EnumLovOption.RESIZABLE.getLabel(), true);
// lovpersona es el nombre de la pagina
RequestContext.getCurrentInstance().openDialog("/pages/customer/lov/personLov.xhtml", options, null);
}
/**
* Maneja la respuesta del Lov de Personas
* @param event
* @throws Exception
*/
public void onReturnPersonLov(SelectEvent event) throws Exception {
tcustPersonDetail = (TcustPersonDetail) event.getObject();
this.getMfilters().put("personcode",tcustPersonDetail.getPk().getPersoncode().toString());
this.query();
}
public AlfrescoController getAlfrescoController() {
return alfrescoController;
}
public void setAlfrescoController(AlfrescoController alfrescoController) {
this.alfrescoController = alfrescoController;
}
/**
* @return the solicitudController
*/
public SolicitudController getSolicitudController() {
return solicitudController;
}
/**
* @param solicitudController the solicitudController to set
*/
public void setSolicitudController(SolicitudController solicitudController) {
this.solicitudController = solicitudController;
}
public IngresoFichaTecnicaArmasController getIngresoFichaTecnicaArmasController() {
return ingresoFichaTecnicaArmasController;
}
public void setIngresoFichaTecnicaArmasController(
IngresoFichaTecnicaArmasController ingresoFichaTecnicaArmasController) {
this.ingresoFichaTecnicaArmasController = ingresoFichaTecnicaArmasController;
}
public TarmDocumentoHabilitante getDocumentoHabilitante() {
return documentoHabilitante;
}
public void setDocumentoHabilitante(
TarmDocumentoHabilitante documentoHabilitante) {
this.documentoHabilitante = documentoHabilitante;
}
/**
* @return the solicitud
*/
public TarmSolicitud getSolicitud() {
return solicitud;
}
/**
* @param solicitud the solicitud to set
*/
public void setSolicitud(TarmSolicitud solicitud) {
this.solicitud = solicitud;
}
public List<TarmArmaPruebas> getArmaPrueba() {
return armaPrueba;
}
public void setArmaPrueba(List<TarmArmaPruebas> armaPrueba) {
this.armaPrueba = armaPrueba;
}
public List<TarmSolicitudRequisitos> getSolicitudRequisitos() {
return solicitudRequisitos;
}
public void setSolicitudRequisitos(
List<TarmSolicitudRequisitos> solicitudRequisitos) {
this.solicitudRequisitos = solicitudRequisitos;
}
public List<TarmInspeccionArchivo> getInspeccionArchivo() {
return inspeccionArchivo;
}
public void setInspeccionArchivo(List<TarmInspeccionArchivo> inspeccionArchivo) {
this.inspeccionArchivo = inspeccionArchivo;
}
public TarmSolicitudTramite getSolicitudTramite() {
return solicitudTramite;
}
public void setSolicitudTramite(TarmSolicitudTramite solicitudTramite) {
this.solicitudTramite = solicitudTramite;
}
/**
* @return the tarmevaluacion
*/
public TarmEvaluacion getTarmevaluacion() {
return tarmevaluacion;
}
/**
* @param tarmevaluacion the tarmevaluacion to set
*/
public void setTarmevaluacion(TarmEvaluacion tarmevaluacion) {
this.tarmevaluacion = tarmevaluacion;
}
/**
* @return the listaCash
*/
public List<TarmCashManagementHistory> getListaCash() {
return listaCash;
}
/**
* @param listaCash the listaCash to set
*/
public void setListaCash(List<TarmCashManagementHistory> listaCash) {
this.listaCash = listaCash;
}
/**
* @return the centroControl
*/
public TarmCentroControl getCentroControl() {
return centroControl;
}
/**
* @param centroControl the centroControl to set
*/
public void setCentroControl(TarmCentroControl centroControl) {
this.centroControl = centroControl;
}
/**
* @return the listaPlanificacion
*/
public List<TarmPlanificacionInspeccion> getListaPlanificacion() {
return listaPlanificacion;
}
/**
* @param listaPlanificacion the listaPlanificacion to set
*/
public void setListaPlanificacion(
List<TarmPlanificacionInspeccion> listaPlanificacion) {
this.listaPlanificacion = listaPlanificacion;
}
/**
* @return the listTtarmdecomisoarmaEntrega
*/
public List<TarmDecomisoArmaTransaccion> getListTtarmdecomisoarmaEntrega() {
return listTtarmdecomisoarmaEntrega;
}
/**
* @param listTtarmdecomisoarmaEntrega the listTtarmdecomisoarmaEntrega to set
*/
public void setListTtarmdecomisoarmaEntrega(
List<TarmDecomisoArmaTransaccion> listTtarmdecomisoarmaEntrega) {
this.listTtarmdecomisoarmaEntrega = listTtarmdecomisoarmaEntrega;
}
/**
* @return the listTtarmdecomisoarmaRecepcion
*/
public List<TarmDecomisoArmaTransaccion> getListTtarmdecomisoarmaRecepcion() {
return listTtarmdecomisoarmaRecepcion;
}
/**
* @param listTtarmdecomisoarmaRecepcion the listTtarmdecomisoarmaRecepcion to set
*/
public void setListTtarmdecomisoarmaRecepcion(
List<TarmDecomisoArmaTransaccion> listTtarmdecomisoarmaRecepcion) {
this.listTtarmdecomisoarmaRecepcion = listTtarmdecomisoarmaRecepcion;
}
public String getConsulta() {
return consulta;
}
public void setConsulta(String consulta) {
this.consulta = consulta;
}
public String getTipoDocumento() {
return tipoDocumento;
}
public void setTipoDocumento(String tipoDocumento) {
this.tipoDocumento = tipoDocumento;
}
public boolean isVerPanelDocumentos() {
return verPanelDocumentos;
}
public void setVerPanelDocumentos(boolean verPanelDocumentos) {
this.verPanelDocumentos = verPanelDocumentos;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public String getMes() {
return mes;
}
public void setMes(String mes) {
this.mes = mes;
}
public Date getFechaDesde() {
return fechaDesde;
}
public void setFechaDesde(Date fechaDesde) {
this.fechaDesde = fechaDesde;
}
public Date getFechaHasta() {
return fechaHasta;
}
public void setFechaHasta(Date fechaHasta) {
this.fechaHasta = fechaHasta;
}
public String getCentro() {
return centro;
}
public void setCentro(String centro) {
this.centro = centro;
}
/**
* @return the certificadoFiscalia
*/
public TarmCertificadoFiscalia getCertificadoFiscalia() {
return certificadoFiscalia;
}
/**
* @param certificadoFiscalia the certificadoFiscalia to set
*/
public void setCertificadoFiscalia(TarmCertificadoFiscalia certificadoFiscalia) {
this.certificadoFiscalia = certificadoFiscalia;
}
public List<TarmInspeccionArchivo> getListaInspeccionesNoPlanificacion() {
return listaInspeccionesNoPlanificacion;
}
public void setListaInspeccionesNoPlanificacion(
List<TarmInspeccionArchivo> listaInspeccionesNoPlanificacion) {
this.listaInspeccionesNoPlanificacion = listaInspeccionesNoPlanificacion;
}
public List<TarmDecomiso> getListTarmdecomiso() {
return listTarmdecomiso;
}
public void setListTarmdecomiso(List<TarmDecomiso> listTarmdecomiso) {
this.listTarmdecomiso = listTarmdecomiso;
}
public List<TarmEvaluacion> getListaEvaluacionGuardias() {
return listaEvaluacionGuardias;
}
public void setListaEvaluacionGuardias(
List<TarmEvaluacion> listaEvaluacionGuardias) {
this.listaEvaluacionGuardias = listaEvaluacionGuardias;
}
public String getTipoPersona() {
return tipoPersona;
}
public void setTipoPersona(String tipoPersona) {
this.tipoPersona = tipoPersona;
}
public SolicitudGuardiasController getSolicitudGuardiasController() {
return solicitudGuardiasController;
}
public void setSolicitudGuardiasController(
SolicitudGuardiasController solicitudGuardiasController) {
this.solicitudGuardiasController = solicitudGuardiasController;
}
public List<TarmDocumentoHabilitante> getListaDocumentoHabSus() {
return listaDocumentoHabSus;
}
public void setListaDocumentoHabSus(
List<TarmDocumentoHabilitante> listaDocumentoHabSus) {
this.listaDocumentoHabSus = listaDocumentoHabSus;
}
public List<TarmArmas> getListaArmasCompradas() {
return listaArmasCompradas;
}
public void setListaArmasCompradas(List<TarmArmas> listaArmasCompradas) {
this.listaArmasCompradas = listaArmasCompradas;
}
public TcustPersonDetail getTcustPersonDetail() {
return tcustPersonDetail;
}
public void setTcustPersonDetail(TcustPersonDetail tcustPersonDetail) {
this.tcustPersonDetail = tcustPersonDetail;
}
public List<TarmVentaArmaTem> getListaTarmVentaArmaTem() {
return listaTarmVentaArmaTem;
}
public void setListaTarmVentaArmaTem(
List<TarmVentaArmaTem> listaTarmVentaArmaTem) {
this.listaTarmVentaArmaTem = listaTarmVentaArmaTem;
}
}