185 lines
4.2 KiB
Plaintext
Executable File
185 lines
4.2 KiB
Plaintext
Executable File
package com.fp.frontend.controller.bpm;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
|
|
import javax.annotation.PostConstruct;
|
|
import javax.faces.bean.ManagedBean;
|
|
import javax.faces.bean.ViewScoped;
|
|
|
|
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.pgeneral.date.TgeneAccountingDateBranchController;
|
|
import com.fp.frontend.controller.pgeneral.gene.ParametersController;
|
|
import com.fp.frontend.helper.MessageHelper;
|
|
import com.fp.persistence.pgeneral.gene.TgeneParameters;
|
|
|
|
/**
|
|
* 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;
|
|
|
|
/**
|
|
* 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";
|
|
} 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;
|
|
}
|
|
|
|
}
|