144 lines
5.9 KiB
Plaintext
Executable File
144 lines
5.9 KiB
Plaintext
Executable File
package com.fp.armas.rules.save.solicitud;
|
|
|
|
import java.sql.Timestamp;
|
|
import java.util.ArrayList;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
import com.fp.dto.rules.TransactionRule;
|
|
import com.fp.dto.save.SaveRequest;
|
|
import com.fp.persistence.commondb.PersistenceHelper;
|
|
import com.fp.persistence.parmas.soli.TarmBodega;
|
|
import com.fp.persistence.parmas.soli.TarmDecomiso;
|
|
import com.fp.persistence.parmas.soli.TarmDecomisoArma;
|
|
import com.fp.persistence.parmas.soli.TarmDecomisoArmaTransaccion;
|
|
import com.fp.persistence.parmas.soli.TarmTransaccionArmaBodega;
|
|
import com.fp.persistence.pgeneral.gene.TgeneParameters;
|
|
import com.fp.persistence.pgeneral.gene.TgeneParametersKey;
|
|
import com.fp.sessionbeans.helper.Sequence;
|
|
|
|
public class DecomisoArmaRecepcion extends TransactionRule {
|
|
|
|
/**
|
|
*
|
|
*/
|
|
private static final long serialVersionUID = -1840770563013500407L;
|
|
|
|
@SuppressWarnings("unchecked")
|
|
@Override
|
|
public SaveRequest normalProcess(SaveRequest pSaveRequest) throws Exception {
|
|
|
|
TarmDecomisoArmaTransaccion decomisoArmaTransaccion=(TarmDecomisoArmaTransaccion) pSaveRequest.getSaveBeanModifiedObject("DECOMISOARMATRANSACCION");
|
|
//para las transacciones de la bodega
|
|
List<Object> transaccionArmaBodegas=(List<Object>) pSaveRequest.getSaveBeanModifiedRecords("TRANSACCIONARMABODEGA");
|
|
List<Object> bodegas=(List<Object>) pSaveRequest.getSaveBeanModifiedRecords("BODEGA");
|
|
|
|
if(decomisoArmaTransaccion==null){
|
|
return pSaveRequest;
|
|
}
|
|
|
|
if(transaccionArmaBodegas==null){
|
|
transaccionArmaBodegas= new ArrayList<>();
|
|
}
|
|
if(bodegas==null){
|
|
bodegas=new ArrayList<>();
|
|
}
|
|
|
|
TgeneParametersKey pKey= new TgeneParametersKey();
|
|
pKey.setCode("CODIGO.RECEPCION");
|
|
pKey.setCompanycode(1);
|
|
TgeneParameters parametro =TgeneParameters.find(PersistenceHelper.getEntityManager(), pKey);
|
|
|
|
String prefijo=pSaveRequest.get("prefijo").toString();
|
|
Calendar cal=Calendar.getInstance();
|
|
java.sql.Date fechaRegistro=new java.sql.Date(cal.getTimeInMillis());
|
|
//GENERA EL CODIGO PARA NUMERO DE TRANSACCION
|
|
//Long codigoGenerado = Long.parseLong(getCodigo("DECARMTRANRECECCION"));
|
|
|
|
decomisoArmaTransaccion.setPk(Long.parseLong(getCodigo("CDECOMISOARMATRANSACCION")));
|
|
decomisoArmaTransaccion.setFtransaccion(fechaRegistro);
|
|
decomisoArmaTransaccion.setNumerotransaccion( getNumeroTransaccion(prefijo,decomisoArmaTransaccion.getPk().toString()));
|
|
|
|
//actualizacion del decomiso cabecera el centro control destino
|
|
TarmDecomiso decomiso=(TarmDecomiso)pSaveRequest.getSaveBeanModifiedObject("DECOMISO");
|
|
|
|
|
|
TarmDecomisoArma decomisoArma=(TarmDecomisoArma)pSaveRequest.getSaveBeanModifiedObject("DECOMARMTRANRECECCION");
|
|
List<Object> lDecomisoArma = (List<Object>)pSaveRequest.getSaveBeanModifiedRecords("DECOMARMTRANRECECCION");
|
|
|
|
if(lDecomisoArma.isEmpty()){
|
|
lDecomisoArma.add(decomisoArma);
|
|
}
|
|
|
|
for (Object object : lDecomisoArma) {
|
|
TarmDecomisoArma c=(TarmDecomisoArma)object;
|
|
if(c.getModifiedData().get("seleccion").equals(Boolean.TRUE)){
|
|
String centroControl=null;
|
|
//bodega de origen por envio
|
|
if(c.getCdecomisoarmatransaccion()!=null && c.getCdecomisoarmatransaccion()>0){
|
|
TarmDecomisoArmaTransaccion transa= TarmDecomisoArmaTransaccion.find(PersistenceHelper.getEntityManager(), c.getCdecomisoarmatransaccion());
|
|
centroControl=transa.getCcentrocontrol();
|
|
}else{
|
|
centroControl=c.getModifiedData().get("ccentrocontrol").toString();
|
|
}
|
|
c.setCdecarmtranrecepcion(decomisoArmaTransaccion.getPk());
|
|
//transaccion del arma
|
|
TarmTransaccionArmaBodega tarmTransaccionArmaBodega = new TarmTransaccionArmaBodega();
|
|
tarmTransaccionArmaBodega.setPk(Long.parseLong(getCodigo("CTRANARMBODEGA")));
|
|
tarmTransaccionArmaBodega.setCdecomisoarmatransaccion(decomisoArmaTransaccion.getPk());
|
|
tarmTransaccionArmaBodega.setCcentrocontrolorigen(centroControl);
|
|
tarmTransaccionArmaBodega.setCcentrocontroldestino(decomisoArmaTransaccion.getCcentrocontrol());
|
|
tarmTransaccionArmaBodega.setCarma(c.getCarma());
|
|
tarmTransaccionArmaBodega.setOperacioncode("OPERACIONDECOMISO");
|
|
tarmTransaccionArmaBodega.setOperacion(parametro.getTextvalue());
|
|
tarmTransaccionArmaBodega.setFecha(new Timestamp(new Date().getTime()));
|
|
transaccionArmaBodegas.add(tarmTransaccionArmaBodega);
|
|
//bodega actualiza o inserta
|
|
TarmBodega bodega=null;
|
|
List<TarmBodega> bodegal=PersistenceHelper.getEntityManager()
|
|
.createQuery("select o from TarmBodega o where o.carma=:carma")
|
|
.setParameter("carma", c.getCarma())
|
|
.getResultList();
|
|
if(bodegal!=null && bodegal.size()>0){
|
|
bodega=bodegal.get(0);
|
|
}
|
|
if(bodega==null){
|
|
bodega= new TarmBodega();
|
|
bodega.setPk(Long.parseLong(getCodigo("CBODEGA")));
|
|
}
|
|
bodega.setCarma(c.getCarma());
|
|
bodega.setCcentrocontrol(decomisoArmaTransaccion.getCcentrocontrol());
|
|
bodegas.add(bodega);
|
|
//actualiza la cab del decomiso centro conttrol destino
|
|
decomiso=TarmDecomiso.find(PersistenceHelper.getEntityManager(), c.getCdecomiso());
|
|
decomiso.setCcentrocontroldestino(decomisoArmaTransaccion.getCcentrocontrol());
|
|
}
|
|
}
|
|
pSaveRequest.getResponse().put("numerotransaccionrecep", decomisoArmaTransaccion.getNumerotransaccion());
|
|
return pSaveRequest;
|
|
}
|
|
|
|
|
|
@Override
|
|
public SaveRequest reverseProcess(SaveRequest arg0) throws Exception {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
private String getCodigo(String codigoSec) throws Exception {
|
|
Sequence sequence = new Sequence();
|
|
Integer solcitud = Integer.valueOf(sequence.getNextValue(codigoSec).toString());
|
|
return solcitud.toString();
|
|
}
|
|
|
|
private String getNumeroTransaccion(String prefijo,String secuencia){
|
|
System.out.println("Ingresa al secuencial");
|
|
return prefijo+"-"+StringUtils.leftPad(secuencia, 9, '0');
|
|
}
|
|
|
|
|
|
}
|