服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-08-08 72080a2270d06efe6c9d44fbb82e7edf28d14f05
包装行为增加已扫条码验证,不允许重复扫描
已修改2个文件
22 ■■■■■ 文件已修改
Tiger.Api/Language.db 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/PackingAction.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Api/Language.db
Binary files differ
Tiger.Business.MES/WorkAction/PackingAction.cs
@@ -194,15 +194,8 @@
                case "Scan":
                    if (CurCmd.IsNullOrEmpty() || CurCmd.ExecCode == "Scan" || (CurCmd.ExecCode == "Print" && CurCmd.PkgLevel == pInput.PkgLevel))
                    {
                        //客户端扫描成功
                        if (pInput.IsFinish)
                        {
                            CurCmd = null;
                            PrintTimes = 0;
                            action = SavePkgData(input, action);
                        }
                        //客户端扫描失败
                        else
                        if (!pInput.IsFinish || pInput.PkgSN.IsNullOrEmpty())
                        {
                            var dtl = PkgRule.Details.First(q => q.PKG_LEVEL == pInput.PkgLevel);
                            action.IsSuccessed = false;
@@ -210,6 +203,19 @@
                            action.LocaleMsg = new("MES.WorkAction.PackingAction.ScanFail", dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME);
                            return action;
                        }
                        //验证当前包装条码是否已经被扫描过
                        if (GetPackageList(CurPkg.Item).Any(q => q.SN == pInput.PkgSN))
                        {
                            var dtl = PkgRule.Details.First(q => q.PKG_LEVEL == pInput.PkgLevel);
                            action.IsSuccessed = false;
                            //action.LocaleMsg = new($"条码[{pInput.PkgSN}]无需重复扫描,请扫描第{dtl.PKG_LEVEL}层包装[{dtl.PkgType.PKG_NAME}]的标签条码");
                            action.LocaleMsg = new("MES.WorkAction.PackingAction.ScanRepeat", pInput.PkgSN, dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME);
                            return action;
                        }
                        //客户端扫描成功
                        CurCmd = null;
                        PrintTimes = 0;
                        action = SavePkgData(input, action);
                    }
                    break;
                //Print:打印,打印当前包装层级的标签