package xin.glue.ui.G.G04; import java.math.BigDecimal; import java.sql.CallableStatement; import java.sql.SQLException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import xin.glue.ui.common.component.PosSiteLog; 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.PosBizControlIF; import com.posdata.glue.biz.control.PosBizProvider; import com.posdata.glue.component.PosConstants; 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; public class SendAlineSlab extends PosActivity{ public String runActivity(PosContext context) { String[] FROM_ADDR = (String[])context.get("FROM_ADDR"); String[] SLAB_NO = (String[])context.get("A_SLAB_NO"); String[] A_LINE = (String[])context.get("A_LINE"); //反装标志 //String[] CHK = (String[])context.get("CHK"); //编制号 String[] ROLL_SEQ = (String[])context.get("ROLL_SEQ"); String MsgFlag = " "; //存在做了计划的板坯被替换掉的情况,因此验证此板坯是否在计划中 PosParameter param111 = new PosParameter(); param111.setWhereClauseParameter(0,SLAB_NO[0] ); PosRowSet slabTH = getDao("mesdao").find("UIG040041_SLAB_TH.SELECT", param111); if(slabTH.hasNext()){ YardHandle yardhandle = new YardHandle(getDao("mesdao")); //热送坯料无入库记录,增加入库记录 //2010年5月14日王黎修改,增加【&& !"".equals(FROM_ADDR[0])】 if(FROM_ADDR != null && !"".equals(FROM_ADDR[0]) && !FROM_ADDR[0].equals("A7T") && (FROM_ADDR[0].substring(0, 1).equals("A") || FROM_ADDR[0].substring(0, 1).equals("C"))){ yardhandle.setEntSlabComm(SLAB_NO[0], "Z", "", "1","H");//热送入库 入库类型为热送 } //FROM LOCATION SLAB CLEAR yardhandle.clearFromAddrBySlabNo(SLAB_NO[0]); //清空悬空垛位 SendProg_NIG040200(FROM_ADDR[0]); //TBG02_SLAB_COMM CUR_LOAD_LOC CLEAR AND MILL_SCH_STAT <-- "A7T" PosParameter param2 = new PosParameter(); param2.setValueParamter(0, SLAB_NO[0]); getDao("mesdao").insert("UIG040041_SLAB_CLEAR.update", param2); if(!A_LINE[0].equals("C1")){ //正装的情况 //RHF LEVEL1 TAKE IN I/F TABLE INSERT PosParameter paramI = new PosParameter(); paramI.setValueParamter(0, "FML010"); paramI.setValueParamter(1, SLAB_NO[0]); paramI.setValueParamter(2, A_LINE[0]); paramI.setValueParamter(3, "C"); paramI.setValueParamter(4, "A7"); getDao("mesdao").update("UIG040042_L1_TAKEIN.insert",paramI); }else{ //反装的情况,不发送一级 //RHF LEVEL1 TAKE IN I/F TABLE INSERT // PosParameter paramI = new PosParameter(); // paramI.setValueParamter(0, "FML010"); // paramI.setValueParamter(1, SLAB_NO[0]); // //A_LINE[0] = C1 // paramI.setValueParamter(2, A_LINE[0]); // paramI.setValueParamter(3, "C"); // paramI.setValueParamter(4, "C7"); // getDao("mesdao").update("UIG040042_L1_TAKEIN.insert",paramI); } //RHF LEVEL2 TAKE IN I/F TABLE INSERT PosParameter paramJ = new PosParameter(); paramJ.setWhereClauseParameter(0, SLAB_NO[0]); PosRowSet CoilNoVO = getDao("mesdao").find("UIG040042_COIL_NO.select", paramJ); if(CoilNoVO.hasNext()) { PosRow CoilNoROW = CoilNoVO.next(); String CoilNo = (String)CoilNoROW.getAttribute("COIL_NO"); String HCR_CLF = (String)CoilNoROW.getAttribute("HCR_CLF"); CoilComInsert(CoilNo,SLAB_NO[0]); SendProg_NIB027010(CoilNo); String OLD_SAMPL_NO = null; String SMP_DIR_PIC_YN = null; PosParameter paramL = new PosParameter(); paramL.setWhereClauseParameter(0, CoilNo); PosRowSet coilComVO = getDao("mesdao").find("UIG040041_COIL_COM.select", paramL); if (coilComVO.hasNext()) { PosRow coilComROW = coilComVO.next(); OLD_SAMPL_NO = (String)coilComROW.getAttribute("OLD_SAMPL_NO"); SMP_DIR_PIC_YN = (String)coilComROW.getAttribute("SMP_DIR_PIC_YN"); logger.logInfo("SendAlineSlab---> OLD_SAMPL_NO:"+OLD_SAMPL_NO ); logger.logInfo("SendAlineSlab---> SMP_DIR_PIC_YN:"+SMP_DIR_PIC_YN ); } if(!A_LINE[0].equals("C1")){ //正装 PosParameter param3 = new PosParameter(); param3.setValueParamter(0, "HMFU30"); param3.setValueParamter(1, A_LINE[0]); param3.setValueParamter(2, SLAB_NO[0]); param3.setValueParamter(3, OLD_SAMPL_NO); getDao("mesdao").insert("UIG040042_L2_TAKEIN.insert", param3); }else{ //反装的情况不发送一级电文 // PosParameter param3 = new PosParameter(); // // param3.setValueParamter(0, "HMFU30"); // //A_LINE[0] = C1 // param3.setValueParamter(1, A_LINE[0]); // param3.setValueParamter(2, SLAB_NO[0]); // param3.setValueParamter(3, CoilNo); // getDao("mesdao").insert("UIG040042_L2_TAKEIN.insert", param3); } //插入给数值化部的电文 2023-08-29 wl PosParameter paramh = new PosParameter(); paramh.setValueParamter(0, SLAB_NO[0]); paramh.setValueParamter(1, CoilNo); paramh.setValueParamter(2, SLAB_NO[0]); getDao("mesdao").insert("UIG040041_hcoil_pdi_hjq.insert", paramh); PosParameter paramK = new PosParameter(); paramK.setWhereClauseParameter(0, SLAB_NO[0].substring(0,10)); paramK.setWhereClauseParameter(1, SLAB_NO[0]); paramK.setWhereClauseParameter(2, CoilNo); paramK.setWhereClauseParameter(3, SLAB_NO[0].substring(0,10)); PosRowSet chemVO = getDao("mesdao").find("UIG040041_CHEM_RST.select", paramK); if(chemVO.hasNext()) { PosRow chemROW = chemVO.next(); String CHEM_CLF = (String)chemROW.getAttribute("CHEM_CLF"); String AL = (String)chemROW.getAttribute("AL"); String AS_T = (String)chemROW.getAttribute("AS_T"); String B = (String)chemROW.getAttribute("B"); String BE = (String)chemROW.getAttribute("BE"); String BI = (String)chemROW.getAttribute("BI"); String C = (String)chemROW.getAttribute("C"); String CA = (String)chemROW.getAttribute("CA"); String CE = (String)chemROW.getAttribute("CE"); String CO = (String)chemROW.getAttribute("CO"); String CR = (String)chemROW.getAttribute("CR"); String CU = (String)chemROW.getAttribute("CU"); String H = (String)chemROW.getAttribute("H"); String LA = (String)chemROW.getAttribute("LA"); String MG = (String)chemROW.getAttribute("MG"); String MN = (String)chemROW.getAttribute("MN"); String MO = (String)chemROW.getAttribute("MO"); String N = (String)chemROW.getAttribute("N"); String NB = (String)chemROW.getAttribute("NB"); String NI = (String)chemROW.getAttribute("NI"); String O = (String)chemROW.getAttribute("O"); String P = (String)chemROW.getAttribute("P"); String PB = (String)chemROW.getAttribute("PB"); String PD = (String)chemROW.getAttribute("PD"); String S = (String)chemROW.getAttribute("S"); String SB = (String)chemROW.getAttribute("SB"); String SE = (String)chemROW.getAttribute("SE"); String SI = (String)chemROW.getAttribute("SI"); String SN = (String)chemROW.getAttribute("SN"); String TA = (String)chemROW.getAttribute("TA"); String TE = (String)chemROW.getAttribute("TE"); String TI = (String)chemROW.getAttribute("TI"); String V = (String)chemROW.getAttribute("V"); String W = (String)chemROW.getAttribute("W"); String ZN = (String)chemROW.getAttribute("ZN"); String ZR = (String)chemROW.getAttribute("ZR"); // if (CHEM_CLF != null && CHEM_CLF.equals("1")) { //取出轧辊单元号,唯一标识 PosParameter params = new PosParameter(); params.setValueParamter(0, AL ); params.setValueParamter(1 , AS_T ); params.setValueParamter(2 , B ); params.setValueParamter(3 , BE ); params.setValueParamter(4 , BI ); params.setValueParamter(5 , C ); params.setValueParamter(6 , CA ); params.setValueParamter(7 , CE ); params.setValueParamter(8 , CO ); params.setValueParamter(9 , CR ); params.setValueParamter(10, CU ); params.setValueParamter(11, H ); params.setValueParamter(12, LA ); params.setValueParamter(13, MG ); params.setValueParamter(14, MN ); params.setValueParamter(15, MO ); params.setValueParamter(16, N ); params.setValueParamter(17, NB ); params.setValueParamter(18, NI ); params.setValueParamter(19, O ); params.setValueParamter(20, P ); params.setValueParamter(21, PB ); params.setValueParamter(22, PD ); params.setValueParamter(23, S ); params.setValueParamter(24, SB ); params.setValueParamter(25, SE ); params.setValueParamter(26, SI ); params.setValueParamter(27, SN ); params.setValueParamter(28, TA ); params.setValueParamter(29, TE ); params.setValueParamter(30, TI ); params.setValueParamter(31, V ); params.setValueParamter(32, W ); params.setValueParamter(33, ZN ); params.setValueParamter(34, ZR ); params.setValueParamter(35, OLD_SAMPL_NO); params.setValueParamter(36, SMP_DIR_PIC_YN); params.setValueParamter(37, SLAB_NO[0]); params.setValueParamter(38, CoilNo); params.setValueParamter(39, SLAB_NO[0]); getDao("mesdao").insert("UIG040041_L2_MILL_INS.update", params); //给加热炉也需要发送真实钢卷号,所以需要放开 PosParameter paramT = new PosParameter(); paramT.setValueParamter(0 , AL ); paramT.setValueParamter(1 , AS_T); paramT.setValueParamter(2 , B ); paramT.setValueParamter(3 , BE ); paramT.setValueParamter(4 , BI ); paramT.setValueParamter(5 , C ); paramT.setValueParamter(6 , CA ); paramT.setValueParamter(7 , CE ); paramT.setValueParamter(8 , CO ); paramT.setValueParamter(9 , CR ); paramT.setValueParamter(10, CU ); paramT.setValueParamter(11, H ); paramT.setValueParamter(12, LA ); paramT.setValueParamter(13, MG ); paramT.setValueParamter(14, MN ); paramT.setValueParamter(15, MO ); paramT.setValueParamter(16, N ); paramT.setValueParamter(17, NB ); paramT.setValueParamter(18, NI ); paramT.setValueParamter(19, O ); paramT.setValueParamter(20, P ); paramT.setValueParamter(21, S ); paramT.setValueParamter(22, SB ); paramT.setValueParamter(23, SE ); paramT.setValueParamter(24, SI ); paramT.setValueParamter(25, TI ); paramT.setValueParamter(26, SN ); paramT.setValueParamter(27, TA ); paramT.setValueParamter(28, TE ); paramT.setValueParamter(29, PB ); paramT.setValueParamter(30, PD ); paramT.setValueParamter(31, V ); paramT.setValueParamter(32, W ); paramT.setValueParamter(33, ZN ); paramT.setValueParamter(34, ZR ); paramT.setValueParamter(35, OLD_SAMPL_NO); paramT.setValueParamter(36, CoilNo); paramT.setValueParamter(37, SLAB_NO[0]); paramT.setValueParamter(38, SLAB_NO[0]); getDao("mesdao").insert("UIG040041_L2_RHT_INS.update", paramT); //只有获取到成份信息,才能提示上料成功 String Dtime = null; //在执行完后,清除一次电文表。避免以后主键冲突 DateFormat formatter = new SimpleDateFormat("yyyyMMdd"); Dtime = formatter.format(new Date()); logger.logDebug("SendAlineSlab 里面,获取系统时间:"+Dtime); PosParameter paramTT = new PosParameter(); paramTT.setWhereClauseParameter(0, String.valueOf((Integer.parseInt(Dtime) -3))); getDao("mesdao").delete("UIG040042_L1_SLAB_TAKEIN.delete", paramTT); MsgFlag = "OK"; context.put("MsgFlag", MsgFlag); // } }else{ //如果没有获取到成份数据,在前台界面给出提示。 logger.logDebug("SendAlineSlab 输入的板坯号获取成份信息失败! "); String vtemp="SLABCHEM"; context.put("MsgFlag", vtemp); this.rollbackTransaction("tx1"); } }else{ //板坯号在计划表中不存在,这里是因为上料板坯不存在计划中 logger.logDebug("SendAlineSlab 输入的板坯号在轧制计划表 TBF02_SPEC_MILL 中不存在! "); String vtemp="SLABERROR"; context.put("MsgFlag", vtemp); } }else{ //这里返回前台,给出板坯号不在轧制计划中的提示。这里是因为板坯替换导致 logger.logDebug("SendAlineSlab 输入的板坯号在轧制计划表 TBF02_SPEC_MILL 中不存在! "); String vtemp="SLABTH"; context.put("MsgFlag", vtemp); } return PosBizControlConstants.SUCCESS; } public void CoilComInsert(String coilNo ,String slabNo ) { String stlGrd = ""; //真实钢号,品质需要 String specstlGrd = ""; String specAbbsym = ""; String delvReqData = ""; String ordNo = ""; String ordSeq = ""; String ordUseageCd = ""; String route = ""; BigDecimal slabEdtSeq = null; String SPEC_ORD_FL = null; String SPM_PROC_YN = null; String SPEC_ORD_CUST_CD = null; String SPEC_PATH_MILL_CD = null; String SPEC_PACK_METHOD = null; Number SPEC_ORD_INDIA = null; Number SPEC_ORD_OUTDIA = null; Number SPEC_ORD_THK = null; Number SPEC_ORD_WTH = null; Number SPEC_ORD_WGT = null; String SPEC_DEST_CD = null; String coilCutSeq = ""; BigDecimal ordThk = null; BigDecimal ordWth = null; BigDecimal ordLen = null; BigDecimal ordWgt = null; BigDecimal ordWgtMin = null; BigDecimal ordWgtMax = null; BigDecimal ordIndia = null; BigDecimal ordOutdia = null; String ordNo1 = ""; String ordSeq1 = ""; String ordFl = ""; String ProdnmCd = ""; String CUST_CD = ""; PosParameter param0 = new PosParameter(); //PosParameter param1 = new PosParameter(); PosParameter param2 = new PosParameter(); PosParameter param3 = new PosParameter(); PosParameter param4 = new PosParameter(); PosParameter param5 = new PosParameter(); param0.setWhereClauseParameter(0, coilNo); PosRowSet rowset0 = this.getDao("mesdao").find("NIH020020_02.select", param0); if(rowset0.hasNext()) { PosRow row0 = rowset0.next(); stlGrd = (String)row0.getAttribute("STL_GRD"); specstlGrd = (String)row0.getAttribute("SPEC_STL_GRD"); specAbbsym = (String)row0.getAttribute("SPEC_ABBSYM"); delvReqData = (String)row0.getAttribute("DELV_REQ_DATE"); ordNo = (String)row0.getAttribute("ORD_NO"); ordSeq = (String)row0.getAttribute("ORD_SEQ"); ordUseageCd = (String)row0.getAttribute("ORD_USEAGE_CD"); route = (String)row0.getAttribute("ROUTE"); slabEdtSeq = (BigDecimal)row0.getAttribute("SLAB_EDT_SEQ"); ProdnmCd = (String)row0.getAttribute("PRODNM_CD"); SPEC_ORD_FL = "1"; SPM_PROC_YN = (String)row0.getAttribute("SPM_PROC_YN"); SPEC_ORD_CUST_CD = (String)row0.getAttribute("ORD_CUST_CD"); SPEC_PATH_MILL_CD = (String)row0.getAttribute("PATH_MILL_CD"); SPEC_PACK_METHOD = (String)row0.getAttribute("PACK_METHOD"); SPEC_ORD_INDIA = (Number)row0.getAttribute("ORD_INDIA"); SPEC_ORD_OUTDIA = (Number)row0.getAttribute("ORD_OUTDIA"); SPEC_ORD_THK = (Number)row0.getAttribute("ORD_THK"); SPEC_ORD_WTH = (Number)row0.getAttribute("ORD_WTH"); SPEC_ORD_WGT = (Number)row0.getAttribute("ORD_WGT"); SPEC_DEST_CD = (String)row0.getAttribute("DEST_CD"); CUST_CD = (String)row0.getAttribute("CUST_CD"); } String SpmYn = null; if (SPM_PROC_YN != null && SPM_PROC_YN.equals("Y")) { SpmYn = "1"; } else { SpmYn = ""; } param3.setWhereClauseParameter(0, coilNo); param3.setWhereClauseParameter(1, slabNo); PosRowSet rowset3 = this.getDao("mesdao").find("NIH020020_05.select", param3); if(!rowset3.hasNext()) { param4.setValueParamter(0, coilNo); param4.setValueParamter(1, slabNo); param4.setValueParamter(2, stlGrd); param4.setValueParamter(3, "0"); param4.setValueParamter(4, specAbbsym); param4.setValueParamter(5, delvReqData); param4.setValueParamter(6, ordNo); param4.setValueParamter(7, ordSeq); param4.setValueParamter(8, ordUseageCd); param4.setValueParamter(9, route); param4.setValueParamter(10, ProdnmCd); param4.setValueParamter(11, SPEC_ORD_FL); param4.setValueParamter(12, SpmYn); param4.setValueParamter(13, SPEC_ORD_CUST_CD); param4.setValueParamter(14, SPEC_PATH_MILL_CD); param4.setValueParamter(15, SPEC_PACK_METHOD); param4.setValueParamter(16, SPEC_ORD_INDIA); param4.setValueParamter(17, SPEC_ORD_OUTDIA); param4.setValueParamter(18, SPEC_ORD_THK); param4.setValueParamter(19, SPEC_ORD_WTH); param4.setValueParamter(20, SPEC_ORD_WGT); param4.setValueParamter(21, SPEC_DEST_CD); param4.setValueParamter(22, SPEC_ORD_INDIA); param4.setValueParamter(23, "SendAlineSlab"); param4.setValueParamter(24, CUST_CD); param4.setValueParamter(25, ordNo); param4.setValueParamter(26, ordSeq); param4.setValueParamter(27, specstlGrd); int rowset4 = this.getDao("mesdao").insert("NIH020020_02.insert", param4); param2.setWhereClauseParameter(0, slabEdtSeq); PosRowSet rowset2 = this.getDao("mesdao").find("NIH020020_04.select",param2); while(rowset2.hasNext()) { PosRow row2 = rowset2.next(); coilCutSeq = (String)row2.getAttribute("COIL_CUT_SEQ"); ordThk = (BigDecimal)row2.getAttribute("ORD_THK"); ordWth = (BigDecimal)row2.getAttribute("ORD_WTH"); ordLen = (BigDecimal)row2.getAttribute("ORD_LEN"); ordWgt = (BigDecimal)row2.getAttribute("ORD_WGT"); ordWgtMin = (BigDecimal)row2.getAttribute("ORD_WGT_MIN"); ordWgtMax = (BigDecimal)row2.getAttribute("ORD_WGT_MAX"); ordIndia = (BigDecimal)row2.getAttribute("ORD_INDIA"); ordOutdia = (BigDecimal)row2.getAttribute("ORD_OUTDIA"); ordNo1 = (String)row2.getAttribute("ORD_NO"); ordSeq1 = (String)row2.getAttribute("ORD_SEQ"); ordFl = (String)row2.getAttribute("ORD_FL"); param5 = new PosParameter(); param5.setValueParamter(0, coilNo); param5.setValueParamter(1, coilCutSeq); param5.setValueParamter(2, ordThk); param5.setValueParamter(3, ordWth); param5.setValueParamter(4, ordLen); param5.setValueParamter(5, ordWgt); param5.setValueParamter(6, ordWgtMin); param5.setValueParamter(7, ordWgtMax); param5.setValueParamter(8, ordIndia); param5.setValueParamter(9, ordOutdia); param5.setValueParamter(10, ordNo1); param5.setValueParamter(11, ordSeq1); param5.setValueParamter(12, ordFl); int rowset5 = this.getDao("mesdao").insert("NIH020020_03.insert",param5); } } } public void SendProg_NIB027010(String coilNo ) { CallableStatement PlRtn = getDao("mesdao").getCallableStatement("NIH020020_NIB027010"); logger.logInfo("SendAlineSlab---> NIB027010 TC try" ); try { if(PlRtn != null) { PlRtn.setString(1,coilNo); //新增加一?字段,?了??的?候使用 PlRtn.setString(2,""); PlRtn.registerOutParameter(3, java.sql.Types.VARCHAR); PlRtn.registerOutParameter(4, java.sql.Types.VARCHAR); PlRtn.execute(); String sRetCode = PlRtn.getString(3); String sRetMsg = PlRtn.getString(4); logger.logInfo("SendAlineSlab---> NIB027010 TC PlRtn1:["+sRetCode+"]:"+ sRetMsg); } else { logger.logInfo("SendAlineSlab---> NIB027010 PlRtn2:"+PlRtn ); } } catch (SQLException e) { throw new PosException(e.getMessage()); }finally { if (PlRtn != null) { try { PlRtn.close(); } catch (SQLException e) { logger.logWarn(e.getMessage(), e); logger.logInfo("SendAlineSlab---> NIB027010 SQLException:"+e ); } } } } public String SendProg_NIG040200(String yardAddr) { logger.logInfo("PosSaveSlabCutting---> yardAddr:"+yardAddr ); PosContext context = new PosContext(); PosMessage message = new PosMESMessageImpl(); String TcId = "NIG040200"; message.setTCID(TcId); message.setObject("MSG_ID",TcId); message.setObject("YARD_ADDR",yardAddr); context.setMessage(message); message.setTCID(TcId); String SERVICE_POSTFIX = "-service"; context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX); PosBizProvider.getController().doSubController(context, false); String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG"); logger.logInfo("PosSaveSlabCutting SendProg_NIE012070 SERVICE_ERR_MSG:"+SERVICE_ERR_MSG ); if (SERVICE_ERR_MSG != null) { throw new PosException(SERVICE_ERR_MSG); } return null; } public String SendProg_NIG040300(String slabNo) { logger.logInfo("PosSaveSlabCutting---> yardAddr:"+slabNo ); PosContext context = new PosContext(); PosMessage message = new PosMESMessageImpl(); PosParameter param = new PosParameter(); param.setWhereClauseParameter(0, slabNo); PosRowSet rowset = getDao("mesdao").find("UIG040400_02.select", param); if(rowset.hasNext()){ PosRow row = rowset.next(); String facClf = "R"; //J liangang R rezha String stlGrd = (String)row.getAttribute("STL_GRD"); String slabThk = (String)row.getAttribute("SLAB_THK"); String slabWth = (String)row.getAttribute("SLAB_WTH"); String slabLen = (String)row.getAttribute("SLAB_LEN"); String slabWgt = (String)row.getAttribute("SLAB_WGT"); DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss"); String slabExitTime = formatter.format(new Date()); String slabExitShift = ""; String slabExitGroup = ""; String slabExitId = ""; String slabExitType = (String)row.getAttribute("SLAB_EXIT_TYPE"); String rollNo = (String)row.getAttribute("ROLL_MANA_NO"); String TcId = "NIG040300"; message.setTCID(TcId); message.setObject("MSG_ID",TcId); message.setObject("FAC_CLF",facClf); message.setObject("SLAB_NO",slabNo); message.setObject("STL_GRD",stlGrd); message.setObject("SLAB_THK",slabThk); message.setObject("SLAB_WTH",slabWth); message.setObject("SLAB_LEN",slabLen); message.setObject("SLAB_WGT",slabWgt); message.setObject("SMS_YARD_EXIT_DTIME",slabExitTime); message.setObject("SMS_YARD_EXIT_SHIFT",slabExitShift); message.setObject("SMS_YARD_EXIT_GROUP",slabExitGroup); message.setObject("SMS_YARD_EXIT_ID",slabExitId); message.setObject("SLAB_EXIT_TYPE",slabExitType); message.setObject("ROLL_MANA_NO",rollNo); context.setMessage(message); message.setTCID(TcId); String SERVICE_POSTFIX = "-service"; context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX); PosBizProvider.getController().doSubController(context, false); String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG"); logger.logInfo("PosSaveSlabCutting SendProg_NIG040300 SERVICE_ERR_MSG:"+SERVICE_ERR_MSG ); if (SERVICE_ERR_MSG != null) { throw new PosException(SERVICE_ERR_MSG); } } return null; } }