maia_modificado/.svn/pristine/a5/a5c9b0262358ae255d6c5da7b71...

41 lines
1.4 KiB
Plaintext
Executable File

package com.fp.person.rules.query.code;
import java.math.BigDecimal;
import javax.persistence.Query;
import com.fp.dto.query.QueryRequest;
import com.fp.dto.rules.QueryRule;
import com.fp.persistence.commondb.PersistenceHelper;
/**
* Clase que se encarga de consultar la secuencia correspondiente al usuario
*
* @author scastillo
*/
public class AddressSequence extends QueryRule {
@Override
public QueryRequest process(QueryRequest qr) throws Exception {
Integer personcode = null;
Object personcodeObj = qr.get("personcode");
if (personcodeObj instanceof Integer) {
personcode = qr.getInteger("personcode");
} else if (personcodeObj instanceof String) {
personcode = Integer.valueOf(qr.getString("personcode"));
}
Query qry = PersistenceHelper.getEntityManager().createQuery(
"select coalesce(max(tcpa.pk.addressnumber), 0) from TcustPersonAddress tcpa where tcpa.pk.personcode = :personcode");
qry.setParameter("personcode", personcode);
Object test = qry.getSingleResult();
Integer result = null;
if (test instanceof Integer) {
result = (Integer) test;
} else if (test instanceof BigDecimal) {
result = ((BigDecimal) test).intValueExact();
}
qr.getResponse().put("result", test);
return qr;
}
}