public static void WoInputCountDataloader(MESStation.BaseClass.MESStationBase Station, MESStation.BaseClass.MESStationInput Input, List <MESDataObject.Module.R_Station_Action_Para> Paras) { if (Paras.Count == 0) { throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000050")); } MESStationSession count = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY); if (count == null) { count = new MESStationSession() { MESDataType = Paras[0].SESSION_TYPE, InputValue = Input.Value.ToString(), SessionKey = Paras[0].SESSION_KEY, ResetInput = Input }; Station.StationSession.Add(count); } MESStationSession wo = Station.StationSession.Find(t => t.MESDataType == Paras[1].SESSION_TYPE && t.SessionKey == Paras[1].SESSION_KEY); if (wo == null) { wo = new MESStationSession() { MESDataType = Paras[1].SESSION_TYPE, InputValue = Input.Value.ToString(), SessionKey = Paras[1].SESSION_KEY, ResetInput = Input }; Station.StationSession.Add(wo); } string workorder = Station.StationSession[1].InputValue.ToString(); MESStation.LogicObject.WorkOrder worder = new LogicObject.WorkOrder(); MESDataObject.Module.T_R_WO_BASE trwb = new MESDataObject.Module.T_R_WO_BASE(Station.SFCDB, MESDataObject.DB_TYPE_ENUM.Oracle); MESDataObject.Module.Row_R_WO_BASE rrwb = (MESDataObject.Module.Row_R_WO_BASE)trwb.NewRow(); rrwb = worder.GetWoMode(workorder, Station.SFCDB, MESDataObject.DB_TYPE_ENUM.Oracle); Station.AddMessage("MES00000029", new string[] { "Workorder", wo.ToString() }, MESReturnView.Station.StationMessageState.Message); }
/// <summary> /// 從輸入加載工單數據 /// </summary> /// <param name="Station"></param> /// <param name="Input"></param> /// <param name="Paras">1個參數,WO保存的位置</param> public static void LoadWoFromInput(MESStation.BaseClass.MESStationBase Station, MESStation.BaseClass.MESStationInput Input, List <MESDataObject.Module.R_Station_Action_Para> Paras) { //if (Paras.Count == 0) //{ // throw new Exception("參數數量不正確!"); //} MESStationSession s = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY); if (s == null) { s = new MESStationSession() { MESDataType = Paras[0].SESSION_TYPE, InputValue = Input.Value.ToString(), SessionKey = Paras[0].SESSION_KEY, ResetInput = Input }; Station.StationSession.Add(s); } //dStation.NextInput = Station.Inputs[1]; //Station.DBS["APDB"].Borrow() LogicObject.WorkOrder WO = new LogicObject.WorkOrder(); WO.Init(Input.Value.ToString(), Station.SFCDB, MESDataObject.DB_TYPE_ENUM.Oracle); s.Value = WO; s.InputValue = Input.Value.ToString(); s.ResetInput = Input; Station.AddMessage("MES00000029", new string[] { "Workorder", WO.ToString() }, MESReturnView.Station.StationMessageState.Pass); }
public override void MakeLabel(OleExec DB) { Packing.PalletBase pallet = new Packing.PalletBase(I_PALLETNO.Value.ToString(), DB); O_SN.Value = pallet.GetSNList(DB); if (((List <string>)O_SN.Value).Count == 0) { throw new Exception("Pallet is empty"); } LogicObject.SN sn = new LogicObject.SN(((List <string>)O_SN.Value)[0], DB, DB_TYPE_ENUM.Oracle); LogicObject.WorkOrder wo = new LogicObject.WorkOrder(); wo.Init(sn.WorkorderNo, DB, DB_TYPE_ENUM.Oracle); O_VER.Value = wo.SKU_VER; O_QTY.Value = ((List <string>)O_SN.Value).Count.ToString(); O_PLNO.Value = pallet.DATA.PACK_NO; O_SKUNO.Value = wo.SkuNO; }