25e40af2ca9fd07ad65db8aad8b48d62df2654d0.svn-base 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714
  1. package xin.glue.nui.F.F02;
  2. import java.math.BigDecimal;
  3. import xin.glue.user.common.GlobalConstants;
  4. import xin.glue.user.common.LogGpError;
  5. import com.posdata.glue.PosException;
  6. import com.posdata.glue.biz.activity.PosActivity;
  7. import com.posdata.glue.biz.constants.PosBizControlConstants;
  8. import com.posdata.glue.biz.control.PosBizProvider;
  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. //import java.lang.Long;
  16. /* Program Name MILLLvlCan (NIF024060)
  17. * Description MILL WORK INSTRUCTION LEVEL2 CANCEL
  18. * Write By KIM SUNG HO
  19. * Date 2008-11-12
  20. */
  21. public class MILLLvlCan extends PosActivity implements GlobalConstants {
  22. public String runActivity(PosContext context) {
  23. long V_ROLL_SLAB_SEQ_ST = 0 ;
  24. long V_ROLL_SLAB_SEQ_EN = 0 ;
  25. long V_PRC_CNT = 0 ;
  26. long V_CCR_CNT = 0 ;
  27. long V_STATUS_CNT = 0 ;
  28. long V_COIL_STAT_CNT = 0 ;
  29. long V_SLAB_WGT = 0 ;
  30. long V_ROLL_SLAB_CNT = 0 ;
  31. long V_ROLL_SLAB_WGT = 0 ;
  32. long V_HCR_CNT = 0 ;
  33. long V_MILL_LEN = 0 ;
  34. long V_SPM_CNT = 0 ;
  35. String V_ROLL_MANA_NO = "" ;
  36. String V_ROLL_MANA_ST = "" ;
  37. String V_ROLL_MANA_EN = "" ;
  38. String V_CHARGE_MANA_ST = "" ;
  39. String V_CHARGE_MANA_EN = "" ;
  40. String V_SLAB_NO = "" ;
  41. String V_HCR_CLF = "" ;
  42. String V_ORD_NO = "" ;
  43. String V_ORD_SEQ = "" ;
  44. String V_SEND_CLF = "" ;
  45. String V_PGMID = "" ;
  46. String V_TABLE_ID = "" ;
  47. String V_TABLE_MODE = "" ;
  48. String V_ERR_DESC = "" ;
  49. String V_RTN_NAME = "" ;
  50. PosMessage message = context.getMessage();
  51. //P_TYPE : "R" --> ROLL (FROM/TO ROLL NO) 轧辊指示取消
  52. // "S" --> SLAB (FROM/TO SLAB NO) 板坯指示取消
  53. // "C" --> RHT-OUT (FROM/TO SLAB NO) 板坯吊销
  54. // "M" --> CCM CANCEL (FROM/TO SLAB NO) 成分异常指示取消
  55. // "Z" --> SIZE DEC (FROM/TO SLAB NO) 尺寸异常取消
  56. // "E" --> External DEC (FROM/TO SLAB NO) 表面异常取消
  57. String P_TYPE = (String)message.get("TYPE");
  58. String P_ST = (String)message.get("FROM");
  59. String P_EN = (String)message.get("TO");
  60. String P_REG_ID = (String)message.get("REG_ID");
  61. // try {
  62. if (P_TYPE.equals("C")) {
  63. V_PGMID = "MILLLvlCanRHT" ;
  64. } else if (P_TYPE.equals("M")) {
  65. V_PGMID = "MILLLvlCanCcm";
  66. } else if (P_TYPE.equals("Z")) {
  67. V_PGMID = "MILLLvlCanSize";
  68. } else if (P_TYPE.equals("E")) {
  69. V_PGMID = "MILLLvlCanExternal";
  70. } else { //P_TYPE "R" --> ROLL, "S" --> SLAB
  71. V_PGMID = "MILLLvlCan";
  72. } //V_PGMID赋值
  73. if (P_TYPE.equals("R")) {
  74. if (P_ST.compareTo(P_EN) > 0) {
  75. //MESSAGE ERROR --> PROGRAM EXIT
  76. throw new PosException("MILLLvlCan..ROLL_MANA_NO ST > EN..");
  77. }
  78. } else {
  79. if (P_ST.length() != 13 || P_EN.length() != 13) {
  80. //MESSAGE ERROR --> PROGRAM EXIT
  81. throw new PosException("MILLLvlCan..SLAB_NO ERROR..");
  82. }
  83. }//位置和长度检查
  84. if (P_TYPE.equals("R")) { //ROLL UNIT
  85. //FIRST/LAST ROLL_MANA_NO FIRST/LAST ROLL_SLAB_SEQ CHECK
  86. PosParameter paramA = new PosParameter();
  87. paramA.setWhereClauseParameter(0, P_ST);
  88. paramA.setWhereClauseParameter(1, P_EN);
  89. PosRowSet RollSlabVO = getDao("mesdao").find("NIF024060_RollSlab.select",paramA);
  90. RollSlabVO.reset();
  91. if (RollSlabVO.hasNext()) {
  92. PosRow RollSlabRow = RollSlabVO.next();
  93. V_ROLL_MANA_ST = P_ST;
  94. V_ROLL_MANA_EN = P_EN;
  95. V_ROLL_SLAB_SEQ_ST = Long.parseLong((RollSlabRow.getAttribute("ROLL_SLAB_SEQ_ST")==null? "0":RollSlabRow.getAttribute("ROLL_SLAB_SEQ_ST")).toString());
  96. V_ROLL_SLAB_SEQ_EN = Long.parseLong((RollSlabRow.getAttribute("ROLL_SLAB_SEQ_EN")==null? "0":RollSlabRow.getAttribute("ROLL_SLAB_SEQ_EN")).toString());
  97. } else {
  98. V_ROLL_MANA_ST = "";
  99. V_ROLL_MANA_EN = "";
  100. V_ROLL_SLAB_SEQ_ST = 0;
  101. V_ROLL_SLAB_SEQ_EN = 0;
  102. }
  103. } else { //SLAB UNIT
  104. //ROLL_SLAB_SEQ CHECK
  105. PosParameter param0 = new PosParameter();
  106. param0.setWhereClauseParameter(0, P_ST);
  107. param0.setWhereClauseParameter(1, P_EN);
  108. PosRowSet RollSlabSeqVO = getDao("mesdao").find("NIF024060_RollSlabSeq.select",param0);
  109. RollSlabSeqVO.reset();
  110. if (RollSlabSeqVO.hasNext()) {
  111. PosRow RollSlabSeqRow = RollSlabSeqVO.next();
  112. V_ROLL_MANA_ST = (String)RollSlabSeqRow.getAttribute("ROLL_MANA_ST");
  113. V_ROLL_MANA_EN = (String)RollSlabSeqRow.getAttribute("ROLL_MANA_EN");
  114. V_ROLL_SLAB_SEQ_ST = Long.parseLong((RollSlabSeqRow.getAttribute("ROLL_SLAB_SEQ_ST")==null? "0":RollSlabSeqRow.getAttribute("ROLL_SLAB_SEQ_ST")).toString());
  115. V_ROLL_SLAB_SEQ_EN = Long.parseLong((RollSlabSeqRow.getAttribute("ROLL_SLAB_SEQ_EN")==null? "0":RollSlabSeqRow.getAttribute("ROLL_SLAB_SEQ_EN")).toString());
  116. } else {
  117. V_ROLL_MANA_ST = "";
  118. V_ROLL_MANA_EN = "";
  119. V_ROLL_SLAB_SEQ_ST = 0;
  120. V_ROLL_SLAB_SEQ_EN = 0;
  121. }
  122. if (!V_ROLL_MANA_ST.equals(V_ROLL_MANA_EN)) {
  123. //MESSAGE ERROR --> PROGRAM EXIT
  124. throw new PosException("MILLLvlCan..ROLL_MANA_NO ST/EN DIFFERENCE..");
  125. }
  126. }
  127. if (V_ROLL_SLAB_SEQ_ST == 0 || V_ROLL_SLAB_SEQ_EN == 0){
  128. //MESSAGE ERROR --> PROGRAM EXIT
  129. throw new PosException("MILLLvlCan..ROLL_SLAB_SEQ ST/EN IS ZERO..");
  130. }
  131. //热装HCR 删除 HCR 由HCR_CCR add by sunjiawang 090624
  132. // this.updMillHCR(P_TYPE, P_ST, P_EN);
  133. //SELECT TBF02_SPEC_MILL JOB START CHECK
  134. if (!P_TYPE.equals("C")) { // "C" --> RHT-OUT
  135. PosParameter param1 = new PosParameter();
  136. param1.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  137. param1.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  138. param1.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  139. param1.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  140. PosRowSet MILLStatusChkVO = getDao("mesdao").find("NIF024060_MILLStatusChk.select",param1);
  141. MILLStatusChkVO.reset();
  142. if (MILLStatusChkVO.hasNext()) {
  143. PosRow MILLStatusChkRow = MILLStatusChkVO.next();
  144. V_STATUS_CNT = Long.parseLong((MILLStatusChkRow.getAttribute("STATUS_CNT")==null? "0":MILLStatusChkRow.getAttribute("STATUS_CNT")).toString());
  145. V_COIL_STAT_CNT = Long.parseLong((MILLStatusChkRow.getAttribute("COIL_STAT_CNT")==null? "0":MILLStatusChkRow.getAttribute("COIL_STAT_CNT")).toString());
  146. }
  147. if (V_STATUS_CNT != 0){
  148. //MESSAGE ERROR --> PROGRAM EXIT
  149. throw new PosException("MILLLvlCan..STATUS_CD = 'B'..");
  150. }
  151. if (V_COIL_STAT_CNT != 0) {
  152. //MESSAGE ERROR --> PROGRAM EXIT
  153. throw new PosException("板坯已上料 MILLLvlCan..COIL_STAT = '0'..");
  154. }
  155. }
  156. //-------------------------------------------------------------------------------
  157. //INSERT MILL INSTRUCTION LEVEL2 CANCEL PROCESS ---------------------------------
  158. if (!P_TYPE.equals("C")) { // "C" --> RHT-OUT
  159. //TBH06_L2_RHT_INS CANCEL PROCESS
  160. PosParameter paramC = new PosParameter();
  161. paramC.setValueParamter(0, V_ROLL_MANA_ST);
  162. paramC.setValueParamter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  163. paramC.setValueParamter(2, V_ROLL_MANA_EN);
  164. paramC.setValueParamter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  165. int InsertC = getDao("mesdao").insert("NIF024060_L2RHTCancel.insert",paramC);
  166. if (InsertC == 0) {
  167. V_TABLE_ID = "TBH06_L2_RHT_INS";
  168. V_TABLE_MODE = "I";
  169. V_ERR_DESC = "TBH06_L2_RHT_INS INSERT COUNT IS ZERO";
  170. V_RTN_NAME = "MILLLvlCan TBH06_L2_RHT_INS INSERTC " + String.valueOf(V_ROLL_SLAB_SEQ_ST);
  171. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  172. //throw new PosException(V_RTN_NAME);
  173. }
  174. }
  175. //TBH06_L2_MILL_INS CANCEL PROCESS
  176. PosParameter paramD = new PosParameter();
  177. paramD.setValueParamter(0, V_ROLL_MANA_ST);
  178. paramD.setValueParamter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  179. paramD.setValueParamter(2, V_ROLL_MANA_EN);
  180. paramD.setValueParamter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  181. int InsertD = getDao("mesdao").insert("NIF024060_L2MILLCancel.insert",paramD);
  182. if (InsertD == 0) {
  183. V_TABLE_ID = "TBH06_L2_MILL_INS";
  184. V_TABLE_MODE = "I";
  185. V_ERR_DESC = "TBH06_L2_MILL_INS INSERT COUNT IS ZERO";
  186. V_RTN_NAME = "MILLLvlCan TBH06_L2_MILL_INS INSERTD " + String.valueOf(V_ROLL_SLAB_SEQ_ST);
  187. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  188. //throw new PosException(V_RTN_NAME);
  189. }
  190. //TBH06_L2_COIL_NO_INS CANCEL PROCESS
  191. if (P_TYPE.equals("R")) { //ROLL UNIT
  192. PosParameter paramE = new PosParameter();
  193. paramE.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  194. paramE.setWhereClauseParameter(1, V_ROLL_MANA_EN);
  195. PosRowSet L2RollCoilVO = getDao("mesdao").find("NIF024060_L2RollCoil.select",paramE);
  196. L2RollCoilVO.reset();
  197. while (L2RollCoilVO.hasNext()) {
  198. PosRow L2RollCoilRow = L2RollCoilVO.next();
  199. V_ROLL_MANA_NO = (String)L2RollCoilRow.getAttribute("ROLL_MANA_NO");
  200. //SELECT NXET SET SEQUEANCE
  201. String nextSeqQr = "SELECT L2_COIL_NO_SET_SEQ.NEXTVAL SET_SEQ FROM DUAL ";
  202. PosRowSet nextSeqVO = getDao("mesdao").findByQueryStatement(nextSeqQr);
  203. nextSeqVO.reset();
  204. PosRow nextSeqRow = nextSeqVO.next();
  205. Number V_SET_SEQ = (Number)nextSeqRow.getAttribute("SET_SEQ");
  206. PosParameter paramF = new PosParameter();
  207. paramF.setValueParamter(0, V_SET_SEQ);
  208. paramF.setValueParamter(1, V_ROLL_MANA_NO);
  209. int InsertF = getDao("mesdao").insert("NIF024060_L2ROLLCOILCancel.insert",paramF);
  210. if (InsertF == 0) {
  211. V_TABLE_ID = "TBH06_L2_COIL_NO_INS";
  212. V_TABLE_MODE = "I";
  213. V_ERR_DESC = "TBH06_L2_COIL_NO_INS INSERT COUNT IS ZERO";
  214. V_RTN_NAME = "MILLLvlCan TBH06_L2_COIL_NO_INS INSERTF " + V_ROLL_MANA_NO;
  215. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  216. //throw new PosException(V_RTN_NAME);
  217. }
  218. } //L2RollCoilVO while END
  219. } else { //SLAB_UNIT
  220. //SELECT NXET SET SEQUEANCE
  221. String nextSeqQr = "SELECT L2_COIL_NO_SET_SEQ.NEXTVAL SET_SEQ FROM DUAL ";
  222. PosRowSet nextSeqVO = getDao("mesdao").findByQueryStatement(nextSeqQr);
  223. nextSeqVO.reset();
  224. PosRow nextSeqRow = nextSeqVO.next();
  225. Number V_SET_SEQ = (Number)nextSeqRow.getAttribute("SET_SEQ");
  226. PosParameter paramG = new PosParameter();
  227. paramG.setValueParamter(0, V_SET_SEQ);
  228. paramG.setValueParamter(1, V_ROLL_MANA_ST);
  229. paramG.setValueParamter(2, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  230. paramG.setValueParamter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  231. int InsertG = getDao("mesdao").insert("NIF024060_L2SLABCOILCancel.insert",paramG);
  232. if (InsertG == 0) {
  233. V_TABLE_ID = "TBH06_L2_COIL_NO_INS";
  234. V_TABLE_MODE = "I";
  235. V_ERR_DESC = "TBH06_L2_COIL_NO_INS INSERT COUNT IS ZERO";
  236. V_RTN_NAME = "MILLLvlCan TBH06_L2_COIL_NO_INS INSERTG " + V_ROLL_MANA_NO;
  237. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  238. throw new PosException(V_RTN_NAME);
  239. }
  240. }
  241. if (P_TYPE.equals("R") || P_TYPE.equals("S") || P_TYPE.equals("M")) {
  242. //HCR --> MILL INSTRUCTION CANCEL CHECK CHARGE_MANA_NO FROM/TO
  243. PosParameter paramH = new PosParameter();
  244. paramH.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  245. paramH.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  246. paramH.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  247. paramH.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  248. PosRowSet ChargeManaNoVO = getDao("mesdao").find("NIF024060_ChargeManaNo.select",paramH);
  249. ChargeManaNoVO.reset();
  250. while(ChargeManaNoVO.hasNext()) {
  251. PosRow ChargeManaNoRow = ChargeManaNoVO.next();
  252. V_CHARGE_MANA_ST = (String)ChargeManaNoRow.getAttribute("CHARGE_MANA_ST");
  253. V_CHARGE_MANA_EN = (String)ChargeManaNoRow.getAttribute("CHARGE_MANA_EN");
  254. } //ChargeManaNoVO while END
  255. if (V_CHARGE_MANA_ST != "0") {
  256. //HCR --> MILL INSTRUCTION CANCEL TBF01_SPEC_SLAB(MILL_SLAB_EDT_SEQ --> 0, MILL_FL --> 'N')
  257. //CCM COMPLETE --> NO MODIFY
  258. PosParameter param3 = new PosParameter();
  259. param3.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  260. param3.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  261. param3.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  262. param3.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  263. V_HCR_CNT = getDao("mesdao").update("NIF024060_HCRCancel.update",param3);
  264. //HCR --> MILL INSTRUCTION CANCEL TBF01_SPEC_CHARGE(MILL_FL --> 'N')
  265. //CHARGE COMPLETE --> NO MODIFY
  266. PosParameter paramS = new PosParameter();
  267. paramS.setWhereClauseParameter(0, V_CHARGE_MANA_ST);
  268. paramS.setWhereClauseParameter(1, V_CHARGE_MANA_EN);
  269. getDao("mesdao").update("NIF024060_ChargeHCRCancel.update",paramS);
  270. }
  271. }
  272. if (P_TYPE.equals("R") || P_TYPE.equals("S") || P_TYPE.equals("C")) {
  273. //CCR --> SLAB MASTER TBG02_SLAB_COMM (PROG_CD, BEF_PROG_CD, HCR_CLF)
  274. PosParameter param4 = new PosParameter();
  275. param4.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  276. param4.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  277. param4.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  278. param4.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  279. V_CCR_CNT = getDao("mesdao").update("NIF024060_SlabMaster.update",param4);
  280. //SELECT TBF02_SPEC_MILL ORDER_NO, ORD_SEQ
  281. PosParameter param2 = new PosParameter();
  282. param2.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  283. param2.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  284. param2.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  285. param2.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  286. PosRowSet MILLLvlCanVO = getDao("mesdao").find("NIF024060_MILLLvlCan.select",param2);
  287. MILLLvlCanVO.reset();
  288. while(MILLLvlCanVO.hasNext()) {
  289. PosRow MILLLvlCanRow = MILLLvlCanVO.next();
  290. V_SLAB_NO = (String)MILLLvlCanRow.getAttribute("SLAB_NO");
  291. V_ORD_NO = (String)MILLLvlCanRow.getAttribute("ORD_NO");
  292. V_ORD_SEQ = (String)MILLLvlCanRow.getAttribute("ORD_SEQ");
  293. V_SLAB_WGT = Long.parseLong((MILLLvlCanRow.getAttribute("SLAB_WGT")==null? "0":MILLLvlCanRow.getAttribute("SLAB_WGT")).toString());
  294. //CALL NIE012070_
  295. NIE012070_CALL(V_ORD_NO, V_ORD_SEQ, V_SLAB_NO, V_SLAB_WGT, V_PGMID, P_REG_ID);
  296. ++V_PRC_CNT;
  297. } //MILLLvlCanVO while END
  298. }
  299. if (P_TYPE.equals("C")) { //RHT-OUT INSTRUCTION MARKING "D"
  300. //UPDATE TBF02_MILL_IDX (STATUS_CD = 'D')
  301. PosParameter paramI = new PosParameter();
  302. paramI.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  303. paramI.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  304. paramI.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  305. paramI.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  306. int UpdCntI = getDao("mesdao").delete("NIF024060_MillIdx.update",paramI);
  307. if (UpdCntI == 0) {
  308. V_TABLE_ID = "TBF02_MILL_IDX";
  309. V_TABLE_MODE = "U";
  310. V_ERR_DESC = "TBF02_MILL_IDX STATUS_CD = 'D' UPDATE COUNT IS ZERO";
  311. V_RTN_NAME = "MILLLvlCan TBF02_MILL_IDX UpdCntI " + V_ROLL_MANA_ST;
  312. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  313. throw new PosException(V_RTN_NAME);
  314. }
  315. //UPDATE TBF02_SPEC_MILL_D (STATUS_CD = 'D')
  316. PosParameter paramJ = new PosParameter();
  317. paramJ.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  318. paramJ.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  319. paramJ.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  320. paramJ.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  321. int UpdCntJ = getDao("mesdao").delete("NIF024060_SpecMillD.update",paramJ);
  322. if (UpdCntJ == 0) {
  323. V_TABLE_ID = "TBF02_SPEC_MILL_D";
  324. V_TABLE_MODE = "U";
  325. V_ERR_DESC = "TBF02_SPEC_MILL_D STATUS_CD = 'D' UPDATE COUNT IS ZERO";
  326. V_RTN_NAME = "MILLLvlCan TBF02_SPEC_MILL_D UpdCntJ " + V_ROLL_MANA_ST;
  327. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  328. //throw new PosException(V_RTN_NAME);
  329. }
  330. //UPDATE TBF02_SPEC_MILL (STATUS_CD = 'D')
  331. PosParameter paramK = new PosParameter();
  332. paramK.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  333. paramK.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  334. paramK.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  335. paramK.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  336. int UpdCntK = getDao("mesdao").delete("NIF024060_SpecMill.update",paramK);
  337. if (UpdCntK == 0) {
  338. V_TABLE_ID = "TBF02_SPEC_MILL";
  339. V_TABLE_MODE = "U";
  340. V_ERR_DESC = "TBF02_SPEC_MILL STATUS_CD = 'D' UPDATE COUNT IS ZERO";
  341. V_RTN_NAME = "MILLLvlCan TBF02_SPEC_MILL UpdCntK " + V_ROLL_MANA_ST;
  342. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  343. //throw new PosException(V_RTN_NAME);
  344. }
  345. } else { //INSTRUCTION DELETE
  346. //DELETE TBF02_MILL_IDX
  347. PosParameter param5 = new PosParameter();
  348. param5.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  349. param5.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  350. param5.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  351. param5.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  352. int DelCnt5 = getDao("mesdao").delete("NIF024060_MillIdx.delete",param5);
  353. if (DelCnt5 == 0) {
  354. V_TABLE_ID = "TBF02_MILL_IDX";
  355. V_TABLE_MODE = "D";
  356. V_ERR_DESC = "TBF02_MILL_IDX UPDATE COUNT IS ZERO";
  357. V_RTN_NAME = "MILLLvlCan TBF02_MILL_IDX DELETE5 " + V_ROLL_MANA_ST;
  358. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  359. throw new PosException(V_RTN_NAME);
  360. }
  361. //DELETE TBF02_SPEC_MILL_DET
  362. PosParameter param6 = new PosParameter();
  363. param6.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  364. param6.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  365. param6.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  366. param6.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  367. int DelCnt6 = getDao("mesdao").delete("NIF024060_SpecMillDet.delete",param6);
  368. if (DelCnt6 == 0) {
  369. V_TABLE_ID = "TBF02_SPEC_MILL_DET";
  370. V_TABLE_MODE = "D";
  371. V_ERR_DESC = "TBF02_SPEC_MILL_DET UPDATE COUNT IS ZERO";
  372. V_RTN_NAME = "MILLLvlCan TBF02_SPEC_MILL_DET DELETE6 " + V_ROLL_MANA_ST;
  373. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  374. //throw new PosException(V_RTN_NAME);
  375. }
  376. //DELETE TBF02_SPEC_MILL_D
  377. PosParameter param7 = new PosParameter();
  378. param7.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  379. param7.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  380. param7.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  381. param7.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  382. int DelCnt7 = getDao("mesdao").delete("NIF024060_SpecMillD.delete",param7);
  383. if (DelCnt7 == 0) {
  384. V_TABLE_ID = "TBF02_SPEC_MILL_D";
  385. V_TABLE_MODE = "D";
  386. V_ERR_DESC = "TBF02_SPEC_MILL_D UPDATE COUNT IS ZERO";
  387. V_RTN_NAME = "MILLLvlCan TBF02_SPEC_MILL_D DELETE7 " + V_ROLL_MANA_ST;
  388. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  389. //throw new PosException(V_RTN_NAME);
  390. }
  391. //DELETE TBF02_SPEC_MILL
  392. PosParameter param8 = new PosParameter();
  393. param8.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  394. param8.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_SEQ_ST));
  395. param8.setWhereClauseParameter(2, V_ROLL_MANA_EN);
  396. param8.setWhereClauseParameter(3, String.valueOf(V_ROLL_SLAB_SEQ_EN));
  397. int DelCnt8 = getDao("mesdao").delete("NIF024060_SpecMill.delete",param8);
  398. if (DelCnt8 == 0) {
  399. V_TABLE_ID = "TBF02_SPEC_MILL";
  400. V_TABLE_MODE = "D";
  401. V_ERR_DESC = "TBF02_SPEC_MILL UPDATE COUNT IS ZERO";
  402. V_RTN_NAME = "MILLLvlCan TBF02_SPEC_MILL DELETE8 " + V_ROLL_MANA_ST;
  403. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  404. //throw new PosException(V_RTN_NAME);
  405. }
  406. }
  407. //PROESS COUNT != 0
  408. if ((V_HCR_CNT + V_CCR_CNT) != 0) {
  409. //SELECT TBF02_SPEC_MILL LEVEL2 CANCEL
  410. PosParameter param9 = new PosParameter();
  411. param9.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  412. param9.setWhereClauseParameter(1, V_ROLL_MANA_EN);
  413. PosRowSet RollManaNoVO = getDao("mesdao").find("NIF024060_RollManaNo.select",param9);
  414. RollManaNoVO.reset();
  415. while(RollManaNoVO.hasNext()) {
  416. PosRow RollManaNoRow = RollManaNoVO.next();
  417. V_ROLL_MANA_NO = (String)RollManaNoRow.getAttribute("ROLL_MANA_NO");
  418. V_ROLL_SLAB_CNT = Long.parseLong((RollManaNoRow.getAttribute("ROLL_SLAB_CNT")==null? "0":RollManaNoRow.getAttribute("ROLL_SLAB_CNT")).toString());
  419. V_ROLL_SLAB_WGT = Long.parseLong((RollManaNoRow.getAttribute("ROLL_SLAB_WGT")==null? "0":RollManaNoRow.getAttribute("ROLL_SLAB_WGT")).toString());
  420. V_HCR_CNT = Long.parseLong((RollManaNoRow.getAttribute("HCR_CNT")==null? "0":RollManaNoRow.getAttribute("HCR_CNT")).toString());
  421. V_MILL_LEN = Long.parseLong((RollManaNoRow.getAttribute("MILL_LEN")==null? "0":RollManaNoRow.getAttribute("MILL_LEN")).toString());
  422. V_SPM_CNT = Long.parseLong((RollManaNoRow.getAttribute("SPM_CNT")==null? "0":RollManaNoRow.getAttribute("SPM_CNT")).toString());
  423. if (V_HCR_CNT == 0){
  424. V_HCR_CLF = "C";
  425. } else {
  426. V_HCR_CLF = "H";
  427. }
  428. //TBF02_SPEC_ROLL RE-ARRANGE UPDATE
  429. PosParameter paramR = new PosParameter();
  430. paramR.setWhereClauseParameter(0, String.valueOf(V_ROLL_SLAB_CNT));
  431. paramR.setWhereClauseParameter(1, String.valueOf(V_ROLL_SLAB_WGT));
  432. paramR.setWhereClauseParameter(2, String.valueOf(V_HCR_CLF));
  433. paramR.setWhereClauseParameter(3, String.valueOf(V_MILL_LEN));
  434. paramR.setWhereClauseParameter(4, String.valueOf(V_SPM_CNT));
  435. paramR.setWhereClauseParameter(5, V_ROLL_MANA_NO);
  436. int UpdCntR = getDao("mesdao").update("NIF024060_SpecRoll.update",paramR);
  437. if (UpdCntR == 0) {
  438. V_TABLE_ID = "TBF02_SPEC_ROLL";
  439. V_TABLE_MODE = "U";
  440. V_ERR_DESC = "TBF02_SPEC_ROLL UPDATE COUNT IS ZERO";
  441. V_RTN_NAME = "MILLLvlCan TBF02_SPEC_ROLL UPDATER " + V_ROLL_MANA_NO;
  442. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  443. //throw new PosException(V_RTN_NAME);
  444. }
  445. if (V_ROLL_SLAB_CNT == 0) {
  446. V_SEND_CLF = "3"; //SEND_CLF = DELETE
  447. } else {
  448. V_SEND_CLF = "2"; //SEND_CLF = UPDATE
  449. }
  450. //TBH06_L2_ROLL_UNIT_INS CANCEL PROCESS
  451. PosParameter paramQ = new PosParameter();
  452. paramQ.setValueParamter(0, V_SEND_CLF);
  453. paramQ.setValueParamter(1, V_ROLL_MANA_NO);
  454. int InsertQ = getDao("mesdao").insert("NIF024060_L2ROLLCancel.insert",paramQ);
  455. if (InsertQ == 0) {
  456. V_TABLE_ID = "TBH06_L2_ROLL_UNIT_INS";
  457. V_TABLE_MODE = "I";
  458. V_ERR_DESC = "TBH06_L2_ROLL_UNIT_INS INSERT COUNT IS ZERO";
  459. V_RTN_NAME = "MILLLvlCan TBH06_L2_ROLL_UNIT_INS INSERTQ " + V_ROLL_MANA_NO;
  460. LogGpError.logMessageToDB("MILLLvlCan", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  461. //throw new PosException(V_RTN_NAME);
  462. }
  463. } //RollManaNoVO while END
  464. //TBF02_SPEC_ROLL RE-ARRANGE (ROLL_SLAB_CNT = 0 DELETE)
  465. getDao("mesdao").delete("NIF024060_SpecRollDel.delete");
  466. if (V_PRC_CNT != 0) {
  467. //CALL NIE012080_
  468. NIE012080_CALL();
  469. }
  470. } //END if V_PRC_CNT != 0
  471. // }
  472. // catch (PosException ex)
  473. // {
  474. // context.put(SERVICE_ERR_MSG, ex.getMessage());
  475. // throw ex;
  476. // }
  477. // catch (Throwable t)
  478. // {
  479. // context.put(SERVICE_ERR_MSG, t.getMessage());
  480. // throw new PosException(t.getMessage(), t);
  481. // }
  482. return PosBizControlConstants.SUCCESS;
  483. }
  484. public PosContext NIE012070_CALL(String V_ORD_NO, String V_ORD_SEQ, String V_SLAB_NO, long V_SLAB_WGT, String V_PGMID, String V_REG_ID)
  485. {
  486. PosContext context = new PosContext();
  487. PosMessage message = new PosMESMessageImpl();
  488. //
  489. String TcId = "NIE012070";
  490. message.setTCID(TcId);
  491. message.setObject("MSG_ID", TcId);
  492. message.setObject("BEF_ORD_NO", "");
  493. message.setObject("BEF_ORD_SEQ", "");
  494. message.setObject("ORD_NO", V_ORD_NO);
  495. message.setObject("ORD_SEQ", V_ORD_SEQ);
  496. message.setObject("BEF_PROG_CD", "RBB");
  497. message.setObject("PROG_CD", "RBA");
  498. message.setObject("MAT_TYPE", "TM");
  499. message.setObject("MAT_NO", V_SLAB_NO);
  500. message.setObject("WGT", new BigDecimal(V_SLAB_WGT));
  501. message.setObject("PGMID", V_PGMID);
  502. message.setObject("REG_ID", V_REG_ID);
  503. context.setMessage(message);
  504. message.setTCID(TcId);
  505. String SERVICE_POSTFIX = "-service";
  506. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  507. PosBizProvider.getController().doSubController(context, false);
  508. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  509. if (SERVICE_ERR_MSG != null)
  510. {
  511. throw new PosException(SERVICE_ERR_MSG);
  512. }
  513. return context;
  514. }
  515. public void updMillHCR(String p_type,String p_st ,String p_en) {
  516. String p_sql_id = "";
  517. PosParameter p_param = new PosParameter();
  518. p_sql_id = (p_type.equals("S")) ? "NIF024060_SLAB_HCR.UPDATE" : "NIF024060_ROLL_HCR.UPDATE";
  519. p_param.setWhereClauseParameter(0, p_st);
  520. p_param.setWhereClauseParameter(1, p_en);
  521. this.getDao("mesdao").update(p_sql_id, p_param);
  522. }
  523. public PosContext NIE012080_CALL()
  524. {
  525. PosContext context = new PosContext();
  526. PosMessage message = new PosMESMessageImpl();
  527. //
  528. String TcId = "NIE012080";
  529. message.setTCID(TcId);
  530. message.setObject("MSG_ID", TcId);
  531. message.setObject("AA", "");
  532. context.setMessage(message);
  533. message.setTCID(TcId);
  534. String SERVICE_POSTFIX = "-service";
  535. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  536. PosBizProvider.getController().doSubController(context, false);
  537. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  538. if (SERVICE_ERR_MSG != null)
  539. {
  540. throw new PosException(SERVICE_ERR_MSG);
  541. }
  542. return context;
  543. }
  544. }