Servicio de cola de impresion - Only Control

This commit is contained in:
james 2023-02-12 22:59:06 -05:00
parent e464e4a486
commit b698acb879
2 changed files with 120 additions and 115 deletions

View File

@ -20,84 +20,87 @@ import com.fp.persistence.parmas.param.TarmCentroControl;
import com.fp.persistence.pgeneral.safe.TsafeUserDetail; import com.fp.persistence.pgeneral.safe.TsafeUserDetail;
/** /**
* Componente que realiza la búsquedas de los datos de impresión de un usuario * Componente que realiza la búsquedas de los datos de impresión
* de un usuario
*
* @author dcruz * @author dcruz
* *
*/ */
public class ColaImpresion extends QueryRule{ public class ColaImpresion extends QueryRule {
private static final long serialVersionUID = -3993166768741911054L; private static final long serialVersionUID = -3993166768741911054L;
private static final String QUERY_USUARIO_ID = "SELECT o FROM TsafeUserDetail o WHERE o.pk.usercode=:usercode AND o.pk.dateto=:dateto"; private static final String QUERY_USUARIO_ID = "SELECT o FROM TsafeUserDetail o WHERE o.pk.usercode=:usercode AND o.pk.dateto=:dateto";
private static final String QUERY_COLA_IMPRESION = "SELECT o.* FROM TarmColadeImpresion o " private static final String QUERY_COLA_IMPRESION = "SELECT o.* FROM TarmColadeImpresion o "
+ "left join tarmdocumentohabilitante i on o.cdocumento = i.cdocumento " + "left join tarmdocumentohabilitante i on o.cdocumento = i.cdocumento "
+ "left join tarmsolicitud k on i.csolicitud = k.csolicitud " + "left join tarmsolicitud k on i.csolicitud = k.csolicitud "
+ "WHERE o.estadoimpresion=:estado and i.ccentrocontrol = :ccentrocontrol and coalesce(k.estado,'APB') IN ('APB','FIN')"; + "WHERE o.estadoimpresion=:estado and i.ccentrocontrol = :ccentrocontrol and coalesce(k.estado,'APB') IN ('APB','FIN')";
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public QueryRequest process(QueryRequest pRequest) throws Exception { public QueryRequest process(QueryRequest pRequest) throws Exception {
Query query; Query query;
List<ColaImpresionDto> lcolaImpresion = null; List<ColaImpresionDto> lcolaImpresion = null;
try { try {
String estado = (String) pRequest.get("estado"); String estado = (String) pRequest.get("estado");
String usercode = (String) pRequest.get("usercode"); String usercode = (String) pRequest.get("usercode");
System.out.println("estado..."+estado); System.out.println("estado..." + estado);
System.out.println("usercode..."+usercode); System.out.println("usercode..." + usercode);
query = PersistenceHelper.getEntityManager().createQuery(QUERY_USUARIO_ID); query = PersistenceHelper.getEntityManager().createQuery(QUERY_USUARIO_ID);
query.setParameter("usercode", usercode); query.setParameter("usercode", usercode);
query.setParameter("dateto", FormatDates.getDefaultExpiryTimestamp()); query.setParameter("dateto", FormatDates.getDefaultExpiryTimestamp());
List<TsafeUserDetail> ltsafeUserDetails = query.getResultList(); List<TsafeUserDetail> ltsafeUserDetails = query.getResultList();
TsafeUserDetail tsafeUserDetail; TsafeUserDetail tsafeUserDetail;
if(ltsafeUserDetails != null && !ltsafeUserDetails.isEmpty()){ if (ltsafeUserDetails != null && !ltsafeUserDetails.isEmpty()) {
tsafeUserDetail = ltsafeUserDetails.iterator().next(); tsafeUserDetail = ltsafeUserDetails.iterator().next();
}else{ } else {
return pRequest; return pRequest;
} }
//centro control //centro control
query=PersistenceHelper.getEntityManager().createQuery("select o from TarmCentroControl o" query = PersistenceHelper.getEntityManager().createQuery("select o from TarmCentroControl o"
+ " where o.pk=(select p.ccentrocontrol from TarmCentroControlJur p " + " where o.pk=(select p.ccentrocontrol from TarmCentroControlJur p "
+ " where p.provincecode=(select pr.provincecode from TcustPersonAddress pr " + " where p.provincecode=(select pr.provincecode from TcustPersonAddress pr "
+ " where pr.pk.personcode=:personcode and" + " where pr.pk.personcode=:personcode and"
+ " pr.pk.dateto=:dateto and" + " pr.pk.dateto=:dateto and"
+ " pr.principal='Y' and" + " pr.principal='Y' and"
+ " pr.pk.addressnumber=(select max(q.pk.addressnumber) from TcustPersonAddress q " + " pr.pk.addressnumber=(select max(q.pk.addressnumber) from TcustPersonAddress q "
+ " where q.pk.personcode=:personcode and" + " where q.pk.personcode=:personcode and"
+ " q.pk.dateto=:dateto and" + " q.pk.dateto=:dateto and"
+ " q.principal='Y')))"); + " q.principal='Y')))");
query.setParameter("personcode", tsafeUserDetail.getPk().getPersoncode()); query.setParameter("personcode", tsafeUserDetail.getPk().getPersoncode());
query.setParameter("dateto", FormatDates.getDefaultExpiryTimestamp()); query.setParameter("dateto", FormatDates.getDefaultExpiryTimestamp());
List<TarmCentroControl> tarmCentroControls = query.getResultList(); List<TarmCentroControl> tarmCentroControls = query.getResultList();
TarmCentroControl tarmCentroControl; TarmCentroControl tarmCentroControl;
if(tarmCentroControls != null && !tarmCentroControls.isEmpty()){ if (tarmCentroControls != null && !tarmCentroControls.isEmpty()) {
tarmCentroControl = tarmCentroControls.iterator().next(); tarmCentroControl = tarmCentroControls.iterator().next();
}else{ } else {
return pRequest; return pRequest;
} }
System.out.println("QUERY COLA IMPRESION: "+QUERY_COLA_IMPRESION); System.out.println("QUERY COLA IMPRESION: " + QUERY_COLA_IMPRESION);
query = PersistenceHelper.getEntityManager().createNativeQuery(QUERY_COLA_IMPRESION); query = PersistenceHelper.getEntityManager().createNativeQuery(QUERY_COLA_IMPRESION);
query.setParameter("estado", estado); query.setParameter("estado", estado);
query.setParameter("ccentrocontrol", tarmCentroControl.getPk()); query.setParameter("ccentrocontrol", tarmCentroControl.getPk());
List<TarmColadeImpresion> coladeImpresionList = new ArrayList<TarmColadeImpresion>();
List<Object[]> ltarmColadeImpresionsTMP = query.getResultList();
for (Object[] tmp : ltarmColadeImpresionsTMP) {
TarmColadeImpresion colaImpresionObj = new TarmColadeImpresion();
colaImpresionObj.setPk(tmp[3].toString());
colaImpresionObj.setEstadoimpresion(tmp[1].toString());
colaImpresionObj.setFechaimpresion((Timestamp) tmp[4]);
colaImpresionObj.setEstadoimpresioncode(tmp[2].toString());
colaImpresionObj.setCdocumento((new BigDecimal(tmp[0].toString())).longValue());
colaImpresionObj.setFecharegistro(new Date(((Timestamp) tmp[5]).getTime()));
if (tmp[6] != null) {
colaImpresionObj.setCodigotarjeta(tmp[6].toString());
}
coladeImpresionList.add(colaImpresionObj);
}
lcolaImpresion = ColaImpresionUtil.getInstancia().completaColaImpresion(coladeImpresionList, tsafeUserDetail.getPk().getPersoncode(), tsafeUserDetail.getPk().getUsercode());
pRequest.getResponse().put("COLAIMPRESION", lcolaImpresion);
} catch (Throwable e) {
APPLogger.getLogger().error(e.getMessage(), e);
}
return pRequest;
}
List<TarmColadeImpresion> coladeImpresionList = new ArrayList<TarmColadeImpresion>();
List<Object[]> ltarmColadeImpresionsTMP = query.getResultList();
for(Object[]tmp:ltarmColadeImpresionsTMP){
TarmColadeImpresion colaImpresionObj = new TarmColadeImpresion();
colaImpresionObj.setPk(tmp[3].toString());
colaImpresionObj.setEstadoimpresion(tmp[1].toString());
colaImpresionObj.setFechaimpresion((Timestamp) tmp[4]);
colaImpresionObj.setEstadoimpresioncode(tmp[2].toString());
colaImpresionObj.setCdocumento((new BigDecimal(tmp[0].toString())).longValue());
colaImpresionObj.setFecharegistro(new Date(((Timestamp) tmp[5]).getTime()));
if (tmp[6] != null)
colaImpresionObj.setCodigotarjeta(tmp[6].toString());
coladeImpresionList.add(colaImpresionObj);
}
lcolaImpresion = ColaImpresionUtil.getInstancia().completaColaImpresion(coladeImpresionList, tsafeUserDetail.getPk().getPersoncode(), tsafeUserDetail.getPk().getUsercode());
pRequest.getResponse().put("COLAIMPRESION", lcolaImpresion);
} catch (Throwable e) {
APPLogger.getLogger().error(e.getMessage(), e);
}
return pRequest;
}
} }

View File

@ -20,53 +20,55 @@ import com.fp.persistence.parmas.inte.TarmColadeImpresion;
/** /**
* Consulta los datos de impresi&oacute;n del proceso * Consulta los datos de impresi&oacute;n del proceso
*
* @author dcruz * @author dcruz
* *
*/ */
public class ConsultaImpresionProceso extends QueryRule { public class ConsultaImpresionProceso extends QueryRule {
private static final long serialVersionUID = -7675701723545274414L; private static final long serialVersionUID = -7675701723545274414L;
public static final String QUERY_COLA_SOLICITUD = "SELECT o.* FROM TarmColadeImpresion o WHERE o.estadoimpresion='PIMPR' and o.cdocumento " public static final String QUERY_COLA_SOLICITUD = "SELECT cdocumento, estadoimpresion, estadoimpresioncode, cimpresion, fechaimpresion, "
+ "IN ((SELECT i.cdocumento FROM TarmDocumentoHabilitante i WHERE i.csolicitud IN (SELECT c.CSOLICITUD FROM TarmSolicitud c " + "fecharegistro, codigotarjeta FROM TarmColadeImpresion o WHERE o.estadoimpresion='PIMPR' and o.cdocumento "
+ "WHERE c.estado IN ('APB','FIN') and c.numerosolicitud=:numerosolicitud)) UNION (SELECT SD.cdocumento FROM tarmsolicituddocumento SD WHERE sd.csolicitud " + "IN ((SELECT i.cdocumento FROM TarmDocumentoHabilitante i WHERE i.csolicitud IN (SELECT c.CSOLICITUD FROM TarmSolicitud c "
+ "IN (SELECT c.CSOLICITUD FROM TarmSolicitud c WHERE c.estado IN ('APB','FIN') and c.numerosolicitud=:numerosolicitud)))"; + "WHERE c.estado IN ('APB','FIN') and c.numerosolicitud=:numerosolicitud)) UNION (SELECT SD.cdocumento FROM tarmsolicituddocumento SD "
+ "WHERE sd.csolicitud IN (SELECT c.CSOLICITUD FROM TarmSolicitud c WHERE c.estado IN ('APB','FIN') and c.numerosolicitud=:numerosolicitud)))";
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public QueryRequest process(QueryRequest pRequest) throws Exception { public QueryRequest process(QueryRequest pRequest) throws Exception {
// TODO Auto-generated method stub // TODO Auto-generated method stub
List<ColaImpresionDto> lcolaImpresion = null; List<ColaImpresionDto> lcolaImpresion = null;
try { try {
String codigosolicitud = (String) pRequest.get("CODIGOSOLICITUD");
System.out.println("codigosolicitud.."+codigosolicitud);
System.out.println(QUERY_COLA_SOLICITUD);
Query query = PersistenceHelper.getEntityManager().createNativeQuery(QUERY_COLA_SOLICITUD);
query.setParameter("numerosolicitud", codigosolicitud);
List<TarmColadeImpresion> ltarmColadeImpresions = new ArrayList<TarmColadeImpresion>(); String codigosolicitud = (String) pRequest.get("CODIGOSOLICITUD");
List<Object[]> ltarmColadeImpresionsTMP = query.getResultList(); System.out.println("codigosolicitud.." + codigosolicitud);
System.out.println(QUERY_COLA_SOLICITUD);
for(Object[]tmp:ltarmColadeImpresionsTMP){ Query query = PersistenceHelper.getEntityManager().createNativeQuery(QUERY_COLA_SOLICITUD);
TarmColadeImpresion colaImpresionObj = new TarmColadeImpresion(); query.setParameter("numerosolicitud", codigosolicitud);
colaImpresionObj.setPk(tmp[3].toString());
colaImpresionObj.setEstadoimpresion(tmp[1].toString()); List<TarmColadeImpresion> ltarmColadeImpresions = new ArrayList<>();
colaImpresionObj.setFechaimpresion((Timestamp) tmp[4]); List<Object[]> ltarmColadeImpresionsTMP = query.getResultList();
colaImpresionObj.setEstadoimpresioncode(tmp[2].toString());
colaImpresionObj.setCdocumento(((BigDecimal) tmp[0]).longValue()); for (Object[] tmp : ltarmColadeImpresionsTMP) {
colaImpresionObj.setFecharegistro(new Date(((Timestamp) tmp[5]).getTime())); TarmColadeImpresion colaImpresionObj = new TarmColadeImpresion();
if (tmp[6] != null) colaImpresionObj.setCdocumento(((BigDecimal) tmp[0]).longValue());
colaImpresionObj.setCodigotarjeta(tmp[6].toString()); colaImpresionObj.setEstadoimpresion(tmp[1].toString());
ltarmColadeImpresions.add(colaImpresionObj); colaImpresionObj.setEstadoimpresioncode(tmp[2].toString());
} colaImpresionObj.setPk(tmp[3].toString());
colaImpresionObj.setFechaimpresion(tmp[4] == null ? null : new Timestamp(((Date) tmp[4]).getTime()));
lcolaImpresion = ColaImpresionUtil.getInstancia().completaColaImpresion(ltarmColadeImpresions); colaImpresionObj.setFecharegistro(tmp[5] == null ? null : (Date) tmp[5]);
pRequest.getResponse().put("COLAIMPRESION", lcolaImpresion); if (tmp[6] != null) {
pRequest.getResponse().put("COLAIMPRESION", lcolaImpresion); colaImpresionObj.setCodigotarjeta(tmp[6].toString());
} catch (Throwable e) { }
APPLogger.getLogger().error(e.getMessage(), e); ltarmColadeImpresions.add(colaImpresionObj);
} }
return pRequest; lcolaImpresion = ColaImpresionUtil.getInstancia().completaColaImpresion(ltarmColadeImpresions);
} pRequest.getResponse().put("COLAIMPRESION", lcolaImpresion);
// pRequest.getResponse().put("COLAIMPRESION", lcolaImpresion);
} catch (Throwable e) {
APPLogger.getLogger().error(e.getMessage(), e);
}
return pRequest;
}
} }