73 lines
3.1 KiB
Plaintext
Executable File
73 lines
3.1 KiB
Plaintext
Executable File
package com.fp.armas.rules.query.webservices;
|
|
|
|
import java.math.BigDecimal;
|
|
import java.sql.Date;
|
|
import java.sql.Timestamp;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import javax.persistence.Query;
|
|
|
|
import org.joda.time.DateTime;
|
|
|
|
import com.fp.armas.rules.query.webservices.util.ColaImpresionUtil;
|
|
import com.fp.common.logger.APPLogger;
|
|
import com.fp.dto.query.QueryRequest;
|
|
import com.fp.dto.rules.QueryRule;
|
|
import com.fp.persistence.commondb.PersistenceHelper;
|
|
import com.fp.persistence.parmas.dto.ws.ColaImpresionDto;
|
|
import com.fp.persistence.parmas.inte.TarmColadeImpresion;
|
|
|
|
/**
|
|
* Consulta los datos de impresión del proceso
|
|
* @author dcruz
|
|
*
|
|
*/
|
|
public class ConsultaImpresionProceso extends QueryRule {
|
|
|
|
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 "
|
|
+ "IN ((SELECT i.cdocumento FROM TarmDocumentoHabilitante i WHERE i.csolicitud IN (SELECT c.CSOLICITUD FROM TarmSolicitud c "
|
|
+ "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")
|
|
@Override
|
|
public QueryRequest process(QueryRequest pRequest) throws Exception {
|
|
// TODO Auto-generated method stub
|
|
List<ColaImpresionDto> lcolaImpresion = null;
|
|
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>();
|
|
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(((BigDecimal) tmp[0]).longValue());
|
|
colaImpresionObj.setFecharegistro(new Date(((Timestamp) tmp[5]).getTime()));
|
|
if (tmp[6] != null)
|
|
colaImpresionObj.setCodigotarjeta(tmp[6].toString());
|
|
ltarmColadeImpresions.add(colaImpresionObj);
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
}
|