服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-09-04 0116b5d2ed16a0825da9e7474fc786ee06b2d60c
增加公布提示信息和状态
已修改18个文件
160 ■■■■ 文件已修改
Tiger.Api/Language.db 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/Assembly.cs 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/IPQC.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/PackingAction.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/PrintLabel.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/VerifyItem.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/Weighing.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/WipExtInfo.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Minsun/Shelf.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Minsun/iWMS.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/OtherInLocationChecking.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/OutSplit.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/ShelfRemote.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/WMS_ITEM_Biz.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/iWMS/RePrintBarcode.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness/Common/IStep.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness/Tiger.IBusiness.csproj 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Api/Language.db
Binary files differ
Tiger.Business.MES/WorkAction/Assembly.cs
@@ -23,7 +23,6 @@
        public MES_WO_ACTION Setting { get; set; }
        #endregion
        public List<BAS_PROD_BOM> Boms { get; set; } = new();
        public Dictionary<string, List<BAS_ITEM>> SubItemDic { get; set; } = new();
        public AssemblyInfo CurAssembly { get; set; } = new();
        #endregion Propertys & Variables
@@ -76,10 +75,13 @@
                    {
                        var subs = bom.SUB_CODE.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                        var surItems = Biz.Db.Queryable<BAS_ITEM>().Where(q => subs.Contains(q.ITEM_CODE) && q.AUTH_ORG == CurPosition.WorkBatch.WO.AUTH_ORG).ToList();
                        if (!SubItemDic.ContainsKey(assy.ITEM_CODE))
                        {
                            SubItemDic.Add(assy.ITEM_CODE, surItems);
                        }
                        foreach (var sub in surItems)
                        {
                            if (!item.SubItems.Any(q => q.ITEM_CODE == sub.ITEM_CODE))
                            {
                                item.SubItems.Add(sub);
                            }
                        }
                    }
                    CurAssembly.Items.Add(item);
                }
@@ -112,6 +114,8 @@
            }
            //如果返回成功则认为当前行为可以开始执行,否则返回失败
            CurStep.Message = Biz.L("等待上料");
            CurStep.Status = StepStatus.Normal;
            action.IsSuccessed = false;
            action.Data.ShortMsg = new("等待上料", ShortMessage.Types.Normal);
            return action;
@@ -145,6 +149,7 @@
                foreach (var item in CurAssembly.Items.Where(q => !q.IsFinished))
                {
                    var isOK = true;
                    var matchItem = item.ItemInfo;
                    //根据条码规则验证上料是否正确
                    if (!item.RuleCode.IsNullOrEmpty())
                    {
@@ -169,6 +174,27 @@
                            }
                        }
                    }
                    //主料验证不通过,则尝试验证替代料
                    if (!isOK && item.SubItems.Any())
                    {
                        foreach (var subItem in item.SubItems)
                        {
                            if (!subItem.RULE_CODE.IsNullOrEmpty())
                            {
                                if (!Biz.CodeRule[subItem.RULE_CODE].IsNullOrEmpty())
                                {
                                    var result = Biz.CodeRule[item.RuleCode].Verify(input.SN);
                                    //只要有一个替代料通过验证则可以上料
                                    if (result.IsSuccessed)
                                    {
                                        isOK = true;
                                        matchItem = subItem;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    //验证通过则保存上料信息
                    if (isOK)
                    {
@@ -184,9 +210,9 @@
                                    WIP_ID = wipSn.ID,
                                    SN = input.SN,
                                    PROD_SN = wipSn.SN,
                                    ITEM_CODE = item.ItemInfo.ITEM_CODE,
                                    ITEM_CODE = matchItem.ITEM_CODE,
                                    QTY = 1,
                                    UNIT = item.ItemInfo.UNIT,
                                    UNIT = matchItem.UNIT,
                                    WORK_ORDER = wipSn.WORK_ORDER,
                                    BATCH_NO = wipSn.BATCH_NO,
                                    ROT_CODE = wipSn.ROT_CODE,
@@ -214,9 +240,9 @@
                                    WIP_ID = wipSn.ID,
                                    SN = input.SN,
                                    PROD_SN = wipSn.SN,
                                    ITEM_CODE = item.ItemInfo.ITEM_CODE,
                                    ITEM_CODE = matchItem.ITEM_CODE,
                                    QTY = 1,
                                    UNIT = item.ItemInfo.UNIT,
                                    UNIT = matchItem.UNIT,
                                    WORK_ORDER = wipSn.WORK_ORDER,
                                    BATCH_NO = wipSn.BATCH_NO,
                                    ROT_CODE = wipSn.ROT_CODE,
@@ -238,11 +264,13 @@
                            }
                        }
                        CurStep.Message = Biz.L("上料成功");
                        CurStep.Status = StepStatus.Success;
                        action.IsSuccessed = true;
                        action.Data.ShortMsg = new("上料成功", ShortMessage.Types.Success);
                        action.Data.Data = CurAssembly;
                        //action.LocaleMsg = new Locale($"扫描物料[{item.ItemInfo.ITEM_NAME}({item.ItemInfo.ITEM_CODE})的条码[{input.SN}]成功,请继续上料");
                        action.LocaleMsg = new Locale("MES.WorkAction.Assembly.LoadSuccess", item.ItemInfo.ITEM_NAME, item.ItemInfo.ITEM_CODE);
                        //action.LocaleMsg = new Locale($"扫描物料[{matchItem.ITEM_NAME}({matchItem.ITEM_CODE})的条码[{input.SN}]成功,请继续上料");
                        action.LocaleMsg = new Locale("MES.WorkAction.Assembly.LoadSuccess", matchItem.ITEM_NAME, matchItem.ITEM_CODE);
                        //上料完成
                        if (CurAssembly.IsFinished)
@@ -253,6 +281,8 @@
                    }
                }
                //都没有物料验证通过,则返回错误信息
                CurStep.Message = Biz.L("上料失败");
                CurStep.Status = StepStatus.Error;
                action.IsSuccessed = false;
                action.Data.ShortMsg = new("上料失败", ShortMessage.Types.Failed);
                //action.LocaleMsg = new($"条码[{input.SN}]验证失败,不是以下物料的条码:{string.Join(",", CurAssembly.Items.Where(q => !q.IsFinished).Select(q => $"{q.ItemInfo.ITEM_NAME}({q.ItemInfo.ITEM_CODE})"))}");
@@ -260,6 +290,8 @@
            }
            catch (System.Exception ex)
            {
                CurStep.Message = Biz.L("上料异常");
                CurStep.Status = StepStatus.Error;
                action.Data.ShortMsg = new("上料异常", ShortMessage.Types.Exception);
                action.CatchExceptionWithLog(ex, $"上料行为:验证条码[{input.SN}]并保存数据异常");
                action.IsSuccessed = false;
@@ -340,6 +372,7 @@
            };
            IsFinished = true;
            CurStep.Message = Biz.L("上料完成");
            CurStep.Status = StepStatus.Finished;
            action.Data.ShortMsg = new("上料完成", ShortMessage.Types.Success);
            //action.LocaleMsg = new($"以下物料上料完成:{string.Join(",", CurAssembly.Items.Select(q => $"{q.ItemInfo.ITEM_NAME}({q.ItemInfo.ITEM_CODE})"))}");
Tiger.Business.MES/WorkAction/IPQC.cs
@@ -59,8 +59,10 @@
            action.LocaleMsg = new("MES.WorkAction.IPQC.PleaseTest");
            //如果根据输入可以开始执行当前行为则标记为成功,否则失败
            CurStep.Message = Biz.L("等待测试");
            CurStep.Status = StepStatus.Normal;
            action.IsSuccessed = false;
            action.Data.ShortMsg = new("打印开始", ShortMessage.Types.Success);
            action.Data.ShortMsg = new("等待测试", ShortMessage.Types.Success);
            return action;
        }
        /// <summary>
@@ -86,6 +88,8 @@
            //提交数据执行失败
            else
            {
                CurStep.Message = Biz.L("测试失败");
                CurStep.Status = StepStatus.Error;
                action.Data.ShortMsg = new("测试失败", ShortMessage.Types.Failed);
                action.IsSuccessed = false;
                //action.LocaleMsg = new($"执行失败");
@@ -165,6 +169,7 @@
            };
            IsFinished = true;
            CurStep.Message = Biz.L("测试完成");
            CurStep.Status = StepStatus.Finished;
            action.Data.ShortMsg = new("测试完成", ShortMessage.Types.Success);
            action.LocaleMsg = new($"测试结束");
Tiger.Business.MES/WorkAction/PackingAction.cs
@@ -177,6 +177,8 @@
                data.PrintLable = LabelDic[min.PKG_LEVEL];
                CurCmd = data;
                PrintTimes++;
                CurStep.Message = Biz.L("打印标签");
                CurStep.Status = StepStatus.Normal;
                action.Data.Data = data;
                action.Data.ShortMsg = new("打印标签", ShortMessage.Types.Normal);
                //action.LocaleMsg = new Locale($"开始第{PrintTimes}次打印第{min.PKG_LEVEL}层包装[{min.PkgType.PKG_NAME}]的标签[{LabelDic[min.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[min.PKG_LEVEL].LABEL_NAME}]");
@@ -207,6 +209,8 @@
                        if (!pInput.IsFinish || pInput.PkgSN.IsNullOrEmpty())
                        {
                            var dtl = PkgRule.Details.First(q => q.PKG_LEVEL == pInput.PkgLevel);
                            CurStep.Message = Biz.L("扫描错误");
                            CurStep.Status = StepStatus.Error;
                            action.Data.ShortMsg = new("扫描错误", ShortMessage.Types.Error);
                            action.IsSuccessed = false;
                            //action.LocaleMsg = new($"条码扫描失败,请重新扫描第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签条码");
@@ -217,6 +221,8 @@
                        if (GetPackageList(CurPkg.Item).Any(q => q.SN == pInput.PkgSN))
                        {
                            var dtl = PkgRule.Details.First(q => q.PKG_LEVEL == pInput.PkgLevel);
                            CurStep.Message = Biz.L("扫描错误");
                            CurStep.Status = StepStatus.Error;
                            action.Data.ShortMsg = new("扫描错误", ShortMessage.Types.Error);
                            action.IsSuccessed = false;
                            //action.LocaleMsg = new($"条码[{pInput.PkgSN}]无需重复扫描,请扫描第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签条码");
@@ -229,6 +235,8 @@
                        action = SavePkgData(input, action);
                        if (action.IsSuccessed)
                        {
                            CurStep.Message = Biz.L("扫描成功");
                            CurStep.Status = StepStatus.Success;
                            action.Data.ShortMsg = new("扫描成功", ShortMessage.Types.Success);
                        }
                    }
@@ -247,6 +255,8 @@
                            data.ExecCode = "Scan";
                            data.PkgLevel = dtl.PKG_LEVEL;
                            CurCmd = data;
                            CurStep.Message = Biz.L("扫描标签");
                            CurStep.Status = StepStatus.Normal;
                            action.Data.Data = data;
                            action.Data.ShortMsg = new("扫描标签", ShortMessage.Types.Normal);
                            //action.LocaleMsg = new($"请扫描第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签条码");
@@ -259,6 +269,8 @@
                            if (PrintTimes < 3 && !CurCmd.IsNullOrEmpty())
                            {
                                PrintTimes++;
                                CurStep.Message = Biz.L("重新打印");
                                CurStep.Status = StepStatus.Normal;
                                action.Data.Data = CurCmd;
                                action.Data.ShortMsg = new("重新打印", ShortMessage.Types.Normal);
                                //action.LocaleMsg = new Locale($"开始{PrintTimes}次打印第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签[{LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[dtl.PKG_LEVEL].LABEL_NAME}]");
@@ -268,6 +280,8 @@
                            {
                                CurCmd = null;
                                PrintTimes = 0;
                                CurStep.Message = Biz.L("打印失败");
                                CurStep.Status = StepStatus.Error;
                                action.Data.ShortMsg = new("打印失败", ShortMessage.Types.Failed);
                                action.IsSuccessed = false;
                                //action.LocaleMsg = new($"尝试第{PrintTimes}次打印第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签[{LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[dtl.PKG_LEVEL].LABEL_NAME}]失败,工序已重置,请重新扫描进站产品条码");
@@ -287,6 +301,8 @@
                            if (!PkgProd.IsNullOrEmpty() && (pInput.WeightInfo.Weight < PkgProd.MIN_WEIGHT || PkgProd.MIN_WEIGHT < pInput.WeightInfo.Weight))
                            {
                                action.IsSuccessed = false;
                                CurStep.Message = Biz.L("重量超限");
                                CurStep.Status = StepStatus.Error;
                                action.Data.Data = CurCmd;
                                action.Data.ShortMsg = new("重量超限", ShortMessage.Types.Failed);
                                //action.LocaleMsg = new($"外包装重量[{0}]超出产品[{1}]在包装规则[{2}]中的预设范围[{3} - {4}],请处理后重新上称称重");
@@ -317,7 +333,9 @@
                                    data.ExecCode = "Scan";
                                    data.PkgLevel = dtl.PKG_LEVEL;
                                    CurCmd = data;
                                    action.Data.Data = data;
                                    CurStep.Message = Biz.L("扫描标签");
                                    CurStep.Status = StepStatus.Normal;
                                    action.Data.Data = data;
                                    action.Data.ShortMsg = new("扫描标签", ShortMessage.Types.Normal);
                                    //action.LocaleMsg = new($"请扫描第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签条码");
                                    action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseScanLabel", dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME);
@@ -333,7 +351,9 @@
                                    data.PrintLable = LabelDic[dtl.PKG_LEVEL];
                                    CurCmd = data;
                                    PrintTimes++;
                                    action.Data.Data = data;
                                    CurStep.Message = Biz.L("打印标签");
                                    CurStep.Status = StepStatus.Normal;
                                    action.Data.Data = data;
                                    action.Data.ShortMsg = new("打印标签", ShortMessage.Types.Normal);
                                    //action.LocaleMsg = new Locale($"开始第{PrintTimes}次打印第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签[{LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[dtl.PKG_LEVEL].LABEL_NAME}]");
                                    action.LocaleMsg = new Locale("MES.WorkAction.PackingAction.BeginPrint", PrintTimes, dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME, LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE, LabelDic[dtl.PKG_LEVEL].LABEL_NAME);
@@ -345,6 +365,8 @@
                        else
                        {
                            action.IsSuccessed = false;
                            CurStep.Message = Biz.L("称重失败");
                            CurStep.Status = StepStatus.Error;
                            action.Data.Data = CurCmd;
                            action.Data.ShortMsg = new("称重失败", ShortMessage.Types.Failed);
                            //action.LocaleMsg = new($"外包装称重数据异常,请重新上称称重");
@@ -366,6 +388,8 @@
                            data.ExecCode = "Weighing";
                            data.PkgLevel = CurPkgItem.PKG_LEVEL;
                            CurCmd = data;
                            CurStep.Message = Biz.L("包装成功");
                            CurStep.Status = StepStatus.Success;
                            action.Data.Data = data;
                            action.Data.ShortMsg = new("包装成功", ShortMessage.Types.Success);
                            //action.LocaleMsg = new($"请把包装[{CurPkgItem.Package.SN}]上称称重");
@@ -400,6 +424,8 @@
                            data.ExecCode = "Scan";
                            data.PkgLevel = dtl.PKG_LEVEL;
                            CurCmd = data;
                            CurStep.Message = Biz.L("扫描标签");
                            CurStep.Status = StepStatus.Normal;
                            action.Data.Data = data;
                            action.Data.ShortMsg = new("扫描标签", ShortMessage.Types.Normal);
                            //action.LocaleMsg = new($"请扫描第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签条码");
@@ -416,6 +442,8 @@
                            data.PrintLable = LabelDic[dtl.PKG_LEVEL];
                            CurCmd = data;
                            PrintTimes++;
                            CurStep.Message = Biz.L("打印标签");
                            CurStep.Status = StepStatus.Normal;
                            action.Data.Data = data;
                            action.Data.ShortMsg = new("打印标签", ShortMessage.Types.Normal);
                            //action.LocaleMsg = new Locale($"开始第{PrintTimes}次打印第{min.PKG_LEVEL}层包装[{min.PkgType.PKG_NAME}]的标签[{LabelDic[min.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[min.PKG_LEVEL].LABEL_NAME}]");
@@ -565,6 +593,8 @@
                                data.ExecCode = "Weighing";
                                data.PkgLevel = CurPkgItem.PKG_LEVEL;
                                CurCmd = data;
                                CurStep.Message = Biz.L("上称称重");
                                CurStep.Status = StepStatus.Normal;
                                action.Data.Data = data;
                                action.Data.ShortMsg = new("上称称重", ShortMessage.Types.Success);
                                //action.LocaleMsg = new($"请把外包装上称称重");
@@ -579,7 +609,9 @@
                                    data.ExecCode = "Scan";
                                    data.PkgLevel = dtl.PKG_LEVEL;
                                    CurCmd = data;
                                    action.Data.Data = data;
                                    CurStep.Message = Biz.L("扫描标签");
                                    CurStep.Status = StepStatus.Normal;
                                    action.Data.Data = data;
                                    action.Data.ShortMsg = new("扫描标签", ShortMessage.Types.Normal);
                                    //action.LocaleMsg = new($"请扫描第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签条码");
                                    action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseScanLabel", dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME);
@@ -595,7 +627,9 @@
                                    data.PrintLable = LabelDic[dtl.PKG_LEVEL];
                                    CurCmd = data;
                                    PrintTimes++;
                                    action.Data.Data = data;
                                    CurStep.Message = Biz.L("打印标签");
                                    CurStep.Status = StepStatus.Normal;
                                    action.Data.Data = data;
                                    action.Data.ShortMsg = new("打印标签", ShortMessage.Types.Normal);
                                    //action.LocaleMsg = new Locale($"开始第{PrintTimes}次打印第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签[{LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[dtl.PKG_LEVEL].LABEL_NAME}]");
                                    action.LocaleMsg = new Locale("MES.WorkAction.PackingAction.BeginPrint", PrintTimes, dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME, LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE, LabelDic[dtl.PKG_LEVEL].LABEL_NAME);                
@@ -611,6 +645,8 @@
                    //数据异常
                    else
                    {
                        CurStep.Message = Biz.L("包装错误");
                        CurStep.Status = StepStatus.Error;
                        action.Data.ShortMsg = new("包装错误", ShortMessage.Types.Error);
                        var pdtl = PkgRule.Details.First(q => q.PKG_LEVEL == pInput.PkgLevel);
                        action.IsSuccessed = false;
@@ -622,6 +658,8 @@
            }
            catch (System.Exception ex)
            {
                CurStep.Message = Biz.L("包装异常");
                CurStep.Status = StepStatus.Error;
                action.Data.ShortMsg = new("包装异常", ShortMessage.Types.Exception);
                var dtl = PkgRule.Details.First(q => q.PKG_LEVEL == pInput.PkgLevel);
                action.CatchExceptionWithLog(ex, $"包装行为:扫描第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签条码[{input.SN}]后保存数据失败");
@@ -656,6 +694,8 @@
            data.ExecCode = "Complete";
            data.PkgLevel = CurPkg.Item.PKG_LEVEL;
            CurCmd = data;
            CurStep.Message = Biz.L("保存包装数据");
            CurStep.Status = StepStatus.Normal;
            action.Data.Data = data;
            action.Data.ShortMsg = new("保存包装数据", ShortMessage.Types.Normal);
            //action.LocaleMsg = new($"第{CurPkg.Item.PKG_LEVEL}层包装[{CurPkg.Item.PKG_NAME}]已经全部完成,保存包装数据");
@@ -791,6 +831,7 @@
            }
            IsFinished = true;
            CurStep.Message = Biz.L("包装完成");
            CurStep.Status = StepStatus.Finished;
            action.Data.ShortMsg = new("包装完成", ShortMessage.Types.Success);
            
Tiger.Business.MES/WorkAction/PrintLabel.cs
@@ -68,6 +68,8 @@
            action.Data.Data = Label;
            //如果返回成功则认为当前行为可以开始执行,否则返回失败
            CurStep.Message = Biz.L("打印开始");
            CurStep.Status = StepStatus.Normal;
            action.IsSuccessed = true;
            action.Data.ShortMsg = new("打印开始", ShortMessage.Types.Success);
            return action;
@@ -88,6 +90,8 @@
            //提交数据执行失败
            else
            {
                CurStep.Message = Biz.L("打印失败");
                CurStep.Status = StepStatus.Error;
                action.Data.ShortMsg = new("打印失败", ShortMessage.Types.Failed);
                action.IsSuccessed = false;
                //action.LocaleMsg = new($"标签{Label.LABEL_NAME}[{Label.LABEL_CODE}]打印失败", Label.LABEL_NAME);
@@ -163,6 +167,7 @@
            };
            IsFinished = true;
            CurStep.Message = Biz.L("打印完成");
            CurStep.Status = StepStatus.Finished;
            action.Data.ShortMsg = new("打印完成", ShortMessage.Types.Success);
            //action.LocaleMsg = new($"标签{Label.LABEL_NAME}[{Label.LABEL_CODE}]打印成功", Label.LABEL_NAME);
Tiger.Business.MES/WorkAction/VerifyItem.cs
@@ -64,6 +64,8 @@
            action = Submit(input);
            //如果返回成功则认为当前行为可以开始执行,否则返回失败
            //CurStep.Message = Biz.L("验证开始");
            //CurStep.Status = StepStatus.Normal;
            //action.IsSuccessed = true;
            //action.Data.ShortMsg = new("验证开始", ShortMessage.Types.Success);
            return action;
@@ -98,6 +100,8 @@
                //验证逻辑
                //if (input.SN.IsNullOrEmpty())
                {
                    CurStep.Message = Biz.L("验证失败");
                    CurStep.Status = StepStatus.Error;
                    action.Data.ShortMsg = new("验证失败", ShortMessage.Types.Failed);
                    action.IsSuccessed = isOK = false;
                    //action.LocaleMsg = new Locale($"错误:[{ExtInfo.FIELD_NAME}]标签条码不能为空,请重新扫描");
@@ -105,6 +109,8 @@
                }
                //if (CurPosition.CurWipSNs.Any(w => w.SN == input.SN))
                {
                    CurStep.Message = Biz.L("验证失败");
                    CurStep.Status = StepStatus.Error;
                    action.Data.ShortMsg = new("验证失败", ShortMessage.Types.Failed);
                    action.IsSuccessed = isOK = false;
                    //action.LocaleMsg = new Locale($"错误:扫描到产品条码[{input.SN}],请重新扫描[{ExtInfo.FIELD_NAME}]标签条码");
@@ -121,6 +127,8 @@
            }
            catch (System.Exception ex)
            {
                CurStep.Message = Biz.L("验证异常");
                CurStep.Status = StepStatus.Error;
                action.Data.ShortMsg = new("验证异常", ShortMessage.Types.Exception);
                action.CatchExceptionWithLog(ex, $"验证异常");
                action.IsSuccessed = false;
@@ -192,6 +200,7 @@
            };
            IsFinished = true;
            CurStep.Message = Biz.L("验证通过");
            CurStep.Status = StepStatus.Finished;
            action.Data.ShortMsg = new("验证通过", ShortMessage.Types.Success);
            //action.LocaleMsg = new($"产品[{CurPosition.CurSN}]验证通过");
Tiger.Business.MES/WorkAction/Weighing.cs
@@ -83,6 +83,8 @@
            action.LocaleMsg = GetBeginMsg();
            //如果返回成功则认为当前行为可以开始执行,否则返回失败
            CurStep.Message = Biz.L("称重开始");
            CurStep.Status = StepStatus.Normal;
            action.IsSuccessed = true;
            action.Data.ShortMsg = new("称重开始", ShortMessage.Types.Success);
            return action;
@@ -123,6 +125,8 @@
            }
            catch (System.Exception ex)
            {
                CurStep.Message = Biz.L("称重异常");
                CurStep.Status = StepStatus.Error;
                action.Data.ShortMsg = new("称重异常", ShortMessage.Types.Error);
                action.CatchExceptionWithLog(ex, $"称重行为:条码[{CurPosition.CurSN}]称重数据[{input?.Data?.ToString()}]保存异常");
                action.LocaleMsg = new("MES.WorkAction.Weighing.SaveWeightInfoException", CurPosition.CurSN, input?.Data.ToString());
@@ -193,6 +197,7 @@
            };
            IsFinished = true;
            CurStep.Message = Biz.L("称重完成");
            CurStep.Status = StepStatus.Finished;
            action.Data.ShortMsg = new("称重完成", ShortMessage.Types.Success);
            //action.LocaleMsg = new($"条码[{CurPosition.CurSN}]称重数据[{CurPkg.WEIGHT} {CurPkg.WEIGHT_UNIT}]保存成功");
Tiger.Business.MES/WorkAction/WipExtInfo.cs
@@ -82,6 +82,8 @@
            action.LocaleMsg = GetBeginMsg();
            //如果返回成功则认为当前行为可以开始执行,否则返回失败
            CurStep.Message = Biz.L("绑定开始");
            CurStep.Status = StepStatus.Normal;
            action.IsSuccessed = true;
            action.Data.ShortMsg = new("绑定开始", ShortMessage.Types.Success);
            return action;
@@ -116,6 +118,8 @@
                //验证扫描的条码是否SN的扩展信息的标签
                if (input.SN.IsNullOrEmpty())
                {
                    CurStep.Message = Biz.L("绑定失败");
                    CurStep.Status = StepStatus.Error;
                    action.Data.ShortMsg = new("绑定失败", ShortMessage.Types.Failed);
                    action.IsSuccessed = isOK = false;
                    //action.LocaleMsg = new Locale($"错误:[{ExtInfo.FIELD_NAME}]标签条码不能为空,请重新扫描");
@@ -123,6 +127,8 @@
                }
                if (CurPosition.CurWipSNs.Any(w => w.SN == input.SN))
                {
                    CurStep.Message = Biz.L("绑定失败");
                    CurStep.Status = StepStatus.Error;
                    action.Data.ShortMsg = new("绑定失败", ShortMessage.Types.Failed);
                    action.IsSuccessed = isOK = false;
                    //action.LocaleMsg = new Locale($"错误:扫描到产品条码[{input.SN}],请重新扫描[{ExtInfo.FIELD_NAME}]标签条码");
@@ -140,6 +146,8 @@
            }
            catch (System.Exception ex)
            {
                CurStep.Message = Biz.L("绑定异常");
                CurStep.Status = StepStatus.Error;
                action.Data.ShortMsg = new("绑定异常", ShortMessage.Types.Exception);
                action.CatchExceptionWithLog(ex, $"扩展信息绑定行为:产品[{CurPosition.CurSN}]绑定[{ExtInfo.FIELD_NAME}]标签条码[{input.SN}]保存异常");
                action.IsSuccessed = false;
@@ -214,6 +222,7 @@
            };
            IsFinished = true;
            CurStep.Message = Biz.L("绑定完成");
            CurStep.Status = StepStatus.Finished;
            action.Data.ShortMsg = new("绑定完成", ShortMessage.Types.Success);
            //action.LocaleMsg = new($"产品[{CurPosition.CurWipSN.SN}]绑定[{ExtInfo.FIELD_NAME}]标签条码[{CurWipExt.GetType().GetProperty($"FIELD_{ExtInfo.SEQ.ToString("00")}")?.GetValue(CurWipExt)?.ToString()}]保存成功");
Tiger.Business.WMS/Minsun/Shelf.cs
@@ -11,7 +11,6 @@
using System.Data;
using System.Text.RegularExpressions;
using System.Text;
using System.DirectoryServices.ActiveDirectory;
using Dm;
using Tiger.Model.DigitalTwin;
using System.IO;
Tiger.Business.WMS/Minsun/iWMS.cs
@@ -13,7 +13,6 @@
using System.Data;
using System.Text.RegularExpressions;
using System.Text;
using System.DirectoryServices.ActiveDirectory;
using Dm;
using System.Reflection;
using Apache.NMS.ActiveMQ.Commands;
Tiger.Business.WMS/Transaction/OtherInLocationChecking.cs
@@ -9,7 +9,6 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.DirectoryServices.ActiveDirectory;
using System.Reflection.Emit;
using Tiger.Model;
using Tiger.IBusiness;
Tiger.Business.WMS/Transaction/OutSplit.cs
@@ -8,7 +8,6 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.DirectoryServices.ActiveDirectory;
using Tiger.Model;
using Org.BouncyCastle.Ocsp;
using Newtonsoft.Json;
Tiger.Business.WMS/Transaction/ShelfRemote.cs
@@ -8,7 +8,6 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.DirectoryServices.ActiveDirectory;
using Tiger.Model;
using Org.BouncyCastle.Ocsp;
using Newtonsoft.Json;
Tiger.Business.WMS/WMS_ITEM_Biz.cs
@@ -3,7 +3,6 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.DirectoryServices.ActiveDirectory;
using System.Linq;
using System.Threading.Tasks;
using Tiger.IBusiness;
Tiger.Business.WMS/iWMS/RePrintBarcode.cs
@@ -3,7 +3,6 @@
using Rhea.Common;
using System;
using System.Collections.Generic;
using System.DirectoryServices.ActiveDirectory;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
Tiger.IBusiness/Common/IStep.cs
@@ -62,12 +62,14 @@
    public enum StepStatus
    {
        [Description("正常")]
        Normal = 0,
        Normal,
        [Description("成功")]
        Success,
        [Description("错误")]
        Error = 1,
        Error,
        [Description("警告")]
        Warning = 2,
        Warning,
        [Description("完成")]
        Finished = 3,
        Finished,
    }
}
Tiger.IBusiness/Tiger.IBusiness.csproj
@@ -16,10 +16,9 @@
    <PackageReference Include="Autofac.Extensions.DependencyInjection" Version="9.0.0" />
    <PackageReference Include="MailKit" Version="4.5.0" />
    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
    <PackageReference Include="MQTTnet" Version="4.3.3.952" />
    <PackageReference Include="NLog" Version="5.2.8" />
    <PackageReference Include="NLog.Database" Version="5.2.8" />
    <PackageReference Include="Rhea.Common" Version="6.1.7.1356" />
    <PackageReference Include="Rhea.Common" Version="6.1.7.1358" />
    <PackageReference Include="Sundial" Version="2.45.0" />
  </ItemGroup>
Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs
@@ -219,6 +219,7 @@
        /// 是否批次物料
        /// </summary>
        public bool IsBatchItem { get; set; }
        public List<BAS_ITEM> SubItems { get; set; } = new List<BAS_ITEM>();
        public List<MES_WIP_ASSY> Records { get; set; } = new List<MES_WIP_ASSY>();
        public bool IsFinished { get; set; } = false;
    }