package com.fp.armas.rules.save.pcustomer; import java.sql.Date; import java.sql.Timestamp; import java.util.Calendar; import org.apache.velocity.texen.util.FileUtil; import com.fp.dto.rules.TransactionRule; import com.fp.dto.save.SaveRequest; import com.fp.persistence.commondb.PersistenceHelper; import com.fp.persistence.pcustomer.gene.TcustPersonDetail; import com.fp.persistence.pgeneral.image.TgeneFiles; import com.fp.persistence.pgeneral.image.TgeneFilesDetail; import com.fp.persistence.pgeneral.image.TgeneFilesDetailKey; import com.fp.persistence.pgeneral.safe.TsafeUserDetail; import com.fp.sessionbeans.helper.Sequence; public class PeopleFastSave extends TransactionRule { private static final long serialVersionUID = 1L; @Override public SaveRequest normalProcess(SaveRequest pSaveRequest) throws Exception { try { /* TcustPersonDetail d=(TcustPersonDetail)pSaveRequest.get("DETALLESPERSONA"); TcustPersonDetail personaBD=PersistenceHelper.getEntityManager().find(TcustPersonDetail.class, d.getPk()); byte[] photo=(byte[])pSaveRequest.get("PHOTO"); String extension=pSaveRequest.get("EXTENSION").toString(); TsafeUserDetail usuario=(TsafeUserDetail)pSaveRequest.get("USUARIO"); //Seteando los campos personaBD.setActivitycode(d.getActivitycode()); personaBD.setBranchcode(d.getBranchcode()); personaBD.setClienttypecatalog(d.getClienttypecatalog()); personaBD.setClienttypecatalogcode(d.getClienttypecatalogcode()); personaBD.setCompanycode(d.getCompanycode()); personaBD.setDateexpidentification(d.getDateexpidentification()); personaBD.setDatefrom(d.getDatefrom()); personaBD.setEconomicsectorcatalog(d.getEconomicsectorcatalog()); personaBD.setEconomicsectorcatalogcode(d.getEconomicsectorcatalogcode()); personaBD.setIdentification(d.getIdentification()); personaBD.setIdentificationcatalog(d.getIdentificationcatalog()); personaBD.setIdentificationcatalogcode(d.getIdentificationcatalogcode()); personaBD.setIngressuser(d.getIngressuser()); personaBD.setInnerscore(d.getInnerscore()); personaBD.setIsmigrated(d.getIsmigrated()); personaBD.setLanguagecode(d.getLanguagecode()); personaBD.setLegalrepresent(d.getLegalrepresent()); personaBD.setLegalrepresentidentification(d.getLegalrepresentidentification()); personaBD.setMilitarygrade(d.getMilitarygrade()); personaBD.setMilitarygradecode(d.getMilitarygradecode()); personaBD.setModifyuser(d.getModifyuser()); personaBD.setName(d.getName()); personaBD.setNickname(d.getNickname()); personaBD.setOfficecode(d.getOfficecode()); personaBD.setParthnernumber(d.getParthnernumber()); personaBD.setPersontypecatalog(d.getPersontypecatalog()); personaBD.setPersontypecatalogcode(d.getPersontypecatalogcode()); personaBD.setRecordversion(d.getRecordversion()); personaBD.setRegisterdate(d.getRegisterdate()); personaBD.setSbsemployee(d.getSbsemployee()); personaBD.setSbsusercode(d.getSbsusercode()); personaBD.setSign(d.getSign()); personaBD.setTaxexempt(d.getTaxexempt()); //personaBD.setPicture(d.getPicture()); //Asginando la foto if(photo!=null){ //Creando un nuevo archivo TgeneFilesDetail archivoActual=new TgeneFilesDetail(); //Caso de que exista un arhivo anterior if(personaBD.getPhoto()!=null){ TgeneFilesDetail archivoAnterior=PersistenceHelper.getEntityManager().find(TgeneFilesDetail.class, personaBD.getPhoto()); archivoAnterior.getPk().setDateto(new java.sql.Timestamp(Calendar.getInstance().getTimeInMillis())); PersistenceHelper.getEntityManager().persist(archivoAnterior); archivoActual.setPk(archivoAnterior.getPk()); archivoActual.setDatefrom(archivoAnterior.getDatefrom()); archivoActual.setIngressuser(archivoAnterior.getIngressuser()); } //Creando un nuevo TEGENEFILES Sequence sequence = new Sequence(); Integer code=sequence.getNextValue("CODE"); TgeneFiles file=new TgeneFiles(); file.setPk(code); //PersistenceHelper.getEntityManager().persist(file); //Creando el pk del TGENEFILEDETAIL TgeneFilesDetailKey pk=new TgeneFilesDetailKey(); pk.setCode(code); Calendar calendario=Calendar.getInstance(); calendario.set(Calendar.MONTH, Calendar.DECEMBER); calendario.set(Calendar.DAY_OF_MONTH, 31); calendario.set(Calendar.YEAR, 2999); pk.setDateto(new Timestamp(calendario.getTimeInMillis())); archivoActual.setPk(pk); archivoActual.setImage(photo); archivoActual.setExtension(extension); archivoActual.setImagesize(photo.length); archivoActual.setCapturedate(new Date(Calendar.getInstance().getTimeInMillis())); archivoActual.setModifyuser(usuario.getPk().getUsercode()); archivoActual.setDescription("Foto de la persona"); archivoActual.setContenttype("image/"+extension.substring(1,extension.length())); //PersistenceHelper.getEntityManager().persist(archivoActual); } if(personaBD.getPk()!=null && personaBD.getPk().getPersoncode()!=null){ personaBD=PersistenceHelper.getEntityManager().merge(personaBD); PersistenceHelper.getEntityManager().persist(personaBD); } PersistenceHelper.getEntityManager().flush(); */ } catch (Exception e) { return pSaveRequest; } return pSaveRequest; } @Override public SaveRequest reverseProcess(SaveRequest arg0) throws Exception { return arg0; } }