60ec1127fbc10a38227a1c30dad46fb51af20f2c.svn-base 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. package xin.glue.ui.G.G02;
  2. import com.posdata.glue.biz.activity.PosActivity;
  3. import com.posdata.glue.biz.constants.PosBizControlConstants;
  4. import com.posdata.glue.context.PosContext;
  5. import com.posdata.glue.dao.PosGenericDao;
  6. import com.posdata.glue.dao.vo.PosPageSet;
  7. import com.posdata.glue.dao.vo.PosParameter;
  8. import com.posdata.glue.dao.vo.PosRow;
  9. import com.posdata.glue.dao.vo.PosRowSet;
  10. import com.posdata.glue.web.control.PosGenericAction;
  11. /**
  12. * 成分参数插入、删除、修改(对应界面ID:UIG020062)
  13. * @author
  14. * @date 2014-11-26
  15. */
  16. public class PosSaveSlabCutting_1 extends PosActivity
  17. {
  18. public String runActivity(PosContext context)
  19. {
  20. PosGenericDao dao = this.getDao("mesdao");
  21. // String INFID = "UIG020062";
  22. PosRowSet rowset = null;
  23. PosRow row = null;
  24. String[]CHK = (String[])context.get("CHK");//标识
  25. String[]CHARGE_NO = (String[])context.get("CHARGE_NO"); //炉号
  26. String[]SLAB_NO = (String[])context.get("SLAB_NO"); //板坯号
  27. String[]CC_DEVNO = (String[])context.get("CC_DEVNO"); //铸机号
  28. String[]STL_GRD = (String[])context.get("STL_GRD"); //钢种
  29. String[]STATE = (String[])context.get("STATE"); //发送标识
  30. String[]FLAG = (String[])context.get("FLAG"); //板坯状态
  31. String[]SLAB_THK = (String[])context.get("PLY"); //板坯厚度
  32. String[]SLAB_WTH = (String[])context.get("WIDTH");
  33. String[]SLAB_LEN = (String[])context.get("LEN");
  34. String[]rowStuts = (String[])context.get("rowStuts");//行状态
  35. String[]QUANTITY = (String[])context.get("QUANTITY"); //支数 板坯为1 方坯为实际支数
  36. String[]THEOR_WGT = (String[])context.get("THEOR_WGT"); //理论重量
  37. String[]WGT_SEQ = (String[])context.get("WGT_SEQ"); //称重序号
  38. String[]REAL_WGT = (String[])context.get("REAL_WGT"); //称重重量
  39. String[]SEDN_TIME = (String[])context.get("SEDN_TIME"); //最后一次发送时间
  40. String[]REVERT_TIME = (String[])context.get("REVERT_TIME"); //自动化返回时间
  41. String[]LAST_UPDATETIME = (String[])context.get("LAST_UPDATETIME"); //最后更新时间
  42. String[]HEATOVERFLAG = (String[])context.get("HEATOVERFLAG"); //炉次结束标志
  43. String[]CUTTIME = (String[])context.get("CUTTIME"); //切割时间
  44. if(rowStuts != null)
  45. {
  46. int len = rowStuts.length;
  47. //int j = 0;
  48. PosParameter param = null;
  49. for(int i=0; i < len; i++)
  50. {
  51. //j = 0;
  52. // if("Y".equals(CHK[i]))//只对勾选的数据进行更新
  53. // {
  54. // continue;
  55. // }
  56. param = new PosParameter();
  57. param.setWhereClauseParameter(0, CHARGE_NO[i]);
  58. param.setWhereClauseParameter(1, SLAB_NO[i]);
  59. String ccDrvNoSql = "select CHARGE_NO,SLAB_NO,CC_DEVNO,STL_GRD from tb_slab_wgt_send where CHARGE_NO = ? and SLAB_NO = ? ";
  60. rowset = this.getDao("mesdao").findByQueryStatement(ccDrvNoSql, param);
  61. //有数据则更新,没有则插入
  62. if(rowset.hasNext()){
  63. param = new PosParameter();
  64. param.setWhereClauseParameter(0, CHARGE_NO[i]); //根据炉号和板坯号获取自动化返回数据
  65. param.setWhereClauseParameter(1, SLAB_NO[i]);
  66. //查询接收表未处理的数据
  67. String recsql = "select wgt_seq,CHARGE_NO,SLAB_NO,real_wgt,revert_time from tb_slab_wgt_rec where CHARGE_NO = ? and SLAB_NO = ? and flag = '0'";
  68. PosRowSet rowset1 = this.getDao("mesdao").findByQueryStatement(recsql, param);
  69. if(rowset1.hasNext()){
  70. PosRow row1 = rowset1.next();
  71. String tempwgt = (String)row1.getAttribute("real_wgt").toString();
  72. String tempslabno = (String)row1.getAttribute("SLAB_NO");
  73. String tempchargeno = (String)row1.getAttribute("CHARGE_NO");
  74. String tempwgtseq = (String)row1.getAttribute("wgt_seq");
  75. String temprevertime = (String)row1.getAttribute("revert_time");
  76. PosParameter param1 = new PosParameter();
  77. param1.setWhereClauseParameter(0, tempwgt);
  78. param1.setWhereClauseParameter(1, tempwgtseq);
  79. param1.setWhereClauseParameter(2, temprevertime);
  80. param1.setWhereClauseParameter(3, tempchargeno);
  81. param1.setWhereClauseParameter(4, tempslabno);
  82. //String recupdsql = "update tb_slab_wgt_send a set a.state = '2',a.real_wgt = ? ,a.wgt_seq = ? ,a.revert_time = ?,a.last_updatetime = to_char(sysdate,'yyyymmddhh24miss') where heatno = ? and billetno = ?";
  83. //更新实际重量
  84. this.getDao("mesdao").update("UIG020060_104.update", param1);
  85. PosParameter param2 = new PosParameter();
  86. param2.setWhereClauseParameter(0, CHARGE_NO[i]); //根据炉号和板坯号获取自动化返回数据
  87. param2.setWhereClauseParameter(1, SLAB_NO[i]);
  88. // update tb_slab_wgt_rec set flag = '1' where heatno = ? and billetno = ? and WGT_SEQ = ? and REVERT_TIME = ? and flag = '0'
  89. //更新接收表状态
  90. this.getDao("mesdao").update("UIG020060_105.update", param2);
  91. }
  92. //SlabNo[i] = tempNo.substring(10, 13);
  93. }else{
  94. param = new PosParameter();
  95. param.setWhereClauseParameter(0, CHARGE_NO[i]);//表示序号
  96. param.setWhereClauseParameter(1, SLAB_NO[i]);//成分
  97. param.setWhereClauseParameter(2, CC_DEVNO[i]);//保留位数
  98. param.setWhereClauseParameter(3, STL_GRD[i]);//详细内容
  99. param.setWhereClauseParameter(4, '0');//录入者或者修改者
  100. param.setWhereClauseParameter(5, FLAG[i]);//详细内容
  101. param.setWhereClauseParameter(6, SLAB_THK[i]);//成分
  102. param.setWhereClauseParameter(7, SLAB_WTH[i]);//表示序号
  103. param.setWhereClauseParameter(8, SLAB_LEN[i]);//成分
  104. param.setWhereClauseParameter(9, QUANTITY[i]);//保留位数
  105. param.setWhereClauseParameter(10, THEOR_WGT[i]);//详细内容
  106. param.setWhereClauseParameter(11, HEATOVERFLAG[i]);//详细内容
  107. param.setWhereClauseParameter(12, CUTTIME[i]);//录入者或者修改者
  108. dao.insert("UIG020060_101.insert", param);
  109. }
  110. /* if("d".equals(row Stuts[i]))
  111. {
  112. param = new PosParameter();
  113. param.setWhereClauseParameter(j++, CHEM_CD[i]);
  114. dao.delete("UIB010070_01.DELETE", param);
  115. //记录删除信息
  116. SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010070_01.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
  117. }*/
  118. }
  119. }
  120. return PosBizControlConstants.SUCCESS;
  121. }
  122. }