204229c766e45cd1fb2924fd8b13e063662e1a72.svn-base 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package xin.glue.ui.J.J01;
  2. //import xin.glue.ui.common.component.PosSiteConfig;
  3. import java.io.IOException;
  4. import java.sql.SQLException;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.Map;
  8. import org.apache.http.client.ClientProtocolException;
  9. import xin.glue.ui.common.component.PosSiteLog;
  10. import xin.glue.user.common.UIJ030052;
  11. import xin.glue.user.common.UIJ030053;
  12. import xin.glue.user.common.UIJ030055;
  13. import com.alibaba.fastjson.JSON;
  14. import com.alibaba.fastjson.TypeReference;
  15. import com.posdata.glue.biz.activity.PosActivity;
  16. import com.posdata.glue.biz.constants.PosBizControlConstants;
  17. import com.posdata.glue.biz.control.PosBizControlIF;
  18. import com.posdata.glue.biz.control.PosBizProvider;
  19. import com.posdata.glue.component.PosConstants;
  20. import com.posdata.glue.context.PosContext;
  21. import com.posdata.glue.dao.vo.PosParameter;
  22. import com.posdata.glue.dao.vo.PosRow;
  23. import com.posdata.glue.dao.vo.PosRowSet;
  24. import com.posdata.glue.msg.PosMESMessageImpl;
  25. import com.posdata.glue.msg.PosMessage;
  26. /*
  27. * desc:车辆排车及装车指示,运送指示状态不由下车改变,下车只读运送指示表。发货指示状态由3改为4,不改变物料进度状态'SFB'(运送待机)
  28. * 这里需要判断同一发货指示下的运输指示是否全部发完,没有发完的情况下是不能改变发货指示状态的。
  29. * author:唐亮 tangliang
  30. * date:2008-12-8
  31. */
  32. public class GETCARNO extends PosActivity{
  33. public String runActivity(PosContext context)
  34. {
  35. // 从页面获取参数数据,供更新页面使用
  36. //行状态
  37. String[] rowStuts1 = (String[])context.get("rowStuts1");
  38. //选择标志
  39. String[] CHK = (String[])context.get("CHK");
  40. //发货指示
  41. String[] SHIP_DIRNO = (String[])context.get("SHIP_DIRNO");
  42. //运送指示
  43. String[] DLIV_DIRNO = (String[])context.get("DLIV_DIRNO");
  44. //排车顺序
  45. String[] ALLOC_SEQ = (String[])context.get("ALLOC_SEQ");
  46. String[] ORD_NO = (String[])context.get("ORD_NO");
  47. String[] ORD_SEQ = (String[])context.get("ORD_SEQ");
  48. //车辆号
  49. String[] TRANS_CAR_NO = (String[])context.get("TRANS_CAR_NO");
  50. //火车入库道次
  51. String[] LANE_TP = (String[])context.get("LANE_TP");
  52. //装车次数
  53. String[] ENTERANCE_SEQ = (String[])context.get("ENTERANCE_SEQ");
  54. //钢卷公共表中的ship_prog_cd
  55. String ship_prog_cd = null;
  56. String url,ysr=null;
  57. Map<String, Object> map = new HashMap<String, Object>();
  58. //没有选中的情况,不能进行业务处理
  59. if(rowStuts1 != null){
  60. //这里循环行数,取出数据一行一行的更新
  61. for(int i=0;i<rowStuts1.length;i++){
  62. if(CHK[i].equals("Y")){
  63. String sqlOut = "SELECT nvl(t1.ysr,'0') ysr from tba01_ord_line t, sel_test t1 " +
  64. "where t.DEST_PCD = t1.stationcode and t.ORD_NO=? and t.ORD_SEQ=? and rownum=1";
  65. PosParameter paramg = new PosParameter();
  66. paramg.setWhereClauseParameter(0,ORD_NO[0]);
  67. paramg.setWhereClauseParameter(1,ORD_SEQ[0]);
  68. PosRowSet ischeck = this.getDao("mesdao").findByQueryStatement(sqlOut, paramg);
  69. if(ischeck.hasNext())
  70. {
  71. PosRow CoilRow = ischeck.next();
  72. ysr = (String) CoilRow.getAttribute("ysr");
  73. }
  74. if("0".equals(ysr))
  75. {
  76. /*
  77. UIJ030055 uij030055 = new UIJ030055();
  78. url="https://218.87.96.132/xg56/webservice/webWaybill/queryIsChecked/"+DLIV_DIRNO[i];
  79. String retr=uij030055.sendByHttp(map, url);;*/
  80. UIJ030052 uij030052 = new UIJ030052();
  81. url="http://172.16.0.49/xg56/webservice/webWaybill/queryIsChecked/"+DLIV_DIRNO[i];
  82. String retr=uij030052.jsonPost(url, DLIV_DIRNO[i]);
  83. retr="["+retr+"]";
  84. List<Map<String,Object>> list2 = JSON.parseObject(retr,new TypeReference<List<Map<String,Object>>>(){});
  85. Map<String,Object> map1 = list2.get(0);
  86. String flag = map1.get("RET_CODE").toString();
  87. if(flag=="0"){
  88. String carno = map1.get("PLAT_NO").toString();
  89. //判断是否全部选择的标志位
  90. boolean note = true;
  91. //如果是选中的项才可以执行更新操作,这里需要把车厢号和排车顺序号放入运输表,不能改变运输表的状态
  92. PosParameter param0 = new PosParameter();
  93. param0.setWhereClauseParameter(0, ALLOC_SEQ[i]);
  94. param0.setWhereClauseParameter(1, carno);
  95. param0.setWhereClauseParameter(2, DLIV_DIRNO[i]);
  96. getDao("mesdao").update("UIJ010041_01.update", param0);
  97. }
  98. else
  99. {
  100. String vtemp="UNCHECK";
  101. context.put("rs", vtemp);
  102. }
  103. }
  104. }else{
  105. //不是选中项目的话不能进行更新操作
  106. }
  107. }
  108. }
  109. return PosBizControlConstants.SUCCESS;
  110. }
  111. }