236547190f500ac4bfa62c794315c14de6b1cb6c.svn-base 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. package xin.glue.ui.J.J01;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4. import com.posdata.glue.biz.activity.PosActivity;
  5. import com.posdata.glue.biz.constants.PosBizControlConstants;
  6. import com.posdata.glue.context.PosContext;
  7. import com.posdata.glue.dao.vo.PosParameter;
  8. public class ModifyCoilProgStatusOfCoils extends PosActivity {
  9. public String runActivity(PosContext context) {
  10. //UPDATE TBH02_COIL_COMM
  11. String[] pCoilStat = (String[]) context.get("COIL_STAT" ); //SET COIL_STAT = :1
  12. String[] pCurProgCd = (String[]) context.get("CUR_PROG_CD" ); // , CUR_PROG_CD = :2
  13. // , CUR_PROG_CD_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
  14. String[] pCurProgCdPgm = (String[]) context.get("CUR_PROG_CD_PGM" ); // , CUR_PROG_CD_PGM = :3
  15. String[] pBefProgCd = (String[]) context.get("BEF_PROG_CD" ); // , BEF_PROG_CD = :4
  16. String[] pBefProgCdDtime = (String[]) context.get("BEF_PROG_CD_DTIME" ); // , BEF_PROG_CD_DTIME = :5
  17. String[] pBefProgCdPgm = (String[]) context.get("BEF_PROG_CD_PGM" ); // , BEF_PROG_CD_PGM = :6
  18. // , TRNF_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
  19. // , SHIP_INVNO = :8
  20. String[] pCoilNo = (String[]) context.get("COIL_NO" ); //WHERE COIL_NO = :9
  21. //车辆号加入,保存的时候更新公共表和运输表。因为页面显示的车辆号来源于运输表,所以同时更新公共表和运输表才能保证车厢号的统一。
  22. String[] TRANS_CAR_NO = (String[]) context.get("TRANS_CAR_NO" );
  23. //运输指示号
  24. String[] pDlivDirNo = (String[]) context.get("DLIV_DIRNO" );
  25. //重量
  26. String[] COIL_WGT = (String[]) context.get("COIL_WGT" );
  27. // //钢种牌号
  28. // String[] SPEC_STL_GRD = (String[]) context.get("SPEC_STL_GRD" );
  29. // //钢卷实际规格厚度
  30. // String[] COIL_THK = (String[]) context.get("COIL_THK" );
  31. // // 登录人
  32. // String[] REG_ID = (String[]) context.get("REG_ID");
  33. //出库班组信息
  34. String[] ENTRY_SHIFT = (String[]) context.get("ENTRY_SHIFT" );
  35. String[] ENTRY_GROUP = (String[]) context.get("ENTRY_GROUP" );
  36. String[] ENTRY_REG = (String[]) context.get("ENTRY_REG" );
  37. String[] ENTRY_DTIME = (String[]) context.get("ENTRY_DTIME" );
  38. int iCnt = 0;
  39. if( pCoilNo != null ) {
  40. iCnt = pCoilNo.length;
  41. }
  42. //这里必须根据运输指示号的个数来生成发货清单号
  43. // int invCnt = 0;
  44. // if( pDlivDirNo != null){
  45. // invCnt = pDlivDirNo.length;
  46. // }
  47. PosParameter param = null;
  48. PosParameter param1 = null;
  49. PosParameter param2 = null;
  50. //这里发货清单号单独更新钢卷公共表和运输表,在排车确认的时候调用
  51. // for(int j=0;j<invCnt;j++){
  52. // 清单编号
  53. // String QDNO = null;
  54. // int QDNO1 = 0;
  55. //
  56. // //所在年份
  57. // String YY = null;
  58. // //最新清单所在年份
  59. // String INV_YY = null;
  60. //
  61. // String pShipInvNo = null;
  62. // //这里需要人工的拼出清单号码,以便打印的时候使用
  63. // PosParameter paramA = new PosParameter();
  64. //
  65. // PosRowSet rows = getDao("mesdao").find("UIJ010040_12.select", paramA);
  66. //
  67. // if(rows.hasNext()){
  68. // PosRow row = rows.next();
  69. // QDNO = (String) row.getAttribute("QDNO");
  70. // YY = (String) row.getAttribute("YY");
  71. // INV_YY = (String) row.getAttribute("INV_YY");
  72. //
  73. // //这里要判断最大的清单号码所在的年份是否与系统年份一致,不一致的情况下需要清空清单编号重新开始计算
  74. // if(YY.equals(INV_YY)){
  75. // QDNO1 = Integer.valueOf(QDNO);
  76. // QDNO1 = QDNO1+1;
  77. //
  78. // //这里必须判断数字的长度,不足六位的用0来补充
  79. // QDNO = String.valueOf(QDNO1);
  80. // if(QDNO.length() == 1){
  81. // QDNO = "00000"+QDNO;
  82. // }else if(QDNO.length() == 2){
  83. // QDNO = "0000"+QDNO;
  84. // }else if(QDNO.length() == 3){
  85. // QDNO = "000"+QDNO;
  86. // }else if(QDNO.length() == 4){
  87. // QDNO = "00"+QDNO;
  88. // }else if(QDNO.length() == 5){
  89. // QDNO = "0"+QDNO;
  90. // }else{
  91. // //长度超过五位就不做处理
  92. // }
  93. // //QDNO = QDNO1.intValue()+1;
  94. // pShipInvNo = "JB"+YY+"-"+QDNO;
  95. // }else{
  96. // //如果跨年的话,就把清单编号改为1
  97. // QDNO = "000001";
  98. // pShipInvNo = "JB"+YY+"-"+QDNO;
  99. // }
  100. //
  101. // //这个时候把发货清单号刷到运输表和公共表
  102. // PosParameter paramB = new PosParameter();
  103. //
  104. // //paramB.setWhereClauseParameter(0, pShipInvNo);
  105. // paramB.setWhereClauseParameter(0, pDlivDirNo);
  106. //
  107. // getDao("mesdao").update("UIJ010060.INV_NO.UPDATE", paramB);
  108. //
  109. // PosParameter paramC = new PosParameter();
  110. //
  111. // //paramC.setWhereClauseParameter(0, pShipInvNo);
  112. // paramC.setWhereClauseParameter(0, pDlivDirNo);
  113. //
  114. // getDao("mesdao").update("UIJ010060.INV_NO_H.UPDATE", paramC);
  115. // }
  116. // }
  117. String trnftime ;
  118. Date d = new Date();
  119. SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
  120. trnftime = sdf.format(d);
  121. for( int i = 0; i < iCnt; i++ ) {
  122. param = new PosParameter();
  123. param.setValueParamter( 0, pCoilStat[i] );
  124. param.setValueParamter( 1, pCurProgCd[i] );
  125. param.setValueParamter( 2, pCurProgCdPgm[i] );
  126. param.setValueParamter( 3, pBefProgCd[i] );
  127. param.setValueParamter( 4, pBefProgCdDtime[i] );
  128. param.setValueParamter( 5, pBefProgCdPgm[i] );
  129. param.setValueParamter( 6, TRANS_CAR_NO[i] );
  130. param.setValueParamter( 7, ENTRY_SHIFT[0] );
  131. param.setValueParamter( 8, ENTRY_GROUP[0] );
  132. param.setValueParamter( 9, ENTRY_REG[0] );
  133. param.setValueParamter( 10, ENTRY_DTIME[0] );
  134. param.setValueParamter( 11, COIL_WGT[i] );
  135. // param.setValueParamter( 12, trnftime );
  136. param.setValueParamter( 12, pCoilNo[i] );
  137. getDao("mesdao").update("UIJ010060.ModifyCoilProgStatusOfCoils.Save", param);
  138. param2 = new PosParameter();
  139. param2.setValueParamter( 0, trnftime );
  140. param2.setValueParamter( 1, pDlivDirNo[i] );
  141. getDao("mesdao").update("UIJ010060.UpdateTime.Save", param2);
  142. param1 = new PosParameter();
  143. param1.setValueParamter( 0, TRANS_CAR_NO[i] );
  144. param1.setValueParamter( 1, pDlivDirNo[i] );
  145. getDao("mesdao").update("UIJ010060.ModifyCoilProgStatusOfCoilsTrans.Save", param1);
  146. }
  147. return PosBizControlConstants.SUCCESS;
  148. }
  149. }