4f1efb59649a6dea664b99651bc1ead9352f54dc.svn-base 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
  1. package xin.glue.nui.F.F02;
  2. import xin.glue.user.common.GlobalConstants;
  3. import xin.glue.user.common.LogGpError;
  4. import com.posdata.glue.PosException;
  5. import com.posdata.glue.biz.activity.PosActivity;
  6. import com.posdata.glue.biz.constants.PosBizControlConstants;
  7. import com.posdata.glue.context.PosContext;
  8. import com.posdata.glue.dao.vo.PosParameter;
  9. import com.posdata.glue.dao.vo.PosRow;
  10. import com.posdata.glue.dao.vo.PosRowSet;
  11. import com.posdata.glue.msg.PosMessage;
  12. //import java.lang.Long;
  13. /* Program Name MILLSlabSeqChange (NIF024040)
  14. * Description MILL WORK INSTRUCTION SEQUENCE CHANGING
  15. * Write By KIM SUNG HO
  16. * Date 2008-11-12
  17. */
  18. public class MILLSlabSeqChange extends PosActivity implements GlobalConstants {
  19. public String runActivity(PosContext context) {
  20. long V_SLAB_EDT_SEQ = 0 ;
  21. long V_ROLL_SLAB_SEQ = 0 ;
  22. long V_SLAB_EDT_SEQ_ST = 0 ;
  23. long V_SLAB_EDT_SEQ_EN = 0 ;
  24. long V_SLAB_EDT_SEQ_TG = 0 ;
  25. long V_CHG_SEQ = 0 ;
  26. long V_SEQ_ST = 0 ;
  27. long V_SEQ_EN = 0 ;
  28. long V_SEQ_TG = 0 ;
  29. long V_SHIFT_CNT = 0 ;
  30. long V_MOVE_CNT = 0 ;
  31. long V_SHIFT_FR_SEQ = 0 ;
  32. long V_SHIFT_TO_SEQ = 0 ;
  33. long V_MOVE_HCR = 0 ;
  34. long V_STATUS_CNT = 0 ;
  35. long V_COIL_STAT_CNT = 0;
  36. long V_TG_HCR = 0 ;
  37. long V_TG_STATUS = 0 ;
  38. long V_HCR_SEQ_ST = 0 ;
  39. long V_HCR_SEQ_EN = 0 ;
  40. String V_ROLL_MANA_ST = "" ;
  41. String V_ROLL_MANA_EN = "" ;
  42. String V_ROLL_MANA_TG = "" ;
  43. String V_TABLE_ID = "" ;
  44. String V_TABLE_MODE = "" ;
  45. String V_ERR_DESC = "" ;
  46. String V_RTN_NAME = "" ;
  47. boolean v_moveable = false;
  48. PosMessage message = context.getMessage();
  49. //SLAB_NO FROM/TO/TARGET
  50. String P_ST = (String)message.get("FROM");
  51. String P_EN = (String)message.get("TO");
  52. String P_TG = (String)message.get("TARGET");
  53. String P_POS = (String)message.get("POS");
  54. // try {
  55. //START ROLL_MANA_NO, SLAB_EDT_SEQ, ROLL_SLAB_SEQ CHECK
  56. PosParameter paramA = new PosParameter();
  57. paramA.setWhereClauseParameter(0, P_ST);
  58. paramA.setWhereClauseParameter(1, P_EN);
  59. paramA.setWhereClauseParameter(2, P_TG);
  60. PosRowSet RollManaNoSTVO = getDao("mesdao").find("NIF024040_RollManaNo.select",paramA);
  61. RollManaNoSTVO.reset();
  62. if (RollManaNoSTVO.hasNext()) {
  63. PosRow RollManaNoSTRow = RollManaNoSTVO.next();
  64. V_ROLL_MANA_ST = (String)RollManaNoSTRow.getAttribute("ROLL_MANA_ST");
  65. V_ROLL_MANA_EN = (String)RollManaNoSTRow.getAttribute("ROLL_MANA_EN");
  66. V_ROLL_MANA_TG = (String)RollManaNoSTRow.getAttribute("ROLL_MANA_TG");
  67. V_SLAB_EDT_SEQ_ST = Long.parseLong((RollManaNoSTRow.getAttribute("SLAB_EDT_SEQ_ST")==null? "0":RollManaNoSTRow.getAttribute("SLAB_EDT_SEQ_ST")).toString());
  68. V_SLAB_EDT_SEQ_EN = Long.parseLong((RollManaNoSTRow.getAttribute("SLAB_EDT_SEQ_EN")==null? "0":RollManaNoSTRow.getAttribute("SLAB_EDT_SEQ_EN")).toString());
  69. V_SLAB_EDT_SEQ_TG = Long.parseLong((RollManaNoSTRow.getAttribute("SLAB_EDT_SEQ_TG")==null? "0":RollManaNoSTRow.getAttribute("SLAB_EDT_SEQ_TG")).toString());
  70. } else {
  71. V_ROLL_MANA_ST = "";
  72. V_ROLL_MANA_EN = "";
  73. V_ROLL_MANA_TG = "";
  74. V_SLAB_EDT_SEQ_ST = 0;
  75. V_SLAB_EDT_SEQ_EN = 0;
  76. V_SLAB_EDT_SEQ_TG = 0;
  77. }
  78. if (V_ROLL_MANA_ST.equals("") || V_ROLL_MANA_EN.equals("") || V_ROLL_MANA_TG.equals("") ||
  79. V_SLAB_EDT_SEQ_ST == 0 || V_SLAB_EDT_SEQ_EN == 0 || V_SLAB_EDT_SEQ_TG == 0){
  80. //MESSAGE ERROR --> PROGRAM EXIT
  81. throw new PosException("MILLSlabSeqChange..ROLL_MANA ST/EN/TG IS NULL..");
  82. }
  83. //ROLL_MANA_NO SAME CHECK
  84. if (!V_ROLL_MANA_ST.equals(V_ROLL_MANA_EN) || !V_ROLL_MANA_ST.equals(V_ROLL_MANA_TG)) {
  85. //MESSAGE ERROR --> PROGRAM EXIT
  86. throw new PosException("MILLSlabSeqChange..ROLL_MANA ST/EN/TG IS NOT EQUAL..");
  87. }
  88. //ROLL IN ROLL_SLAB_SEQ RE-ARRANGE START 1 ~
  89. PosParameter paramB = new PosParameter();
  90. paramB.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  91. PosRowSet RollSlabSeqVO = getDao("mesdao").find("NIF024040_RollSalbSeq.select",paramB);
  92. RollSlabSeqVO.reset();
  93. V_CHG_SEQ = 0;
  94. while(RollManaNoSTVO.hasNext()) {
  95. PosRow RollSlabSeqRow = RollSlabSeqVO.next();
  96. V_SLAB_EDT_SEQ = Long.parseLong((RollSlabSeqRow.getAttribute("SLAB_EDT_SEQ")==null? "0":RollSlabSeqRow.getAttribute("SLAB_EDT_SEQ")).toString());
  97. ++V_CHG_SEQ;
  98. //RE-ARRANGE UPDATE TBF02_SPEC_MILL --> ROLL_SLAB_SEQ
  99. PosParameter paramC = new PosParameter();
  100. paramC.setWhereClauseParameter(0, String.valueOf(V_CHG_SEQ));
  101. paramC.setWhereClauseParameter(1, String.valueOf(V_SLAB_EDT_SEQ));
  102. int UpdCnt2 = getDao("mesdao").update("NIF024040_RollSalbSeqUpd.update",paramC);
  103. if (UpdCnt2 == 0) {
  104. V_TABLE_ID = "TBF02_SPEC_MILL";
  105. V_TABLE_MODE = "U";
  106. V_ERR_DESC = "TBF02_SPEC_MILL UPDATE COUNT IS ZERO";
  107. V_RTN_NAME = "MILLSlabSeqChange TBF02_SPEC_MILL UPDATE2 " + String.valueOf(V_SLAB_EDT_SEQ);
  108. LogGpError.logMessageToDB("MILLSlabSeqChange", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  109. throw new PosException(V_RTN_NAME);
  110. }
  111. }
  112. //START ROLL_MANA_NO, SLAB_EDT_SEQ, ROLL_SLAB_SEQ CHECK
  113. PosParameter paramD = new PosParameter();
  114. paramD.setWhereClauseParameter(0, P_ST);
  115. paramD.setWhereClauseParameter(1, P_EN);
  116. paramD.setWhereClauseParameter(2, P_TG);
  117. PosRowSet RollSlabSeqFindVO = getDao("mesdao").find("NIF024040_RollSlabSeqFind.select",paramD);
  118. RollSlabSeqFindVO.reset();
  119. if (RollSlabSeqFindVO.hasNext()) {
  120. PosRow RollSlabSeqFindRow = RollSlabSeqFindVO.next();
  121. V_SEQ_ST = Long.parseLong((RollSlabSeqFindRow.getAttribute("ROLL_SLAB_SEQ_ST")==null? "0":RollSlabSeqFindRow.getAttribute("ROLL_SLAB_SEQ_ST")).toString());
  122. V_SEQ_EN = Long.parseLong((RollSlabSeqFindRow.getAttribute("ROLL_SLAB_SEQ_EN")==null? "0":RollSlabSeqFindRow.getAttribute("ROLL_SLAB_SEQ_EN")).toString());
  123. V_SEQ_TG = Long.parseLong((RollSlabSeqFindRow.getAttribute("ROLL_SLAB_SEQ_TG")==null? "0":RollSlabSeqFindRow.getAttribute("ROLL_SLAB_SEQ_TG")).toString());
  124. } else {
  125. V_SEQ_ST = 0;
  126. V_SEQ_EN = 0;
  127. V_SEQ_TG = 0;
  128. }
  129. //ROLL_SLAB_SEQ CHECK 1 CASE
  130. if (V_SEQ_ST > V_SEQ_EN || (V_SEQ_ST < V_SEQ_TG && V_SEQ_EN > V_SEQ_TG)) {
  131. //MESSAGE ERROR --> PROGRAM EXIT
  132. throw new PosException("MILLSlabSeqChange..ROLL_SLAB_SEQ EQ_ST > SEQ_EN OR EQ_ST < V_SEQ_TG < SEQ_EN..");
  133. }
  134. //ROLL_SLAB_SEQ CHECK 2 CASE
  135. if ((P_POS.equals("A") && V_SEQ_ST == V_SEQ_TG) || (P_POS.equals("B") && V_SEQ_EN == V_SEQ_TG)) {
  136. //MESSAGE ERROR --> PROGRAM EXIT
  137. throw new PosException("MILLSlabSeqChange..ROLL_SLAB_SEQ EQ_ST = SEQ_TG,P_POS('A') OR EQ_EN = V_SEQ_TG,P_POS('B')..");
  138. }
  139. //STATUS_CD = 'B', HCR SLAB CHECK (MOVE)
  140. PosParameter paramF = new PosParameter();
  141. paramF.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  142. paramF.setWhereClauseParameter(1, String.valueOf(V_SEQ_ST));
  143. paramF.setWhereClauseParameter(2, String.valueOf(V_SEQ_EN));
  144. PosRowSet MoveChkFindVO = getDao("mesdao").find("NIF024040_MoveChkFind.select",paramF);
  145. MoveChkFindVO.reset();
  146. if (MoveChkFindVO.hasNext()) {
  147. PosRow MoveChkFindRow = MoveChkFindVO.next();
  148. V_MOVE_HCR = Long.parseLong((MoveChkFindRow.getAttribute("HCR_CNT")==null? "0":MoveChkFindRow.getAttribute("HCR_CNT")).toString());
  149. V_STATUS_CNT = Long.parseLong((MoveChkFindRow.getAttribute("STATUS_CNT")==null? "0":MoveChkFindRow.getAttribute("STATUS_CNT")).toString());
  150. V_COIL_STAT_CNT = Long.parseLong((MoveChkFindRow.getAttribute("COIL_STAT_CNT")==null? "0":MoveChkFindRow.getAttribute("COIL_STAT_CNT")).toString());
  151. } else {
  152. V_MOVE_HCR = 0;
  153. V_STATUS_CNT = 0;
  154. }
  155. //STATUS_CD = 'B' RHT START
  156. if (V_STATUS_CNT != 0) {
  157. //MESSAGE ERROR --> PROGRAM EXIT
  158. throw new PosException("MILLSlabSeqChange..RHT WORK START..");
  159. }
  160. //COIL_STAT = '0' RHT 已上料
  161. if (V_COIL_STAT_CNT != 0){ //移动对象中含有轧制进行的板坯
  162. //MESSAGE ERROR --> PROGRAM EXIT
  163. //throw new PosException("MILLRollSeqChange..STATUS_CD = 'B'..");
  164. throw new PosException("移动对象已处于上料!");
  165. }
  166. v_moveable = this.isMove(V_SEQ_ST, V_SEQ_TG, V_ROLL_MANA_ST,P_POS);
  167. if (V_MOVE_HCR != 0) {
  168. if (V_SEQ_ST > V_SEQ_TG) {
  169. if (P_POS.equals("B")) {
  170. V_HCR_SEQ_ST = V_SEQ_TG;
  171. } else {
  172. V_HCR_SEQ_ST = V_SEQ_TG + 1;
  173. }
  174. V_HCR_SEQ_EN = V_SEQ_ST - 1;
  175. } else {
  176. if (P_POS.equals("B")) {
  177. V_HCR_SEQ_EN = V_SEQ_TG - 1;
  178. } else {
  179. V_HCR_SEQ_EN = V_SEQ_TG;
  180. }
  181. V_HCR_SEQ_ST = V_SEQ_EN + 1;
  182. }
  183. //HCR SLAB CHECK (TARGET)
  184. PosParameter paramG = new PosParameter();
  185. paramG.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  186. paramG.setWhereClauseParameter(1, String.valueOf(V_HCR_SEQ_ST));
  187. paramG.setWhereClauseParameter(2, String.valueOf(V_HCR_SEQ_EN));
  188. PosRowSet TgtChkFindVO = getDao("mesdao").find("NIF024040_TgtChkFind.select",paramG);
  189. TgtChkFindVO.reset();
  190. if (TgtChkFindVO.hasNext()) {
  191. PosRow TgtChkFindRow = TgtChkFindVO.next();
  192. V_TG_HCR = Long.parseLong((TgtChkFindRow.getAttribute("HCR_CNT")==null? "0":TgtChkFindRow.getAttribute("HCR_CNT")).toString());
  193. V_TG_STATUS = Long.parseLong((TgtChkFindRow.getAttribute("STATUS_CNT")==null? "0":TgtChkFindRow.getAttribute("STATUS_CNT")).toString());
  194. } else {
  195. V_TG_HCR = 0;
  196. V_TG_STATUS = 0;
  197. }
  198. //comment by sunjiawang 090625
  199. // if (V_TG_HCR != 0 || V_TG_STATUS != 0) {
  200. //
  201. // //MESSAGE ERROR --> PROGRAM EXIT
  202. // throw new PosException("MILLSlabSeqChange..ROLL_SLAB_SEQ TARGET HCR_CNT <> 0 OR STATUS_CD = 'B'..");
  203. //
  204. // }
  205. if (V_TG_STATUS != 0) {
  206. //MESSAGE ERROR --> PROGRAM EXIT
  207. throw new PosException("MILLSlabSeqChange..ROLL_SLAB_SEQ TARGET STATUS_CD = 'B'..");
  208. }
  209. }
  210. //CHANGE RANGE VALUE SETTING
  211. if (V_SEQ_ST > V_SEQ_TG) {
  212. if (P_POS.equals("B")) {
  213. V_SHIFT_CNT = V_SEQ_EN - V_SEQ_ST + 1;
  214. V_MOVE_CNT = V_SEQ_TG - V_SEQ_ST;
  215. V_SHIFT_FR_SEQ = V_SEQ_TG;
  216. V_SHIFT_TO_SEQ = V_SEQ_ST - 1;
  217. } else {
  218. V_SHIFT_CNT = V_SEQ_EN - V_SEQ_ST + 1;
  219. V_MOVE_CNT = V_SEQ_TG - V_SEQ_ST + 1;
  220. V_SHIFT_FR_SEQ = V_SEQ_TG + 1;
  221. V_SHIFT_TO_SEQ = V_SEQ_ST - 1;
  222. }
  223. } else {
  224. if (P_POS.equals("B")) {
  225. V_SHIFT_CNT = V_SEQ_ST - V_SEQ_EN - 1;
  226. V_MOVE_CNT = V_SEQ_TG - V_SEQ_EN - 1;
  227. V_SHIFT_FR_SEQ = V_SEQ_EN + 1;
  228. V_SHIFT_TO_SEQ = V_SEQ_TG - 1;
  229. } else {
  230. V_SHIFT_CNT = V_SEQ_ST - V_SEQ_EN - 1;
  231. V_MOVE_CNT = V_SEQ_TG - V_SEQ_EN;
  232. V_SHIFT_FR_SEQ = V_SEQ_EN + 1;
  233. V_SHIFT_TO_SEQ = V_SEQ_TG;
  234. }
  235. }
  236. /*
  237. //LAST COIL NO CHECK
  238. PosParameter paramH = new PosParameter();
  239. paramH.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  240. PosRowSet LastCoilNoFindVO = getDao("mesdao").find("NIF024040_LastCoilNoFind.select",paramH);
  241. LastCoilNoFindVO.reset();
  242. if (LastCoilNoFindVO.hasNext()) {
  243. PosRow LastCoilNoFindRow = LastCoilNoFindVO.next();
  244. V_COIL_NO = (String)LastCoilNoFindRow.getAttribute("COIL_NO");
  245. } else {
  246. V_COIL_NO = new StringBuffer(13).append("R").append(currDate.substring(3, 4)).append("-000000A010").toString();
  247. }
  248. */
  249. //RE-ARRANGE ROLL_SLAB_SEQ, COIL_NO CHANGING
  250. PosParameter paramI = new PosParameter();
  251. paramI.setWhereClauseParameter(0, V_ROLL_MANA_ST);
  252. PosRowSet ReRollSlabSeqVO = getDao("mesdao").find("NIF024040_ReRollSalbSeq.select",paramI);
  253. ReRollSlabSeqVO.reset();
  254. while(ReRollSlabSeqVO.hasNext()) {
  255. PosRow ReRollSlabSeqRow = ReRollSlabSeqVO.next();
  256. V_SLAB_EDT_SEQ = Long.parseLong((ReRollSlabSeqRow.getAttribute("SLAB_EDT_SEQ")==null? "0":ReRollSlabSeqRow.getAttribute("SLAB_EDT_SEQ")).toString());
  257. V_ROLL_SLAB_SEQ = Long.parseLong((ReRollSlabSeqRow.getAttribute("ROLL_SLAB_SEQ")==null? "0":ReRollSlabSeqRow.getAttribute("ROLL_SLAB_SEQ")).toString());
  258. //RE-ARRANGE ROLL_SLAB_SEQ
  259. if (V_ROLL_SLAB_SEQ >= V_SEQ_ST && V_ROLL_SLAB_SEQ <= V_SEQ_EN) {
  260. V_ROLL_SLAB_SEQ = V_ROLL_SLAB_SEQ + V_MOVE_CNT;
  261. } else if (V_ROLL_SLAB_SEQ >= V_SHIFT_FR_SEQ && V_ROLL_SLAB_SEQ <= V_SHIFT_TO_SEQ) {
  262. V_ROLL_SLAB_SEQ = V_ROLL_SLAB_SEQ + V_SHIFT_CNT;
  263. }
  264. //RE-ARRANGE COIL_NO ------------------------------
  265. //V_COIL_NO_IC = StringUtils.calculateIntegerStringValue(V_COIL_NO.substring(3, 9), 1);
  266. //V_COIL_NO = new StringBuffer(13).append("R").append(V_COIL_NO.substring(1, 2)).append("-").append(V_COIL_NO_IC).append("A010").toString();
  267. //RE-ARRANGE UPDATE TBF02_SPEC_MILL --> ROLL_SLAB_SEQ
  268. PosParameter paramJ = new PosParameter();
  269. paramJ.setWhereClauseParameter(0, String.valueOf(V_ROLL_SLAB_SEQ));
  270. //paramJ.setWhereClauseParameter(1, V_COIL_NO);
  271. paramJ.setWhereClauseParameter(1, String.valueOf(V_SLAB_EDT_SEQ));
  272. int UpdCnt5 = getDao("mesdao").update("NIF024040_RollCoilNoUpd.update",paramJ);
  273. if (UpdCnt5 == 0) {
  274. V_TABLE_ID = "TBF02_SPEC_MILL";
  275. V_TABLE_MODE = "U";
  276. V_ERR_DESC = "TBF02_SPEC_MILL UPDATE COUNT IS ZERO";
  277. V_RTN_NAME = "MILLSlabSeqChange TBF02_SPEC_MILL UPDATE5 " + String.valueOf(V_SLAB_EDT_SEQ);
  278. LogGpError.logMessageToDB("MILLSlabSeqChange", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  279. throw new PosException(V_RTN_NAME);
  280. }
  281. } //ReRollSlabSeqVO while END
  282. //---------------------------------------------------------------------------------
  283. //MILL INSTRUCTION LEVEL2 RE-SEND(UPDATE) PROCESS
  284. //TBH06_L2_RHT_INS RE-SEND PROCESS
  285. PosParameter paramK = new PosParameter();
  286. paramK.setValueParamter(0, V_ROLL_MANA_ST);
  287. int InsertK = getDao("mesdao").insert("NIF024040_L2RHTReSend.insert",paramK);
  288. if (InsertK == 0) {
  289. V_TABLE_ID = "TBH06_L2_RHT_INS";
  290. V_TABLE_MODE = "I";
  291. V_ERR_DESC = "TBH06_L2_RHT_INS INSERT COUNT IS ZERO";
  292. V_RTN_NAME = "MILLSlabSeqChange TBH06_L2_RHT_INS INSERTK " + V_ROLL_MANA_ST;
  293. LogGpError.logMessageToDB("MILLSlabSeqChange", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  294. throw new PosException(V_RTN_NAME);
  295. }
  296. //TBH06_L2_MILL_INS RE-SEND PROCESS
  297. PosParameter paramL = new PosParameter();
  298. paramL.setValueParamter(0, V_ROLL_MANA_ST);
  299. int InsertL = getDao("mesdao").insert("NIF024040_L2MILLReSend.insert",paramL);
  300. if (InsertL == 0) {
  301. V_TABLE_ID = "TBH06_L2_MILL_INS";
  302. V_TABLE_MODE = "I";
  303. V_ERR_DESC = "TBH06_L2_MILL_INS INSERT COUNT IS ZERO";
  304. V_RTN_NAME = "MILLSlabSeqChange TBH06_L2_MILL_INS INSERT L " + V_ROLL_MANA_ST;
  305. LogGpError.logMessageToDB("MILLSlabSeqChange", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  306. throw new PosException(V_RTN_NAME);
  307. }
  308. //SELECT NXET SET SEQUEANCE
  309. String RenextSeqQr = "SELECT L2_COIL_NO_SET_SEQ.NEXTVAL SET_SEQ FROM DUAL ";
  310. PosRowSet RenextSeqVO = getDao("mesdao").findByQueryStatement(RenextSeqQr);
  311. RenextSeqVO.reset();
  312. PosRow RenextSeqRow = RenextSeqVO.next();
  313. Number V_RESET_SEQ = (Number)RenextSeqRow.getAttribute("SET_SEQ");
  314. //TBH06_L2_COIL_NO_INS RE-SEND PROCESS
  315. PosParameter paramN = new PosParameter();
  316. paramN.setValueParamter(0, V_RESET_SEQ);
  317. paramN.setValueParamter(1, V_ROLL_MANA_ST);
  318. int InsertN = getDao("mesdao").insert("NIF024040_L2ROLLCOILReSend.insert",paramN);
  319. if (InsertN == 0) {
  320. V_TABLE_ID = "TBH06_L2_COIL_NO_INS";
  321. V_TABLE_MODE = "I";
  322. V_ERR_DESC = "TBH06_L2_COIL_NO_INS INSERT COUNT IS ZERO";
  323. V_RTN_NAME = "MILLSlabSeqChange TBH06_L2_COIL_NO_INS INSERT N " + V_ROLL_MANA_ST;
  324. LogGpError.logMessageToDB("MILLSlabSeqChange", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  325. throw new PosException(V_RTN_NAME);
  326. }
  327. // }
  328. // catch (PosException ex)
  329. // {
  330. // context.put(SERVICE_ERR_MSG, ex.getMessage());
  331. // throw ex;
  332. // }
  333. // catch (Throwable t)
  334. // {
  335. // context.put(SERVICE_ERR_MSG, t.getMessage());
  336. // throw new PosException(t.getMessage(), t);
  337. // }
  338. return PosBizControlConstants.SUCCESS;
  339. }
  340. /**
  341. *
  342. * @param v_seq_st
  343. * @param v_seq_tg
  344. * @param p_pos
  345. * @return
  346. * @desc 不能够在轧制进行或者上料板坯中间插入对象
  347. */
  348. public boolean isMove(long v_seq_st,long v_seq_tg,String p_roll_mana_no,String p_pos) {
  349. boolean moveable = false;
  350. PosParameter param_move = new PosParameter();
  351. param_move.setWhereClauseParameter(0, String.valueOf(v_seq_tg));
  352. param_move.setWhereClauseParameter(1, String.valueOf(v_seq_st));
  353. param_move.setWhereClauseParameter(2, p_roll_mana_no);
  354. long tgt_VO_V_COIL_STAT_CNT = 0;
  355. long tgt_VO_V_STATUS_CNT = 0;
  356. PosRowSet tgtVO ;
  357. if (p_pos.equals("A")) {
  358. tgtVO = this.getDao("mesdao").find("NIF024040_TgtChkFind_A.select",param_move);
  359. }else if(p_pos.equals("B")) {
  360. tgtVO = this.getDao("mesdao").find("NIF024040_TgtChkFind_B.select",param_move);
  361. }else {
  362. throw new PosException("isMove()... 没有位置信息...");
  363. }
  364. tgtVO.reset();
  365. if(tgtVO.hasNext()) {
  366. PosRow tgtRow = tgtVO.next();
  367. tgt_VO_V_STATUS_CNT = Long.parseLong((tgtRow.getAttribute("B_STATUS_STAT_CNT")==null? "0":tgtRow.getAttribute("B_STATUS_STAT_CNT")).toString());
  368. tgt_VO_V_COIL_STAT_CNT = Long.parseLong((tgtRow.getAttribute("COIL_STAT_CNT")==null? "0":tgtRow.getAttribute("COIL_STAT_CNT")).toString());
  369. }
  370. if(tgt_VO_V_STATUS_CNT != 0) {
  371. throw new PosException("isMove()... tgt_VO_V_STATUS_CNT != 0 ... 不能够在轧制进行的坯料中插入对象");
  372. }else if(tgt_VO_V_COIL_STAT_CNT != 0) {
  373. throw new PosException("isMove()... tgt_VO_V_COIL_STAT_CNT != 0 ... 不能够在上料的坯料中插入对象");
  374. }else {
  375. moveable = true;
  376. }
  377. return moveable;
  378. }
  379. }