ae39a1fbefd163922d1dadd14fe2195f998e5748.svn-base 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538
  1. package xin.glue.nui.E.E01;
  2. import java.sql.CallableStatement;
  3. import java.text.DateFormat;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Date;
  6. import xin.glue.user.common.GlobalConstants;
  7. import xin.glue.user.common.LogGpError;
  8. import com.posdata.glue.PosException;
  9. import com.posdata.glue.biz.activity.PosActivity;
  10. import com.posdata.glue.biz.constants.PosBizControlConstants;
  11. import com.posdata.glue.context.PosContext;
  12. import com.posdata.glue.dao.PosGenericDao;
  13. import com.posdata.glue.dao.vo.PosParameter;
  14. import com.posdata.glue.dao.vo.PosRow;
  15. import com.posdata.glue.dao.vo.PosRowSet;
  16. import com.posdata.glue.msg.PosMessage;
  17. /* Program Name ReArrangeOrdSts (NIE012100)
  18. * Description REARRANGE ORDER STATUS
  19. * Write By KIM SUNG HO
  20. * Date 2008-10-20
  21. */
  22. public class ReArrangeOrdSts extends PosActivity implements GlobalConstants {
  23. public String runActivity(PosContext context) {
  24. String V_TABLE_ID = "" ;
  25. String V_TABLE_MODE = "" ;
  26. String V_ERR_DESC = "" ;
  27. String V_RTN_NAME = "" ;
  28. String V_PROC_CD = "" ;
  29. String V_STL_GRD = "" ;
  30. String V_PROD_END_GP = "" ;
  31. String P_PROD_END_GP = "" ;
  32. String V_MILL_PROD_END_DATE = "";
  33. String V_MILL_SHIP_END_DATE = "";
  34. String V_PROD_END_DATE = "" ;
  35. String P_PROD_END_DATE = "" ;
  36. String V_SHIP_END_DATE = "" ;
  37. String V_ORD_PROG_CD = "" ;
  38. String V_PROD_HOLD_CD = "" ;
  39. String V_COIL_TRNF_DTIME = ""; //某一合同最后钢卷的交货日期 2013.2.19 BY MGP
  40. long V_TOT_WGT = 0 ;
  41. long V_INS_WGT = 0 ;
  42. long V_WRK_WGT = 0 ;
  43. long V_EST_WGT = 0 ;
  44. long V_END_WGT = 0 ;
  45. long V_ORD_PRC_WGT = 0 ;
  46. long V_PROD_END_WGT = 0 ;
  47. long V_ORD_REM_WGT = 0 ;
  48. long V_SHIP_END_WGT = 0 ;
  49. long V_ORD_WGT = 0 ;
  50. long V_WGT_ACVAL_MAX = 0 ;
  51. long V_HOT_ROLL_END_WGT= 0 ;
  52. long V_HOT_END_WGT = 0 ;
  53. PosMessage message = context.getMessage();
  54. String P_ORD_NO = (String)message.get("ORD_NO");
  55. String P_ORD_SEQ = (String)message.get("ORD_SEQ");
  56. String P_PGMID = (String)message.get("PGMID");
  57. String P_REG_ID = (String)message.get("REG_ID");
  58. try {
  59. if (P_ORD_NO == null || "".equals(P_ORD_NO) ||
  60. P_ORD_SEQ == null || "".equals(P_ORD_SEQ)) {
  61. //PROGRAM EXIT
  62. return PosBizControlConstants.SUCCESS;
  63. }
  64. String[]CALL = (String[])context.get("CALL");
  65. PosGenericDao dao = this.getDao("mesdao");
  66. if(CALL == null)
  67. {
  68. CallableStatement cstm = null;
  69. cstm = dao.getCallableStatement("PKG_OS_COMM.call");
  70. try
  71. {
  72. cstm.setString(1, P_ORD_NO);
  73. cstm.setString(2, P_ORD_SEQ);
  74. cstm.setString(3, P_PGMID);
  75. cstm.setString(4, P_REG_ID);
  76. //cstm.registerOutParameter(3, java.sql.Types.VARCHAR);
  77. cstm.execute();
  78. }catch(Exception ex)
  79. {
  80. try
  81. {
  82. if(cstm != null) cstm.close();
  83. }catch(Exception e)
  84. {
  85. e.printStackTrace();
  86. }
  87. }
  88. }
  89. /*
  90. DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
  91. String currDate = formatter.format(new Date());
  92. //SELECT PK CHECK FROM TBE02_ORD_PRC
  93. PosParameter param0 = new PosParameter();
  94. param0.setWhereClauseParameter(0, P_ORD_NO);
  95. param0.setWhereClauseParameter(1, P_ORD_SEQ);
  96. PosRowSet ordNoCkVO = getDao("mesdao").find("NIE012100_OrdNoCk.select",param0);
  97. if (ordNoCkVO.hasNext()) {
  98. PosRow ordNoCkRow = ordNoCkVO.next();
  99. V_ORD_WGT = Long.parseLong((ordNoCkRow.getAttribute("ORD_WGT")==null? "0":ordNoCkRow.getAttribute("ORD_WGT")).toString());
  100. //V_WGT_ACVAL_MIN = Long.parseLong((ordNoCkRow.getAttribute("WGT_ACVAL_MIN")==null? "0":ordNoCkRow.getAttribute("WGT_ACVAL_MIN")).toString());
  101. V_WGT_ACVAL_MAX = Long.parseLong((ordNoCkRow.getAttribute("WGT_ACVAL_MAX")==null? "0":ordNoCkRow.getAttribute("WGT_ACVAL_MAX")).toString());
  102. V_ORD_PROG_CD = (String)ordNoCkRow.getAttribute("ORD_PROG_CD");
  103. V_STL_GRD = (String)ordNoCkRow.getAttribute("STL_GRD");
  104. P_PROD_END_GP = (String)ordNoCkRow.getAttribute("PROD_END_GP");
  105. P_PROD_END_DATE = (String)ordNoCkRow.getAttribute("PROD_END_DATE");
  106. V_PROD_HOLD_CD = (String)ordNoCkRow.getAttribute("PROD_HOLD_CD");
  107. //TL 091229 取出生产结束时间和发货结束时间,判断时间为空的情况系统自动给出
  108. V_SHIP_END_DATE = (String)ordNoCkRow.getAttribute("SHIP_END_DATE");
  109. V_PROD_END_DATE = (String)ordNoCkRow.getAttribute("PROD_END_DATE");
  110. V_MILL_SHIP_END_DATE = (String)ordNoCkRow.getAttribute("MILL_PROD_END_DATE");
  111. V_MILL_PROD_END_DATE = (String)ordNoCkRow.getAttribute("MILL_SHIP_END_DATE");
  112. V_COIL_TRNF_DTIME = (String)ordNoCkRow.getAttribute("COIL_TRNF_DTIME");//发货完成钢卷的交货期
  113. V_ORD_REM_WGT = V_ORD_WGT;
  114. if (V_WGT_ACVAL_MAX == 0) {
  115. V_WGT_ACVAL_MAX = V_ORD_WGT;
  116. }
  117. } else {
  118. //Error Display
  119. throw new PosException("ReArrangeOrdSts..Not Found NIE012100_OrdNoCk..");
  120. }
  121. V_ORD_PRC_WGT = 0;
  122. V_PROD_END_WGT = 0;
  123. V_SHIP_END_WGT = 0;
  124. //TABLE TBE02_ORD_PRC_DET INITIALIZE
  125. PosParameter param1 = new PosParameter();
  126. param1.setValueParamter(0 , P_ORD_NO);
  127. param1.setValueParamter(1 , P_ORD_SEQ);
  128. getDao("mesdao").update("NIE012100_INIT.update",param1);
  129. String[]CALL = (String[])context.get("CALL");
  130. PosGenericDao dao = this.getDao("mesdao");
  131. if(CALL == null)
  132. {
  133. CallableStatement cstm = null;
  134. cstm = dao.getCallableStatement("tbHcoilcomm02_D.call");
  135. try
  136. {
  137. cstm.setString(1, P_ORD_NO);
  138. cstm.setString(2, P_ORD_SEQ);
  139. cstm.registerOutParameter(3, java.sql.Types.VARCHAR);
  140. cstm.execute();
  141. }catch(Exception ex)
  142. {
  143. try
  144. {
  145. if(cstm != null) cstm.close();
  146. }catch(Exception e)
  147. {
  148. e.printStackTrace();
  149. }
  150. }
  151. }
  152. //SELECT CHARGE/SLAB/COIL PROGRESS WEIGHT
  153. PosParameter param2 = new PosParameter();
  154. param2.setWhereClauseParameter(0, P_ORD_NO);
  155. param2.setWhereClauseParameter(1, P_ORD_SEQ);
  156. param2.setWhereClauseParameter(2, P_ORD_NO);
  157. param2.setWhereClauseParameter(3, P_ORD_SEQ);
  158. param2.setWhereClauseParameter(4, P_ORD_NO);
  159. param2.setWhereClauseParameter(5, P_ORD_SEQ);
  160. param2.setWhereClauseParameter(6, P_ORD_NO);
  161. param2.setWhereClauseParameter(7, P_ORD_SEQ);
  162. param2.setWhereClauseParameter(8, P_ORD_NO);
  163. param2.setWhereClauseParameter(9, P_ORD_SEQ);
  164. param2.setWhereClauseParameter(10, P_ORD_NO);
  165. param2.setWhereClauseParameter(11, P_ORD_SEQ);
  166. param2.setWhereClauseParameter(12, P_ORD_NO);
  167. param2.setWhereClauseParameter(13, P_ORD_SEQ);
  168. param2.setWhereClauseParameter(14, P_ORD_NO);
  169. param2.setWhereClauseParameter(15, P_ORD_SEQ);
  170. param2.setWhereClauseParameter(16, P_ORD_NO);
  171. param2.setWhereClauseParameter(17, P_ORD_SEQ);
  172. param2.setWhereClauseParameter(18, P_ORD_NO);
  173. param2.setWhereClauseParameter(19, P_ORD_SEQ);
  174. param2.setWhereClauseParameter(20, P_ORD_NO);
  175. param2.setWhereClauseParameter(21, P_ORD_SEQ);
  176. PosRowSet progWgtVO = getDao("mesdao").find("NIE012100_ProgWgt.select",param2);
  177. progWgtVO.reset();
  178. while(progWgtVO.hasNext()) {
  179. PosRow progWgtRow = progWgtVO.next();
  180. V_PROC_CD = (String)progWgtRow.getAttribute("PROG_CD");
  181. V_INS_WGT = Long.parseLong((progWgtRow.getAttribute("INS_WGT")==null? "0":progWgtRow.getAttribute("INS_WGT")).toString());
  182. V_WRK_WGT = Long.parseLong((progWgtRow.getAttribute("WRK_WGT")==null? "0":progWgtRow.getAttribute("WRK_WGT")).toString());
  183. V_EST_WGT = Long.parseLong((progWgtRow.getAttribute("EST_WGT")==null? "0":progWgtRow.getAttribute("EST_WGT")).toString());
  184. V_END_WGT = Long.parseLong((progWgtRow.getAttribute("END_WGT")==null? "0":progWgtRow.getAttribute("END_WGT")).toString());
  185. //SELECT PK CHECK FROM TBE02_ORD_PRC_DET
  186. PosParameter param3 = new PosParameter();
  187. param3.setWhereClauseParameter(0, P_ORD_NO);
  188. param3.setWhereClauseParameter(1, P_ORD_SEQ);
  189. param3.setWhereClauseParameter(2, V_PROC_CD.substring(0, 2));
  190. PosRowSet ordPrcDetPkVO = getDao("mesdao").find("NIE012100_OrdPrcDetPk.select",param3);
  191. if (!ordPrcDetPkVO.hasNext()) {
  192. PosParameter param4 = new PosParameter();
  193. param4.setValueParamter(0 , P_ORD_NO);
  194. param4.setValueParamter(1 , P_ORD_SEQ);
  195. param4.setValueParamter(2 , V_PROC_CD.substring(0, 2));
  196. getDao("mesdao").insert("NIE012100_OrdPrcDet.insert",param4);
  197. }
  198. //PRODUCT PROGRESS / END WEIGHT
  199. if (V_PROC_CD.substring(0, 2).equals("SF")) {
  200. V_PROD_END_WGT = V_INS_WGT + V_WRK_WGT;
  201. V_SHIP_END_WGT = V_END_WGT;
  202. //V_ORD_PRC_WGT = V_ORD_PRC_WGT + V_INS_WGT + V_WRK_WGT;
  203. V_TOT_WGT = V_INS_WGT + V_WRK_WGT + V_END_WGT;
  204. //V_ORD_REM_WGT = V_ORD_WGT - (V_ORD_PRC_WGT + V_SHIP_END_WGT);
  205. }
  206. //-----------------增加热轧生产完成量
  207. else if(V_PROC_CD.substring(0, 2).equals("DF")){
  208. V_PROD_END_WGT = V_INS_WGT + V_WRK_WGT;
  209. V_SHIP_END_WGT = V_END_WGT;
  210. V_TOT_WGT = V_INS_WGT + V_WRK_WGT + V_END_WGT;
  211. }
  212. //-----------------增加热轧生产完成量
  213. else if(V_PROC_CD.substring(0, 2).equals("SG")){
  214. V_HOT_ROLL_END_WGT = V_END_WGT;
  215. V_HOT_END_WGT = V_INS_WGT + V_WRK_WGT + V_EST_WGT;
  216. if(P_ORD_NO.equals("31201010Z002") || P_ORD_NO.equals("31201010Z003")||P_ORD_NO.equals("31201010Z004")){
  217. V_PROD_END_WGT = V_PROD_END_WGT + V_INS_WGT + V_WRK_WGT;
  218. V_SHIP_END_WGT = V_SHIP_END_WGT + V_END_WGT;
  219. }
  220. V_ORD_PRC_WGT = V_ORD_PRC_WGT + V_INS_WGT +
  221. V_WRK_WGT + V_EST_WGT;
  222. V_TOT_WGT = V_INS_WGT +V_EST_WGT + V_WRK_WGT + V_END_WGT;
  223. }
  224. //----------------------------------
  225. else {
  226. V_ORD_PRC_WGT = V_ORD_PRC_WGT + V_INS_WGT +
  227. V_WRK_WGT + V_EST_WGT + V_END_WGT;
  228. V_TOT_WGT = V_INS_WGT + V_WRK_WGT + V_EST_WGT + V_END_WGT;
  229. //V_ORD_REM_WGT = V_ORD_WGT - (V_ORD_PRC_WGT + V_PROD_END_WGT + V_SHIP_END_WGT);
  230. }
  231. PosParameter param5 = new PosParameter();
  232. param5.setValueParamter(0 , String.valueOf(V_TOT_WGT));
  233. param5.setValueParamter(1 , String.valueOf(V_INS_WGT));
  234. param5.setValueParamter(2 , String.valueOf(V_WRK_WGT));
  235. param5.setValueParamter(3 , String.valueOf(V_EST_WGT));
  236. param5.setValueParamter(4 , String.valueOf(V_END_WGT));
  237. param5.setValueParamter(5 , P_PGMID);
  238. param5.setValueParamter(6 , P_ORD_NO);
  239. param5.setValueParamter(7 , P_ORD_SEQ);
  240. param5.setValueParamter(8 , V_PROC_CD.substring(0, 2));
  241. int UpdCnt1 = getDao("mesdao").update("NIE012100_OrdPrcDet.update",param5);
  242. if (UpdCnt1 == 0) {
  243. V_TABLE_ID = "TBE02_ORD_PRC_DET";
  244. V_TABLE_MODE = "U";
  245. V_ERR_DESC = "TBE02_ORD_PRC_DET UPDATE COUNT IS ZERO";
  246. V_RTN_NAME = "ReArrangeOrdSts TBE02_ORD_PRC_DET UPDATE1 " + P_ORD_NO + P_ORD_SEQ + V_PROC_CD.substring(0, 2);
  247. LogGpError.logMessageToDB("ReArrangeOrdSts", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  248. throw new PosException(V_RTN_NAME);
  249. }
  250. }//WHILE END
  251. //V_ORD_REM_WGT 订单剩余重量
  252. //V_ORD_WGT 订单重量
  253. //V_ORD_PRC_WGT 订单进程重量(生产进程)
  254. //V_PROD_END_WGT 生产结束重量
  255. //V_SHIP_END_WGT 发货完成重量
  256. V_ORD_REM_WGT = V_ORD_WGT - (V_ORD_PRC_WGT + V_PROD_END_WGT + V_SHIP_END_WGT);
  257. //================================================王黎添加 2009年8月12日 start================================================================
  258. //如果没有人工指定时对订单状态进行整理
  259. if(("".equals(P_PROD_END_GP) || P_PROD_END_GP == null) && (!"Y".equals(V_PROD_HOLD_CD) && !"R".equals(V_PROD_HOLD_CD)))
  260. {
  261. //如果订单重量小于或者等于发货完成重量
  262. if(V_WGT_ACVAL_MAX <= V_SHIP_END_WGT && V_ORD_PRC_WGT == 0)
  263. {
  264. V_ORD_PROG_CD = "G"; //发货完成
  265. //TL 091229 发货完成的时候,自动给出发货结束时间
  266. //if(V_SHIP_END_DATE == null || V_SHIP_END_DATE.equals("")){V_SHIP_END_DATE = currDate; }
  267. V_SHIP_END_DATE = V_COIL_TRNF_DTIME;// 2013.2.18 BY MGP
  268. }
  269. //如果订单重量大于发货重量,小于发货重量+生产完成重量
  270. else if(V_WGT_ACVAL_MAX > V_SHIP_END_WGT && V_WGT_ACVAL_MAX <= (V_PROD_END_WGT+V_SHIP_END_WGT) && V_ORD_PRC_WGT == 0)
  271. {
  272. V_ORD_PROG_CD = "F"; //生产完成
  273. //TL 091229 生产完成的时候,自动给出生产结束时间
  274. if(V_PROD_END_DATE == null || V_PROD_END_DATE.equals("")){
  275. V_PROD_END_DATE = currDate;
  276. }
  277. }
  278. //如果订单重量大于生产完成重量+发货完成重量,并且小于等于生产进行重量+生产完成重量+发货完成重量
  279. else if(V_WGT_ACVAL_MAX > (V_PROD_END_WGT+V_SHIP_END_WGT) && V_WGT_ACVAL_MAX <= (V_ORD_PRC_WGT + V_PROD_END_WGT + V_SHIP_END_WGT))
  280. {
  281. V_ORD_PROG_CD = "E"; //生产进行
  282. V_PROD_END_DATE = "";
  283. V_SHIP_END_DATE = "";
  284. }
  285. //如果订单重量大于生产进行重量+生产完成重量+发货完成重量,并且生产进行重量+生产完成重量+发货完成重量不等于0
  286. else if(V_WGT_ACVAL_MAX > (V_ORD_PRC_WGT + V_PROD_END_WGT + V_SHIP_END_WGT) && (V_ORD_PRC_WGT + V_PROD_END_WGT + V_SHIP_END_WGT)!=0)
  287. {
  288. V_ORD_PROG_CD = "E"; //生产进行
  289. V_PROD_END_DATE = "";
  290. V_SHIP_END_DATE = "";
  291. }
  292. else if((V_ORD_PRC_WGT + V_PROD_END_WGT + V_SHIP_END_WGT) == 0)//如果订单重量=订单剩余重量
  293. {
  294. if (V_STL_GRD == null || "".equals(V_STL_GRD)) //如果牌号为空
  295. {
  296. if (!V_ORD_PROG_CD.equals("C")) //如果不为待设计待机
  297. {
  298. V_ORD_PROG_CD = "A";//品质设计待机
  299. }
  300. else
  301. {
  302. }
  303. }
  304. else if (V_ORD_PROG_CD.compareTo("D") >= 0)
  305. {
  306. V_ORD_PROG_CD = "D";//订单投入确定
  307. }
  308. }
  309. //如果订单重量小于或者等于冷轧移送量
  310. if(V_WGT_ACVAL_MAX <= V_HOT_ROLL_END_WGT)
  311. {
  312. //TL 091229 发货完成的时候,自动给出发货结束时间
  313. if(V_MILL_SHIP_END_DATE == null || V_MILL_SHIP_END_DATE.equals("")){
  314. V_MILL_SHIP_END_DATE = currDate;
  315. }
  316. }
  317. //如果订单重量大于发货重量,小于发货重量+生产完成重量
  318. else if(V_WGT_ACVAL_MAX > V_HOT_ROLL_END_WGT && V_WGT_ACVAL_MAX <= (V_HOT_END_WGT+V_HOT_ROLL_END_WGT))
  319. {
  320. //TL 091229 生产完成的时候,自动给出生产结束时间
  321. if(V_MILL_PROD_END_DATE == null || V_MILL_PROD_END_DATE.equals("")){
  322. V_MILL_PROD_END_DATE = currDate;
  323. }
  324. }else{
  325. V_MILL_SHIP_END_DATE = "";
  326. V_MILL_PROD_END_DATE = "";
  327. }
  328. }
  329. else//如果人工指定了订单关闭,生产完成,发货结束则不更改订单的状态,保持原状!
  330. {
  331. V_PROD_END_GP = P_PROD_END_GP;
  332. //V_PROD_END_DATE = P_PROD_END_DATE;
  333. }
  334. //================================================王黎添加 2009年8月12日 end ================================================================
  335. /**王黎注释 2009年8月12日
  336. if (V_WGT_ACVAL_MIN <= (V_PROD_END_WGT + V_SHIP_END_WGT)) {
  337. if (V_ORD_PRC_WGT == 0) {
  338. V_ORD_PROG_CD = "F";
  339. V_PROD_END_GP = "X";
  340. V_PROD_END_DATE = currDate;
  341. }
  342. }
  343. //订单最小量小于等于发货完成量,订单进程为G(发货完成),生产结束区分为
  344. if (V_WGT_ACVAL_MIN <= V_SHIP_END_WGT) {
  345. if ((V_ORD_PRC_WGT + V_PROD_END_WGT) == 0) {
  346. V_ORD_PROG_CD = "G";
  347. V_SHIP_END_DATE = currDate;
  348. V_PROD_END_GP = "1"; //P_PROD_END_GP; 2009-7-26王黎修改
  349. V_PROD_END_DATE = currDate; //P_PROD_END_DATE; 2009-7-26王黎修改
  350. }
  351. }
  352. //------------------------2009-7-26王黎增加-------------------------------
  353. //如果人工未制定生产完成或者发货结束,由OS重新整理
  354. if("".equals(P_PROD_END_GP) || P_PROD_END_GP == null )
  355. {
  356. if(V_WGT_ACVAL_MIN > (V_PROD_END_WGT + V_SHIP_END_WGT))
  357. {
  358. V_ORD_PROG_CD = "E";
  359. V_PROD_END_GP = "";
  360. V_PROD_END_DATE = "";
  361. }
  362. else if(V_WGT_ACVAL_MIN < V_SHIP_END_WGT)
  363. {
  364. }
  365. else if(V_WGT_ACVAL_MIN > V_SHIP_END_WGT && V_WGT_ACVAL_MIN <= (V_PROD_END_WGT + V_SHIP_END_WGT))
  366. {
  367. V_ORD_PROG_CD = "F";
  368. V_PROD_END_GP = "X";
  369. V_PROD_END_DATE = currDate;
  370. }
  371. }
  372. else
  373. {
  374. V_PROD_END_GP = P_PROD_END_GP;
  375. V_PROD_END_DATE = P_PROD_END_DATE;
  376. }
  377. //-------------------------------------------------------------------------
  378. if (V_ORD_PRC_WGT != 0) {
  379. V_ORD_PROG_CD = "E";
  380. } else if (V_ORD_REM_WGT == V_ORD_WGT) {
  381. if (V_STL_GRD == null || "".equals(V_STL_GRD)) {
  382. if (!V_ORD_PROG_CD.equals("C")) {
  383. V_ORD_PROG_CD = "A";
  384. }
  385. } else if (V_ORD_PROG_CD.compareTo("D") >= 0) {
  386. V_ORD_PROG_CD = "D";
  387. } else if (V_ORD_PROG_CD.compareTo("D") < 0) {
  388. V_PROD_END_GP = P_PROD_END_GP;
  389. V_PROD_END_DATE = P_PROD_END_DATE;
  390. }
  391. }
  392. PosParameter param6 = new PosParameter();
  393. param6.setValueParamter(0 , V_ORD_PROG_CD);
  394. param6.setValueParamter(1 , V_PROD_END_GP);
  395. //这里在系统自动判断时给出发货结束时间和生产结束时间 TL 091229
  396. param6.setValueParamter(2 , V_PROD_END_DATE);
  397. param6.setValueParamter(3 , String.valueOf(V_ORD_PRC_WGT));
  398. param6.setValueParamter(4 , String.valueOf(V_ORD_REM_WGT));
  399. param6.setValueParamter(5 , String.valueOf(V_PROD_END_WGT));
  400. param6.setValueParamter(6 , String.valueOf(V_SHIP_END_WGT));
  401. param6.setValueParamter(7, String.valueOf(V_HOT_ROLL_END_WGT));
  402. //这里在系统自动判断时给出发货结束时间和生产结束时间 TL 091229
  403. param6.setValueParamter(8 , V_SHIP_END_DATE);
  404. param6.setValueParamter(9 , P_REG_ID);
  405. param6.setValueParamter(10 , P_PGMID);
  406. //---------------MODIFY BY WXY 20101219 ----增加对于冷轧订单的热轧生产完成,移送完成时间----------
  407. param6.setValueParamter(11, V_MILL_PROD_END_DATE);
  408. param6.setValueParamter(12, V_MILL_SHIP_END_DATE);
  409. //----------------------------------------------------------------------------------------
  410. param6.setValueParamter(13, P_ORD_NO);
  411. param6.setValueParamter(14, P_ORD_SEQ);
  412. //UPDATE FROM TBE02_ORD_PRC
  413. int UpdCnt2 = getDao("mesdao").update("NIE012100_OrdPrc.update",param6);
  414. if (UpdCnt2 == 0) {
  415. V_TABLE_ID = "TBE02_ORD_PRC";
  416. V_TABLE_MODE = "U";
  417. V_ERR_DESC = "TBE02_ORD_PRC UPDATE COUNT IS ZERO";
  418. V_RTN_NAME = "ReArrangeOrdSts TBE02_ORD_PRC UPDATE2 " + P_ORD_NO + P_ORD_SEQ;
  419. LogGpError.logMessageToDB("ReArrangeOrdSts", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  420. throw new PosException(V_RTN_NAME);
  421. }
  422. //DELETE TBE02_ORD_PRC_DET TOT_WGT = 0
  423. getDao("mesdao").delete("NIE012080_ORDPRCDET.delete");
  424. */
  425. }
  426. catch (PosException ex)
  427. {
  428. context.put(SERVICE_ERR_MSG, ex.getMessage());
  429. throw ex;
  430. }
  431. catch (Throwable t)
  432. {
  433. context.put(SERVICE_ERR_MSG, t.getMessage());
  434. throw new PosException(t.getMessage(), t);
  435. }
  436. return PosBizControlConstants.SUCCESS;
  437. }
  438. }