17a031a4ab87a07e0205b9a71fa79d7bd493c7fb.svn-base 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package xin.glue.ui.J.J02;
  2. //import xin.glue.ui.common.component.PosSiteConfig;
  3. import xin.glue.ui.common.component.PosSiteLog;
  4. import com.posdata.glue.biz.activity.PosActivity;
  5. import com.posdata.glue.biz.constants.PosBizControlConstants;
  6. import com.posdata.glue.biz.control.PosBizControlIF;
  7. import com.posdata.glue.biz.control.PosBizProvider;
  8. import com.posdata.glue.component.PosConstants;
  9. import com.posdata.glue.context.PosContext;
  10. import com.posdata.glue.dao.vo.PosParameter;
  11. import com.posdata.glue.dao.vo.PosRow;
  12. import com.posdata.glue.dao.vo.PosRowSet;
  13. import com.posdata.glue.msg.PosMESMessageImpl;
  14. import com.posdata.glue.msg.PosMessage;
  15. /*
  16. * desc:车辆排车及装车指示,运送指示状态不由下车改变,下车只读运送指示表。发货指示状态由3改为4,不改变物料进度状态'SFB'(运送待机)
  17. * 这里需要判断同一发货指示下的运输指示是否全部发完,没有发完的情况下是不能改变发货指示状态的。
  18. * author:唐亮 tangliang
  19. * date:2008-12-8
  20. */
  21. public class saveSHIPDIRCAR extends PosActivity{
  22. public String runActivity(PosContext context)
  23. {
  24. // 从页面获取参数数据,供更新页面使用
  25. //行状态
  26. String[] rowStuts1 = (String[])context.get("rowStuts1");
  27. //选择标志
  28. String[] CHK = (String[])context.get("CHK");
  29. //发货指示
  30. String[] SHIP_DIRNO = (String[])context.get("SHIP_DIRNO");
  31. //运送指示
  32. String[] DLIV_DIRNO = (String[])context.get("DLIV_DIRNO");
  33. //排车顺序
  34. String[] ALLOC_SEQ = (String[])context.get("ALLOC_SEQ");
  35. //车辆号
  36. String[] TRANS_CAR_NO = (String[])context.get("TRANS_CAR_NO");
  37. //火车入库道次
  38. String[] LANE_TP = (String[])context.get("LANE_TP");
  39. //装车次数
  40. String[] ENTERANCE_SEQ = (String[])context.get("ENTERANCE_SEQ");
  41. //钢卷公共表中的ship_prog_cd
  42. String ship_prog_cd = null;
  43. //没有选中的情况,不能进行业务处理
  44. if(rowStuts1 != null){
  45. //这里循环行数,取出数据一行一行的更新
  46. for(int i=0;i<rowStuts1.length;i++){
  47. if(CHK[i].equals("Y")){
  48. //判断是否全部选择的标志位
  49. boolean note = true;
  50. //如果是选中的项才可以执行更新操作,这里需要把车厢号和排车顺序号放入运输表,不能改变运输表的状态
  51. PosParameter param0 = new PosParameter();
  52. param0.setWhereClauseParameter(0, ALLOC_SEQ[i]);
  53. param0.setWhereClauseParameter(1, TRANS_CAR_NO[i]);
  54. param0.setWhereClauseParameter(2, DLIV_DIRNO[i]);
  55. getDao("mesdao").update("UIJ020300_01.update", param0);
  56. //更新钢卷公共表中的车辆号,排车顺序号
  57. PosParameter param1 = new PosParameter();
  58. param1.setWhereClauseParameter(0, ALLOC_SEQ[i]);
  59. param1.setWhereClauseParameter(1, TRANS_CAR_NO[i]);
  60. param1.setWhereClauseParameter(2, DLIV_DIRNO[i]);
  61. getDao("mesdao").update("UIJ020300_04.update", param1);
  62. PosParameter param3 = new PosParameter();
  63. param3.setWhereClauseParameter(0, SHIP_DIRNO[i]);
  64. PosRowSet rows = getDao("mesdao").find("UIJ020300_select_ship", param3);
  65. while(rows.hasNext()){
  66. //循环的取出每一个值,并且判断是否所有的值全部都改变成希望的结果
  67. PosRow row = rows.next();
  68. ship_prog_cd = (String) row.getAttribute("SHIP_PROG_CD");
  69. logger.logInfo(SHIP_DIRNO[i]+" saveSHIPDIR查看发货指示号下的钢卷状态 : "+ DLIV_DIRNO[i]+" : "+ship_prog_cd);
  70. //当存在值为03的时候,标志位为flase
  71. while(ship_prog_cd.equals("03")){
  72. note = false;
  73. break;
  74. }
  75. }
  76. logger.logInfo("saveSHIPDIR 查看发货指示号下的钢卷是否全部装完标志 : "+ note);
  77. if(note == true){
  78. //这里需要判断同一发货指示下的运输指示是否全部选中发完,如果没有的话不能改变发货指示的状态
  79. //这里需要给变发货表的状态,从3-4
  80. PosParameter param2 = new PosParameter();
  81. param2.setWhereClauseParameter(0, SHIP_DIRNO[i]);
  82. //可能还需要更新相应的时间信息,具体的等待确认
  83. getDao("mesdao").update("UIJ020300_03.update", param2);
  84. }
  85. }else{
  86. //不是选中项目的话不能进行更新操作
  87. }
  88. }
  89. }
  90. return PosBizControlConstants.SUCCESS;
  91. }
  92. }