b6145ea025f5bfa9a18ec501ad8fb4504e0acf89.svn-base 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package xin.glue.nui.H.H02;
  2. import java.math.BigDecimal;
  3. import java.util.Date;
  4. import java.util.Set;
  5. import com.posdata.glue.biz.activity.PosActivity;
  6. import com.posdata.glue.biz.constants.PosBizControlConstants;
  7. import com.posdata.glue.context.PosContext;
  8. import com.posdata.glue.dao.vo.PosParameter;
  9. import com.posdata.glue.dao.vo.PosRow;
  10. import com.posdata.glue.dao.vo.PosRowSet;
  11. import com.posdata.glue.msg.PosMessage;
  12. /*
  13. * author:tangliang唐亮
  14. * date:2008-10-29
  15. * desc: 轧钢长度,轧钢重量,轧钢时间,总轧钢长度,总轧钢重量
  16. * 把总轧钢时间在ROLL TABLE中进行 UPDATE处理
  17. */
  18. public class SaveModifyDisMountRoll extends PosActivity{
  19. public String runActivity(PosContext context)
  20. {
  21. //定义查询出来的结果,总长度、总重量、总时间
  22. BigDecimal ROLLING_TOT_LEN_SEARCH = null;
  23. BigDecimal ROLLING_TOT_WGT_SEARCH = null;
  24. BigDecimal ROLLING_TOT_HOUR_SEARCH = null;
  25. //取得查询的结果集对象
  26. PosRowSet rows =(PosRowSet) context.get("ChangeRoll");
  27. //如果结果集存在值的情况下
  28. if(rows.hasNext()){
  29. //获取每一行的数据
  30. PosRow row = rows.next();
  31. //获取每一行的特定值,这里只获取轧辊的总长度,总时间,总重量。需要求和的长度、时间、重量通过二级发过来
  32. //String ROLL_HOUR_SEARCH = (String) row.getAttribute("ROLL_HOUR");
  33. //String ROLL_NO_SEARCH = (String) row.getAttribute("ROLL_NO");
  34. //String ROLLING_LEN_SEARCH = (String) row.getAttribute("ROLLING_LEN");
  35. //String ROLLING_WGT_SEARCH = (String) row.getAttribute("ROLLING_WGT");
  36. ROLLING_TOT_LEN_SEARCH = (java.math.BigDecimal)row.getAttribute("ROLLING_TOT_LEN");
  37. ROLLING_TOT_WGT_SEARCH = (java.math.BigDecimal)row.getAttribute("ROLLING_TOT_WGT");
  38. ROLLING_TOT_HOUR_SEARCH =(BigDecimal)row.getAttribute("ROLLING_TOT_HOUR");
  39. }
  40. if(ROLLING_TOT_LEN_SEARCH == null){
  41. ROLLING_TOT_LEN_SEARCH = new java.math.BigDecimal(0);
  42. }
  43. if(ROLLING_TOT_WGT_SEARCH == null){
  44. ROLLING_TOT_WGT_SEARCH = new java.math.BigDecimal(0);
  45. }
  46. if(ROLLING_TOT_HOUR_SEARCH == null){
  47. ROLLING_TOT_HOUR_SEARCH = new java.math.BigDecimal(0);
  48. }
  49. //获得从二级传上来的数据
  50. PosMessage message = context.getMessage();
  51. //辊号类别 上部
  52. //String TOP_BOT_CLF_UP = "T";
  53. //辊号类别 下部
  54. //String TOP_BOT_CLF_LO = "B";
  55. //下线轧辊号(上)
  56. String DISM_ROLLID_UP = (String)message.get("DISM_ROLLID_UP");
  57. //下线轧辊号(下)
  58. String DISM_ROLLID_LO = (String)message.get("DISM_ROLLID_LO");
  59. //轧制长度(上)
  60. String ROLLEDLENGTH_UP = (String)message.get("ROLLEDLENGTH_UP");
  61. //轧制长度(下)
  62. String ROLLEDLENGTH_LO = (String)message.get("ROLLEDLENGTH_LO");
  63. //轧制重量(上)
  64. String ROLLEDWEIGHT_UP = (String)message.get("ROLLEDWEIGHT_UP");
  65. //轧制重量(下)
  66. String ROLLEDWEIGHT_LO = (String)message.get("ROLLEDWEIGHT_LO");
  67. //轧辊运行时间(上)
  68. String ROLLPRTIME_UP = (String)message.get("ROLLPRTIME_UP");
  69. //轧辊运行时间(下)
  70. String ROLLPRTIME_LO = (String)message.get("ROLLPRTIME_LO");
  71. //轧辊下线时间
  72. String DISMOUNTTIME = (String)message.get("DISMOUNTTIME");
  73. String sql = " SELECT TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLEDLENGTH_UP,TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLEDLENGTH_LO,TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLEDWEIGHT_UP ,TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLEDWEIGHT_LO, TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLPRTIME_UP, TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLPRTIME_LO FROM DUAL";
  74. PosParameter param0 = new PosParameter();
  75. param0.setWhereClauseParameter(0,ROLLEDLENGTH_UP );
  76. param0.setWhereClauseParameter(1,ROLLEDLENGTH_LO );
  77. param0.setWhereClauseParameter(2,ROLLEDWEIGHT_UP );
  78. param0.setWhereClauseParameter(3,ROLLEDWEIGHT_LO );
  79. param0.setWhereClauseParameter(4,ROLLPRTIME_UP );
  80. param0.setWhereClauseParameter(5,ROLLPRTIME_LO );
  81. PosRowSet rollLthVO = getDao("mesdao").findByQueryStatement(sql, param0);
  82. if (rollLthVO.hasNext()) {
  83. PosRow rollLthROW = rollLthVO.next();
  84. String nROLLEDLENGTH_UP = (String)rollLthROW.getAttribute("nROLLEDLENGTH_UP");
  85. String nROLLEDLENGTH_LO = (String)rollLthROW.getAttribute("nROLLEDLENGTH_LO");
  86. String nROLLEDWEIGHT_UP = (String)rollLthROW.getAttribute("nROLLEDWEIGHT_UP");
  87. String nROLLEDWEIGHT_LO = (String)rollLthROW.getAttribute("nROLLEDWEIGHT_LO");
  88. String nROLLPRTIME_UP = (String)rollLthROW.getAttribute("nROLLPRTIME_UP");
  89. String nROLLPRTIME_LO = (String)rollLthROW.getAttribute("nROLLPRTIME_LO");
  90. //计算下线轧辊的总轧钢长度,总轧钢重量、总轧钢时间 (上部的)
  91. int ROLLING_TOT_LEN_UP = ROLLING_TOT_LEN_SEARCH.intValue() + Integer.valueOf(nROLLEDLENGTH_UP).intValue();
  92. int ROLLING_TOT_WGT_UP = ROLLING_TOT_WGT_SEARCH.intValue() + Integer.valueOf(nROLLEDWEIGHT_UP).intValue();
  93. int ROLLING_TOT_HOUR_UP = ROLLING_TOT_HOUR_SEARCH.intValue() + Integer.valueOf(nROLLPRTIME_UP).intValue();
  94. //计算下线轧辊的总轧钢长度、重量、时间 (下部的)
  95. int ROLLING_TOT_LEN_LO = ROLLING_TOT_LEN_SEARCH.intValue() + Integer.valueOf(nROLLEDLENGTH_LO).intValue();
  96. int ROLLING_TOT_WGT_LO = ROLLING_TOT_WGT_SEARCH.intValue() + Integer.valueOf(nROLLEDWEIGHT_LO).intValue();
  97. int ROLLING_TOT_HOUR_LO = ROLLING_TOT_HOUR_SEARCH.intValue() + Integer.valueOf(nROLLPRTIME_LO).intValue();
  98. //更新上部轧辊的相关信息,这里轧辊的总长度,总重量,总时间已经求出。长度、重量、时间取二级发过来的数据
  99. PosParameter param1 = new PosParameter();
  100. param1.setWhereClauseParameter(0, ROLLEDLENGTH_UP);
  101. param1.setWhereClauseParameter(1, ROLLEDWEIGHT_UP);
  102. param1.setWhereClauseParameter(2, ROLLPRTIME_UP);
  103. param1.setWhereClauseParameter(3, String.valueOf(ROLLING_TOT_LEN_UP));
  104. param1.setWhereClauseParameter(4, String.valueOf(ROLLING_TOT_WGT_UP));
  105. param1.setWhereClauseParameter(5, String.valueOf(ROLLING_TOT_HOUR_UP));
  106. //param1.setWhereClauseParameter(6, TOP_BOT_CLF_UP);
  107. param1.setWhereClauseParameter(6, DISMOUNTTIME);
  108. param1.setWhereClauseParameter(7, DISM_ROLLID_UP);
  109. getDao("mesdao").update("NIH020060_DISMOUNT_ROLL.update", param1);
  110. //更新下部轧辊的相关信息,这里轧辊的总长度,总重量,总时间已经求出。长度、重量、时间取二级发过来的数据
  111. PosParameter param2 = new PosParameter();
  112. param2.setWhereClauseParameter(0, ROLLEDLENGTH_LO);
  113. param2.setWhereClauseParameter(1, ROLLEDWEIGHT_LO);
  114. param2.setWhereClauseParameter(2, ROLLPRTIME_LO);
  115. param2.setWhereClauseParameter(3, String.valueOf(ROLLING_TOT_LEN_LO));
  116. param2.setWhereClauseParameter(4, String.valueOf(ROLLING_TOT_WGT_LO));
  117. param2.setWhereClauseParameter(5, String.valueOf(ROLLING_TOT_HOUR_LO));
  118. //param2.setWhereClauseParameter(6, TOP_BOT_CLF_LO);
  119. param2.setWhereClauseParameter(6, DISMOUNTTIME);
  120. param2.setWhereClauseParameter(7, DISM_ROLLID_LO);
  121. getDao("mesdao").update("NIH020060_DISMOUNT_ROLL.update", param2);
  122. }
  123. return PosBizControlConstants.SUCCESS;
  124. }
  125. }