143 lines
6.6 KiB
Plaintext
Executable File
143 lines
6.6 KiB
Plaintext
Executable File
package com.fp.armas.task;
|
|
|
|
import java.sql.Timestamp;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import javax.persistence.EntityManager;
|
|
|
|
import com.fp.persistence.commondb.PersistenceHelper;
|
|
import com.fp.persistence.parmas.soli.TarmArmas;
|
|
import com.fp.persistence.parmas.soli.TarmBodega;
|
|
import com.fp.persistence.parmas.soli.TarmDecomisoArma;
|
|
import com.fp.persistence.parmas.soli.TarmDetRepDestruirArmas;
|
|
import com.fp.persistence.parmas.soli.TarmTransaccionArmaBodega;
|
|
import com.fp.sessionbeans.helper.Sequence;
|
|
import com.fp.simple.action.TaskAction;
|
|
|
|
/**
|
|
* Clase que se encarga de fijar el codigo de empleado asociado a la solicitud en el request campo userId, para asignar
|
|
* una tarea.
|
|
*
|
|
* @version 2.1
|
|
*/
|
|
public class ActualizarInventBajaDestrucc extends TaskAction {
|
|
|
|
/*
|
|
* (non-Javadoc)
|
|
*
|
|
* @see com.fp.simple.action.TaskAction#assignOwner(com.fp.dto.Request)
|
|
*/
|
|
@SuppressWarnings("unchecked")
|
|
@Override
|
|
public void assignOwner(Object pParam) throws Exception {
|
|
EntityManager em=PersistenceHelper.getEntityManager();
|
|
System.out.println("Rutina que actualiza el inventario despues de que se ha autorizado destruir armas");
|
|
HashMap<String, Object> m = (HashMap<String, Object>) pParam;
|
|
Map<String, Object> mrequest = (Map<String, Object>) m.get("request");
|
|
if (mrequest.get("creporte") == null) {
|
|
return;
|
|
}
|
|
Integer creporte=Integer.parseInt(mrequest.get("creporte").toString());
|
|
|
|
//lista de las armas decomisadas que se encuentran en el reporte
|
|
List<TarmDetRepDestruirArmas> tarmDetRepDestruirArmasList= em.
|
|
createQuery("select t from TarmDetRepDestruirArmas t where t.creporte=:creporte")
|
|
.setParameter("creporte", creporte)
|
|
.getResultList();
|
|
//Se recorre la lista de las armas del reporte de destruccion
|
|
for(TarmDetRepDestruirArmas detArmaObj:tarmDetRepDestruirArmasList){
|
|
//Actualizo el estado del registro tarmDecomisoArma
|
|
|
|
TarmDecomisoArma decomisoArmaObj = (TarmDecomisoArma) em.createQuery("select t from TarmDecomisoArma t where t.pk=:pk")
|
|
.setParameter("pk", detArmaObj.getCdecomisoarma())
|
|
.getResultList().get(0);
|
|
decomisoArmaObj.setEstado("DEST");
|
|
em.merge(decomisoArmaObj);
|
|
//Actualizo el estado del registro tarmArma
|
|
TarmArmas armaObjAnterior = (TarmArmas) em.createQuery("select t from TarmArmas t where t.pk=:pk")
|
|
.setParameter("pk", decomisoArmaObj.getCarma())
|
|
.getResultList().get(0);
|
|
TarmArmas armaObj = new TarmArmas();
|
|
armaObj.setCantidad(armaObjAnterior.getCantidad());
|
|
armaObj.setCantoncode(armaObjAnterior.getCantoncode());
|
|
armaObj.setCitycode(armaObjAnterior.getCitycode());
|
|
armaObj.setCodigoarma(armaObjAnterior.getCodigoarma());
|
|
armaObj.setColor(armaObjAnterior.getColor());
|
|
armaObj.setColorcodigo(armaObjAnterior.getColorcodigo());
|
|
armaObj.setCountrycode(armaObjAnterior.getCountrycode());
|
|
armaObj.setCpaisorigen(armaObjAnterior.getCpaisorigen());
|
|
armaObj.setCregistro(armaObjAnterior.getCregistro());
|
|
armaObj.setCtipoarmaexplosivo(armaObjAnterior.getCtipoarmaexplosivo());
|
|
armaObj.setDireccion(armaObjAnterior.getDireccion());
|
|
armaObj.setEstado("DEST");
|
|
armaObj.setEstadocodigo("ESTADOARMA");
|
|
// Timestamp timeStamp = new Timestamp(System.currentTimeMillis());
|
|
// armaObj.setFecharegistro(timeStamp);
|
|
armaObj.setFemisionpermiso(armaObjAnterior.getFemisionpermiso());
|
|
armaObj.setLote(armaObjAnterior.getLote());
|
|
armaObj.setMarca(armaObjAnterior.getMarca());
|
|
armaObj.setMarcacodigo(armaObjAnterior.getMarcacodigo());
|
|
armaObj.setModelo(armaObjAnterior.getModelo());
|
|
armaObj.setNemonicoarma(armaObjAnterior.getNemonicoarma());
|
|
armaObj.setParroquiacode(armaObjAnterior.getParroquiacode());
|
|
armaObj.setPeso(armaObjAnterior.getPeso());
|
|
armaObj.setPesoAux(armaObjAnterior.getPesoAux());
|
|
armaObj.setProvincecode(armaObjAnterior.getProvincecode());
|
|
armaObj.setSeriecanon(armaObjAnterior.getSeriecanon());
|
|
armaObj.setTipofabricacion(armaObjAnterior.getTipofabricacion());
|
|
armaObj.setTipofabricacioncodigo(armaObjAnterior.getTipofabricacioncodigo());
|
|
armaObj.setUnidadmedidacantidad(armaObjAnterior.getUnidadmedidacantidad());
|
|
armaObj.setUnidadmedidacantidadcodigo(armaObjAnterior.getUnidadmedidacantidadcodigo());
|
|
armaObj.setValorAux(armaObjAnterior.getValorAux());
|
|
armaObj.setPk(getCodigoArma().toString());
|
|
em.persist(armaObj);
|
|
|
|
// Actualizar en TARMBODEGA el centro de control para el arma destruida
|
|
TarmBodega bodegaArmaObj = (TarmBodega) em.createQuery("select t from TarmBodega t where t.carma=:carma")
|
|
.setParameter("carma", decomisoArmaObj.getCarma())
|
|
.getResultList().get(0);
|
|
if(bodegaArmaObj!=null){
|
|
bodegaArmaObj.setCcentrocontrol(null);
|
|
em.merge(decomisoArmaObj);
|
|
}else{
|
|
TarmBodega bodegaObj = new TarmBodega();
|
|
bodegaObj.setPk(getCodigoBodega());
|
|
bodegaObj.setCarma(decomisoArmaObj.getCarma());
|
|
em.persist(bodegaObj);
|
|
}
|
|
// Inserta registro en transaccion Arma Bodega
|
|
TarmTransaccionArmaBodega tranArmaBodegaObj = new TarmTransaccionArmaBodega();
|
|
tranArmaBodegaObj.setPk(getCTransArmaBodega());
|
|
tranArmaBodegaObj.setCarma(decomisoArmaObj.getCarma());
|
|
tranArmaBodegaObj.setOperacion("DESTRUCCION");
|
|
tranArmaBodegaObj.setOperacioncode("OPERACIONDECOMISO");
|
|
tranArmaBodegaObj.setCcentrocontrolorigen("DPTOARMASPICH");
|
|
tranArmaBodegaObj.setFecha(new Timestamp(new Date().getTime()));
|
|
em.persist(tranArmaBodegaObj);
|
|
}
|
|
em.flush();
|
|
}
|
|
|
|
private String getCodigoArma() throws Exception{
|
|
Sequence sequence = new Sequence();
|
|
String carma = sequence.getNextValue("CARMA").toString();
|
|
return carma;
|
|
}
|
|
|
|
private Long getCodigoBodega() throws Exception{
|
|
Sequence sequence = new Sequence();
|
|
Integer cbodega = sequence.getNextValue("CBODEGA").intValue();
|
|
return new Long(cbodega);
|
|
}
|
|
|
|
private Long getCTransArmaBodega() throws Exception{
|
|
Sequence sequence = new Sequence();
|
|
Integer cTransArmaBodega = sequence.getNextValue("CTRANARMBODEGA").intValue();
|
|
return new Long(cTransArmaBodega);
|
|
}
|
|
|
|
}
|