| | |
| | | public MES_WO_NODE_ACT NodeAct { get; set; } |
| | | public MES_WO_ACTION Setting { get; set; } |
| | | #endregion |
| | | public MES_CUST_SN CurCSN { get; set; } |
| | | public MES_CUST_SN FlowCSN { get; set; } |
| | | public MES_CUST_SN CustCSN { get; set; } |
| | | public BAS_LABEL_TEMP Label { get; set; } |
| | | public List<BAS_LABEL_PV> LabelPV { get; set; } |
| | | public List<mes_MOPickList> MoPickList { get; set; } |
| | |
| | | //è·åæå°æ¨¡æ¿ |
| | | 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(); |
| | | //è·åå·¥åå¤æä¿¡æ¯ |
| | | MoPickList = Biz.DataSource["YadaU9C"].Client.Queryable<mes_MOPickList>().Where(q => q.MoDocNo == CurPosition.WorkBatch.WO.ORDER_NO).ToList(); |
| | | |
| | | //è·åå½å产åå¨å½å客æ·çå
³ç³» |
| | | CustInfo = Biz.Db.Queryable<BAS_ITEM_CUST>().Where(q => q.ITEM_ID == CurPosition.WorkBatch.WO.ItemInfo.ID && q.CUST_CODE == CurPosition.WorkBatch.WO.CUST_CODE).First(); |
| | | |
| | | CurStep.Message = Biz.L("æ«æåå
æ¡ç "); |
| | | CurStep.Message = Biz.L("æ«æåå
æ¡ç æå®¢æ·æ¡ç "); |
| | | CurStep.Status = StepStatus.Normal; |
| | | } |
| | | |
| | |
| | | { |
| | | var action = new ApiAction<SubmitOutput>(new SubmitOutput()); |
| | | |
| | | //è·åå·¥åå¤æä¿¡æ¯ |
| | | MoPickList = Biz.DataSource["YadaU9C"].Client.Queryable<mes_MOPickList>().Where(q => q.MoDocNo == CurPosition.WorkBatch.WO.ORDER_NO).ToList(); |
| | | |
| | | //åªå
许å个产åè¿è¡å®¢æ·æ¡ç ç»å® |
| | | if (CurPosition.CurWipSNs.Count > 1) |
| | | { |
| | | CurStep.Message = Biz.L("è¯·æ«æå个产å"); |
| | | CurStep.Status = StepStatus.Error; |
| | | action.Data.ShortMsg = new("è¯·æ«æå个产å", ShortMessage.Types.Error); |
| | | //action.LocaleMsg = new($"æ¡ç [{0}]æ¯å
è£
/è½½å
·æ¡ç ï¼è¯·éæ°æ«æå个åå
æ¡ç è¿è¡å®¢æ·æ¡ç ç»å®"); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.NotProductSN", CurPosition.CurSN); |
| | | //éç½®å·¥åºæä½ |
| | | CurPosition.ResetNode(); |
| | | |
| | | action.IsSuccessed = false; |
| | | return action; |
| | | } |
| | | |
| | | var wipSn = CurPosition.CurWipSNs.First(); |
| | | CurCSN = Biz.Db.Queryable<MES_CUST_SN>().Where(q => q.FLOW_SN == wipSn.SN).First(); |
| | | //åå
æ¡ç å·²ç»å®å®¢æ·æ¡ç ï¼ç´æ¥ç»æè¡ä¸º |
| | | if (!CurCSN.IsNullOrEmpty()) |
| | | { |
| | | //å®¢æ·æ¡ç å·²ç»å®å½åå·¥åæè
å
¶æ¹æ¬¡å±äºå½åå·¥åä¸æç©æçæ¨èæ¹æ¬¡ |
| | | if (CurCSN.WORK_ORDER == CurPosition.WorkBatch.WO.ORDER_NO || MoPickList.Any(q => q.Code == CurCSN.ITEM_CODE && q.SuggestedBatch == CurCSN.WORK_ORDER)) |
| | | { |
| | | CurCSN.WORK_ORDER = CurPosition.WorkBatch.WO.ORDER_NO; |
| | | CurCSN.ITEM_CODE = CurPosition.WorkBatch.WO.ITEM_CODE; |
| | | action.Data.Data = new |
| | | { |
| | | NeedPrint = false, |
| | | NeedScan = false, |
| | | Label = "", |
| | | }; |
| | | CurStep.Message = Biz.L("æ«æåå
æ¡ç æå®¢æ·æ¡ç "); |
| | | CurStep.Status = StepStatus.Error; |
| | | action.Data.ShortMsg = new("æ«æåå
æ¡ç æå®¢æ·æ¡ç ", ShortMessage.Types.Error); |
| | | action.IsSuccessed = false; |
| | | //action.LocaleMsg = new($"æ¡ç [{0}]æ¯å
è£
/è½½å
·æ¡ç ï¼è¯·éæ°æ«æå个åå
æ¡ç è¿è¡å®¢æ·æ¡ç ç»å®"); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.NotProductSN", CurPosition.CurSN); |
| | | //éç½®å·¥åºæä½ |
| | | CurPosition.ResetNode(); |
| | | |
| | | return action; |
| | | } |
| | | |
| | | var wipSn = CurPosition.CurWipSNs.First(); |
| | | FlowCSN = Biz.Db.Queryable<MES_CUST_SN>().Where(q => q.FLOW_SN == wipSn.SN || q.CUST_SN == wipSn.SN).First(); |
| | | //æ¾ä¸å°ç产记å½ï¼è®¤ä¸ºæ«æé误 |
| | | if (FlowCSN.IsNullOrEmpty()) |
| | | { |
| | | action.Data.Data = new |
| | | { |
| | | NeedPrint = false, |
| | | NeedScan = false, |
| | | Label = "", |
| | | }; |
| | | CurStep.Message = Biz.L("ææé误"); |
| | | CurStep.Status = StepStatus.Error; |
| | | action.Data.ShortMsg = new("ææé误", ShortMessage.Types.Failed); |
| | | action.IsSuccessed = false; |
| | | //action.LocaleMsg = new($"ææéè¯¯ï¼æ¾ä¸å°æ¡ç [{0}]çç产记å½"); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.InputSnError", wipSn.SN); |
| | | //éç½®å·¥åºæä½ |
| | | CurPosition.ResetNode(); |
| | | return action; |
| | | } |
| | | else |
| | | { |
| | | //åå
æ¡ç å·²ç»å® |
| | | if (FlowCSN.IsBound) |
| | | { |
| | | //ç©ææå·æ¯å½åå·¥åæå·æè
å¨å·¥åå¤æè¡¨ä¸ï¼ç´æ¥ç»æè¡ä¸º |
| | | if (FlowCSN.ITEM_CODE == CurPosition.WorkBatch.WO.ITEM_CODE || MoPickList.Any(q => q.Code == FlowCSN.ITEM_CODE)) |
| | | { |
| | | action = End(input); |
| | | action.Data.Data = new |
| | | { |
| | | NeedPrint = false, |
| | | NeedScan = false, |
| | | Label = "", |
| | | }; |
| | | return action; |
| | | } |
| | | else |
| | | { |
| | |
| | | CurStep.Status = StepStatus.Error; |
| | | action.Data.ShortMsg = new("ææé误", ShortMessage.Types.Failed); |
| | | action.IsSuccessed = false; |
| | | //action.LocaleMsg = new($"产åçå®¢æ·æ¡ç [{0}]å±äºå·¥å[{1}]ä¸éç¨äºå½åå·¥å[{2}]çç产"); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.InputSnError", CurCSN.CUST_SN, CurCSN.WORK_ORDER, CurPosition.WorkBatch.WO.ORDER_NO); |
| | | //妿è¡ä¸ºè®¾ç½®ä¸ºåºééè¦éç½®å·¥åºæä½ |
| | | if (NodeAct.NEED_RESET == "Y") |
| | | { |
| | | //action.LocaleMsg = new($"产å(åå
æ¡ç [{0}])ä¸éç¨äºå½åå·¥å[{1}]çç产"); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.InputSnOrderError", FlowCSN.FLOW_SN, CurPosition.WorkBatch.WO.ORDER_NO); |
| | | //éç½®å·¥åºæä½ |
| | | CurPosition.ResetNode(); |
| | | } |
| | | return action; |
| | | } |
| | | } |
| | | //åå
æ¡ç æªç»å®å®¢æ·æ¡ç |
| | | else |
| | | { |
| | | if (FlowCSN.IsFlowSn) |
| | | { |
| | | //å¦æå®¢æ·æ¡ç æ ç¾æ¨¡æ¿ä¸ºç©ºåä¸éè¦æå°ï¼çå¾
æ«æå®¢æ·æ¡ç è¿è¡ç»å® |
| | | if (Label.IsNullOrEmpty()) |
| | |
| | | action.LocaleMsg = new Locale("MES.WorkAction.ThreeInOne.BeginPrint", wipSn.SN); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | action.Data.Data = new |
| | | { |
| | | NeedPrint = false, |
| | | NeedScan = false, |
| | | Label = "", |
| | | }; |
| | | CurStep.Message = Biz.L("æ«æåå
æ¡ç "); |
| | | CurStep.Status = StepStatus.Error; |
| | | action.Data.ShortMsg = new("æ«æåå
æ¡ç ", ShortMessage.Types.Failed); |
| | | action.IsSuccessed = false; |
| | | //action.LocaleMsg = new($"å®¢æ·æ¡ç [{0}]æªè¢«ç»å®ï¼è¯·å
æ«æåå
æ¡ç "); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.PleaseScanFlowSn", wipSn.SN); |
| | | //éç½®å·¥åºæä½ |
| | | CurPosition.ResetNode(); |
| | | return action; |
| | | } |
| | | } |
| | | |
| | | //å®¢æ·æ¡ç å·²ç»å®å½åå·¥åæè
å
¶æ¹æ¬¡å±äºå½åå·¥åä¸æç©æçæ¨èæ¹æ¬¡ï¼ç´æ¥ç»æè¡ä¸º |
| | | //if (FlowCSN.WORK_ORDER == CurPosition.WorkBatch.WO.ORDER_NO || MoPickList.Any(q => q.Code == FlowCSN.ITEM_CODE && q.SuggestedBatch == FlowCSN.WORK_ORDER)) |
| | | //{ |
| | | // FlowCSN.WORK_ORDER = CurPosition.WorkBatch.WO.ORDER_NO; |
| | | // FlowCSN.ITEM_CODE = CurPosition.WorkBatch.WO.ITEM_CODE; |
| | | // action.Data.Data = new |
| | | // { |
| | | // NeedPrint = false, |
| | | // NeedScan = false, |
| | | // Label = "", |
| | | // }; |
| | | // action = End(input); |
| | | //} |
| | | //else |
| | | //{ |
| | | // action.Data.Data = new |
| | | // { |
| | | // NeedPrint = false, |
| | | // NeedScan = false, |
| | | // Label = "", |
| | | // }; |
| | | // CurStep.Message = Biz.L("ææé误"); |
| | | // CurStep.Status = StepStatus.Error; |
| | | // action.Data.ShortMsg = new("ææé误", ShortMessage.Types.Failed); |
| | | // action.IsSuccessed = false; |
| | | // //action.LocaleMsg = new($"产åçå®¢æ·æ¡ç [{0}]å±äºå·¥å[{1}]ä¸éç¨äºå½åå·¥å[{2}]çç产"); |
| | | // action.LocaleMsg = new("MES.WorkAction.ThreeInOne.InputSnOrderError", FlowCSN.CUST_SN, FlowCSN.WORK_ORDER, CurPosition.WorkBatch.WO.ORDER_NO); |
| | | // //妿è¡ä¸ºè®¾ç½®ä¸ºåºééè¦éç½®å·¥åºæä½ |
| | | // if (NodeAct.NEED_RESET == "Y") |
| | | // { |
| | | // CurPosition.ResetNode(); |
| | | // } |
| | | // return action; |
| | | //} |
| | | } |
| | | |
| | | //妿è¿åæåå认为å½åè¡ä¸ºå¯ä»¥å¼å§æ§è¡ï¼å¦åè¿å失败 |
| | | action.IsSuccessed = true; |
| | |
| | | public ApiAction<SubmitOutput> Submit(SubmitInput input) |
| | | { |
| | | var action = new ApiAction<SubmitOutput>(new SubmitOutput()); |
| | | var csn = input.Data; |
| | | |
| | | CurCSN = Biz.Db.Queryable<MES_CUST_SN>().Where(q => q.CUST_SN == input.Data).First() ?? new() |
| | | { |
| | | CUST_SN = input.Data, |
| | | }; |
| | | //æ¥è¯¢æ¯å¦åå¨å·²å¯¼å
¥çå®¢æ·æ¡ç |
| | | CustCSN = Biz.Db.Queryable<MES_CUST_SN>().Where(q => q.CUST_SN == input.Data).First(); |
| | | |
| | | var isOK = true; |
| | | //å®¢æ·æ¡ç å·²ç»å®å
¶ä»åå
æ¡ç |
| | | if (!CurCSN.FLOW_SN.IsNullOrEmpty() && CurCSN.FLOW_SN != CurPosition.CurWipSNs.First().SN) |
| | | if (!CustCSN.IsNullOrEmpty() && !CustCSN.FLOW_SN.IsNullOrEmpty() && CustCSN.FLOW_SN != FlowCSN.FLOW_SN) |
| | | { |
| | | CurStep.SetStatusMessage(StepStatus.Error, Biz.L("å®¢æ·æ ç¾ç»å®å¤±è´¥")); |
| | | action.Data.ShortMsg = new("å®¢æ·æ ç¾ç»å®å¤±è´¥", ShortMessage.Types.Failed); |
| | | CurStep.SetStatusMessage(StepStatus.Error, Biz.L("è¯·æ«ææ£ç¡®çå®¢æ·æ ç¾")); |
| | | action.Data.ShortMsg = new("è¯·æ«ææ£ç¡®çå®¢æ·æ ç¾", ShortMessage.Types.Failed); |
| | | action.IsSuccessed = isOK = false; |
| | | //action.LocaleMsg = new($"åå
æ¡ç [{0}]ç»å®å®¢æ·æ¡ç [{1}]失败ï¼å®¢æ·æ¡ç å·²ç»å®åå
æ¡ç [{2}]"); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.BindingOtherSN", CurPosition.CurWipSNs.First().SN, CurCSN.CUST_SN, CurCSN.FLOW_SN); |
| | | //action.LocaleMsg = new($"åå
æ¡ç [{0}]ç»å®å®¢æ·æ¡ç [{1}]失败ï¼å®¢æ·æ¡ç å·²ç»å®åå
æ¡ç [{2}]ï¼è¯·æ«ææ£ç¡®çå®¢æ·æ ç¾"); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.BindingOtherSN", CurPosition.CurWipSNs.First().SN, CustCSN.CUST_SN, CustCSN.FLOW_SN); |
| | | } |
| | | //å®¢æ·æ¡ç ä¸å±äºå½åå·¥åçå®¢æ· |
| | | if (CurCSN.CUST_CODE.IsNullOrEmpty(CurPosition.WorkBatch.WO.CUST_CODE) != CurPosition.WorkBatch.WO.CUST_CODE) |
| | | if (!CustCSN.IsNullOrEmpty() && CustCSN.CUST_CODE.IsNullOrEmpty(CurPosition.WorkBatch.WO.CUST_CODE) != CurPosition.WorkBatch.WO.CUST_CODE) |
| | | { |
| | | CurStep.SetStatusMessage(StepStatus.Error, Biz.L("å®¢æ·æ ç¾ç»å®å¤±è´¥")); |
| | | action.Data.ShortMsg = new("å®¢æ·æ ç¾ç»å®å¤±è´¥", ShortMessage.Types.Failed); |
| | | CurStep.SetStatusMessage(StepStatus.Error, Biz.L("è¯·æ«ææ£ç¡®çå®¢æ·æ ç¾")); |
| | | action.Data.ShortMsg = new("è¯·æ«ææ£ç¡®çå®¢æ·æ ç¾", ShortMessage.Types.Failed); |
| | | action.IsSuccessed = isOK = false; |
| | | //action.LocaleMsg = new($"å®¢æ·æ¡ç [{0}]å±äºå®¢æ·[{1}]ï¼ä¸å½åå·¥åç客æ·[{2}]ä¸ä¸è´"); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.NotSameCustomer", CurCSN.CUST_SN, CurCSN.CUST_CODE, CurPosition.WorkBatch.WO.CUST_CODE); |
| | | //action.LocaleMsg = new($"å®¢æ·æ¡ç [{0}]å±äºå®¢æ·[{1}]ï¼ä¸å½åå·¥åç客æ·[{2}]ä¸ä¸è´ï¼è¯·æ«ææ£ç¡®çå®¢æ·æ ç¾"); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.NotSameCustomer", CustCSN.CUST_SN, CustCSN.CUST_CODE, CurPosition.WorkBatch.WO.CUST_CODE); |
| | | } |
| | | //éªè¯äº§åå®¢æ·æ ç¾æ¡ç è§å |
| | | if (!CustInfo.RULE_CODE.IsNullOrEmpty() && !Biz.CodeRule[CustInfo.RULE_CODE].IsNullOrEmpty()) |
| | | { |
| | | var result = Biz.CodeRule[CustInfo.RULE_CODE].Verify(CurCSN.CUST_SN); |
| | | var result = Biz.CodeRule[CustInfo.RULE_CODE].Verify(CustCSN.CUST_SN); |
| | | if (!result.IsSuccessed) |
| | | { |
| | | CurStep.SetStatusMessage(StepStatus.Error, Biz.L("å®¢æ·æ ç¾ç»å®å¤±è´¥")); |
| | | action.Data.ShortMsg = new("å®¢æ·æ ç¾ç»å®å¤±è´¥", ShortMessage.Types.Failed); |
| | | CurStep.SetStatusMessage(StepStatus.Error, Biz.L("è¯·æ«ææ£ç¡®çå®¢æ·æ ç¾")); |
| | | action.Data.ShortMsg = new("è¯·æ«ææ£ç¡®çå®¢æ·æ ç¾", ShortMessage.Types.Failed); |
| | | action.IsSuccessed = isOK = false; |
| | | //action.LocaleMsg = new Locale($"æ ç¾æ¡ç [{0}]æªéè¿å®¢æ·æ ç¾è§å[{1}]éªè¯"); |
| | | action.LocaleMsg = new Locale("MES.WorkAction.ThreeInOne.CustSnVerifyError", CurCSN.CUST_SN, CustInfo.RULE_CODE); |
| | | //action.LocaleMsg = new Locale($"æ ç¾æ¡ç [{0}]æªéè¿å®¢æ·æ ç¾è§å[{1}]éªè¯ï¼è¯·æ«ææ£ç¡®çå®¢æ·æ ç¾"); |
| | | action.LocaleMsg = new Locale("MES.WorkAction.ThreeInOne.CustSnVerifyError", CustCSN.CUST_SN, CustInfo.RULE_CODE); |
| | | } |
| | | } |
| | | |
| | | //éªè¯éè¿åä¿å |
| | | if (isOK) |
| | | { |
| | | CurCSN.CUST_CODE = CurPosition.WorkBatch.WO.CUST_CODE; |
| | | CurCSN.FLOW_SN = CurPosition.CurWipSNs.First().SN; |
| | | CurCSN.WORK_ORDER = CurPosition.WorkBatch.WO.ORDER_NO; |
| | | CurCSN.ITEM_CODE = CurPosition.WorkBatch.WO.ITEM_CODE; |
| | | FlowCSN.CUST_SN = input.Data; |
| | | action = End(input); |
| | | } |
| | | else |
| | |
| | | { |
| | | var action = new ApiAction<SubmitOutput>(new SubmitOutput()); |
| | | |
| | | //æ´æ°åå
æµç¨ç |
| | | FlowCSN.CUST_CODE = CurPosition.WorkBatch.WO.CUST_CODE; |
| | | FlowCSN.WORK_ORDER = CurPosition.WorkBatch.WO.ORDER_NO; |
| | | FlowCSN.ITEM_CODE = CurPosition.WorkBatch.WO.ITEM_CODE; |
| | | |
| | | //è®°å½è¡ä¸ºæä½è®°å½ |
| | | var wipActs = new List<MES_WIP_ACT>(); |
| | | var woSns = new List<BIZ_MES_WO_SN>(); |
| | |
| | | foreach (var wipSn in CurPosition.CurWipSNs) |
| | | { |
| | | //æ´æ°å¨å¶åä¿¡æ¯SNä¸ºå®¢æ·æ¡ç |
| | | wipSn.SN = CurCSN.CUST_SN; |
| | | wipSn.SN = FlowCSN.CUST_SN; |
| | | //æ´æ°å¨å¶åä¿¡æ¯åå²å¾SNä¸ºå®¢æ·æ¡ç |
| | | var his = CurPosition.CurWipSNHiss.First(q => q.WIP_ID == wipSn.ID); |
| | | his.SN = CurCSN.CUST_SN; |
| | | his.SN = FlowCSN.CUST_SN; |
| | | snHiss.Add(his); |
| | | //æ´æ°å·¥åæ¡ç 表ç |
| | | var woSn = CurPosition.WorkBatch.WoSNs.First(q => q.WIP_ID == wipSn.ID); |
| | | woSn.SN = CurCSN.CUST_SN; |
| | | woSn.SN = FlowCSN.CUST_SN; |
| | | woSns.Add(woSn); |
| | | var wipAct = new MES_WIP_ACT() |
| | | { |
| | |
| | | ACT_VALUE_1 = Label.LABEL_CODE, |
| | | ACT_VALUE_2 = Label.Variables.ToJson(), |
| | | ACT_RESULT = "Y", |
| | | TRACE_INFO = $"åå
æ¡ç [{0}]å·²ç»å®å®¢æ·æ¡ç [{1}]æå", |
| | | TRACE_INFO = $"åå
æ¡ç [{FlowCSN.FLOW_SN}]ç»å®å®¢æ·æ¡ç [{FlowCSN.CUST_SN}]æå", |
| | | }; |
| | | wipActs.Add(wipAct); |
| | | } |
| | |
| | | var _snHiss = snHiss.Clone(); |
| | | var _woSns = woSns.Clone(); |
| | | var _wipActs = wipActs.Clone(); |
| | | var _CurCSN = CurCSN.Clone(); |
| | | var _FlowCSN = FlowCSN.Clone(); |
| | | var _CustCSN = CustCSN.Clone(); |
| | | //ä¿åæ°æ® |
| | | CurStep.DBSubmitAction = () => |
| | | { |
| | |
| | | db.Storageable(_snHiss, CurPosition.UserCode).ExecuteCommand(); |
| | | db.Storageable(_woSns, CurPosition.UserCode).ExecuteCommand(); |
| | | db.Storageable(_wipActs, CurPosition.UserCode).ExecuteCommand(); |
| | | db.Storageable(_CurCSN, CurPosition.UserCode).ExecuteCommand(); |
| | | db.Storageable(_FlowCSN, CurPosition.UserCode).ExecuteCommand(); |
| | | if (!_CustCSN.IsNullOrEmpty()) |
| | | { |
| | | db.Deleteable(_CustCSN).ExecuteCommand(); |
| | | } |
| | | }; |
| | | |
| | | IsFinished = true; |
| | | CurStep.Message = Biz.L("å®¢æ·æ¡ç å·²ç»å®"); |
| | | CurStep.Message = Biz.L("å®¢æ·æ¡ç ç»å®æå"); |
| | | CurStep.Status = StepStatus.Finished; |
| | | action.Data.ShortMsg = new("å®¢æ·æ¡ç å·²ç»å®", ShortMessage.Types.Success); |
| | | action.Data.ShortMsg = new("å®¢æ·æ¡ç ç»å®æå", ShortMessage.Types.Success); |
| | | //action.LocaleMsg = new($"åå
æ¡ç [{0}]å·²ç»å®å®¢æ·æ¡ç [{1}]宿", Label.LABEL_NAME); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.BindingComplete", CurCSN.FLOW_SN, CurCSN.CUST_SN); |
| | | action.LocaleMsg = new("MES.WorkAction.ThreeInOne.BindingComplete", FlowCSN.FLOW_SN, FlowCSN.CUST_SN); |
| | | return action; |
| | | } |
| | | |