1675cf3f1486c701f514d588e519642a806a6fd4.svn-base 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. package xin.glue.nui.E.E01;
  2. import java.text.DateFormat;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5. import xin.glue.user.common.GlobalConstants;
  6. import xin.glue.user.common.LogGpError;
  7. import com.posdata.glue.PosException;
  8. import com.posdata.glue.biz.activity.PosActivity;
  9. import com.posdata.glue.biz.constants.PosBizControlConstants;
  10. import com.posdata.glue.context.PosContext;
  11. import com.posdata.glue.dao.vo.PosParameter;
  12. import com.posdata.glue.dao.vo.PosRow;
  13. import com.posdata.glue.dao.vo.PosRowSet;
  14. import com.posdata.glue.msg.PosMessage;
  15. /* Program Name SaveOrdPrcDet (NIE012090)
  16. * Description ORDER STATUS RESET
  17. * Write By KIM SUNG HO
  18. * Date 2008-10-13
  19. */
  20. public class SaveOrdPrcDet extends PosActivity implements GlobalConstants {
  21. public String runActivity(PosContext context) {
  22. String V_TABLE_ID = "" ;
  23. String V_TABLE_MODE = "" ;
  24. String V_ERR_DESC = "" ;
  25. String V_RTN_NAME = "" ;
  26. String V_PROC_CD = "" ;
  27. String V_PROD_END_GP = "" ;
  28. String P_PROD_END_GP = "" ;
  29. String V_MILL_PROD_END_DATE = "";
  30. String V_MILL_SHIP_END_DATE = "";
  31. String V_PROD_END_DATE = "" ;
  32. String P_PROD_END_DATE = "" ;
  33. String V_SHIP_END_DATE = "" ;
  34. String V_ORD_PROG_CD = "" ;
  35. String V_PROD_HOLD_CD = "" ;
  36. long V_TOT_WGT = 0 ;
  37. long V_INS_WGT = 0 ;
  38. long V_WRK_WGT = 0 ;
  39. long V_EST_WGT = 0 ;
  40. long V_END_WGT = 0 ;
  41. long V_ORD_PRC_WGT = 0 ;
  42. long V_PROD_END_WGT = 0 ;
  43. long V_ORD_REM_WGT = 0 ;
  44. long V_SHIP_END_WGT = 0 ;
  45. long V_ORD_WGT = 0 ;
  46. long V_WGT_ACVAL_MAX = 0 ;
  47. long V_HOT_ROLL_END_WGT= 0 ;
  48. long V_HOT_END_WGT = 0 ;
  49. /******************************************/
  50. /**
  51. * modify by sjw 090908
  52. * version: 1.31-->1.32
  53. * desc: 解决由于充当同步而导致的超量充当的问题
  54. */
  55. // long V_BEF_ORD_PRC_WGT = 0 ; //os 前生产进行量
  56. // long V_BEF_PROD_END_WGT = 0 ; //os 前生产完成量
  57. // long V_BEF_SHIP_END_WGT = 0 ; //os 前发货完成量
  58. //
  59. // boolean isOverChk = false; //检查超量
  60. /******************************************/
  61. PosMessage message = context.getMessage();
  62. String P_ORD_NO = (String)message.get("ORD_NO");
  63. String P_ORD_SEQ = (String)message.get("ORD_SEQ");
  64. String P_PROG_CD = (String)message.get("PROG_CD");
  65. Number P_WGT = (Number)message.get("WGT");
  66. String P_BEF_PROG_CD = (String)message.get("BEF_PROG_CD");
  67. Number P_BEF_WGT = (Number)message.get("BEF_WGT");
  68. String P_PGMID = (String)message.get("PGMID");
  69. String P_REG_ID = (String)message.get("REG_ID");
  70. try {
  71. if("ZH".equals(P_ORD_NO.substring(0, 2)))
  72. {
  73. return PosBizControlConstants.SUCCESS;
  74. }
  75. DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
  76. String currDate = formatter.format(new Date());
  77. //SELECT TBE02_ORD_PRC INFORMATION
  78. PosParameter param0 = new PosParameter();
  79. param0.setWhereClauseParameter(0, P_ORD_NO);
  80. param0.setWhereClauseParameter(1, P_ORD_SEQ);
  81. PosRowSet ordPrcINfVO = getDao("mesdao").find("NIE012090_OrdPrcINf.select",param0);
  82. ordPrcINfVO.reset();
  83. if (ordPrcINfVO.hasNext()) {
  84. PosRow ordPrcINfRow = ordPrcINfVO.next();
  85. V_ORD_WGT = Long.parseLong(ordPrcINfRow.getAttribute("ORD_WGT").toString());
  86. //V_WGT_ACVAL_MIN = Long.parseLong((ordPrcINfRow.getAttribute("WGT_ACVAL_MIN")==null? "0":ordPrcINfRow.getAttribute("WGT_ACVAL_MIN")).toString());
  87. V_WGT_ACVAL_MAX = Long.parseLong((ordPrcINfRow.getAttribute("WGT_ACVAL_MAX")==null? "0":ordPrcINfRow.getAttribute("WGT_ACVAL_MAX")).toString());
  88. V_ORD_PROG_CD = (String)ordPrcINfRow.getAttribute("ORD_PROG_CD");
  89. P_PROD_END_GP = (String)ordPrcINfRow.getAttribute("PROD_END_GP");
  90. P_PROD_END_DATE = (String)ordPrcINfRow.getAttribute("PROD_END_DATE");
  91. V_PROD_HOLD_CD = (String)ordPrcINfRow.getAttribute("PROD_HOLD_CD");
  92. //TL 091229 取出生产结束时间和发货结束时间,判断时间为空的情况系统自动给出
  93. V_SHIP_END_DATE = (String)ordPrcINfRow.getAttribute("SHIP_END_DATE");
  94. V_PROD_END_DATE = (String)ordPrcINfRow.getAttribute("PROD_END_DATE");
  95. /***************************************************************************************************************************************************/
  96. // V_BEF_ORD_PRC_WGT = Long.parseLong((ordPrcINfRow.getAttribute("ORD_PRC_WGT")==null? "0":ordPrcINfRow.getAttribute("ORD_PRC_WGT")).toString());
  97. // V_BEF_PROD_END_WGT = Long.parseLong((ordPrcINfRow.getAttribute("PROD_END_WGT")==null? "0":ordPrcINfRow.getAttribute("PROD_END_WGT")).toString());
  98. // V_BEF_SHIP_END_WGT = Long.parseLong((ordPrcINfRow.getAttribute("SHIP_END_WGT")==null? "0":ordPrcINfRow.getAttribute("SHIP_END_WGT")).toString());
  99. //
  100. // if(V_BEF_ORD_PRC_WGT + V_BEF_PROD_END_WGT + V_BEF_SHIP_END_WGT > V_WGT_ACVAL_MAX || "F".equals(P_PROD_END_GP) || "G".equals(P_PROD_END_GP) || "X".equals(P_PROD_END_GP)) {
  101. // isOverChk = false;
  102. // }else {
  103. // isOverChk = true;
  104. // }
  105. //
  106. /***************************************************************************************************************************************************/
  107. V_ORD_REM_WGT = V_ORD_WGT;
  108. if (V_WGT_ACVAL_MAX == 0) {
  109. V_WGT_ACVAL_MAX = V_ORD_WGT;
  110. }
  111. } else {
  112. return PosBizControlConstants.SUCCESS;
  113. //Error Display
  114. //throw new PosException("SaveOrdPrcDet --> NOT FOUND SELECT TBE02_ORD_PRC");
  115. }
  116. if (P_PROG_CD != null && !P_PROG_CD.equals("")) {
  117. //SELECT PK CHECK FROM TBE02_ORD_PRC_DET
  118. PosParameter param1 = new PosParameter();
  119. param1.setWhereClauseParameter(0, P_ORD_NO);
  120. param1.setWhereClauseParameter(1, P_ORD_SEQ);
  121. param1.setWhereClauseParameter(2, P_PROG_CD.substring(0, 2));
  122. PosRowSet ordPrcDetPkVO = getDao("mesdao").find("NIE012090_OrdPrcDetPk.select",param1);
  123. if (!ordPrcDetPkVO.hasNext()) {
  124. PosParameter param2 = new PosParameter();
  125. param2.setValueParamter(0 , P_ORD_NO);
  126. param2.setValueParamter(1 , P_ORD_SEQ);
  127. param2.setValueParamter(2 , P_PROG_CD.substring(0, 2));
  128. //NEW PROC_CD INSERT
  129. getDao("mesdao").insert("NIE012090_OrdPrcDet.insert",param2);
  130. }
  131. }
  132. V_ORD_PRC_WGT = 0;
  133. V_PROD_END_WGT = 0;
  134. V_SHIP_END_WGT = 0;
  135. //SELECT FROM TBE02_ORD_PRC_DET
  136. PosParameter param3 = new PosParameter();
  137. param3.setWhereClauseParameter(0, P_ORD_NO);
  138. param3.setWhereClauseParameter(1, P_ORD_SEQ);
  139. PosRowSet ordPrcDetVO = getDao("mesdao").find("NIE012090_OrdPrcDet.select",param3);
  140. ordPrcDetVO.reset();
  141. while(ordPrcDetVO.hasNext()) {
  142. PosRow ordPrcDetRow = ordPrcDetVO.next();
  143. V_PROC_CD = (String)ordPrcDetRow.getAttribute("PROC_CD");
  144. V_TOT_WGT = Long.parseLong((ordPrcDetRow.getAttribute("TOT_WGT")==null? "0":ordPrcDetRow.getAttribute("TOT_WGT")).toString());
  145. V_INS_WGT = Long.parseLong((ordPrcDetRow.getAttribute("INS_WGT")==null? "0":ordPrcDetRow.getAttribute("INS_WGT")).toString());
  146. V_WRK_WGT = Long.parseLong((ordPrcDetRow.getAttribute("WRK_WGT")==null? "0":ordPrcDetRow.getAttribute("WRK_WGT")).toString());
  147. V_EST_WGT = Long.parseLong((ordPrcDetRow.getAttribute("EST_WGT")==null? "0":ordPrcDetRow.getAttribute("EST_WGT")).toString());
  148. V_END_WGT = Long.parseLong((ordPrcDetRow.getAttribute("END_WGT")==null? "0":ordPrcDetRow.getAttribute("END_WGT")).toString());
  149. if (P_PROG_CD != null && !P_PROG_CD.equals("")) {
  150. if (V_PROC_CD.equals(P_PROG_CD.substring(0, 2))) {
  151. if (P_PROG_CD.substring(2, 3).equals("A")) {
  152. V_INS_WGT = Long.parseLong(P_WGT.toString());
  153. } else if (P_PROG_CD.substring(2, 3).equals("B")) {
  154. V_WRK_WGT = Long.parseLong(P_WGT.toString());
  155. } else if (P_PROG_CD.substring(2, 3).equals("D")) {
  156. V_EST_WGT = Long.parseLong(P_WGT.toString());
  157. } else if (P_PROG_CD.substring(2, 3).equals("F")) {
  158. V_END_WGT = Long.parseLong(P_WGT.toString());
  159. }
  160. }
  161. }
  162. if (P_BEF_PROG_CD != null && !P_BEF_PROG_CD.equals("") ) {
  163. if (V_PROC_CD.equals(P_BEF_PROG_CD.substring(0, 2))) {
  164. if (P_BEF_PROG_CD.substring(2, 3).equals("A")) {
  165. V_INS_WGT = Long.parseLong(P_BEF_WGT.toString());
  166. } else if (P_BEF_PROG_CD.substring(2, 3).equals("B")) {
  167. V_WRK_WGT = Long.parseLong(P_BEF_WGT.toString());
  168. } else if (P_BEF_PROG_CD.substring(2, 3).equals("D")) {
  169. V_EST_WGT = Long.parseLong(P_BEF_WGT.toString());
  170. } else if (P_BEF_PROG_CD.substring(2, 3).equals("F")) {
  171. V_END_WGT = Long.parseLong(P_BEF_WGT.toString());
  172. }
  173. }
  174. }
  175. //PRODUCT PROGRESS / END WEIGHT
  176. if (V_PROC_CD.equals("SF")) {
  177. V_PROD_END_WGT = V_INS_WGT + V_WRK_WGT;
  178. V_SHIP_END_WGT = V_END_WGT;
  179. //V_ORD_PRC_WGT = V_ORD_PRC_WGT + V_INS_WGT + V_WRK_WGT;
  180. V_TOT_WGT = V_INS_WGT + V_WRK_WGT + V_END_WGT;
  181. //V_ORD_REM_WGT = V_ORD_WGT - (V_ORD_PRC_WGT + V_SHIP_END_WGT);
  182. }
  183. //---------------------------增加冷轧发货量 ADD BY WXY 101020
  184. else if(V_PROC_CD.equals("DF")){
  185. V_PROD_END_WGT = V_INS_WGT + V_WRK_WGT;
  186. V_SHIP_END_WGT = V_END_WGT;
  187. V_TOT_WGT = V_INS_WGT + V_WRK_WGT + V_END_WGT;
  188. }
  189. //---------------------------增加热轧完成量 ADD BY WXY 101020
  190. else if(V_PROC_CD.equals("SG")){
  191. V_HOT_ROLL_END_WGT = V_END_WGT;
  192. V_HOT_END_WGT = V_INS_WGT + V_WRK_WGT + V_EST_WGT;
  193. //V_ORD_PRC_WGT = V_ORD_PRC_WGT + V_INS_WGT + V_WRK_WGT + V_EST_WGT;
  194. if(P_ORD_NO.equals("31201010Z002") || P_ORD_NO.equals("31201010Z003")||P_ORD_NO.equals("31201010Z004")){
  195. V_PROD_END_WGT = V_PROD_END_WGT + V_INS_WGT + V_WRK_WGT;
  196. V_SHIP_END_WGT = V_SHIP_END_WGT + V_END_WGT;
  197. }
  198. V_ORD_PRC_WGT = V_ORD_PRC_WGT + V_INS_WGT +
  199. V_WRK_WGT + V_EST_WGT;
  200. V_TOT_WGT = V_INS_WGT + V_WRK_WGT + V_EST_WGT + V_END_WGT;
  201. }
  202. //-----------------------------------------------------------
  203. else {
  204. V_ORD_PRC_WGT = V_ORD_PRC_WGT + V_INS_WGT +
  205. V_WRK_WGT + V_EST_WGT + V_END_WGT;
  206. V_TOT_WGT = V_INS_WGT + V_WRK_WGT + V_EST_WGT + V_END_WGT;
  207. //V_ORD_REM_WGT = V_ORD_WGT - (V_ORD_PRC_WGT + V_PROD_END_WGT + V_SHIP_END_WGT);
  208. }
  209. PosParameter param4 = new PosParameter();
  210. param4.setValueParamter(0 , String.valueOf(V_TOT_WGT));
  211. param4.setValueParamter(1 , String.valueOf(V_INS_WGT));
  212. param4.setValueParamter(2 , String.valueOf(V_WRK_WGT));
  213. param4.setValueParamter(3 , String.valueOf(V_EST_WGT));
  214. param4.setValueParamter(4 , String.valueOf(V_END_WGT));
  215. param4.setValueParamter(5 , P_PGMID);
  216. param4.setValueParamter(6 , P_ORD_NO);
  217. param4.setValueParamter(7 , P_ORD_SEQ);
  218. param4.setValueParamter(8 , V_PROC_CD);
  219. //UPDATE FROM TBE02_ORD_PRC_DET
  220. int UpdCnt1 = getDao("mesdao").update("NIE012090_OrdPrcDet.update",param4);
  221. if (UpdCnt1 == 0 ) {
  222. V_TABLE_ID = "TBE02_ORD_PRC_DET";
  223. V_TABLE_MODE = "U";
  224. V_ERR_DESC = "TBE02_ORD_PRC_DET UPDATE COUNT IS ZERO";
  225. V_RTN_NAME = "SaveOrdPrcDet TBE02_ORD_PRC_DET UPDATE1 " + P_ORD_NO + P_ORD_SEQ;
  226. LogGpError.logMessageToDB("SaveOrdPrcDet", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  227. throw new PosException(V_RTN_NAME);
  228. }
  229. } //WHILE END
  230. /**********************************************************************/
  231. /**
  232. * modify by sjw 090908
  233. * version: 1.31-->1.32
  234. * desc: 解决由于充当同步而导致的超量充当的问题
  235. */
  236. // if(isOverChk) {
  237. // if(V_ORD_PROG_CD.equals("D") || V_ORD_PROG_CD.equals("E") ) {
  238. // if(V_ORD_PRC_WGT + V_PROD_END_WGT + V_SHIP_END_WGT > V_WGT_ACVAL_MAX) {
  239. // throw new PosException("SaveOrdPrcDet... 超过订单量上限...");
  240. // }
  241. // }
  242. // }
  243. /**********************************************************************/
  244. V_ORD_REM_WGT = V_ORD_WGT - (V_ORD_PRC_WGT + V_PROD_END_WGT + V_SHIP_END_WGT);
  245. //================================================王黎添加 2009年8月12日 start================================================================
  246. //如果没有人工指定时对订单状态进行整理
  247. if(("".equals(P_PROD_END_GP) || P_PROD_END_GP == null) && (!"Y".equals(V_PROD_HOLD_CD) && !"R".equals(V_PROD_HOLD_CD)))
  248. {
  249. //如果订单重量小于或者等于发货完成重量
  250. if(V_WGT_ACVAL_MAX <= V_SHIP_END_WGT && V_ORD_PRC_WGT == 0)
  251. {
  252. V_ORD_PROG_CD = "G"; //发货完成
  253. //TL 091229 发货完成的时候,自动给出发货结束时间
  254. if(V_SHIP_END_DATE == null || V_SHIP_END_DATE.equals("")){
  255. V_SHIP_END_DATE = currDate;
  256. }
  257. }
  258. //如果订单重量大于发货重量,小于发货重量+生产完成重量
  259. 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)
  260. {
  261. V_ORD_PROG_CD = "F"; //生产完成
  262. //TL 091229 生产完成的时候,自动给出生产结束时间
  263. if(V_PROD_END_DATE == null || V_PROD_END_DATE.equals("")){
  264. V_PROD_END_DATE = currDate;
  265. }
  266. }
  267. //如果订单重量大于生产完成重量+发货完成重量,并且小于等于生产进行重量+生产完成重量+发货完成重量
  268. 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))
  269. {
  270. V_ORD_PROG_CD = "E"; //生产进行
  271. V_PROD_END_DATE = "";
  272. V_SHIP_END_DATE = "";
  273. }
  274. //如果订单重量大于生产进行重量+生产完成重量+发货完成重量,并且生产进行重量+生产完成重量+发货完成重量不等于0
  275. 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)
  276. {
  277. V_ORD_PROG_CD = "E"; //生产进行
  278. V_PROD_END_DATE = "";
  279. V_SHIP_END_DATE = "";
  280. }
  281. else if((V_ORD_PRC_WGT + V_PROD_END_WGT + V_SHIP_END_WGT) == 0)//如果订单重量=订单剩余重量
  282. {
  283. if (V_ORD_PROG_CD.compareTo("D") >= 0)
  284. {
  285. V_ORD_PROG_CD = "D";//订单投入确定
  286. }
  287. }
  288. //如果订单重量小于或者等于冷轧移送量
  289. if(V_WGT_ACVAL_MAX <= V_HOT_ROLL_END_WGT)
  290. {
  291. //TL 091229 发货完成的时候,自动给出发货结束时间
  292. if(V_MILL_SHIP_END_DATE == null || V_MILL_SHIP_END_DATE.equals("")){
  293. V_MILL_SHIP_END_DATE = currDate;
  294. }
  295. }
  296. //如果订单重量大于发货重量,小于发货重量+生产完成重量
  297. else if(V_WGT_ACVAL_MAX > V_HOT_ROLL_END_WGT && V_WGT_ACVAL_MAX <= (V_HOT_END_WGT+V_HOT_ROLL_END_WGT))
  298. {
  299. //TL 091229 生产完成的时候,自动给出生产结束时间
  300. if(V_MILL_PROD_END_DATE == null || V_MILL_PROD_END_DATE.equals("")){
  301. V_MILL_PROD_END_DATE = currDate;
  302. }
  303. }else{
  304. V_MILL_SHIP_END_DATE = "";
  305. V_MILL_PROD_END_DATE = "";
  306. }
  307. }
  308. else//如果人工指定了订单关闭,生产完成,发货结束则不更改订单的状态,保持原状!
  309. {
  310. V_PROD_END_GP = P_PROD_END_GP;
  311. //V_PROD_END_DATE = P_PROD_END_DATE;
  312. }
  313. //================================================王黎添加 2009年8月12日 end ================================================================
  314. /**王黎注释 2009年8月12日
  315. if (V_WGT_ACVAL_MIN <= (V_PROD_END_WGT + V_SHIP_END_WGT)) {
  316. if (V_ORD_PRC_WGT == 0) {
  317. V_ORD_PROG_CD = "F";
  318. V_PROD_END_GP = "X";
  319. V_PROD_END_DATE = currDate;
  320. }
  321. }
  322. if (V_WGT_ACVAL_MIN <= V_SHIP_END_WGT) {
  323. if ((V_ORD_PRC_WGT + V_PROD_END_WGT) == 0) {
  324. V_ORD_PROG_CD = "G";
  325. V_SHIP_END_DATE = currDate;
  326. V_PROD_END_GP = "1"; //P_PROD_END_GP; 2009-7-26王黎修改
  327. V_PROD_END_DATE = currDate; //P_PROD_END_DATE; 2009-7-26王黎修改
  328. }
  329. }
  330. //------------------------2009-7-26王黎增加-------------------------------
  331. //如果人工未制定生产完成或者发货结束,由OS重新整理
  332. if("".equals(P_PROD_END_GP) || P_PROD_END_GP == null )
  333. {
  334. if(V_WGT_ACVAL_MIN > (V_PROD_END_WGT + V_SHIP_END_WGT))
  335. {
  336. V_ORD_PROG_CD = "E";
  337. V_PROD_END_GP = "";
  338. V_PROD_END_DATE = "";
  339. }
  340. else if(V_WGT_ACVAL_MIN < V_SHIP_END_WGT)
  341. {
  342. }
  343. else if(V_WGT_ACVAL_MIN > V_SHIP_END_WGT && V_WGT_ACVAL_MIN <= (V_PROD_END_WGT + V_SHIP_END_WGT))
  344. {
  345. V_ORD_PROG_CD = "F";
  346. V_PROD_END_GP = "X";
  347. V_PROD_END_DATE = currDate;
  348. }
  349. }
  350. else
  351. {
  352. V_PROD_END_GP = P_PROD_END_GP;
  353. V_PROD_END_DATE = P_PROD_END_DATE;
  354. }
  355. //-------------------------------------------------------------------------
  356. if (V_ORD_PRC_WGT != 0) {
  357. V_ORD_PROG_CD = "E";
  358. }
  359. else if (V_ORD_REM_WGT == V_ORD_WGT && V_ORD_PROG_CD != "B") //添加V_ORD_PROG_CD != "B"条件 王黎添加
  360. {
  361. V_ORD_PROG_CD = "D";
  362. }
  363. **/
  364. PosParameter param5 = new PosParameter();
  365. param5.setValueParamter(0 , V_ORD_PROG_CD);
  366. param5.setValueParamter(1 , V_PROD_END_GP);
  367. param5.setValueParamter(2 , V_PROD_END_DATE);
  368. param5.setValueParamter(3 , String.valueOf(V_ORD_PRC_WGT));
  369. param5.setValueParamter(4 , String.valueOf(V_ORD_REM_WGT));
  370. param5.setValueParamter(5 , String.valueOf(V_PROD_END_WGT));
  371. param5.setValueParamter(6 , String.valueOf(V_SHIP_END_WGT));
  372. param5.setValueParamter(7 , String.valueOf(V_HOT_ROLL_END_WGT));
  373. param5.setValueParamter(8 , V_SHIP_END_DATE);
  374. param5.setValueParamter(9 , P_REG_ID);
  375. param5.setValueParamter(10 , P_PGMID);
  376. param5.setValueParamter(11, P_ORD_NO);
  377. param5.setValueParamter(12, P_ORD_SEQ);
  378. //UPDATE FROM TBE02_ORD_PRC
  379. int UpdCnt2 = getDao("mesdao").update("NIE012090_OrdPrc.update",param5);
  380. if (UpdCnt2 == 0) {
  381. V_TABLE_ID = "TBE02_ORD_PRC_DET";
  382. V_TABLE_MODE = "U";
  383. V_ERR_DESC = "TBE02_ORD_PRC_DET UPDATE COUNT IS ZERO";
  384. V_RTN_NAME = "SaveOrdPrcDet TBE02_ORD_PRC_DET UPDATE2 " + P_ORD_NO + P_ORD_SEQ;
  385. LogGpError.logMessageToDB("SaveOrdPrcDet", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  386. throw new PosException(V_RTN_NAME);
  387. }
  388. }
  389. catch (PosException ex)
  390. {
  391. context.put(SERVICE_ERR_MSG, ex.getMessage());
  392. throw ex;
  393. }
  394. catch (Throwable t)
  395. {
  396. context.put(SERVICE_ERR_MSG, t.getMessage());
  397. throw new PosException(t.getMessage(), t);
  398. }
  399. return PosBizControlConstants.SUCCESS;
  400. }
  401. }