3a6df9e0fa476f7eac4cdaaaac6ca5e7f90d96b4.svn-base 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596
  1. package xin.glue.nui.F.F01;
  2. import java.text.DateFormat;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5. import xin.glue.user.common.DateUtils;
  6. import xin.glue.user.common.GlobalConstants;
  7. import xin.glue.user.common.LogGpError;
  8. import xin.glue.user.common.StringUtils;
  9. import com.posdata.glue.PosException;
  10. import com.posdata.glue.biz.activity.PosActivity;
  11. import com.posdata.glue.biz.constants.PosBizControlConstants;
  12. import com.posdata.glue.context.PosContext;
  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 SMSSchTme (NIF012180)
  18. * Description SMS WORK TIME RESCHEDULE
  19. * Write By KIM SUNG HO
  20. * Date 2008-10-30
  21. */
  22. public class SMSSchTme extends PosActivity implements GlobalConstants {
  23. public String runActivity(PosContext context) {
  24. long V_CHG_SEQ = 0 ;
  25. long V_ORG_SEQ = 0 ;
  26. long V_BC_MOVE_TME = 0 ;
  27. long V_CR_MOVE_TME = 0 ;
  28. long V_CL_MOVE_TME = 0 ;
  29. long V_CJ_MOVE_TME = 0 ;
  30. long V_RL_MOVE_TME = 0 ;
  31. long V_RJ_MOVE_TME = 0 ;
  32. long V_LJ_MOVE_TME = 0 ;
  33. long V_LADLE_MOVE_TME = 0 ;
  34. long V_CCM_CAN_STR_TME = 0 ;
  35. long V_NEED_TME = 0 ;
  36. long V_BOF_NEED_TME = 0 ;
  37. long V_CAS_NEED_TME = 0 ;
  38. long V_RH_NEED_TME = 0 ;
  39. long V_LF_NEED_TME = 0 ;
  40. long V_CCM_NEED_TME = 0 ;
  41. long V_SHIFT_TME = 0 ;
  42. long V_SLAB_CCM_CUT = 0 ;
  43. long V_SLAB_CNT = 0 ;
  44. long V_MAX_CCM_TME = 0 ;
  45. long V_CHARGE_EDT_SEQ = 0 ;
  46. long V_CHARGE_SLAB_SEQ = 0 ;
  47. long V_SLAB_EDT_SEQ = 0 ;
  48. long C_TAKE_HM = 5 ;
  49. long C_GIVE_LD = 5 ;
  50. long C_TD_CHG_GAP = 5 ;
  51. String V_PROC_CD = "" ;
  52. String V_STR_PROC_CD = "" ;
  53. String V_END_PROC_CD = "" ;
  54. String V_PRC_LINE = "" ;
  55. String V_STL_GRD_CD = "" ;
  56. String V_TMP_STL_GRD_CD = "" ;
  57. String V_PATH_PROC_CD = "" ;
  58. String V_BOF_STR = "" ;
  59. String V_BLOW_STR = "" ;
  60. String V_BOF_LD_STR = "" ;
  61. String V_BOF_END = "" ;
  62. String V_CAS_STR = "" ;
  63. String V_CAS_END = "" ;
  64. String V_LF_STR = "" ;
  65. String V_LF_END = "" ;
  66. String V_RH_STR = "" ;
  67. String V_RH_END = "" ;
  68. String V_CCM_STR = "" ;
  69. String V_CCM_END = "" ;
  70. String V_BEF_PROC_END = "" ;
  71. String V_LF_FL = "" ;
  72. String V_RH_FL = "" ;
  73. String V_CHARGE_MANA_IC = "" ;
  74. String V_CHARGE_MANA_TM = "" ;
  75. String V_START_FL = "" ;
  76. String V_TABLE_ID = "" ;
  77. String V_TABLE_MODE = "" ;
  78. String V_ERR_DESC = "" ;
  79. String V_RTN_NAME = "" ;
  80. PosMessage message = context.getMessage();
  81. String P_PRC_LINE = (String)message.get("PRC_LINE");
  82. String P_L2_SEND = (String)message.get("L2_SEND");
  83. // try {
  84. //SELECT START PROC_CD, END PROC_CD, LADLE_MOVE_TIME
  85. PosRowSet ldlMoveTmeVO = getDao("mesdao").find("NIF012180_LadleMvTme.select");
  86. ldlMoveTmeVO.reset();
  87. while(ldlMoveTmeVO.hasNext()) {
  88. PosRow ldlMoveTmeRow = ldlMoveTmeVO.next();
  89. V_STR_PROC_CD = (String)ldlMoveTmeRow.getAttribute("STR_PROC_CD");
  90. V_END_PROC_CD = (String)ldlMoveTmeRow.getAttribute("END_PROC_CD");
  91. V_LADLE_MOVE_TME = Long.parseLong((ldlMoveTmeRow.getAttribute("LADLE_MOVE_TME")==null? "0":ldlMoveTmeRow.getAttribute("LADLE_MOVE_TME")).toString());
  92. if ((V_STR_PROC_CD+V_END_PROC_CD).equals("JBJC")) { //BOF --> CAS
  93. V_BC_MOVE_TME = V_LADLE_MOVE_TME;
  94. } else if ((V_STR_PROC_CD+V_END_PROC_CD).equals("JCJR")) { //CAS --> RH
  95. V_CR_MOVE_TME = V_LADLE_MOVE_TME;
  96. } else if ((V_STR_PROC_CD+V_END_PROC_CD).equals("JCJL")) { //CAS --> LH
  97. V_CL_MOVE_TME = V_LADLE_MOVE_TME;
  98. } else if ((V_STR_PROC_CD+V_END_PROC_CD).equals("JCJJ")) { //CAS --> CCM
  99. V_CJ_MOVE_TME = V_LADLE_MOVE_TME;
  100. } else if ((V_STR_PROC_CD+V_END_PROC_CD).equals("JRJL")) { //RH --> LF
  101. V_RL_MOVE_TME = V_LADLE_MOVE_TME;
  102. } else if ((V_STR_PROC_CD+V_END_PROC_CD).equals("JRJJ")) { //RH --> CCM
  103. V_RJ_MOVE_TME = V_LADLE_MOVE_TME;
  104. } else if ((V_STR_PROC_CD+V_END_PROC_CD).equals("JLJJ")) { //LF --> CCM
  105. V_LJ_MOVE_TME = V_LADLE_MOVE_TME;
  106. }
  107. } //ldlMoveTmeVO while END
  108. DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
  109. String currDate = (String)formatter.format(new Date());
  110. //BOF LINE Setting
  111. int j, k;
  112. if (P_PRC_LINE == null) {
  113. P_PRC_LINE = "3";
  114. }
  115. if (P_PRC_LINE.equals("1")) { //BOF LINE #1
  116. j = 1;
  117. k = 1;
  118. } else if (P_PRC_LINE.equals("2")) { //BOF LINE #2
  119. j = 2;
  120. k = 2;
  121. } else { //BOF LINE #1, #2
  122. j = 1;
  123. k = 2;
  124. }
  125. V_TMP_STL_GRD_CD = "";
  126. V_CHARGE_MANA_TM = "0000000000";
  127. V_CHG_SEQ = 0;
  128. //BOF LINE #1, #2
  129. for (int i = j; i <= k; i++)
  130. {
  131. V_CCM_STR = "";
  132. V_CCM_END = "";
  133. V_TMP_STL_GRD_CD = "";
  134. V_START_FL = "Y";
  135. V_PRC_LINE = String.valueOf(i);
  136. if (P_L2_SEND.equals("Y")) {
  137. //SELECT LAST CHARGE WORK TIME
  138. PosParameter paramA = new PosParameter();
  139. paramA.setWhereClauseParameter(0, V_PRC_LINE);
  140. PosRowSet LastChargeInfVO = getDao("mesdao").find("NIF012180_LastChargeTme1.select",paramA);
  141. LastChargeInfVO.reset();
  142. if (LastChargeInfVO.hasNext()) {
  143. PosRow LastChargeInfRow = LastChargeInfVO.next();
  144. V_CCM_STR = (String)LastChargeInfRow.getAttribute("CCM_STR");
  145. V_CCM_END = (String)LastChargeInfRow.getAttribute("CCM_END");
  146. V_TMP_STL_GRD_CD = (String)LastChargeInfRow.getAttribute("STL_GRP_CD");
  147. V_CHARGE_MANA_TM = (String)LastChargeInfRow.getAttribute("CHARGE_MANA_NO");
  148. V_CHG_SEQ = Long.parseLong((LastChargeInfRow.getAttribute("CHG_SEQ")==null? "0":LastChargeInfRow.getAttribute("CHG_SEQ")).toString());
  149. }
  150. } else {
  151. //SELECT LAST CHARGE WORK TIME
  152. PosParameter paramA = new PosParameter();
  153. paramA.setWhereClauseParameter(0, V_PRC_LINE);
  154. paramA.setWhereClauseParameter(1, V_PRC_LINE);
  155. PosRowSet LastChargeInfVO = getDao("mesdao").find("NIF012180_LastChargeTme2.select",paramA);
  156. LastChargeInfVO.reset();
  157. if (LastChargeInfVO.hasNext()) {
  158. PosRow LastChargeInfRow = LastChargeInfVO.next();
  159. V_CCM_STR = (String)LastChargeInfRow.getAttribute("CCM_STR");
  160. V_CCM_END = (String)LastChargeInfRow.getAttribute("CCM_END");
  161. V_TMP_STL_GRD_CD = (String)LastChargeInfRow.getAttribute("STL_GRP_CD");
  162. V_CHARGE_MANA_TM = (String)LastChargeInfRow.getAttribute("CHARGE_MANA_NO");
  163. V_CHG_SEQ = Long.parseLong((LastChargeInfRow.getAttribute("CHG_SEQ")==null? "0":LastChargeInfRow.getAttribute("CHG_SEQ")).toString());
  164. }
  165. }
  166. if (V_CCM_END == null || (V_CCM_END.compareTo(currDate) < 0)) {
  167. V_CCM_END = currDate;
  168. V_CCM_END = DateUtils.getStringDateAddedTime(V_CCM_END, 0, 0, 120, 0);
  169. V_CCM_STR = DateUtils.getStringDateAddedTime(V_CCM_END, 0, 0, -30, 0);
  170. }
  171. //SELECT TBF01_SPEC_CHARGE A, TBF01_CHARGE_IDX B WHERE > V_CHARGE_MANA_NO
  172. PosParameter param1 = new PosParameter();
  173. param1.setWhereClauseParameter(0, V_PRC_LINE);
  174. param1.setWhereClauseParameter(1, String.valueOf(V_CHG_SEQ));
  175. PosRowSet ChargeInfVO = getDao("mesdao").find("NIF012180_ChargeInf.select",param1);
  176. ChargeInfVO.reset();
  177. while(ChargeInfVO.hasNext()) {
  178. PosRow ChargeInfRow = ChargeInfVO.next();
  179. V_STL_GRD_CD = (String)ChargeInfRow.getAttribute("STL_GRP_CD");
  180. V_PATH_PROC_CD = (String)ChargeInfRow.getAttribute("PATH_PROC_CD");
  181. V_CHARGE_EDT_SEQ = Long.parseLong((ChargeInfRow.getAttribute("CHARGE_EDT_SEQ")==null? "0":ChargeInfRow.getAttribute("CHARGE_EDT_SEQ")).toString());
  182. V_ORG_SEQ = Long.parseLong((ChargeInfRow.getAttribute("ORG_SEQ")==null? "0":ChargeInfRow.getAttribute("ORG_SEQ")).toString());
  183. if (V_START_FL.equals("Y") || V_TMP_STL_GRD_CD.equals("") || !V_STL_GRD_CD.equals(V_TMP_STL_GRD_CD)) {
  184. //TUNDISH CHANGE
  185. if (!V_STL_GRD_CD.equals(V_TMP_STL_GRD_CD)) {
  186. V_CCM_END = DateUtils.getStringDateAddedTime(V_CCM_END, 0, 0, (int)C_TD_CHG_GAP, 0);
  187. V_CCM_STR = DateUtils.getStringDateAddedTime(V_CCM_STR, 0, 0, (int)C_TD_CHG_GAP, 0);
  188. }
  189. V_TMP_STL_GRD_CD = V_STL_GRD_CD;
  190. V_START_FL = "N";
  191. V_BOF_NEED_TME = 0;
  192. V_CAS_NEED_TME = 0;
  193. V_RH_NEED_TME = 0;
  194. V_LF_NEED_TME = 0;
  195. V_CCM_NEED_TME = 0;
  196. //SELECT TBF01_SMS_TTT SMS WORK NEED TIME
  197. PosParameter param2 = new PosParameter();
  198. param2.setWhereClauseParameter(0, V_TMP_STL_GRD_CD);
  199. PosRowSet ProcNeedTMEVO = getDao("mesdao").find("NIF012180_ProcNeedTME.select",param2);
  200. ProcNeedTMEVO.reset();
  201. while(ProcNeedTMEVO.hasNext()) {
  202. PosRow ProcNeedTMERow = ProcNeedTMEVO.next();
  203. V_PROC_CD = (String)ProcNeedTMERow.getAttribute("PROC_CD");
  204. V_NEED_TME = Long.parseLong((ProcNeedTMERow.getAttribute("NEED_STD_TME")==null? "0":ProcNeedTMERow.getAttribute("NEED_STD_TME")).toString());
  205. if (V_PROC_CD.equals("JB")) {
  206. V_BOF_NEED_TME = V_NEED_TME;
  207. } else if (V_PROC_CD.equals("JC")) {
  208. V_CAS_NEED_TME = V_NEED_TME;
  209. } else if (V_PROC_CD.equals("JR")) {
  210. V_RH_NEED_TME = V_NEED_TME;
  211. } else if (V_PROC_CD.equals("JL")) {
  212. V_LF_NEED_TME = V_NEED_TME;
  213. } else if (V_PROC_CD.equals("JJ")) {
  214. V_CCM_NEED_TME = V_NEED_TME;
  215. }
  216. } //ProcNeedTMEVO while END
  217. }
  218. V_RH_FL = "N";
  219. V_LF_FL = "N";
  220. if (V_PATH_PROC_CD.indexOf("JR") > 0) {
  221. V_RH_FL = "Y";
  222. }
  223. if (V_PATH_PROC_CD.indexOf("JL") > 0) {
  224. V_LF_FL = "Y";
  225. }
  226. //SELECT SUM(CCM_CUT_TME) FROM TBF01_SPEC_SLAB
  227. PosParameter param3 = new PosParameter();
  228. param3.setWhereClauseParameter(0, String.valueOf(V_CHARGE_EDT_SEQ));
  229. PosRowSet CcmCutTmeVO = getDao("mesdao").find("NIF012180_CcmCutTme.select",param3);
  230. CcmCutTmeVO.reset();
  231. if (CcmCutTmeVO.hasNext()) {
  232. PosRow CcmCutTmeRow = CcmCutTmeVO.next();
  233. V_CCM_NEED_TME = Long.parseLong((CcmCutTmeRow.getAttribute("CCM_CUT_TME")==null? "0":CcmCutTmeRow.getAttribute("CCM_CUT_TME")).toString());
  234. V_SLAB_CNT = Long.parseLong((CcmCutTmeRow.getAttribute("SLAB_CNT")==null? "0":CcmCutTmeRow.getAttribute("SLAB_CNT")).toString());
  235. V_MAX_CCM_TME = Long.parseLong((CcmCutTmeRow.getAttribute("MAX_CUT_TME")==null? "0":CcmCutTmeRow.getAttribute("MAX_CUT_TME")).toString());
  236. if (V_SLAB_CNT % 2 == 0) {
  237. V_CCM_NEED_TME = V_CCM_NEED_TME / 2;
  238. } else {
  239. V_CCM_NEED_TME = (V_CCM_NEED_TME / 2) + V_MAX_CCM_TME;
  240. }
  241. } else {
  242. V_CCM_NEED_TME = 0;
  243. }
  244. //CCM PROCESS TIME
  245. V_CCM_CAN_STR_TME = DateUtils.getDurationByMinute(V_CCM_STR, V_CCM_END) / 5;
  246. V_CCM_STR = DateUtils.getStringDateAddedTime(V_CCM_END, 0, 0, (int)-V_CCM_CAN_STR_TME, 0);
  247. V_CCM_END = DateUtils.getStringDateAddedTime(V_CCM_STR, 0, 0, (int)V_CCM_NEED_TME, 0);
  248. V_BEF_PROC_END = V_CCM_STR;
  249. //LF PROCESS TIME
  250. if (V_LF_FL.equals("Y")) {
  251. V_LF_END = DateUtils.getStringDateAddedTime(V_BEF_PROC_END, 0, 0, (int)-V_LJ_MOVE_TME, 0);
  252. V_LF_STR = DateUtils.getStringDateAddedTime(V_LF_END, 0, 0, (int)-V_LF_NEED_TME, 0);
  253. V_BEF_PROC_END = V_LF_STR;
  254. } else {
  255. V_LF_STR = V_BEF_PROC_END;
  256. V_LF_END = V_BEF_PROC_END;
  257. }
  258. //RH PROCESS TIME
  259. if (V_RH_FL.equals("Y")) {
  260. if (V_LF_FL.equals("Y")) {
  261. V_RH_END = DateUtils.getStringDateAddedTime(V_BEF_PROC_END, 0, 0, (int)-V_RL_MOVE_TME, 0);
  262. } else {
  263. V_RH_END = DateUtils.getStringDateAddedTime(V_BEF_PROC_END, 0, 0, (int)-V_RJ_MOVE_TME, 0);
  264. }
  265. V_RH_STR = DateUtils.getStringDateAddedTime(V_RH_END, 0, 0, (int)-V_RH_NEED_TME, 0);
  266. V_BEF_PROC_END = V_RH_STR;
  267. } else {
  268. V_RH_STR = V_BEF_PROC_END;
  269. V_RH_END = V_BEF_PROC_END;
  270. }
  271. //CAS PROCESS TIME
  272. if (V_RH_FL.equals("Y")) {
  273. V_CAS_END = DateUtils.getStringDateAddedTime(V_BEF_PROC_END, 0, 0, (int)-V_CR_MOVE_TME, 0);
  274. } else if (V_LF_FL.equals("Y")) {
  275. V_CAS_END = DateUtils.getStringDateAddedTime(V_BEF_PROC_END, 0, 0, (int)-V_CL_MOVE_TME, 0);
  276. } else {
  277. V_CAS_END = DateUtils.getStringDateAddedTime(V_BEF_PROC_END, 0, 0, (int)-V_CJ_MOVE_TME, 0);
  278. }
  279. V_CAS_STR = DateUtils.getStringDateAddedTime(V_CAS_END, 0, 0, (int)-V_CAS_NEED_TME, 0);
  280. V_BEF_PROC_END = V_CAS_STR;
  281. //BOF PROCESS TIME
  282. V_BOF_END = DateUtils.getStringDateAddedTime(V_BEF_PROC_END, 0, 0, (int)-V_BC_MOVE_TME, 0);
  283. V_BOF_LD_STR = DateUtils.getStringDateAddedTime(V_BOF_END, 0, 0, (int)-C_GIVE_LD, 0);
  284. V_BOF_STR = DateUtils.getStringDateAddedTime(V_BOF_END, 0, 0, (int)-V_BOF_NEED_TME, 0);
  285. V_BLOW_STR = DateUtils.getStringDateAddedTime(V_BOF_STR, 0, 0, (int)C_TAKE_HM, 0);
  286. //BOF_STR TIME AMD CURRENT TIME CHECK
  287. if (V_BOF_STR.compareTo(currDate) <= 0) {
  288. V_SHIFT_TME = DateUtils.getDurationByMinute(V_BOF_STR, currDate) + 5;
  289. V_BOF_STR = DateUtils.getStringDateAddedTime(V_BOF_STR, 0, 0, (int)V_SHIFT_TME, 0);
  290. V_BLOW_STR = DateUtils.getStringDateAddedTime(V_BLOW_STR, 0, 0, (int)V_SHIFT_TME, 0);
  291. V_BOF_LD_STR = DateUtils.getStringDateAddedTime(V_BOF_LD_STR, 0, 0, (int)V_SHIFT_TME, 0);
  292. V_BOF_END = DateUtils.getStringDateAddedTime(V_BOF_END, 0, 0, (int)V_SHIFT_TME, 0);
  293. V_CAS_STR = DateUtils.getStringDateAddedTime(V_CAS_STR, 0, 0, (int)V_SHIFT_TME, 0);
  294. V_CAS_END = DateUtils.getStringDateAddedTime(V_CAS_END, 0, 0, (int)V_SHIFT_TME, 0);
  295. V_RH_STR = DateUtils.getStringDateAddedTime(V_RH_STR, 0, 0, (int)V_SHIFT_TME, 0);
  296. V_RH_END = DateUtils.getStringDateAddedTime(V_RH_END, 0, 0, (int)V_SHIFT_TME, 0);
  297. V_LF_STR = DateUtils.getStringDateAddedTime(V_LF_STR, 0, 0, (int)V_SHIFT_TME, 0);
  298. V_LF_END = DateUtils.getStringDateAddedTime(V_LF_END, 0, 0, (int)V_SHIFT_TME, 0);
  299. V_CCM_STR = DateUtils.getStringDateAddedTime(V_CCM_STR, 0, 0, (int)V_SHIFT_TME, 0);
  300. V_CCM_END = DateUtils.getStringDateAddedTime(V_CCM_END, 0, 0, (int)V_SHIFT_TME, 0);
  301. }
  302. //DIFF YEAR CHARGE_MANA_NO
  303. //V_BOF_STR="201700020201";
  304. /*if (V_CHARGE_MANA_TM.equals("0000000000") || !V_CHARGE_MANA_TM.substring(1, 2).equals(V_BOF_STR.substring(3, 4))) {
  305. if(currDate.substring(3, 4).equals(V_BOF_STR.substring(3, 4)))
  306. {
  307. if(V_PRC_LINE.equals("2"))
  308. V_CHARGE_MANA_TM = new StringBuffer(10).append("3").append(V_BOF_STR.substring(3, 4)).append(V_PRC_LINE).append("-00500A").toString(); //二号炉跨年加500
  309. else
  310. V_CHARGE_MANA_TM = new StringBuffer(10).append("3").append(V_BOF_STR.substring(3, 4)).append(V_PRC_LINE).append("-00000A").toString();
  311. }
  312. }*/
  313. //百年则改为!V_CHARGE_MANA_TM.substring(1, 3).equals(currDate.substring(2, 4)
  314. if (V_CHARGE_MANA_TM.equals("0000000000") || !V_CHARGE_MANA_TM.substring(1, 2).equals(currDate.substring(3, 4)))
  315. {
  316. if(V_PRC_LINE.equals("1"))
  317. V_CHARGE_MANA_TM = new StringBuffer(10).append("3").append(currDate.substring(3, 4)).append(V_PRC_LINE).append("-00500A").toString(); //一号炉跨年加500 20191231
  318. //数智化部要求炼钢厂将坯号改为如J22201409A 此类第2-3位代表具体百年年份的新坯号并去掉"-" jiangxin 20220427
  319. //V_CHARGE_MANA_TM = new StringBuffer(10).append("3").append(currDate.substring(2, 4)).append(V_PRC_LINE).append("00500A").toString();
  320. else
  321. V_CHARGE_MANA_TM = new StringBuffer(10).append("3").append(currDate.substring(3, 4)).append(V_PRC_LINE).append("-00000A").toString();
  322. //V_CHARGE_MANA_TM = new StringBuffer(10).append("3").append(currDate.substring(2, 4)).append(V_PRC_LINE).append("00000A").toString();
  323. }
  324. /*if(V_CHARGE_MANA_TM.equals(new StringBuffer(10).append("3").append(V_BOF_STR.substring(3, 4)).append("2-00001A")))
  325. {
  326. V_CHARGE_MANA_TM= new StringBuffer(10).append("3").append(V_BOF_STR.substring(3, 4)).append(V_PRC_LINE).append("-00500A").toString();
  327. }
  328. if (V_CHARGE_MANA_TM.equals("0000000000"))
  329. {
  330. if(V_PRC_LINE.equals("2"))
  331. V_CHARGE_MANA_TM = new StringBuffer(10).append("3").append(V_BOF_STR.substring(3, 4)).append(V_PRC_LINE).append("-00500A").toString(); //二号炉跨年加500
  332. else
  333. V_CHARGE_MANA_TM = new StringBuffer(10).append("3").append(V_BOF_STR.substring(3, 4)).append(V_PRC_LINE).append("-00001A").toString();
  334. }*/
  335. //CHG_SEQ + 1, CHARGE_MANA_NO + 1 ----------------------------------------------
  336. V_CHARGE_MANA_IC = StringUtils.calculateIntegerStringValue(V_CHARGE_MANA_TM.substring(4, 9), 1);
  337. //数智化部要求炼钢厂将坯号改为如J22201409A 此类第2-3位代表具体百年年份的新坯号并去掉"-" jiangxin 20220427
  338. V_CHARGE_MANA_TM = new StringBuffer(10).append(V_CHARGE_MANA_TM.substring(0, 4)).append(V_CHARGE_MANA_IC).append(V_CHARGE_MANA_TM.substring(9, 10)).toString();
  339. //V_CHARGE_MANA_TM = new StringBuffer(10).append("3").append(currDate.substring(2,4)).append(V_PRC_LINE).append(V_CHARGE_MANA_IC).append(V_CHARGE_MANA_TM.substring(9, 10)).toString();
  340. ++V_CHG_SEQ;
  341. //UPDATE TBF01_CHARGE_IDX
  342. PosParameter param13 = new PosParameter();
  343. param13.setWhereClauseParameter(0, String.valueOf(V_CHG_SEQ));
  344. param13.setWhereClauseParameter(1, V_CHARGE_MANA_TM);
  345. param13.setWhereClauseParameter(2, V_CHARGE_MANA_TM);
  346. param13.setWhereClauseParameter(3, String.valueOf(V_ORG_SEQ));
  347. int UpdCnt5 = getDao("mesdao").update("NIF012180_ChgIdxBefUpd.update",param13);
  348. if (UpdCnt5 == 0) {
  349. V_TABLE_ID = "TBF01_CHARGE_IDX";
  350. V_TABLE_MODE = "U";
  351. V_ERR_DESC = "TBF01_CHARGE_IDX UPDATE COUNT IS ZERO";
  352. V_RTN_NAME = "SMSSchTme TBF01_CHARGE_IDX UPDATE5 " + String.valueOf(V_ORG_SEQ);
  353. LogGpError.logMessageToDB("SMSSchTme", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  354. throw new PosException(V_RTN_NAME);
  355. }
  356. //UPDATE TBF01_SPEC_SLAB
  357. PosParameter param15 = new PosParameter();
  358. param15.setWhereClauseParameter(0, V_CHARGE_MANA_TM);
  359. param15.setWhereClauseParameter(1, V_CHARGE_MANA_TM);
  360. param15.setWhereClauseParameter(2, String.valueOf(V_CHARGE_EDT_SEQ));
  361. int UpdCnt7 = getDao("mesdao").update("NIF012180_SpecSlabBefUpd.update",param15);
  362. if (UpdCnt7 == 0) {
  363. V_TABLE_ID = "TBF01_SPEC_SLAB";
  364. V_TABLE_MODE = "U";
  365. V_ERR_DESC = "TBF01_SPEC_SLAB UPDATE COUNT IS ZERO";
  366. V_RTN_NAME = "SMSSchTme TBF01_SPEC_SLAB UPDATE7 ChargeEdtSeq = [" + String.valueOf(V_CHARGE_EDT_SEQ) + "]";
  367. LogGpError.logMessageToDB("SMSSchTme", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  368. throw new PosException(V_RTN_NAME);
  369. }
  370. //UPDATE TBF01_SPEC_CHARGE SMS WORK NEED TIME
  371. PosParameter param4 = new PosParameter();
  372. param4.setWhereClauseParameter(0 , V_BOF_STR);
  373. param4.setWhereClauseParameter(1 , V_BLOW_STR);
  374. param4.setWhereClauseParameter(2 , V_BOF_LD_STR);
  375. param4.setWhereClauseParameter(3 , V_BOF_END);
  376. param4.setWhereClauseParameter(4 , V_CAS_STR);
  377. param4.setWhereClauseParameter(5 , V_CAS_END);
  378. param4.setWhereClauseParameter(6 , V_RH_STR);
  379. param4.setWhereClauseParameter(7 , V_RH_END);
  380. param4.setWhereClauseParameter(8 , V_LF_STR);
  381. param4.setWhereClauseParameter(9 , V_LF_END);
  382. param4.setWhereClauseParameter(10, V_CCM_STR);
  383. param4.setWhereClauseParameter(11, V_CCM_END);
  384. param4.setWhereClauseParameter(12, String.valueOf(V_CCM_NEED_TME));
  385. param4.setWhereClauseParameter(13, V_CHARGE_MANA_TM);
  386. param4.setWhereClauseParameter(14, String.valueOf(V_CHARGE_EDT_SEQ));
  387. int UpdCnt1 = getDao("mesdao").update("NIF012180_SMSWorkTmeCharge.update",param4);
  388. if (UpdCnt1 == 0) {
  389. V_TABLE_ID = "TBF01_SPEC_CHARGE";
  390. V_TABLE_MODE = "U";
  391. V_ERR_DESC = "TBF01_SPEC_CHARGE UPDATE COUNT IS ZERO";
  392. V_RTN_NAME = "SMSSchTme TBF01_SPEC_CHARGE UPDATE1 " + String.valueOf(V_CHARGE_EDT_SEQ);
  393. LogGpError.logMessageToDB("SMSSchTme", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  394. throw new PosException(V_RTN_NAME);
  395. }
  396. //2009.03.06 MODIFY KIM
  397. // //SELECT TBF01_SPEC_SLAB A (UNIT SLAB CCM_CUT_TME)
  398. // PosParameter param5 = new PosParameter();
  399. // param5.setWhereClauseParameter(0, String.valueOf(V_CHARGE_EDT_SEQ));
  400. // PosRowSet SlabInfVO = getDao("mesdao").find("NIF012180_SlabInf.select",param5);
  401. // SlabInfVO.reset();
  402. //
  403. // while(SlabInfVO.hasNext()) {
  404. //
  405. // PosRow SlabInfRow = SlabInfVO.next();
  406. // V_CHARGE_SLAB_SEQ = Long.parseLong((SlabInfRow.getAttribute("CHARGE_SLAB_SEQ")==null? "0":SlabInfRow.getAttribute("CHARGE_SLAB_SEQ")).toString());
  407. // V_SLAB_EDT_SEQ = Long.parseLong((SlabInfRow.getAttribute("SLAB_EDT_SEQ")==null? "0":SlabInfRow.getAttribute("SLAB_EDT_SEQ")).toString());
  408. // V_SLAB_CCM_CUT = Long.parseLong((SlabInfRow.getAttribute("CCM_CUT_TME")==null? "0":SlabInfRow.getAttribute("CCM_CUT_TME")).toString());
  409. //
  410. // if (V_CHARGE_SLAB_SEQ == 1) {
  411. //
  412. // V_CCM_END = (String)SlabInfRow.getAttribute("PRE_CCM_STR_DTIME");
  413. // }
  414. //
  415. // V_CCM_END = DateUtils.getStringDateAddedTime(V_CCM_END, 0, 0, (int)V_SLAB_CCM_CUT, 0);
  416. //
  417. // //UPDATE TBF01_SPEC_SLAB CCM_CUT_PRE_TME
  418. // PosParameter param6 = new PosParameter();
  419. // param6.setWhereClauseParameter(0 , V_CCM_END);
  420. // param6.setWhereClauseParameter(1 , String.valueOf(V_SLAB_EDT_SEQ));
  421. // int UpdCnt2 = getDao("mesdao").update("NIF012180_SMSWorkTmeSlab.update",param6);
  422. //
  423. // if (UpdCnt2 == 0) {
  424. //
  425. // V_TABLE_ID = "TBF01_SPEC_SLAB";
  426. // V_TABLE_MODE = "U";
  427. // V_ERR_DESC = "TBF01_SPEC_SLAB UPDATE COUNT IS ZERO";
  428. // V_RTN_NAME = "SMSSchTme TBF01_SPEC_SLAB UPDATE2 " + String.valueOf(V_SLAB_EDT_SEQ);
  429. //
  430. // LogGpError.logMessageToDB("SMSSchTme", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  431. // throw new PosException(V_RTN_NAME);
  432. // }
  433. //
  434. // } //SlabInfVO while END
  435. // MODIFY END
  436. } //ChargeInfVO while END
  437. } //for END
  438. // }
  439. // catch (PosException ex)
  440. // {
  441. // context.put(SERVICE_ERR_MSG, ex.getMessage());
  442. // throw ex;
  443. // }
  444. // catch (Throwable t)
  445. // {
  446. // context.put(SERVICE_ERR_MSG, t.getMessage());
  447. // throw new PosException(t.getMessage(), t);
  448. // }
  449. return PosBizControlConstants.SUCCESS;
  450. }
  451. }