401 lines
13 KiB
Plaintext
Executable File
401 lines
13 KiB
Plaintext
Executable File
package com.fp.frontend.controller.armas.funcionalidad;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
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.context.FacesContext;
|
|
|
|
import org.eclipse.jdt.core.dom.ThisExpression;
|
|
|
|
import com.fp.dto.AbstractDataTransport;
|
|
import com.fp.frontend.controller.AbstractController;
|
|
import com.fp.frontend.controller.ReportController;
|
|
import com.fp.frontend.controller.armas.parametros.CentroControlArmasController;
|
|
import com.fp.frontend.controller.armas.parametros.TarmCentroControlJurController;
|
|
import com.fp.frontend.controller.pcustomer.PersonAddressController;
|
|
import com.fp.frontend.controller.pcustomer.PersonDetailController;
|
|
import com.fp.frontend.controller.pcustomer.lov.PersonLovController;
|
|
import com.fp.frontend.controller.pgeneral.gene.CatalogDetailController;
|
|
import com.fp.frontend.helper.MessageHelper;
|
|
import com.fp.frontend.utility.MsgControlArmas;
|
|
import com.fp.persistence.parmas.param.TarmCentroControl;
|
|
import com.fp.persistence.parmas.param.TarmCentroControlJur;
|
|
import com.fp.persistence.pcustomer.gene.TcustPersonAddress;
|
|
import com.fp.persistence.pcustomer.gene.TcustPersonDetail;
|
|
import com.fp.persistence.pgeneral.gene.TgeneCatalogDetail;
|
|
import com.fp.persistence.pgeneral.safe.TsafeUserDetail;
|
|
/**
|
|
* @author DLO
|
|
* Clase Controladora la cual genera el reporte de trámite por centro de control
|
|
*/
|
|
@ManagedBean
|
|
@ViewScoped
|
|
public class ReporteTramiteCentroController extends AbstractController<AbstractDataTransport> {
|
|
|
|
public ReporteTramiteCentroController() throws Exception {
|
|
super(AbstractDataTransport.class);
|
|
// TODO Auto-generated constructor stub
|
|
}
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
@ManagedProperty(value = "#{reportController}")
|
|
private ReportController reportController;
|
|
|
|
@ManagedProperty(value = "#{personDetailController}")
|
|
private PersonDetailController personDetailController;
|
|
|
|
@ManagedProperty(value = "#{centroControlController}")
|
|
private CentroControlArmasController centroControlController;
|
|
|
|
private TcustPersonDetail customerperson;
|
|
private TsafeUserDetail userDetail;
|
|
private TcustPersonDetail responsableCentroControl= null;
|
|
private TsafeUserDetail tsafeUserDetailUsuario = null;
|
|
private TarmCentroControl centroControl = new TarmCentroControl();
|
|
private List<TgeneCatalogDetail> lcentros = null;
|
|
private List<TgeneCatalogDetail> lestados = null;
|
|
private String institucionCentroControl="";
|
|
private Date fechainicial;
|
|
private Date fechafinal;
|
|
private String filtro="";
|
|
private String filtro2="";
|
|
private String idCentroControl;
|
|
private String estado;
|
|
private Date fec_actual;
|
|
private String estadoDoc;
|
|
|
|
public String getInstitucionCentroControl() {
|
|
return institucionCentroControl;
|
|
}
|
|
|
|
@PostConstruct
|
|
private void postconstruct() {
|
|
this.init();
|
|
// Inicializa autoconsulta
|
|
}
|
|
/**
|
|
* Incializa el controlador, cuando se esta utilizando una pagina que utliza el controlador.
|
|
*/
|
|
private void init() {
|
|
try {
|
|
|
|
this.lrecord = new ArrayList<>();
|
|
this.beanalias = "REPORTE";
|
|
lcentros = CatalogDetailController.find("NOMBREINSTITUCION");
|
|
this.lestados = CatalogDetailController.find("ESTADODOCUMENTO");
|
|
this.responsableCentroControl = new TcustPersonDetail();
|
|
this.tsafeUserDetailUsuario = new TsafeUserDetail();
|
|
//this.obtenerResponsableCentroControl();
|
|
this.idCentroControl="";
|
|
this.estadoDoc ="";
|
|
|
|
} catch (Exception e) {
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Obtiene el centro de control segun usurio logeado.
|
|
* @throws Exception
|
|
*
|
|
*/
|
|
private String obtenerCentroControl() throws Exception {
|
|
|
|
this.tsafeUserDetailUsuario = (TsafeUserDetail) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL");
|
|
PersonAddressController personAddressController = new PersonAddressController();
|
|
TcustPersonAddress tcustPersonAddres=personAddressController.findPrincipal(tsafeUserDetailUsuario.getPk().getPersoncode().toString());
|
|
if(tcustPersonAddres!=null && tcustPersonAddres.getProvincecode()!=null){
|
|
TarmCentroControlJur centroControlJur= TarmCentroControlJurController.findxProvincia(tcustPersonAddres.getProvincecode());
|
|
centroControl= CentroControlArmasController.findPorCodigo(centroControlJur.getCcentrocontrol());
|
|
return CatalogDetailController.findxCodigoCodcatalogo( centroControl.getNombreinstitucion(), centroControl.getNombreinstitucioncodigo()).getDescription();
|
|
}
|
|
else{
|
|
return "";
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Obtiene el responsable del Centro de Control
|
|
*/
|
|
public void obtenerResponsableCentroControl(){
|
|
Integer responsable = this.centroControl.getPersoncode();
|
|
this.responsableCentroControl = PersonDetailController.find(responsable.toString());
|
|
|
|
}
|
|
|
|
@Override
|
|
protected void querydatabase() {
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Graba los registros en la base de datos
|
|
*/
|
|
@Override
|
|
public void save() {
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
* Obtiene el reporte de Ficha de Armas
|
|
*/
|
|
public void reporteTramitesCentro() {
|
|
try {
|
|
if(this.fechainicial.getTime()>this.fechafinal.getTime()){
|
|
MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_fechafinal"));
|
|
return;
|
|
}
|
|
String gradoUsuario ="";
|
|
String path = "armas/reports/reporteTremiteXCentro";
|
|
String filename=MsgControlArmas.getProperty("lbl_tramitesXcentro");
|
|
//String filename="reporte";
|
|
|
|
// Datos del centro de control del usuario logueado
|
|
institucionCentroControl = obtenerCentroControl();
|
|
|
|
//Fija parametros del report.
|
|
HashMap<String, Object> parameters = new HashMap<>();
|
|
parameters.put("pathLogoIzquierda", "repo:/maia/1/image/comandoconjunto");
|
|
parameters.put("pathLogoDerecha", "repo:/maia/1/image/selloarmas");
|
|
parameters.put("centroControl", institucionCentroControl);
|
|
|
|
//Centro de control
|
|
parameters.put("centroControl", this.obtenerCentroControl());
|
|
|
|
//Fecha actual
|
|
this.fec_actual = new Date();
|
|
SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
|
|
parameters.put("fecActual", sdf.format(this.fec_actual));
|
|
|
|
//usuario
|
|
customerperson=PersonDetailController.find(this.tsafeUserDetailUsuario.getPk().getPersoncode().toString());
|
|
parameters.put("usuario", customerperson.getName());
|
|
|
|
//fechas inicial y final que vienen desde el controlador
|
|
SimpleDateFormat df=new SimpleDateFormat("dd/MM/yyyy");
|
|
parameters.put("fechainicial", df.format(this.fechainicial));
|
|
parameters.put("fechafinal", df.format(this.fechafinal));
|
|
|
|
TarmCentroControl centro =null;
|
|
if(!this.idCentroControl.toString().equals("TODOS")){
|
|
centro = CentroControlArmasController.findPorCentroControl(this.idCentroControl.toString());
|
|
}
|
|
// if(centro == null){
|
|
// MessageHelper.setMessageInfo("EL CENTRO DE CONTROL DE ARMAS SELECCIONADO NO TIENE DATOS A MOSTRAR");
|
|
// return;
|
|
// }
|
|
|
|
if(centro!=null && centro.getPk()!=null && this.idCentroControl.toString()!="TODOS"){
|
|
this.filtro = " and h.ccentrocontrol = '"+centro.getPk()+"' ";
|
|
parameters.put("filtro", this.filtro);
|
|
}else {
|
|
parameters.put("filtro", "");
|
|
}
|
|
|
|
if(this.estadoDoc.equals("APR") && this.estadoDoc!=null){
|
|
this.filtro2 = " and h.estado = '"+this.estadoDoc+"' ";
|
|
parameters.put("filtro2", this.filtro2);
|
|
}else if (this.estadoDoc.equals("CAN") && this.estadoDoc!=null) {
|
|
this.filtro2 = " and h.estado = '"+this.estadoDoc+"' ";
|
|
parameters.put("filtro2", this.filtro2);
|
|
}else if (this.estadoDoc.equals("SUS") && this.estadoDoc!=null) {
|
|
this.filtro2 = " and h.estado = '"+this.estadoDoc+"' ";
|
|
parameters.put("filtro2", this.filtro2);
|
|
}else if (this.estadoDoc.equals("FIN") && this.estadoDoc!=null) {
|
|
this.filtro2 = " and h.estado = '"+this.estadoDoc+"' ";
|
|
parameters.put("filtro2", this.filtro2);
|
|
}else {
|
|
parameters.put("filtro2", "");
|
|
}
|
|
|
|
|
|
String format = "xlsx";
|
|
|
|
try {
|
|
|
|
this.reportController.executeXls(path, parameters, format, filename, this.getLoginController());
|
|
} catch (Exception ex) {
|
|
MessageHelper.setMessageError(ex);
|
|
}
|
|
|
|
} catch (Exception ex) {
|
|
MessageHelper.setMessageError(ex);
|
|
}
|
|
}
|
|
|
|
public ReportController getReportController() {
|
|
return reportController;
|
|
}
|
|
|
|
public void setReportController(ReportController reportController) {
|
|
this.reportController = reportController;
|
|
}
|
|
|
|
public TcustPersonDetail getCustomerperson() {
|
|
return customerperson;
|
|
}
|
|
|
|
public void setCustomerperson(TcustPersonDetail customerperson) {
|
|
this.customerperson = customerperson;
|
|
}
|
|
|
|
public TsafeUserDetail getUserDetail() {
|
|
return userDetail;
|
|
}
|
|
|
|
public void setUserDetail(TsafeUserDetail userDetail) {
|
|
this.userDetail = userDetail;
|
|
}
|
|
|
|
public TcustPersonDetail getResponsableCentroControl() {
|
|
return responsableCentroControl;
|
|
}
|
|
|
|
public void setResponsableCentroControl(
|
|
TcustPersonDetail responsableCentroControl) {
|
|
this.responsableCentroControl = responsableCentroControl;
|
|
}
|
|
|
|
public TsafeUserDetail getTsafeUserDetailUsuario() {
|
|
return tsafeUserDetailUsuario;
|
|
}
|
|
|
|
public void setTsafeUserDetailUsuario(TsafeUserDetail tsafeUserDetailUsuario) {
|
|
this.tsafeUserDetailUsuario = tsafeUserDetailUsuario;
|
|
}
|
|
|
|
public TarmCentroControl getCentroControl() {
|
|
return centroControl;
|
|
}
|
|
|
|
public void setCentroControl(TarmCentroControl centroControl) {
|
|
this.centroControl = centroControl;
|
|
}
|
|
|
|
public Date getFechainicial() {
|
|
return fechainicial;
|
|
}
|
|
|
|
public void setFechainicial(Date fechainicial) {
|
|
this.fechainicial = fechainicial;
|
|
}
|
|
|
|
public Date getFechafinal() {
|
|
return fechafinal;
|
|
}
|
|
|
|
public void setFechafinal(Date fechafinal) {
|
|
this.fechafinal = fechafinal;
|
|
}
|
|
|
|
public String getFiltro() {
|
|
return filtro;
|
|
}
|
|
|
|
public void setFiltro(String filtro) {
|
|
this.filtro = filtro;
|
|
}
|
|
|
|
public String getEstado() {
|
|
return estado;
|
|
}
|
|
|
|
public void setEstado(String estado) {
|
|
this.estado = estado;
|
|
}
|
|
|
|
public Date getFec_actual() {
|
|
return fec_actual;
|
|
}
|
|
|
|
public void setFec_actual(Date fec_actual) {
|
|
this.fec_actual = fec_actual;
|
|
}
|
|
|
|
public void setInstitucionCentroControl(String institucionCentroControl) {
|
|
this.institucionCentroControl = institucionCentroControl;
|
|
}
|
|
|
|
public String getIdCentroControl() {
|
|
return idCentroControl;
|
|
}
|
|
|
|
public void setIdCentroControl(String idCentroControl) {
|
|
this.idCentroControl = idCentroControl;
|
|
}
|
|
|
|
public List<TgeneCatalogDetail> getLcentros() {
|
|
return lcentros;
|
|
}
|
|
|
|
public void setLcentros(List<TgeneCatalogDetail> lcentros) {
|
|
this.lcentros = lcentros;
|
|
}
|
|
|
|
public PersonDetailController getPersonDetailController() {
|
|
return personDetailController;
|
|
}
|
|
|
|
public void setPersonDetailController(
|
|
PersonDetailController personDetailController) {
|
|
this.personDetailController = personDetailController;
|
|
}
|
|
|
|
public CentroControlArmasController getCentroControlController() {
|
|
return centroControlController;
|
|
}
|
|
|
|
public void setCentroControlController(
|
|
CentroControlArmasController centroControlController) {
|
|
this.centroControlController = centroControlController;
|
|
}
|
|
|
|
public List<TgeneCatalogDetail> getLestados() {
|
|
return lestados;
|
|
}
|
|
|
|
public void setLestados(List<TgeneCatalogDetail> lestados) {
|
|
this.lestados = lestados;
|
|
}
|
|
|
|
public String getEstadoDoc() {
|
|
return estadoDoc;
|
|
}
|
|
|
|
public void setEstadoDoc(String estadoDoc) {
|
|
this.estadoDoc = estadoDoc;
|
|
}
|
|
|
|
public StringBuilder armarFormatoFechaSinHora(Calendar fechaCldr){
|
|
StringBuilder fechaStr= new StringBuilder();
|
|
fechaStr = fechaStr.append((fechaCldr.get(Calendar.DAY_OF_MONTH)) <= 9 ? "0" + (fechaCldr.get(Calendar.DAY_OF_MONTH)) : (fechaCldr.get(Calendar.DAY_OF_MONTH)));
|
|
fechaStr = fechaStr.append("-").append((fechaCldr.get(Calendar.MONTH)+1) <= 9 ? "0" + (fechaCldr.get(Calendar.MONTH) + 1) : (fechaCldr.get(Calendar.MONTH)+1));
|
|
fechaStr = fechaStr.append("-").append(fechaCldr.get(Calendar.YEAR));
|
|
return fechaStr;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |