/// <summary> /// 檢查棧板或卡通中SN是否有被鎖定 /// </summary> /// <param name="Station"></param> /// <param name="Input"></param> /// <param name="Paras"></param> public static void MovePackCheckSnStatusIsLock(MESPubLab.MESStation.MESStationBase Station, MESPubLab.MESStation.MESStationInput Input, List <MESDataObject.Module.R_Station_Action_Para> Paras) { if (Paras.Count != 1) { throw new MESReturnMessage(MESReturnMessage.GetMESReturnMessage("MES00000057", new string[] { })); } MESStationSession sessionPackObject = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY); if (sessionPackObject == null || sessionPackObject.Value == null) { throw new MESReturnMessage(MESReturnMessage.GetMESReturnMessage("MES00000052", new string[] { Paras[0].SESSION_TYPE + Paras[0].SESSION_KEY })); } R_PACKING packObject = Station.SFCDB.ORM.Queryable <R_PACKING>().Where(p => p.PACK_NO == sessionPackObject.Value.ToString()).ToList().FirstOrDefault(); if (packObject != null) { T_R_SN_LOCK tRSnLock = new T_R_SN_LOCK(Station.SFCDB, Station.DBType); List <R_SN_LOCK> rSnLockList = new List <R_SN_LOCK>(); string strSnList = ""; if (packObject.PACK_TYPE == LogicObject.PackType.PALLET.ToString()) { rSnLockList = tRSnLock.GetLockListByPackNo(packObject.PACK_NO, Station.SFCDB); } else if (packObject.PACK_TYPE == LogicObject.PackType.CARTON.ToString()) { rSnLockList = tRSnLock.GetLockListByCartonNo(packObject.PACK_NO, Station.SFCDB); } else { throw new Exception(MESReturnMessage.GetMESReturnMessage("MSGCODE20180529094259", new string[] { })); } foreach (R_SN_LOCK snLock in rSnLockList) { strSnList += snLock.SN + ","; } if (rSnLockList.Count > 0 && packObject.PACK_TYPE == LogicObject.PackType.PALLET.ToString()) { throw new Exception(MESReturnMessage.GetMESReturnMessage("MSGCODE20180531114237", new string[] { packObject.PACK_NO, rSnLockList.Count().ToString(), strSnList })); } if (rSnLockList.Count > 0 && packObject.PACK_TYPE == LogicObject.PackType.CARTON.ToString()) { throw new Exception(MESReturnMessage.GetMESReturnMessage("MSGCODE20180808141643", new string[] { packObject.PACK_NO, rSnLockList.Count().ToString(), strSnList })); } } else { throw new MESReturnMessage(MESReturnMessage.GetMESReturnMessage("MSGCODE20180613093329", new string[] { sessionPackObject.Value.ToString() })); } }
/// <summary> /// 檢查棧板中SN是否有被鎖定 /// </summary> /// <param name="Station"></param> /// <param name="Input"></param> /// <param name="Paras"></param> public static void CheckPackSnStatusIsLock(MESPubLab.MESStation.MESStationBase Station, MESPubLab.MESStation.MESStationInput Input, List <MESDataObject.Module.R_Station_Action_Para> Paras) { MESStationSession packSession = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY); T_R_SN_LOCK tRSnLock = new T_R_SN_LOCK(Station.SFCDB, Station.DBType); List <R_SN_LOCK> rSnLockList = tRSnLock.GetLockListByPackNo(packSession.Value.ToString(), Station.SFCDB); string strSnList = ""; foreach (R_SN_LOCK VARIABLE in rSnLockList) { strSnList += VARIABLE.SN + ","; } if (rSnLockList.Count > 0) { throw new Exception(MESReturnMessage.GetMESReturnMessage("MSGCODE20180531114237", new string[] { packSession.Value.ToString(), rSnLockList.Count().ToString(), strSnList })); } }