package xin.glue.nui.F.F01; import java.math.BigDecimal; import xin.glue.user.common.GlobalConstants; import xin.glue.user.common.LogGpError; import com.posdata.glue.PosException; import com.posdata.glue.biz.activity.PosActivity; import com.posdata.glue.biz.constants.PosBizControlConstants; import com.posdata.glue.biz.control.PosBizProvider; import com.posdata.glue.context.PosContext; import com.posdata.glue.dao.vo.PosParameter; import com.posdata.glue.dao.vo.PosRow; import com.posdata.glue.dao.vo.PosRowSet; import com.posdata.glue.msg.PosMESMessageImpl; import com.posdata.glue.msg.PosMessage; //import java.lang.Long; /* Program Name SMSOrdDel (NIF012130) * Description SMS WORK INSTRUCTION DELETE CHARGE * Write By KIM SUNG HO * Date 2008-10-31 */ public class SMSOrdDel extends PosActivity implements GlobalConstants { public String runActivity(PosContext context) { long V_CHARGE_EDT_SEQ = 0 ; long V_L2_ERR_CNT = 0 ; long V_STS_CNT = 0 ; long V_CHG_SEQ_ST = 0 ; long V_CHG_SEQ_EN = 0 ; long V_PREV_CHARGE_WGT = 0 ; String V_CHARGE_MANA_NO = "" ; String V_ORD_NO = "" ; String V_ORD_SEQ = "" ; String V_TABLE_ID = "" ; String V_TABLE_MODE = "" ; String V_ERR_DESC = "" ; String V_RTN_NAME = "" ; PosMessage message = context.getMessage(); String P_CHARGE_MANA_NO_ST = (String)message.get("CHARGE_MANA_NO_ST"); String P_CHARGE_MANA_NO_EN = (String)message.get("CHARGE_MANA_NO_EN"); String P_REG_ID = (String)message.get("REG_ID"); //String PRC_LINE_ST = P_CHARGE_MANA_NO_ST.substring(3, 4); //String PRC_LINE_EN = P_CHARGE_MANA_NO_EN.substring(3, 4); String PRC_LINE_ST = P_CHARGE_MANA_NO_ST.substring(2, 3); String PRC_LINE_EN = P_CHARGE_MANA_NO_EN.substring(2, 3); // try { //P_CHARGE_MANA_NO_ST/P_CHARGE_MANA_NO_EN IS NULL CHECK if (P_CHARGE_MANA_NO_ST == null || P_CHARGE_MANA_NO_ST.equals("") || P_CHARGE_MANA_NO_EN == null || P_CHARGE_MANA_NO_EN.equals("")) { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("SMSOrdDel..CHARGE_MANA_NO_ST OR CHARGE_MANA_NO_EN IS NULL"); } //SELECT START CHG_SEQ PosParameter paramA = new PosParameter(); paramA.setWhereClauseParameter(0, P_CHARGE_MANA_NO_ST); paramA.setWhereClauseParameter(1, P_CHARGE_MANA_NO_EN); PosRowSet ChgSTSeqInfVO = getDao("mesdao").find("NIF012130_ChgSeqInf.select",paramA); ChgSTSeqInfVO.reset(); if (ChgSTSeqInfVO.hasNext()) { PosRow ChgSTSeqInfRow = ChgSTSeqInfVO.next(); V_CHG_SEQ_ST = Long.parseLong((ChgSTSeqInfRow.getAttribute("CHG_SEQ_ST")==null? "0":ChgSTSeqInfRow.getAttribute("CHG_SEQ_ST")).toString()); V_CHG_SEQ_EN = Long.parseLong((ChgSTSeqInfRow.getAttribute("CHG_SEQ_EN")==null? "0":ChgSTSeqInfRow.getAttribute("CHG_SEQ_EN")).toString()); } else { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("SMSOrdDel..Not Found ChgSeqInf.."); } //P_CHARGE_MANA_NO_ST > P_CHARGE_MANA_NO_EN if (V_CHG_SEQ_ST > V_CHG_SEQ_EN) { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("SMSOrdDel..CHG_SEQ_ST > CHG_SEQ_EN"); } //BOF LINE CHECK P_CHARGE_MANA_NO_ST,P_CHARGE_MANA_NO_EN if (!PRC_LINE_ST.equals(PRC_LINE_EN)) { //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("SMSOrdDel..BOF LINE DIFFERENT.."); } //SELECT COUNT(L2_SEND="Y"), COUNT(STATUS_CD="B") PosParameter param0 = new PosParameter(); param0.setWhereClauseParameter(0, PRC_LINE_ST); param0.setWhereClauseParameter(1, String.valueOf(V_CHG_SEQ_ST)); param0.setWhereClauseParameter(2, String.valueOf(V_CHG_SEQ_EN)); PosRowSet ChgCntChkVO = getDao("mesdao").find("NIF012130_ChgCntChk.select",param0); ChgCntChkVO.reset(); if (ChgCntChkVO.hasNext()) { PosRow ChgCntChkRow = ChgCntChkVO.next(); V_L2_ERR_CNT = Long.parseLong((ChgCntChkRow.getAttribute("L2_CNT")==null? "0":ChgCntChkRow.getAttribute("L2_CNT")).toString()); V_STS_CNT = Long.parseLong((ChgCntChkRow.getAttribute("STATUS_CNT")==null? "0":ChgCntChkRow.getAttribute("STATUS_CNT")).toString()); if (V_L2_ERR_CNT != 0) { //闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪㈢�顏呮崳闁活厼妫楅妴鎺戭灄閻愵剙顏剁紓浣哄Ь椤啴濡甸崟顖氱疀闁告挷鑳堕弳鐘绘煟鎼淬垼澹樻い锕�偢婵$敻宕熼姘鳖唺闂佺懓鐡ㄧ换宥嗙閼测晝纾藉〒姘攻鐎氳銇勮缁舵艾顕f繝姘亜闁稿繒鍘ч敓钘夆攽閳藉棗鐏℃俊鐐茬仢铻為柟閭﹀幘缁★拷绻涢崼婵堜虎闁哄闄勭换娑㈠川椤旂晫顦归梺鐟扮畭閸ㄥ綊鍩ユ径濠庣亙闁糕剝顨濆▍濠冧繆閻愵亜锟芥俊顐$閻g兘鎮界粙璺樀閻熸粎澧楃敮妤呭煕閹寸姷纾奸悗锝庝簻閻紕锟介幖鐐插姦闁哄本鐩慨锟芥晬閸曨偄缁╅梻浣哄仺閸庣粯淇婇崶顒�闁告洦鍨版儫闂佹寧娲╅幏鐑芥晬韫囨挴鏀介柣鎰摠鐏忎即鏌涢幋婵堢Ш鐎规洝顬冪�濂稿级閹寸媭妯勫┑掳鍊х徊浠嬪疮椤栫偛鐓曢柟瀵稿Х绾惧ジ鎮楅敐搴″箺缁绢厼鐖奸弻鐔煎礃瀹割喗顎囬梺鍝勬湰缁嬫垿鈥﹂妸鈺佺闁靛闄勯澶愭⒑鐠囨彃顒㈡慨妯稿姂楠炲﹪骞樼拠鑼幋闂佺鎻�宀勫极婵犲洦鐓熼柨婵嗘噽閻忛亶鏌i敐鍥ㄦ毈婵﹥妞藉畷妤呭礂缁楄桨鎴烽梻浣规偠閸斿矂鎮ユ總鍝ュ祦闁糕剝绋戠粈鍐┿亜閺冨洤袚闁稿寒浜娲閳轰胶妲i梺鍛婏耿缁犳牠寮鍜佺叆闁告劗鍋撳銉╂⒑闂堟稓澧曟俊顐g懅缁牓鏁撻幋鎺旂畾濡炪倖鍔х徊鍧楀Υ閹烘棑鎷锋い鏂诲妼濞诧箓寮查幖浣圭厸闁稿本锚閿熶粙鎮楀顒傜Ш婵﹥妞藉畷顐﹀礋椤掑倶鍋愬┑鐐茬摠缁酣宕戦悢鍝勫灊闁哄啫鐗滈弫濠勭磼濞戞﹩鍎愭い鏇熺懇濮婅櫣绱掑Ο鍝勵瀱濠碘槅鍨伴敃顏勭暦閺囥垹绫嶉柛顐ゅ枔閸樺憡绻涙潏鍓ф偧妞ゎ厼鐗撻弫鎾绘偩瀹�瀚归梺鍝勬川閸c儱鈻撹ぐ鎺撶厵妞ゆ梻鎳撴晶鏌ユ煙椤栨稒顥旀い銏$懇閹筹繝濡堕崪浣光枅婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾惧鏌eΟ娆惧殭缂佺姴鐏氶妵鍕疀閹炬惌妫紓浣界堪閸婃繈寮诲☉婊庢▼闂侀潧娲﹂惄顖炲极閹惧顪栭悗锝庡亞閸樺崬顪㈤妶鍡楀濠殿喗鎸冲畷婵嗩煥閸喓鍘遍柣搴秵娴滄粓鏁撴禒瀣厸閻忕偛澧介妴鎺懨归悪鍛湅缂佽鲸甯℃慨锟芥偐閹颁礁鎮╅梻鍌氬�濞村洤鐣烽悽绋跨獥闁哄稁鍘肩壕璇测攽閻樺弶澶勯柛瀣�閺屾洘寰勯崱妯荤彆闂佺粯鎸诲ú鐔煎蓟閻旂厧绾ч柛顭戝枟閸婂海绱撴担闈涘婵☆偄瀚板﹢渚�⒑缂佹ɑ灏悗娑掓櫆瀵板嫰宕熼鍕叄瀹曟儼顧庨棅顒夊墮閳规垿鍨惧畷鍥х厽閻庤娲橀崕濂嘎ㄥ澶嬬叆闁绘柨澧庨惌娆愭叏婵犲啯銇濋柟顔惧厴瀵爼骞愭惔顔兼暏闂傚倷鑳堕幊鎾诲吹閺嶎厼绠柨鐕傛嫹 //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("SMSOrdDel..L2 SEND = 'Y'.."); } if (V_STS_CNT != 0) { //闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪㈢�顏呮崳闁活厼妫楅妴鎺戭灄閻愵剙顏剁紓浣哄Ь椤啴濡甸崟顖氱疀闁告挷鑳堕弳鐘绘煟鎼淬垼澹樻い锕�偢婵$敻宕熼姘鳖唺闂佺懓鐡ㄧ换宥嗙閼测晝纾藉〒姘攻鐎氳銇勮缁舵艾顕f繝姘亜闁稿繒鍘ч敓钘夆攽閳藉棗鐏℃俊鐐茬仢铻為柟閭﹀幘缁★拷绻涢崼婵堜虎闁哄闄勭换娑㈠川椤旂晫顦归梺鐟扮畭閸ㄥ綊鍩ユ径濠庣亙闁糕剝顨濆▍濠冧繆閻愵亜锟芥俊顐$閻g兘鎮界粙璺樀閻熸粎澧楃敮妤呭煕閹寸姷纾奸悗锝庝簻閻紕锟介幖鐐插姦闁哄本鐩慨锟芥晬閸曨偄缁╅梻浣哄仺閸庣粯淇婇崶顒�闁告洦鍨版儫闂佹寧娲╅幏鐑芥晬韫囨挴鏀介柣鎰摠鐏忎即鏌涢幋婵堢Ш鐎规洝顬冪�濂稿级閹寸媭妯勫┑掳鍊х徊浠嬪疮椤栫偛鐓曢柟瀵稿Х绾惧ジ鎮楅敐搴″箺缁绢厼鐖奸弻鐔煎礃瀹割喗顎囬梺鍝勬湰缁嬫垿鈥﹂妸鈺佺闁靛闄勯澶愭⒑鐠囨彃顒㈡慨妯稿姂楠炲﹪骞樼拠鑼幋闂佺鎻�宀勫极婵犲洦鐓熼柨婵嗘噽閻忛亶鏌i敐鍥ㄦ毈婵﹥妞藉畷妤呭礂缁楄桨鎴烽梻浣规偠閸斿矂鎮ユ總鍝ュ祦闁糕剝绋戠粈鍐┿亜閺冨洤袚闁稿寒浜娲閳轰胶妲i梺鍛婏耿缁犳牠寮鍜佺叆闁告劗鍋撳銉╂⒑闂堟稓澧曟俊顐g懇閸╂盯骞掗幘鍓侇啎闂佸憡渚楅崑鍕倶閸欏姣ら柣鎰皺缁犲鏌$仦璇插闁跨喍绮欐俊鎼佸Χ閸モ晜鏅ㄩ梻鍌氬�缁�線骞栭鈷氬綊宕掑☉姘兼箣闂佺粯鍔楅弫鎼佹儗閹炬番浜滈柡鍥朵簼鐎氬綊鏌i幘瀵糕槈闂囧鏌ㄥ┑鍡欏⒈闁诲寒鍠氶敓浠嬪即閻愮數鍔梺鍝勭灱閸犲酣鎮鹃悜钘夌倞鐟滃苯危閹邦厾绡�痪鏉款樈绾惧潡鏌涜箛鏃撹�鐎殿噮鍋婂畷姗�敊閼恒儲顏熼梻浣烘嚀閻°劎鏁悙鐢电焼閻庯綆鍠楅埛鎺楁煕鐏炲墽鎳勭紒浣哄閵囧嫰寮撮崱妤佹悙缂侊拷瀚伴弻锝夋晲閸涱垳浼囩紓渚婃嫹閿曨亪寮诲☉銏犵労闁告劦浜栧Σ鍫㈢磽娓氬﹥瀚归柣妤�躬楠炲牓濡搁妷搴e枛楠炴劖鎯旈敐鍐挎嫹闂傚倷鐒﹂惇褰掑磹閺囩喐娅犻柣锝呮湰椤繘鏌熼悜妯活棦闁圭兘鏀遍妵鍕箛闂堟稑顤嬬紓浣歌嫰濞尖�顬夊ú顏呭殥闁靛牆鎳忛悘鍫ユ⒑缁嬫鍎忛柨鏇ㄤ邯楠炲啴鏁撻悩鍙傘劑鏌嶉崫鍕拷闁告鏁诲缁樼瑹閸パ冧紟缂備胶濮甸崹鍧楁偘椤曪拷鍐�柕濠忕导缁ㄥ妫呴銏″偍闁稿氦灏欓敓浠嬫晸閿燂拷 //MESSAGE ERROR --> PROGRAM EXIT throw new PosException("SMSOrdDel..STATUS_CD = 'B'.."); } } //SELECT TBF01_CHARGE_IDX PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, PRC_LINE_ST); param1.setWhereClauseParameter(1, String.valueOf(V_CHG_SEQ_ST)); param1.setWhereClauseParameter(2, String.valueOf(V_CHG_SEQ_EN)); PosRowSet OrdNoInfVO = getDao("mesdao").find("NIF012130_OrdNoInf.select",param1); OrdNoInfVO.reset(); while(OrdNoInfVO.hasNext()) { PosRow OrdNoInfRow = OrdNoInfVO.next(); V_CHARGE_MANA_NO = (String)OrdNoInfRow.getAttribute("CHARGE_MANA_NO"); V_ORD_NO = (String)OrdNoInfRow.getAttribute("ORD_NO"); V_ORD_SEQ = (String)OrdNoInfRow.getAttribute("ORD_SEQ"); V_PREV_CHARGE_WGT = Long.parseLong((OrdNoInfRow.getAttribute("PREV_CHARGE_WGT")==null? "0":OrdNoInfRow.getAttribute("PREV_CHARGE_WGT")).toString()); //CALL NIE012070_SaveOrdSts NIE012070_CALL(V_ORD_NO, V_ORD_SEQ, V_CHARGE_MANA_NO, V_PREV_CHARGE_WGT, P_REG_ID); } //OrdNoInfVO while END //INSERT TBF01_SPEC_CHARGE_BK PosParameter param3 = new PosParameter(); param3.setValueParamter(0, P_REG_ID); param3.setValueParamter(1, PRC_LINE_ST); param3.setValueParamter(2, String.valueOf(V_CHG_SEQ_ST)); param3.setValueParamter(3, String.valueOf(V_CHG_SEQ_EN)); int InsCnt1 = getDao("mesdao").insert("NIF012130_ChgInfBak.insert",param3); if (InsCnt1 == 0) { V_TABLE_ID = "TBF01_SPEC_CHARGE_BK"; V_TABLE_MODE = "I"; V_ERR_DESC = "TBF01_SPEC_CHARGE_BK INSERT COUNT IS ZERO"; V_RTN_NAME = "SMSOrdDel TBF01_SPEC_CHARGE_BK INSERT1 " + String.valueOf(V_CHARGE_EDT_SEQ); LogGpError.logMessageToDB("SMSOrdDel", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME); throw new PosException(V_RTN_NAME); } //DELETE TBF01_SPEC_SLAB_D PosParameter param5 = new PosParameter(); param5.setWhereClauseParameter(0, PRC_LINE_ST); param5.setWhereClauseParameter(1, String.valueOf(V_CHG_SEQ_ST)); param5.setWhereClauseParameter(2, String.valueOf(V_CHG_SEQ_EN)); int DelCnt2 = getDao("mesdao").delete("NIF012130_SlabDetDel.delete",param5); if (DelCnt2 == 0) { V_TABLE_ID = "TBF01_SPEC_SLAB_D"; V_TABLE_MODE = "D"; V_ERR_DESC = "TBF01_SPEC_SLAB_D DELETE COUNT IS ZERO"; V_RTN_NAME = "SMSOrdDel TBF01_SPEC_SLAB_D DELETE2 " + String.valueOf(V_CHARGE_EDT_SEQ); LogGpError.logMessageToDB("SMSOrdDel", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME); throw new PosException(V_RTN_NAME); } //UPDATE TBD01_SLABDN_OBJ2 (PROC_STAT = '01') PosParameter param9 = new PosParameter(); param9.setWhereClauseParameter(0, PRC_LINE_ST); param9.setWhereClauseParameter(1, String.valueOf(V_CHG_SEQ_ST)); param9.setWhereClauseParameter(2, String.valueOf(V_CHG_SEQ_EN)); getDao("mesdao").update("NIF012130_SlabdnUpt.update",param9); /*一体化上了钢二缓冲池 后续板坯计划不再从mes删除 jaingxin 20230701 * ArrayList al = new ArrayList(); String sql1 = "SELECT BILLET_XN FROM SCC_BOARD_STEELPLAN_LOG WHERE BILLET_XN IN (SELECT A.DSN_SLAB_NO " + " FROM TBF01_SPEC_SLAB A " + " ,TBF01_CHARGE_IDX B " + " WHERE A.DSN_SLAB_NO IS NOT NULL " + " AND A.CHARGE_EDT_SEQ = B.CHARGE_EDT_SEQ " + " AND B.L2_SEND = 'N' " + " AND B.STATUS_CD = 'A' " + " AND B.PRC_LINE = ? " + " AND B.CHG_SEQ BETWEEN ? AND ?) " + " GROUP BY BILLET_XN "; PosParameter param = new PosParameter(); PosRow row = null; param.setWhereClauseParameter(0, PRC_LINE_ST); param.setWhereClauseParameter(1, String.valueOf(V_CHG_SEQ_ST)); param.setWhereClauseParameter(2, String.valueOf(V_CHG_SEQ_EN)); PosRowSet rowset = getDao("mesdao").findByQueryStatement(sql1, param); while (rowset.hasNext()) { row = rowset.next(); al.add((String)row.getAttribute("BILLET_XN")); } if(al.size() != 0) { for(int i = 0;i