| | |
| | | { |
| | | #region Propertys & Variables |
| | | #region 固定写法,工序中的必要信息 |
| | | public DbClient MainDB { get; set; } |
| | | public bool IsFinished { get; set; } = false; |
| | | public IWorkStep CurStep { get; set; } |
| | | public IPosition CurPosition { get; set; } |
| | |
| | | #endregion |
| | | public BAS_LABEL_TEMP Label { get; set; } |
| | | public List<BAS_LABEL_PV> LabelPV { get; set; } |
| | | public WipPkg CurPkg { get; set; } |
| | | public bool NoNeedInStorePrint { get; set; } |
| | | #endregion Propertys & Variables |
| | | |
| | |
| | | public void Init(IWorkStep curStep, IPosition position, MES_WO_NODE_ACT nodeAct, MES_WO_ACTION setting) |
| | | { |
| | | #region 固定写法,给默认变量赋值 |
| | | MainDB = position.MainDB; |
| | | CurStep = curStep; |
| | | CurPosition = position; |
| | | NodeAct = nodeAct; |
| | | Setting = setting; |
| | | #endregion |
| | | |
| | | Label = Biz.Db.Queryable<BAS_LABEL_TEMP>().Where(q => q.LABEL_CODE == setting.LABEL_CODE).IncludesAllFirstLayer().First(); |
| | | LabelPV = Biz.Db.Queryable<BAS_LABEL_PV>().ToList(); |
| | | Label = MainDB.Queryable<BAS_LABEL_TEMP>().Where(q => q.LABEL_CODE == setting.LABEL_CODE).IncludesAllFirstLayer().First(); |
| | | LabelPV = MainDB.Queryable<BAS_LABEL_PV>().ToList(); |
| | | |
| | | CurStep.Message = Biz.L("等待标签打印"); |
| | | CurStep.Status = StepStatus.Normal; |
| | |
| | | public ApiAction<SubmitOutput> TryBegin(SubmitInput input) |
| | | { |
| | | var action = new ApiAction<SubmitOutput>(new SubmitOutput()); |
| | | CurPkg = CurPosition.Context.ContainsKey("CurPackage") ? CurPosition.Context["CurPackage"] as WipPkg : null; |
| | | |
| | | if (Label.IsNullOrEmpty()) |
| | | { |
| | |
| | | { |
| | | //设置打印变量值 |
| | | Label = CurPosition.SetLabelVariables(LabelPV, Label, this); |
| | | if (CurPosition.Context.ContainsKey("CurPackage")) |
| | | if (!CurPkg.IsNullOrEmpty()) |
| | | { |
| | | (CurPosition.Context["CurPackage"] as WipPkg).InStoreActID = NodeAct.ID; |
| | | (CurPosition.Context["CurPackage"] as WipPkg).InStoreLabel = Label; |
| | | CurPkg.InStoreActID = NodeAct.ID; |
| | | CurPkg.InStoreLabel = Label; |
| | | } |
| | | |
| | | //判断是否需要打印入库标签 |
| | | NoNeedInStorePrint = (!CurPosition.Context.ContainsKey("CurPackage") || !(CurPosition.Context["CurPackage"] as WipPkg).IsFinished) |
| | | NoNeedInStorePrint = (CurPkg.IsNullOrEmpty() || !CurPkg.IsFinished) |
| | | || (CurPosition is YadaPacking && (CurPosition as YadaPacking).IsPrintCustomerLabel); |
| | | if (NoNeedInStorePrint) |
| | | { |
| | |
| | | { |
| | | var action = new ApiAction<SubmitOutput>(new SubmitOutput()); |
| | | |
| | | var CurPkg = CurPosition.Context.ContainsKey("CurPackage") ? CurPosition.Context["CurPackage"] as WipPkg : null; |
| | | //记录行为操作记录 |
| | | var wipActs = new List<MES_WIP_ACT>(); |
| | | foreach (var wipSn in CurPosition.CurWipSNs) |
| | |
| | | ACT_VALUE_1 = CurPkg?.IsFinished == true ? "Y" : "N", |
| | | ACT_VALUE_2 = CurPkg?.ToJson(), |
| | | ACT_VALUE_3 = Label?.ToJson(), |
| | | ACT_VALUE_4 = "InStroe", |
| | | ACT_VALUE_4 = "InStore", |
| | | ACT_RESULT = "Y", |
| | | ELAPSED_TIME = CurStep.GetElapsedTime().TotalMilliseconds.ToInt64(), |
| | | TRACE_INFO = NoNeedInStorePrint ? $"无需打印入库标签" : $"标签{Label?.LABEL_NAME}[{Label?.LABEL_CODE}]打印成功", |