| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package xin.glue.nui.E.E03;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import xin.glue.ui.common.PosDBEngine;
- import com.posdata.glue.biz.constants.PosBizControlConstants;
- import com.posdata.glue.context.PosContext;
- import com.posdata.glue.dao.vo.PosRowSet;
- public class RepMatSave extends PosDBEngine {
- public String runActivity(PosContext ctx) {
- Initialize();
- // 2. Get Parameter( 各语句参数名获取 )
- setParamMap(ctx, "sqlkey0", "param0"); // 选取充当订单及订单余量
- setParamMap(ctx, "sqlkey1", "param1"); // 选取充当物料及充当重量
- setParamMap(ctx, "sqlkey-u", "param-u");// REP_XXXX
- setParamMap(ctx, "sqlkey-d", "param-d");// REP_XXXX_D
- setParamMap(ctx, "sqlkey-i", "param-i");// REP_XXXX_D
- setParamMap(ctx, "sqlkey-o", "param-o");// 订单余量更新
- List list = new ArrayList();
- PosRowSet rowSet1 = (PosRowSet) super.Execute(ctx, "sqlkey0", "param0");
- while (rowSet1.hasNext()) {
- Map fields = rowSet1.next().getAttributes();
- double REP_REM_WGT = Double.parseDouble(fields.get("REP_REM_WGT").toString());
- for (Iterator iterator = fields.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- ctx.put(entry.getKey(), entry.getValue());
- list.add(entry.getKey());
- }
- PosRowSet rowSet2 = (PosRowSet) super.Execute(ctx, "sqlkey1", "param1");
- while (rowSet2.hasNext()) {
- fields = rowSet2.next().getAttributes();
- for (Iterator iterator = fields.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- ctx.put(entry.getKey(), entry.getValue());
- list.add(entry.getKey());
- }
- Execute(ctx, "sqlkey-u", "param-u", 'u');
- Execute(ctx, "sqlkey-d", "param-d", 'd');
- Execute(ctx, "sqlkey-i", "param-i", 'i');
- Execute(ctx, "sqlkey-o", "param-o", 'u');
- // 计算订单余重,小于零则取下一订单(仅自动充当时使用)
- REP_REM_WGT -= Double.parseDouble(fields.get("WGT").toString());
- if (REP_REM_WGT <= 0) break;
- }
- }
- for (int i = list.size() - 1; i >= 0; i--)
- ctx.remove(list.get(i));
- return PosBizControlConstants.SUCCESS;
- }
- }
|