maia_modificado/.svn/pristine/cf/cf83cc45714a5550787f7a3d171...

80 lines
3.7 KiB
Plaintext
Executable File

package com.fp.person.rules.save;
import java.util.List;
import javax.persistence.EntityManager;
import com.fp.dto.helper.FileHelper;
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.pgeneral.image.TgeneFiles;
import com.fp.persistence.pgeneral.image.TgeneFilesDetail;
import com.fp.persistence.pgeneral.image.TgeneFilesDetailKey;
/**
* Clase que se encarga de guardar los datos de la situaciòn financiera de
* personas y subir un archive a la DB
*
* @author BPTWPA
*/
public class PersonBalanceFile extends TransactionRule {
/**
* Mètodo que recibe datos para registrar la informacion en la DB
*
* @param pSaveRequest Recibe un objeto SaveRequest
* @return pSaveRequest Retorna un objeto SaveRequest
* @throws Exception
*/
@SuppressWarnings("unchecked")
@Override
public SaveRequest normalProcess(SaveRequest pSaveRequest) throws Exception {
String balancefile = (String) pSaveRequest.get("balancefile");
List<FileHelper> fileItem = (List<FileHelper>) pSaveRequest.get("file");
if (fileItem == null || balancefile == null || fileItem.isEmpty()) {
return pSaveRequest;
}
if (balancefile != null && balancefile.compareTo("excelfile") == 0) {
Integer filecode = PersonImage.getFileCode();
TgeneFiles tgeneFiles = TgeneFiles.find(PersistenceHelper.getEntityManager(), filecode);
if (tgeneFiles == null) {
tgeneFiles = new TgeneFiles(filecode);
pSaveRequest.putSaveBean("TGENEFILES", tgeneFiles, 1);
}
TgeneFilesDetailKey tgeneFilesDetailKey = new TgeneFilesDetailKey(filecode, FormatDates.getDefaultExpiryTimestamp());
TgeneFilesDetail tgeneFilesDetail = TgeneFilesDetail.find(PersistenceHelper.getEntityManager(), tgeneFilesDetailKey);
if (tgeneFilesDetail == null) {
tgeneFilesDetail = new TgeneFilesDetail();
tgeneFilesDetail.setPk(tgeneFilesDetailKey);
tgeneFilesDetail.setImage(fileItem.get(0).getImage());
tgeneFilesDetail.setCapturedate(FormatDates.getInstance().getDataBaseDate());
tgeneFilesDetail.setImagesize(Integer.parseInt(String.valueOf(fileItem.get(0).getSize())));
tgeneFilesDetail.setIngressuser(pSaveRequest.getUser());
tgeneFilesDetail.setExtension(fileItem.get(0).getExtension());
tgeneFilesDetail.setContenttype(fileItem.get(0).getContentType());
tgeneFilesDetail.setName(fileItem.get(0).getName());
} else {
tgeneFilesDetail.setImage(fileItem.get(0).getImage());
tgeneFilesDetail.setCapturedate(FormatDates.getInstance().getDataBaseDate());
tgeneFilesDetail.setImagesize(Integer.parseInt(String.valueOf(fileItem.get(0).getSize())));
tgeneFilesDetail.setDatefrom(FormatDates.getInstance().getDataBaseTimestamp());
tgeneFilesDetail.setModifyuser(pSaveRequest.getUser());
tgeneFilesDetail.setContenttype(fileItem.get(0).getContentType());
tgeneFilesDetail.setName(fileItem.get(0).getName());
EntityManager em = PersistenceHelper.getEntityManager();
em.detach(tgeneFilesDetail);
}
pSaveRequest.putSaveBean("TGENEFILESDETAIL", tgeneFilesDetail, 2);
pSaveRequest.getResponse().put("codes", "[" + filecode + "]");
}
return pSaveRequest;
}
@Override
public SaveRequest reverseProcess(SaveRequest pSaveRequest) throws Exception {
return pSaveRequest;
}
}