| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- package xin.glue.ui.K.K01;
- import java.math.BigDecimal;
- 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.PosException;
- import com.posdata.glue.biz.constants.PosBizControlConstants;
- import com.posdata.glue.biz.control.PosBizProvider;
- import com.posdata.glue.context.PosContext;
- import com.posdata.glue.dao.vo.PosParameter;
- import com.posdata.glue.dao.vo.PosRowSet;
- import com.posdata.glue.msg.PosMESMessageImpl;
- import com.posdata.glue.msg.PosMessage;
- public class OrdRepSave extends PosDBEngine {
-
- String V_ORD_NO;
- String V_ORD_SEQ;
-
- public String runActivity(PosContext ctx) {
- Initialize();
- // 2. Get Parameter( 各语句参数名获取 )
- setParamMap(ctx, "sqlkey0", "param0"); // 充当订单及其余量查询
- setParamMap(ctx, "sqlkey1", "param1"); // 充当物料及其重量查询
- setParamMap(ctx, "sqlkey2", "param2"); // NIE012070 接口参数查询
- setParamMap(ctx, "sqlkey-h", "param-h");// 历史插入
- setParamMap(ctx, "sqlkey-u", "param-u");// XXXX_COMM
- setParamMap(ctx, "sqlkey-b", "param-b");// 板加数据更新
- setParamMap(ctx, "sqlkey-z", "param-b");// 板加数中间表合同号更新
- setParamMap(ctx, "sqlkey-d", "param-d");// 删除 XXXX_COMM_D
- setParamMap(ctx, "sqlkey-i", "param-i");// 插入 XXXX_COMM_D
- setParamMap(ctx, "sqlkey-ud", "param-ud");// 更新 XXXX_COMM_D
- String SERVICE_POSTFIX = "-service";
- PosMessage message = new PosMESMessageImpl();
- // message.setTCID("NIE012070");
- ctx.setMessage(message);
- // processComponent(PosConstants.CREATE_MESSAGE, ctx);
- List list = new ArrayList();
- PosRowSet rowSet1 = (PosRowSet) super.Execute(ctx, "sqlkey0", "param0");
- while (rowSet1 == null || rowSet1.hasNext()) {
- if (rowSet1 != null) {
- Map fields = rowSet1.next().getAttributes();
- for (Iterator iterator = fields.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- ctx.put(entry.getKey().toString(), entry.getValue());
- message.setObject(entry.getKey().toString(), entry.getValue());
- list.add(entry.getKey());
- }
- }
- PosRowSet rowSet2 = (PosRowSet) super.Execute(ctx, "sqlkey1", "param1");
- while (rowSet2.hasNext()) {
- Map 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());
- message.setObject(entry.getKey().toString(), entry.getValue());
- list.add(entry.getKey());
- }
- PosRowSet rowSet = (PosRowSet)Execute(ctx, "sqlkey2", "param2");
- Execute(ctx, "sqlkey-h", "param-h", 'i');
- Execute(ctx, "sqlkey-u", "param-u", 'u');
- Execute(ctx, "sqlkey-b", "param-b", 'u');//更新板加表20170218
- Execute(ctx, "sqlkey-z", "param-b", 'u');//更新板加接口中间表合同号20170327
- Execute(ctx, "sqlkey-d", "param-d", 'd');
- //Execute(ctx, "sqlkey-i", "param-i", 'i');
- String matNO = (String)ctx.get("MAT_NO");
- String[] ob = (String[])ctx.get("COIL_CNT");
- if (ob == null||ob[0].equals("")){
- PosParameter param = new PosParameter();
- param.setValueParamter(0, matNO);
- this.getDao("mesdao").update("NIK010050.SlabCommD_detail.delete", param);
-
- param = new PosParameter();
- param.setValueParamter(0, matNO);
- this.getDao("mesdao").update("NIK010050.CoilCommD_detail.delete", param);
- }else{
- BigDecimal coils = new BigDecimal(ob[0]);
-
- for(int i = 1 ;i <= coils.intValue() ;i++){
- PosParameter param = new PosParameter();
- param.setValueParamter(0, "0"+i);
- param.setValueParamter(1, coils);
- param.setValueParamter(2, matNO);
- this.getDao("mesdao").update("NIK010050.SlabCommD_detail.Insert", param);
-
- param = new PosParameter();
- param.setValueParamter(0, "0"+i);
- param.setValueParamter(1, coils);
- param.setValueParamter(2, matNO);
- this.getDao("mesdao").update("NIK010050.CoilCommD_Detail.Insert", param);
-
- }
- }
- Execute(ctx, "sqlkey-ud", "param-ud", 'u');
- // 设置向sub service里传入的Parameter.
- Object obj = ctx.get("REG_ID");
- if (obj instanceof String[])
- message.setObject("REG_ID", ((String[])obj)[0]);
- else
- message.setObject("REG_ID", obj);
- // if (!message.getAttributes().containsKey("ORD_NO")) {
- // obj = ctx.get("ORD_NO");
- // if (obj instanceof String[])
- // message.setObject("ORD_NO", ((String[])obj)[0]);
- // else
- // message.setObject("ORD_NO", obj);
- // obj = ctx.get("ORD_SEQ");
- // if (obj instanceof String[])
- // message.setObject("ORD_SEQ", ((String[])obj)[0]);
- // else
- // message.setObject("ORD_SEQ", obj);
- // }
- if (!message.getAttributes().containsKey("ORD_NO")) {
- obj = ctx.get("ORD_NO");
-
- if (obj instanceof String[]){
- message.setObject("ORD_NO", ((String[])obj)[0]);
- V_ORD_NO = ((String[])obj)[0];
- }
- else {
- message.setObject("ORD_NO", obj);
- V_ORD_NO = obj.toString();
- }
- obj = ctx.get("ORD_SEQ");
- if (obj instanceof String[]) {
- message.setObject("ORD_SEQ", ((String[])obj)[0]);
- V_ORD_SEQ = ((String[])obj)[0];
- }
- else{
- message.setObject("ORD_SEQ", obj);
- V_ORD_SEQ = obj.toString();
- }
- }
- while (rowSet.hasNext()) {
- for (Iterator iterator = rowSet.next().getAttributes().entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- message.setObject(entry.getKey().toString(), entry.getValue());
- }
- // NIE012070_订单进程OS I/F程序
- // 调用sub service.
- // 为用one transaction来进行连接
- // 把doSubController Method的第二个Parameter用 'false'来指定.
- ctx.put(PosBizControlConstants.SERVICE_NAME, "NIE012070" + SERVICE_POSTFIX);
- PosBizProvider.getController().doSubController(ctx, false);
- }
- }
- if (rowSet1 == null) break;
- }
- // NIE012080_订单进程OS编辑MAIN程序
- //ctx.put(PosBizControlConstants.SERVICE_NAME, "NIE012080" + SERVICE_POSTFIX);
- ctx.put(PosBizControlConstants.SERVICE_NAME, "NIE012100" + SERVICE_POSTFIX);
- PosBizProvider.getController().doSubController(ctx, false);
-
- // //超量检查
- // if (new OrdChk(V_ORD_NO, V_ORD_SEQ).isOver()) {
- // throw new PosException("订单超量...OrdRepSave.OrdChk.isOver..."
- // + V_ORD_NO + " - " + V_ORD_SEQ);
- // }
- // ;
- for (int i = list.size() - 1; i >= 0; i--)
- ctx.remove(list.get(i));
- return PosBizControlConstants.SUCCESS;
- }
- }
|