package book.stock; import foundation.action.ActionContext; import foundation.action.ActionProvider; import foundation.data.entity.Entity; import foundation.data.entity.EntitySet; import foundation.persist.NamedSQL; public class StockValidator extends ActionProvider { @Override public void exec(ActionContext context, String method) throws Exception { if ("validateImplant".equalsIgnoreCase(method)) { validateImplant(); } } public void validateImplant() throws Exception { String id = dataReader.getDataPackage().getMasterId(); NamedSQL namedSQL = NamedSQL.getInstance("getNotEnoughImplantDetails"); namedSQL.setParam("document_id", id); EntitySet entitySet = namedSQL.getEntitySet(); if (entitySet == null || entitySet.isEmpty()) { return; } for (Entity entity: entitySet) { String materialCode = entity.getString("material_code"); int qty_out = entity.getInteger("qty", 0); int qty_stock = entity.getInteger("qty_available", 0); dataWriter.reportOneError("", "物料" + materialCode + "不足(植入数量:" + qty_out + ", 库存数量:" + qty_stock + ")"); } terminateTask(context); } @Override protected void publishMethod() { // TODO Auto-generated method stub } }