package xin.glue.ui.G.G04; import java.util.HashMap; import java.util.Map; 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; /* * This program is class moving slab from address to address by crane command * @author * @date 2008.08.11 */ public class PosSaveFromToYard extends PosActivity { private String SCH_SLAB_NO = null; private String CUR_LOC = null; YardHandle ydhl = new YardHandle(getDao("mesdao")); public String runActivity(PosContext context) { String[] status1 = (String[]) context.get("rowStatus"); String[] FromAddr = (String[]) context.get("FROM_ADDR"); String[] ToAddr = (String[]) context.get("TO_ADDR"); String[] SlabCnt = (String[]) context.get("SLAB_CNT"); String[] SlabNo = (String[]) context.get("SLAB_NO"); String[] SeqNo = (String[]) context.get("SEQ_NO"); String[] CrNo = (String[]) context.get("LOC_CR_NO"); String[] chk = (String[]) context.get("CHK"); String[] ordType = (String[]) context.get("ORD_TYPE"); //String[] linePosition = (String[]) context.get("LINE_POSITION"); // int rowset = 0; Map map = new HashMap(2); for (int i = 0; i < status1.length; i++) { if (!chk[i].equals("Y")) { continue; } // 上料行车命令执行时 需检查轧制计划顺序 if (ordType[i].equals("B")) { // RHF LEVEL1 TAKE IN I/F TABLE INSERT //ydhl.RHFSendL1(SlabNo[0],ToAddr[0]); // RHF LEVEL2 TAKE IN I/F TABLE INSERT //ydhl.RHFSendL2(SlabNo[0],ToAddr[0]); ydhl.clearFromAddrBySlabNo(SlabNo[i]); ydhl.setExtSlabComm(SlabNo[i], FromAddr[i], SlabCnt[i], "A7",""); PosParameter param5 = new PosParameter(); param5.setValueParamter(0, "A7"); param5.setValueParamter(1, "CRD"); param5.setValueParamter(2, SlabNo[i]); getDao("mesdao").update("UIG040042_SLAB.update", param5); // 生成行车命令状态 ydhl.loadBlank(SlabNo[i], FromAddr[i], ToAddr[i], CrNo[0]); // Lock release insert to RHF LEVEL2 I/F table //ydhl.CrLockUdt("", "N", "", linePosition[0]); // LOCK release set "" to TBG04_STS_SLAB_YARD /* * PosParameter param6 = new PosParameter(); * param6.setWhereClauseParameter(0, ""); * param6.setWhereClauseParameter(1, setAddr); * getDao("mesdao").update("UIG040042_std_yd.update", param6); */ map.put("SCH_SLAB_NO", SCH_SLAB_NO); map.put("CUR_LOC", CUR_LOC); context.put("MillSchExist", map); //下线 }else if (ordType[i].equals("A")){ // MILL SCHEDULE SLAB GO TO YARD CHECK AND SEND TO // REJECT MILL SCHEDULE PROGRAM CALL PosParameter param6 = new PosParameter(); param6.setWhereClauseParameter(0, SlabNo[i]); PosRowSet SpecSlabVO = getDao("mesdao").find("UIG040042_SPEC_SLAB.select", param6); if (SpecSlabVO.hasNext()) { PosRow SpecSlabROW = SpecSlabVO.next(); String MillFl = (String) SpecSlabROW.getAttribute("MILL_FL"); if (MillFl != null && MillFl.equals("Y")) { SendProg_NIF024060(SlabNo[i]); } } // 修改行车命令状态 ydhl.crOrdUpt(SeqNo[i],"2"); } } return PosBizControlConstants.SUCCESS; } // Mill Schedule sequence check public String ChkMillSch(String SlabNo) { String Flg = null; SCH_SLAB_NO = null; CUR_LOC = null; PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, SlabNo); PosRowSet MillSchVO = getDao("mesdao").find( "UIG040042_MILL_SCH_CHK.select", param1); if (MillSchVO.hasNext()) { PosRow MillSchROW = MillSchVO.next(); CUR_LOC = (String) MillSchROW.getAttribute("YARD_ADDR"); SCH_SLAB_NO = (String) MillSchROW.getAttribute("SLAB_NO"); Flg = "F"; } return Flg; } // Mill Schedule delete request service call public void SendProg_NIF024060(String SlabNo) { logger.logInfo("PosSaveMissionNo SendProg_NIF024060 "); PosContext context = new PosContext(); PosMessage message = new PosMESMessageImpl(); String TcId = "NIF024060"; message.setTCID(TcId); message.setObject("MSG_ID", TcId); message.setObject("TYPE", "S"); message.setObject("FROM", SlabNo); message.setObject("TO", SlabNo); message.setObject("REG_ID", "UIG040042"); context.setMessage(message); this.processComponent(PosConstants.CREATE_MESSAGE, context); String transactionCode = context.getMessage().getTC(); message.setTCID(TcId); String serviceName = "NIF024060"; String SERVICE_POSTFIX = "-service"; context.put(PosBizControlConstants.SERVICE_NAME, serviceName + SERVICE_POSTFIX); context.setMessage(message); PosBizControlIF controller = PosBizProvider.getController(); controller.doSubController(context, false); } }