服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-08-26 1bcc9f898b1cb745bda50ac3b177de86f7b661bc
Tiger.Business.MES/WorkAction/PackingAction.cs
@@ -25,6 +25,7 @@
        public MES_WO_ACTION Setting { get; set; }
        #endregion
        public BAS_PKG_RULE PkgRule { get; set; }
        public BAS_PKG_PROD PkgProd { get; set; }
        public WipPkg CurPkg { get; set; }
        public WipPkgItem CurPkgItem { get; set; }
        public PackingActionOutput CurCmd { get; set; }
@@ -68,6 +69,8 @@
            LabelPV = Biz.Db.Queryable<BAS_LABEL_PV>().ToList();
            //获取是否包装完后需要称重
            NeedWeighing = Setting.OPTION_2 == "Y";
            //获取包装规则的称重范围
            PkgProd = Biz.Db.Queryable<BAS_PKG_PROD>().Where(q => q.PKG_RULE_ID == PkgRule.ID && q.ITEM_CODE == CurPosition.WorkBatch.WO.ITEM_CODE).First();
            //如果工序上下文中没有包装记录则新建一个,有则获取当前的包装记录
            if (CurPosition.Context.ContainsKey("CurPackage") && !CurPosition.Context["CurPackage"].IsNullOrEmpty())
            {
@@ -280,6 +283,17 @@
                    {
                        if (!pInput.WeightInfo.IsNullOrEmpty() && pInput.WeightInfo.Weight > 0)
                        {
                            //验证重量数据是否符合设置好的重量范围
                            if (!PkgProd.IsNullOrEmpty() && (pInput.WeightInfo.Weight < PkgProd.MIN_WEIGHT || PkgProd.MIN_WEIGHT < pInput.WeightInfo.Weight))
                            {
                                action.IsSuccessed = false;
                                action.Data.Data = CurCmd;
                                action.Data.ShortMsg = new("重量超限", ShortMessage.Types.Failed);
                                //action.LocaleMsg = new($"外包装重量[{0}]超出产品[{1}]在包装规则[{2}]中的预设范围[{3} - {4}],请处理后重新上称称重");
                                action.LocaleMsg = new("MES.WorkAction.PackingAction.PackageOverWeight", pInput.WeightInfo.Weight + pInput.WeightInfo.Unit.IsNullOrEmpty("", " " + pInput.WeightInfo.Unit), CurPosition.WorkBatch.WO.ITEM_CODE, PkgRule.RULE_NAME, PkgProd.MIN_WEIGHT + PkgProd.MIN_UNIT.IsNullOrEmpty("", " " + PkgProd.MIN_UNIT), PkgProd.MAX_WEIGHT + PkgProd.MAX_UNIT.IsNullOrEmpty("", " " + PkgProd.MAX_UNIT));
                                return action;
                            }
                            CurCmd = null;
                            PrintTimes = 0;
                            CurPkg.WeightInfo.Weight = pInput.WeightInfo.Weight;