package com.fp.general.rules; import java.util.List; import com.fp.base.persistence.util.helper.GeneralDescriptions; import com.fp.bpm.query.Query; import com.fp.dto.Response; import com.fp.dto.query.QueryRequest; import com.fp.dto.rules.QueryRule; import com.fp.persistence.pgeneral.product.TgeneSubProductCurrency; /** * Clase que se encarga de completar descripcion del modulo, producto, y subproducto, dado un codigo de query alias. * * @author Jorge Vaca * @version 2.1 */ public class SubProductcurrencyDesc extends QueryRule { /** * Metodo que completa descripciones de modulo, producto y sub producto. */ @Override @SuppressWarnings("unchecked") public QueryRequest process(QueryRequest pQueryRequest) throws Exception { Response response = pQueryRequest.getResponse(); Query qry = new Query(); qry.process(pQueryRequest); List lobjects = (List) response.get("TGENESUBPRODUCTCURRENCY"); if (lobjects == null) { return pQueryRequest; } for (Object obj : lobjects) { TgeneSubProductCurrency subprod = (TgeneSubProductCurrency) obj; if (subprod.getPk().getModulecode() == null) { continue; } // module descripion subprod.addAddtionalInfo("moduledesc", GeneralDescriptions.getModuledesc(subprod.getPk().getModulecode())); // product description subprod.addAddtionalInfo("productdesc", GeneralDescriptions.getProductdesc(subprod.getPk().getModulecode(), subprod.getPk().getProductcode())); // subproduct description subprod.addAddtionalInfo("subproductdesc", GeneralDescriptions.getSubProductdesc(subprod.getPk().getModulecode(), subprod.getPk() .getProductcode(), subprod.getPk().getSubproductcode())); // currency description subprod.addAddtionalInfo("currencydesc", GeneralDescriptions.getCurrencydesc(subprod.getPk().getCurrencycode())); } return pQueryRequest; } }