服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-10-13 6c781d6e14d4fbd6903006d71acdf45ec87632c1
Tiger.Business.MES/WorkAction/PackingAction.cs
@@ -893,39 +893,42 @@
            }
            else
            {
                var _pkgList = CurPkg.IsFinished ? GetPackageList(CurPkg.Item) : new();
                //最外层包装已经完成包装,则把工序中暂存标记设为false,统一提交包装内产品的过站记录
                CurPosition.NeedTemporaryStoreDBCommitAction = false;
                //保存数据
                CurPosition.SaveStepsCommitActionToDB(() =>
                if (CurPkg.IsFinished)
                {
                    var db = CurPosition.GetCommitDB();
                    if (_pkgList.Any())
                    {
                        db.Storageable(_pkgList, CurPosition.UserCode).ExecuteCommand();
                        foreach (var pkg in _pkgList)
                        {
                            //包装信息保存到在制品信息表
                            db.Updateable<MES_WIP_DATA>()
                                .SetColumns(q => q.TRAY_SN == CurPkg.Item.Package.SN)
                                .SetColumns(q => q.INNER_SN == q.CARTON_SN)
                                .SetColumns(q => q.CARTON_SN == CurPkg.Item.Package.SN)
                                .Where(q => q.WORK_ORDER == pkg.WORK_ORDER && q.SN == pkg.SN)
                                .ExecuteCommand();
                            //包装信息保存到工单条码明细表
                            db.Updateable<BIZ_MES_WO_SN>()
                                .SetColumns(q => q.TRAY_SN == CurPkg.Item.Package.SN)
                                .SetColumns(q => q.OUTER_SN == CurPkg.Item.Package.SN)
                                .Where(q => q.WORK_ORDER == pkg.WORK_ORDER && q.SN == pkg.SN)
                                .ExecuteCommand();
                        }
                    }
                });
                //如果当前条码已经完工,检查当前工单批次和工单是否完工
                //if (action.Data.OperInfo.IsReachedEndNode)
                {
                    CurPosition.WorkBatch.CheckIsComplete(CurPosition.UserCode);
                   var _pkgList = GetPackageList(CurPkg.Item);
                   //最外层包装已经完成包装,则把工序中暂存标记设为false,统一提交包装内产品的过站记录
                   CurPosition.NeedTemporaryStoreDBCommitAction = false;
                   //保存数据
                   CurPosition.SaveStepsCommitActionToDB(() =>
                   {
                       var db = CurPosition.GetCommitDB();
                       if (_pkgList.Any())
                       {
                           db.Storageable(_pkgList, CurPosition.UserCode).ExecuteCommand();
                           foreach (var pkg in _pkgList)
                           {
                               //包装信息保存到在制品信息表
                               db.Updateable<MES_WIP_DATA>()
                                   .SetColumns(q => q.TRAY_SN == CurPkg.Item.Package.SN)
                                   .SetColumns(q => q.INNER_SN == q.CARTON_SN)
                                   .SetColumns(q => q.CARTON_SN == CurPkg.Item.Package.SN)
                                   .Where(q => q.WORK_ORDER == pkg.WORK_ORDER && q.SN == pkg.SN)
                                   .ExecuteCommand();
                               //包装信息保存到工单条码明细表
                               db.Updateable<BIZ_MES_WO_SN>()
                                   .SetColumns(q => q.TRAY_SN == CurPkg.Item.Package.SN)
                                   .SetColumns(q => q.OUTER_SN == CurPkg.Item.Package.SN)
                                   .Where(q => q.WORK_ORDER == pkg.WORK_ORDER && q.SN == pkg.SN)
                                   .ExecuteCommand();
                           }
                       }
                   });
                   //如果当前条码已经完工,检查当前工单批次和工单是否完工
                   if (CurPkg.IsReachedEndNode)
                   {
                       CurPosition.WorkBatch.CheckIsComplete(CurPosition.UserCode);
                   }
                }
            }