256 lines
6.9 KiB
Plaintext
Executable File
256 lines
6.9 KiB
Plaintext
Executable File
package com.fp.frontend.controller.bpm;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
|
|
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 com.fp.dto.AbstractDataTransport;
|
|
import com.fp.dto.Request;
|
|
import com.fp.dto.Response;
|
|
import com.fp.frontend.controller.AbstractController;
|
|
import com.fp.frontend.controller.ReportController;
|
|
import com.fp.frontend.controller.pgeneral.date.TgeneAccountingDateBranchController;
|
|
import com.fp.frontend.controller.pgeneral.gene.ParametersController;
|
|
import com.fp.frontend.controller.security.LoginController;
|
|
import com.fp.frontend.helper.MessageHelper;
|
|
import com.fp.persistence.pcustomer.gene.TcustPersonDetail;
|
|
import com.fp.persistence.pgeneral.gene.TgeneParameters;
|
|
import com.fp.persistence.pgeneral.safe.TsafeUserDetail;
|
|
|
|
/**
|
|
* Clase controladora para exportar flujos.
|
|
*
|
|
* @author WPA
|
|
* @version 2.1
|
|
*/
|
|
@SuppressWarnings("serial")
|
|
@ManagedBean
|
|
@ViewScoped
|
|
public class ExportFlowsController extends AbstractController<AbstractDataTransport> {
|
|
|
|
|
|
public ExportFlowsController() throws Exception {
|
|
super(AbstractDataTransport.class);
|
|
}
|
|
|
|
@PostConstruct
|
|
private void postconstruct() {
|
|
this.init();
|
|
this.initDates();
|
|
// Inicializa autoconsulta
|
|
super.startQuery();
|
|
|
|
}
|
|
|
|
/**
|
|
* Atributo fecha desde
|
|
*/
|
|
private Date fromdate;
|
|
|
|
/**
|
|
* Atributo fecha hasta
|
|
*/
|
|
private Date todate;
|
|
|
|
@ManagedProperty(value = "#{reportController}")
|
|
private ReportController reportController;
|
|
private String solicitud;
|
|
private Date fec_actual;
|
|
private String codCentroControl;
|
|
private TcustPersonDetail customerperson;
|
|
private TsafeUserDetail userDetail;
|
|
private TsafeUserDetail tsafeUserDetailUsuario = null;
|
|
@ManagedProperty(value = "#{logincontroller}")
|
|
private LoginController logincontroller;
|
|
/**
|
|
* Incializa el controlador, cuando se esta utilizando una pagina que utliza el controlador.
|
|
*/
|
|
private void init() {
|
|
try {
|
|
this.recperpage = 10; // Cambiar al # reg a mirar.
|
|
this.lrecord = new ArrayList<>();
|
|
//this.beanalias = "TBPM";
|
|
this.beanalias = "REPORTE";
|
|
this.tsafeUserDetailUsuario = (TsafeUserDetail) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL");
|
|
|
|
} catch (Exception e) {
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void querydatabase() {
|
|
MessageHelper.setMessageError("msg_notQuery");
|
|
return;
|
|
}
|
|
|
|
@Override
|
|
public void save(){
|
|
MessageHelper.setMessageError("msg_notSave");
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Ejecuta un QueryAlias
|
|
*/
|
|
public void getFileContent(){
|
|
byte[] file = null;
|
|
try {
|
|
Request request = this.callerhelper.getRequest();
|
|
request.put("queryalias", "EXPORTBPM");
|
|
request.put("querytype", "P");
|
|
request.put("creationdate", this.fromdate);
|
|
request.put("enddate", this.todate);
|
|
|
|
Response resp = this.callerhelper.executeQuery(request);
|
|
|
|
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) != 0) {
|
|
MessageHelper.setMessageError(resp);
|
|
} else {
|
|
file = (byte[])resp.get("file");
|
|
super.downloadFile(file, (String)resp.get("contentType"), (String)resp.get("extension"));
|
|
}
|
|
|
|
} catch (Throwable e) {
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Inicializa las fechas
|
|
*/
|
|
private void initDates() {
|
|
int val = this.getAniosParameter();
|
|
Calendar calendar = Calendar.getInstance();
|
|
// calendar.setTime(this.getWorkingDate());
|
|
this.todate = calendar.getTime();
|
|
calendar.add(Calendar.YEAR, -val);
|
|
calendar.add(Calendar.DATE, -1);
|
|
this.fromdate = calendar.getTime();
|
|
}
|
|
|
|
/**
|
|
* Entrega la fecha de trabajo de la aplicacin.
|
|
* @return Fecah Fecha de trabajo.
|
|
* @throws Exception
|
|
*/
|
|
private Date getWorkingDate() {
|
|
Date workingDate = null;
|
|
try{
|
|
TgeneAccountingDateBranchController c = new TgeneAccountingDateBranchController();
|
|
c.getMfilters().clear();
|
|
c.getMfilters().put("pk.branchcode", "0");
|
|
c.getMfilters().put("pk.companycode", super.getLoginController().getRequest().getCompany().toString());
|
|
c.query();
|
|
workingDate = c.getRecord().getWorkingdate();
|
|
}catch(Exception ex){
|
|
//
|
|
}
|
|
return workingDate;
|
|
}
|
|
|
|
/**
|
|
* Obtiene el valor del número de anios máximos para la consulta de flujos
|
|
* @return value
|
|
*/
|
|
private Integer getAniosParameter(){
|
|
Integer value = null;
|
|
TgeneParameters parameter = ParametersController.find("MAX_BACK", super.getLoginController().getRequest().getCompany().toString());
|
|
if(parameter!=null){
|
|
value = parameter.getNumbervalue().intValue();
|
|
}else value = 1;
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* Entrega la fecha desde
|
|
* @return formdate Fecha desde
|
|
*/
|
|
public Date getFromdate() {
|
|
return fromdate;
|
|
}
|
|
|
|
/**
|
|
* Fija la fecha desde
|
|
* @param formdate Fecha desde
|
|
*/
|
|
public void setFromdate(Date fromdate) {
|
|
this.fromdate = fromdate;
|
|
}
|
|
|
|
/**
|
|
* Entrega la fecha hasta
|
|
* @return formdate Fecha hasta
|
|
*/
|
|
public Date getTodate() {
|
|
return todate;
|
|
}
|
|
|
|
/**
|
|
* Fija la fecha hasta
|
|
* @param fromdate Fecha hasta
|
|
*/
|
|
public void setTodate(Date todate) {
|
|
this.todate = todate;
|
|
}
|
|
|
|
public ReportController getReportController() {
|
|
return reportController;
|
|
}
|
|
|
|
public void setReportController(ReportController reportController) {
|
|
this.reportController = reportController;
|
|
}
|
|
|
|
|
|
public String getSolicitud() {
|
|
return solicitud;
|
|
}
|
|
|
|
public void setSolicitud(String solicitud) {
|
|
this.solicitud = solicitud;
|
|
}
|
|
|
|
|
|
public LoginController getLogincontroller() {
|
|
return logincontroller;
|
|
}
|
|
|
|
public void setLogincontroller(LoginController logincontroller) {
|
|
this.logincontroller = logincontroller;
|
|
}
|
|
|
|
public void reporteFlujoSolicitudXls() {
|
|
try {
|
|
String gradoUsuario ="";
|
|
String path = "general/reports/flujoSolicitud";
|
|
//String filename=MsgControlArmas.getProperty("lbl_tramitesXcentro");
|
|
String filename="reporte";
|
|
|
|
//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("solicitud", solicitud);
|
|
String format = "xls";
|
|
|
|
try {
|
|
this.reportController.executeXls(path, parameters, format, filename, this.getLoginController());
|
|
} catch (Exception ex) {
|
|
MessageHelper.setMessageError(ex);
|
|
}
|
|
|
|
} catch (Exception ex) {
|
|
MessageHelper.setMessageError(ex);
|
|
}
|
|
}
|
|
|
|
}
|