package xin.glue.ui.H.H05; import xin.glue.ui.common.PosGridSave; //import xin.glue.ui.common.component.PosSiteConfig; import xin.glue.ui.common.component.PosSiteLog; import com.posdata.glue.biz.activity.PosActivity; import com.posdata.glue.biz.constants.PosBizControlConstants; import com.posdata.glue.context.PosContext; import com.posdata.glue.dao.vo.PosParameter; import com.posdata.glue.dao.vo.PosRowSet; /* * 钢卷仓库CRANE 命令执行 * @author TangLiang 唐亮 * @data 2008.10.28 */ public class saveFTCoilNo extends PosActivity{ public String runActivity(PosContext context) { // 从页面获取数据供插入和更新使用 // 原存放位置 String[] FROM_ADDR = (String[]) context.get("FROM_ADDR"); // 到存放位置 String[] TO_ADDR = (String[]) context.get("TO_ADDR"); // 批次号,发送接口的时候存在问题 String[] COIL_NO = (String[]) context.get("OLD_SAMPL_NO"); // 行车编号 String[] CR_NO = (String[]) context.get("CR_NO"); //行车命令编号字段 String[] ORD_SEQ = (String[]) context.get("ORD_SEQ"); //下车行车命令标志 String[] CMD_CLF = (String[]) context.get("CMD_CLF"); // 登录人 String[] REG_ID = (String[])context.get("REG_ID"); if(CMD_CLF[0].equals("T")){ //下车行车命令 //更新原放置位置表 PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, FROM_ADDR[0]); getDao("mesdao").update("UIH050030_FROM.update", param1); //更新命令制订表中的信息 PosParameter param3 = new PosParameter(); param3.setWhereClauseParameter(0, REG_ID[0]); param3.setWhereClauseParameter(1, ORD_SEQ[0]); getDao("mesdao").update("UIH050030_cr_cmd.update", param3); //需要改变钢卷库内位置状态,把锁定的来源位置释放出来 PosParameter param4 = new PosParameter(); param4.setWhereClauseParameter(0, FROM_ADDR[0]); getDao("mesdao").update("UIH050030_RESERV_FL.update", param4); //更新钢卷公共表的SHIP_PROG_CD状态,从05-06 PosParameter param8 = new PosParameter(); param8.setWhereClauseParameter(0, TO_ADDR[0]); param8.setWhereClauseParameter(1, COIL_NO[0]); getDao("mesdao").update("UIH050030_CUR_PROG_CD", param8); }else{ //在这里如果存在有锁定步进梁的情况,还需要进行相应的接锁操作 //首先判断是从步进梁拿下来,还是放上步进梁 String FromPos = FROM_ADDR[0].substring(0,2); String ToPos = TO_ADDR[0].substring(0,2); String TC_ID = null; if (FromPos != null && (FromPos.substring(0,1).equals("B") || FromPos.equals("C0")) ) { //更新原放置位置表 PosParameter param1 = new PosParameter(); //为来源位置补00 param1.setWhereClauseParameter(0, FROM_ADDR[0]+"00"); getDao("mesdao").update("UIH050030_FROM.update", param1); //更新到放置位置表 PosParameter param2 = new PosParameter(); param2.setWhereClauseParameter(0, COIL_NO[0]); param2.setWhereClauseParameter(1, CR_NO[0]); param2.setWhereClauseParameter(2, TO_ADDR[0]); getDao("mesdao").update("UIH050030_TO.update", param2); //更新命令制订表中的信息 PosParameter param3 = new PosParameter(); param3.setWhereClauseParameter(0, REG_ID[0]); param3.setWhereClauseParameter(1, ORD_SEQ[0]); getDao("mesdao").update("UIH050030_cr_cmd.update", param3); //需要改变钢卷库内位置状态,把锁定的来源位置释放出来 PosParameter param4 = new PosParameter(); param4.setWhereClauseParameter(0, FROM_ADDR[0]+"00"); getDao("mesdao").update("UIH050030_RESERV_FL.update", param4); //需要改变钢卷库内位置状态,把锁定的去向位置释放出来 PosParameter param5 = new PosParameter(); param5.setWhereClauseParameter(0, TO_ADDR[0]); getDao("mesdao").update("UIH050030_RESERV_FL.update", param5); //从步进梁上拿下来入库 TC_ID = "HML010"; PosParameter param6 = new PosParameter(); param6.setValueParamter(0,TC_ID); param6.setValueParamter(1,COIL_NO[0]); param6.setValueParamter(2,FROM_ADDR[0].substring(0,3)); param6.setValueParamter(3,TO_ADDR[0]); getDao("mesdao").insert("UIH050030_TAKEOUT_SEND.insert", param6); //更新钢卷公共表中的现在存放位置 PosParameter param7 = new PosParameter(); param7.setWhereClauseParameter(0,TO_ADDR[0]); param7.setWhereClauseParameter(1,COIL_NO[0]); //这里使用UIH050050的,为的是加入入库时间 getDao("mesdao").update("UIH050050_COIL_COMM", param7); } else if (ToPos != null && (ToPos.substring(0,1).equals("B") || ToPos.equals("C0")) ){ //更新原放置位置表 PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, FROM_ADDR[0]); getDao("mesdao").update("UIH050030_FROM.update", param1); //更新到放置位置表 PosParameter param2 = new PosParameter(); param2.setWhereClauseParameter(0, COIL_NO[0]); param2.setWhereClauseParameter(1, CR_NO[0]); param2.setWhereClauseParameter(2, TO_ADDR[0]+"00"); getDao("mesdao").update("UIH050030_TO.update", param2); //更新命令制订表中的信息 PosParameter param3 = new PosParameter(); param3.setWhereClauseParameter(0, REG_ID[0]); param3.setWhereClauseParameter(1, ORD_SEQ[0]); getDao("mesdao").update("UIH050030_cr_cmd.update", param3); //需要改变钢卷库内位置状态,把锁定的来源位置释放出来 PosParameter param4 = new PosParameter(); param4.setWhereClauseParameter(0, FROM_ADDR[0]); getDao("mesdao").update("UIH050030_RESERV_FL.update", param4); //需要改变钢卷库内位置状态,把锁定的去向位置释放出来 PosParameter param5 = new PosParameter(); param5.setWhereClauseParameter(0, TO_ADDR[0]+"00"); getDao("mesdao").update("UIH050030_RESERV_FL.update", param5); //从库内放上步进梁 TC_ID = "HML020"; PosParameter param6 = new PosParameter(); param6.setValueParamter(0,TC_ID); //这里发送解锁用的是批次号,需要与L2协商到底是使用哪个 TL param6.setValueParamter(1,COIL_NO[0]); param6.setValueParamter(2,TO_ADDR[0].substring(0,3)); param6.setValueParamter(3,FROM_ADDR[0]); getDao("mesdao").insert("UIH050030_TAKEIN_SEND.insert", param6); //更新钢卷公共表中的现在存放位置 PosParameter param7 = new PosParameter(); param7.setWhereClauseParameter(0,TO_ADDR[0]); param7.setWhereClauseParameter(1,COIL_NO[0]); getDao("mesdao").update("UIH050030_COIL_COMM", param7); }else{ //这里就是库内移动的 //更新原放置位置表 PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, FROM_ADDR[0]); getDao("mesdao").update("UIH050030_FROM.update", param1); //更新到放置位置表 PosParameter param2 = new PosParameter(); param2.setWhereClauseParameter(0, COIL_NO[0]); param2.setWhereClauseParameter(1, CR_NO[0]); param2.setWhereClauseParameter(2, TO_ADDR[0]); getDao("mesdao").update("UIH050030_TO.update", param2); //更新命令制订表中的信息 PosParameter param3 = new PosParameter(); param3.setWhereClauseParameter(0, REG_ID[0]); param3.setWhereClauseParameter(1, ORD_SEQ[0]); getDao("mesdao").update("UIH050030_cr_cmd.update", param3); //需要改变钢卷库内位置状态,把锁定的来源位置释放出来 PosParameter param4 = new PosParameter(); param4.setWhereClauseParameter(0, FROM_ADDR[0]); getDao("mesdao").update("UIH050030_RESERV_FL.update", param4); //需要改变钢卷库内位置状态,把锁定的去向位置释放出来 PosParameter param5 = new PosParameter(); param5.setWhereClauseParameter(0, TO_ADDR[0]); getDao("mesdao").update("UIH050030_RESERV_FL.update", param5); //更新钢卷公共表中的现在存放位置 PosParameter param7 = new PosParameter(); param7.setWhereClauseParameter(0,TO_ADDR[0]); param7.setWhereClauseParameter(1,COIL_NO[0]); getDao("mesdao").update("UIH050030_COIL_COMM", param7); } } return PosBizControlConstants.SUCCESS; } }