c3edce036e716b2a8a47afaedf2a3d8cb5423117.svn-base 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. package xin.glue.ui.D.D01;
  2. import java.math.BigDecimal;
  3. import java.sql.Timestamp;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6. import com.posdata.glue.biz.activity.PosActivity;
  7. import com.posdata.glue.biz.constants.PosBizControlConstants;
  8. import com.posdata.glue.context.PosContext;
  9. import com.posdata.glue.dao.vo.PosParameter;
  10. import com.posdata.glue.dao.vo.PosRow;
  11. import com.posdata.glue.dao.vo.PosRowSet;
  12. /**
  13. * 保存板坏设计订单选定标准的条件
  14. * @author 王黎
  15. * @date 2008-11-25
  16. */
  17. public class SaveSltedStlGrd extends PosActivity
  18. {
  19. public String runActivity(PosContext context)
  20. {
  21. String[] chk = (String[]) context.get("CHK");
  22. String[] COIL_WTH_GAP = (String[]) context.get("COIL_WTH_GAP");//钢卷宽度间隔条件
  23. String[] DEVLMT_FR = (String[]) context.get("DEVLMT_FR");//交货期条件<开始日>
  24. String[] DEVLMT_TO = (String[]) context.get("DEVLMT_TO");//交货期条件<结束日>
  25. String[] PLAN_WGT_FR = (String[]) context.get("PLAN_WGT_FR");//待设计量<开始>
  26. String[] PLAN_WGT_TO = (String[]) context.get("PLAN_WGT_TO");//待设计量<结束>
  27. String[] DEVLMT_ALL_YN = (String[]) context.get("DEVLMT_ALL_YN");//交货期条件<是否全体选择>
  28. String[] PLAN_WGT_ALL_YN = (String[]) context.get("PLAN_WGT_ALL_YN");//待设计量<是否全部选择>
  29. String[] REGED_BY_CD = (String[])context.get("REGED_BY_CD");//录入人
  30. String[] CHGED_BY_CD = (String[])context.get("CHGED_BY_CD");//修改人
  31. String[] SLTED_STL_GRP = (String[]) context.get("SLTED_STL_GRP");//左边列表信息:厂内牌号组代码
  32. String[] RN = (String[]) context.get("RN");//左边列表信息:排列序号
  33. PosRowSet rowSet = null;
  34. boolean flag = false;
  35. //查询TBD00_SLABDN_ETSTDH中是否存在条件数据,以便做出更新还是插入操作判断
  36. String sql = "SELECT NVL(MAX(ETSTDH_SEQ), 1) AS MAX_ETSTDH_SEQ FROM TBD00_SLABDN_ETSTDH";
  37. rowSet = this.getDao("mesdao").findByQueryStatement(sql);
  38. Timestamp REG_DATETIME = new Timestamp(System.currentTimeMillis());
  39. Timestamp CHG_DATETIME = new Timestamp(System.currentTimeMillis());
  40. String MAX_ETSTDH_SEQ = "";
  41. PosRow row = null;
  42. Map map = new HashMap();
  43. if(rowSet.hasNext())
  44. {
  45. flag = true;//等于true的时候就执行更新操作,否则执行插入操作
  46. row = rowSet.next();
  47. map = row.getAttributes();
  48. MAX_ETSTDH_SEQ = ((BigDecimal)map.get("MAX_ETSTDH_SEQ")).toString();
  49. }
  50. PosParameter parameter = null;
  51. if(!flag)//执行insert操作
  52. {
  53. parameter = new PosParameter();
  54. parameter.setValueParamter(0, DEVLMT_FR[0]); //交货期条件<开始日>
  55. parameter.setValueParamter(1, DEVLMT_TO[0]); //交货期条件<结束日>
  56. parameter.setValueParamter(2, DEVLMT_ALL_YN[0]); //交货期条件<是否全体选择>
  57. parameter.setValueParamter(3, PLAN_WGT_FR[0]); //待设计量<开始>
  58. parameter.setValueParamter(4, PLAN_WGT_TO[0]); //待设计量<结束>
  59. parameter.setValueParamter(5, PLAN_WGT_ALL_YN[0]); //待设计量<是否全部选择>
  60. parameter.setValueParamter(6, COIL_WTH_GAP[0]); //钢卷宽度间隔条件
  61. parameter.setValueParamter(7, REG_DATETIME); //录入时间<Timestamp>
  62. parameter.setValueParamter(8, REGED_BY_CD[0]); //录入人
  63. parameter.setValueParamter(9, ""); //修改时间<Timestamp>
  64. parameter.setValueParamter(10, ""); //修改人
  65. parameter.setValueParamter(11, "1"); //选定标准序号
  66. getDao("mesdao").insert("slabDnEtstdh.insert",parameter);
  67. }
  68. else//执行update操作
  69. {
  70. parameter = new PosParameter();
  71. parameter.setValueParamter(0, DEVLMT_FR[0]); //交货期条件<开始日>
  72. parameter.setValueParamter(1, DEVLMT_TO[0]); //交货期条件<结束日>
  73. parameter.setValueParamter(2, DEVLMT_ALL_YN[0]); //交货期条件<是否全体选择>
  74. parameter.setValueParamter(3, PLAN_WGT_FR[0]); //待设计量<开始>
  75. parameter.setValueParamter(4, PLAN_WGT_TO[0]); //待设计量<结束>
  76. parameter.setValueParamter(5, PLAN_WGT_ALL_YN[0]); //待设计量<是否全部选择>
  77. parameter.setValueParamter(6, COIL_WTH_GAP[0]); //钢卷宽度间隔条件
  78. //parameter.setValueParamter(7, REG_DATETIME); //录入时间<Timestamp>
  79. //parameter.setValueParamter(8, REGED_BY_CD[0]); //录入人
  80. parameter.setValueParamter(7, CHG_DATETIME); //修改时间<Timestamp>
  81. parameter.setValueParamter(8, CHGED_BY_CD[0]); //修改人
  82. parameter.setValueParamter(9, MAX_ETSTDH_SEQ); //选定标准序号
  83. getDao("mesdao").update("slabDnEtstdh.update", parameter);
  84. }
  85. //清楚表中已有的厂内牌号组信息,重新插入新的信息
  86. getDao("mesdao").delete("slabDnEtstdd.delete");
  87. if (chk != null)
  88. {
  89. for (int i = 0; i < chk.length; i++)
  90. {
  91. //组织需要插入的厂内牌号组信息
  92. parameter = new PosParameter();
  93. parameter.setValueParamter(0, "L");
  94. parameter.setValueParamter(1, RN[i]);
  95. parameter.setValueParamter(2, MAX_ETSTDH_SEQ);
  96. parameter.setValueParamter(3, SLTED_STL_GRP[i]);
  97. parameter.setValueParamter(4, "");
  98. parameter.setValueParamter(5, "");
  99. getDao("mesdao").insert("slabDnEtstdd.insert", parameter);
  100. }
  101. }
  102. return PosBizControlConstants.SUCCESS;
  103. }
  104. }