74 lines
2.9 KiB
Plaintext
Executable File
74 lines
2.9 KiB
Plaintext
Executable File
package com.fp.viaticos.rules.save.solicitud;
|
|
|
|
import java.sql.Date;
|
|
import java.text.SimpleDateFormat;
|
|
|
|
import com.fp.dto.rules.TransactionRule;
|
|
import com.fp.dto.save.SaveRequest;
|
|
import com.fp.persistence.commondb.PersistenceHelper;
|
|
import com.fp.persistence.commondb.helper.FormatDates;
|
|
import com.fp.persistence.pviaticos.solicitud.ViaSolicitud;
|
|
import com.fp.persistence.pviaticos.solicitud.ViaSolicitudComentarios;
|
|
import com.fp.persistence.pviaticos.solicitud.ViaSolicitudComentariosKey;
|
|
import com.fp.persistence.pviaticos.solicitud.ViaSolicitudKey;
|
|
import com.fp.viaticos.rules.enums.EnumCodigos;
|
|
|
|
/**
|
|
* Clase que se encarga de almacenar comentarios de la tarea y el estatus actual de la solicitud.
|
|
*
|
|
* @author Jorge Vaca.
|
|
* @version 2.1
|
|
*/
|
|
public class Comentarios extends TransactionRule {
|
|
|
|
/**
|
|
* Version de la clase.
|
|
*/
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
/*
|
|
* (non-Javadoc)
|
|
*
|
|
* @see com.fp.dto.rules.TransactionRule#normalProcess(com.fp.dto.save.SaveRequest)
|
|
*/
|
|
@Override
|
|
public SaveRequest normalProcess(SaveRequest pSaveRequest) throws Exception {
|
|
if (pSaveRequest.get("csolicitud") == null || pSaveRequest.get("BPMStatus") == null || pSaveRequest.get("tipo") == null) {
|
|
return pSaveRequest;
|
|
}
|
|
String csolicitud = pSaveRequest.getString("csolicitud");
|
|
// El estado y los comentarios solo van a la solicitud.
|
|
ViaSolicitud vsol = ViaSolicitud.find(PersistenceHelper.getEntityManager(), new ViaSolicitudKey(csolicitud, EnumCodigos.SOLICITUD.getCodigo()));
|
|
this.crearComentario(pSaveRequest, vsol);
|
|
return pSaveRequest;
|
|
}
|
|
|
|
/*
|
|
* (non-Javadoc)
|
|
*
|
|
* @see com.fp.dto.rules.TransactionRule#reverseProcess(com.fp.dto.save.SaveRequest)
|
|
*/
|
|
@Override
|
|
public SaveRequest reverseProcess(SaveRequest pSaveRequest) throws Exception {
|
|
return pSaveRequest;
|
|
}
|
|
|
|
private void crearComentario(SaveRequest pSaveRequest, ViaSolicitud vsol) throws Exception {
|
|
ViaSolicitudComentariosKey key = new ViaSolicitudComentariosKey();
|
|
key.setCod_solicitud(vsol.getPk().getCod_solicitud());
|
|
key.setCod_tipo(vsol.getPk().getCod_tipo());
|
|
|
|
ViaSolicitudComentarios comen = new ViaSolicitudComentarios(key);
|
|
comen.setCod_estado(vsol.getCod_estado());
|
|
comen.setCod_usuario(pSaveRequest.getUser());
|
|
Date f = FormatDates.getInstance().getDataBaseDate();
|
|
SimpleDateFormat sdf = FormatDates.getInstance().getHourSecondsFormat();
|
|
comen.setFec_comentario(f);
|
|
comen.setFec_hora(sdf.format(FormatDates.getInstance().getDataBaseTimestamp()));
|
|
comen.setTxt_actividad(pSaveRequest.getString("taskname"));
|
|
comen.setTxt_comentario(pSaveRequest.getString("BPMObs"));
|
|
// Almacena en la base de datos el comentario.
|
|
PersistenceHelper.getEntityManager().persist(comen);
|
|
}
|
|
}
|