706c662e151499d6a44b48b8096d140181914be9.svn-base 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package xin.glue.ui.H.H05;
  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.vo.PosParameter;
  6. import com.posdata.glue.dao.vo.PosRow;
  7. import com.posdata.glue.dao.vo.PosRowSet;
  8. public class saveCoilYardResult extends PosActivity{
  9. public String runActivity(PosContext context){
  10. //行状态
  11. String[] rowStuts = (String[]) context.get("rowStuts");
  12. //库存位置
  13. String[] COIL_YARD = (String[]) context.get("YARD");
  14. //钢卷号
  15. String[] COIL_NO = (String[]) context.get("COIL_NO");
  16. //操作人
  17. String[] REG_ID = (String[]) context.get("REG_ID");
  18. //入库班次
  19. String[] YARD_ENTRY_SHIFT = (String[]) context.get("ENTRY_SHIFT");
  20. //入库班组
  21. String[] YARD_ENTRY_GROUP = (String[]) context.get("ENTRY_GROUP");
  22. //入库人
  23. String[] YARD_ENTRY_REG = (String[]) context.get("ENTRY_REG");
  24. //入库时间
  25. String[] YARD_ENTRY_DTIME = (String[]) context.get("ENTRY_DTIME");
  26. //String user = null;
  27. //钢卷实际重量 ACT_WGT
  28. String[] ACT_WGT = (String[]) context.get("ACT_WGT");
  29. if(rowStuts != null){
  30. //循环所有的结果,一个一个的录入表中
  31. for(int i=0;i<rowStuts.length;i++){
  32. //进行入库操作
  33. PosParameter param0 = new PosParameter();
  34. param0.setWhereClauseParameter(0, COIL_YARD[0]);
  35. PosRowSet rows = getDao("mesdao").find("UIH050600_05.select", param0);
  36. if(!rows.hasNext()){
  37. logger.logInfo("垛位不存在!");
  38. String vtemp = "COIL_NO";
  39. context.put("rs", vtemp);
  40. return PosBizControlConstants.SUCCESS;
  41. }
  42. param0 = new PosParameter();
  43. param0.setWhereClauseParameter(0, COIL_NO[i]);
  44. //入库的限制条件没有
  45. rows = getDao("mesdao").find("UIH050600_01.select",param0);
  46. if(!rows.hasNext()){
  47. //抛出异常
  48. logger.logInfo("saveCoilYardResult类中此钢卷没有轧制完成,或者已经出库");
  49. String vtemp = "COIL_NO";
  50. context.put("rs", vtemp);
  51. }else{
  52. //钢卷的状态为2的情况下,进行入库操作
  53. PosParameter param1 = new PosParameter();
  54. param1.setWhereClauseParameter(0, COIL_NO[i]);
  55. PosRowSet rows1 = getDao("mesdao").find("UIH050600_03.select",param1);
  56. if(rows1.hasNext()){
  57. logger.logInfo("saveCoilYardResult类中此钢卷已在垛位表中存在");
  58. String vtemp = "COIL_YARD";
  59. context.put("rs", vtemp);
  60. }else{
  61. //把钢卷入库
  62. PosParameter param2 = new PosParameter();
  63. param2.setWhereClauseParameter(0, COIL_YARD[0]);
  64. param2.setWhereClauseParameter(1, YARD_ENTRY_SHIFT[0]);
  65. param2.setWhereClauseParameter(2, YARD_ENTRY_GROUP[0]);
  66. param2.setWhereClauseParameter(3, YARD_ENTRY_REG[0]);
  67. param2.setWhereClauseParameter(4, YARD_ENTRY_DTIME[0]);
  68. param2.setWhereClauseParameter(5, REG_ID[0]);
  69. param2.setWhereClauseParameter(6, COIL_NO[i]);
  70. getDao("mesdao").update("UIH050600_05.update",param2);
  71. PosParameter param3 = new PosParameter();
  72. param3.setWhereClauseParameter(0, COIL_NO[i]);
  73. param3.setWhereClauseParameter(1, REG_ID[0]);
  74. param3.setWhereClauseParameter(2, COIL_YARD[0]);
  75. param3.setWhereClauseParameter(3, COIL_YARD[0]);
  76. param3.setWhereClauseParameter(4, COIL_YARD[0]);
  77. param3.setWhereClauseParameter(5, COIL_YARD[0]);
  78. getDao("mesdao").update("UIH050600_01.update",param3);
  79. Number SEQ = null;
  80. int SEQ_1 = 0;
  81. // 记录库存移动的情况
  82. PosParameter param11 = new PosParameter();
  83. PosRowSet rows11 = getDao("mesdao").find("UIH050700_05.select", param11);
  84. if(rows11.hasNext()){
  85. PosRow row11 = rows11.next();
  86. SEQ = (Number) row11.getAttribute("ROLL_SEQ");
  87. if(null == SEQ){
  88. SEQ_1 = 1;
  89. }else{
  90. SEQ_1 = SEQ.intValue()+1;
  91. }
  92. //取出主键后,更新移动表
  93. PosParameter param4 = new PosParameter();
  94. param4.setValueParamter(0, new Integer(SEQ_1));
  95. param4.setValueParamter(1, "");
  96. param4.setValueParamter(2, COIL_YARD[0]);
  97. param4.setValueParamter(3, COIL_NO[i]);
  98. param4.setValueParamter(4, YARD_ENTRY_REG[0]);
  99. param4.setValueParamter(5, YARD_ENTRY_SHIFT[0]);
  100. param4.setValueParamter(6, YARD_ENTRY_GROUP[0]);
  101. param4.setValueParamter(7, YARD_ENTRY_DTIME[0]);
  102. param4.setValueParamter(8, REG_ID[0]);
  103. getDao("mesdao").insert("UIH050700_01.insert", param4);
  104. }
  105. }
  106. }
  107. }
  108. }
  109. return PosBizControlConstants.SUCCESS;
  110. }
  111. }