maia_modificado/.svn/pristine/02/022e8a234f65542ccef25a1bc90...

73 lines
3.0 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;
}
}