maia/.svn/pristine/ee/ee7fc28a426ab83931d89020eb0...

109 lines
5.3 KiB
Plaintext
Executable File

package com.fp.person.rules.save;
import com.fp.dto.helper.FileHelper;
import com.fp.dto.rules.TransactionRule;
import com.fp.dto.save.SaveRequest;
import com.fp.general.exception.GeneralException;
import com.fp.persistence.commondb.PersistenceHelper;
import com.fp.persistence.commondb.helper.FormatDates;
import com.fp.persistence.pcustomer.company.TcustCompany;
import com.fp.persistence.pcustomer.company.TcustCompanyKey;
import com.fp.persistence.pgeneral.image.TgeneFiles;
import com.fp.persistence.pgeneral.image.TgeneFilesDetail;
import com.fp.persistence.pgeneral.image.TgeneFilesDetailKey;
import java.sql.Timestamp;
import java.util.List;
/**
* Clase que se encarga de agregar o modificar los logos de una empresa
*
* @author scastillo
*/
public class LogoImage extends TransactionRule {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* Metodo que genera el numero de sequencia de imagenes para el logo de
* empresas
*
* @param sr
* @return
* @throws Exception
*/
@Override
public SaveRequest normalProcess(SaveRequest sr) throws Exception {
Integer personcode = (Integer) sr.get("pk_personcode");
Integer logocode = (Integer) sr.get("logocode");
List<FileHelper> fileItem = (List<FileHelper>) sr.get("file");
if (fileItem!=null && !fileItem.isEmpty() && fileItem.size() == 1) {
if(fileItem.get(0).getExtension() != null){
if (fileItem.get(0).getExtension().toLowerCase().compareTo("jpg") == 0
|| fileItem.get(0).getExtension().toLowerCase().compareTo("gif") == 0
|| fileItem.get(0).getExtension().toLowerCase().compareTo("png") == 0) {
int contador = 1;
if (logocode == null) {
logocode = PersonImage.getFileCode();
TgeneFiles tgeneFiles = new TgeneFiles();
tgeneFiles.setPk(logocode);
sr.putSaveBean("TGENEFILES", tgeneFiles, (contador++));
}
TgeneFilesDetailKey tgeneFilesDetailKey = new TgeneFilesDetailKey();
tgeneFilesDetailKey.setCode(logocode);
Timestamp fechaactual = FormatDates.getInstance().getDataBaseTimestamp();
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(sr.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(fechaactual);
tgeneFilesDetail.setModifyuser(sr.getUser());
tgeneFilesDetail.setContenttype(fileItem.get(0).getContentType());
tgeneFilesDetail.setName(fileItem.get(0).getName());
PersistenceHelper.getEntityManager().detach(
tgeneFilesDetail);
}
sr.putSaveBean("TGENEFILESDETAIL", tgeneFilesDetail,
(contador++));
TcustCompanyKey tcustCompanyKey = new TcustCompanyKey();
tcustCompanyKey.setPersoncode(personcode);
tcustCompanyKey.setDateto(FormatDates.getDefaultExpiryTimestamp());
TcustCompany tcustCompany = TcustCompany.find(
PersistenceHelper.getEntityManager(), tcustCompanyKey);
tcustCompany.setModifyuser(sr.getUser());
tcustCompany.setPicture(fileItem.get(0).getImage());
tcustCompany.setLogo(logocode);
tcustCompany.setDatefrom(fechaactual);
PersistenceHelper.getEntityManager().detach(tcustCompany);
sr.putSaveBean("TCUSTCOMPANY", tcustCompany, (contador++));
} else {
throw new GeneralException("CUST-0007", "Los tipos de archivos permitidos son jpg, gif y png");
}
}
}
sr.getResponse().put("codes", "[" + logocode + "]");
return sr;
}
@Override
public SaveRequest reverseProcess(SaveRequest sr) throws Exception {
return sr;
}
}