服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2025-03-19 9e5eb7707c9a42e2515a583b40078d2d7685e2d0
Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs
@@ -33,7 +33,7 @@
        #region Propertys & Variables
        //private List<WmsOrder<BIZ_U9_ASN>> _OrderList { get; set; } = new();
        private List<string> OrderList = new();
        private BIZ_U9_ASN_SN CurSn = new();
        private List<BIZ_U9_ASN_SN> CurSn = new();
      private List<BIZ_U9_ASN_SN> ScanList = new();
      #endregion
@@ -100,8 +100,20 @@
                        action.LocaleMsg = Biz.L("WMS.WmsItem.Barcode.IllegalFailure", input.SN);
                        return action;
                    }
                    CurSn = MainDB.Queryable<BIZ_U9_ASN_SN>().Where(q => q.SN == barcode.SN).First();
                    if (barcode.Type == Barcode.Types.OuterPackage)
                    {
                        CurSn = MainDB.Queryable<BIZ_U9_ASN_SN>().Where(q => q.CARTON_NO == barcode.SN).ToList();
                    }
                    else
                    {
                        CurSn = MainDB.Queryable<BIZ_U9_ASN_SN>().Where(q => q.SN == barcode.SN).ToList();
                        foreach (var sn in CurSn)
                        {
                            sn.META_SN = input.SN;
                        }
                    }
                    if (CurSn.IsNullOrEmpty())
                   {
                        action.IsSuccessed = false;
@@ -109,22 +121,22 @@
                        action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.SnNotExists", input.SN);
                        return action;
                    }
                    if (CurSn.AUTH_ORG != input.AuthOption.CurOrg)
                    if (CurSn.First().AUTH_ORG != input.AuthOption.CurOrg)
                    {
                        action.IsSuccessed = false;
                        //action.LocaleMsg = Biz.L($"条码所属组织[{0}]与当前登录组织[{1}]不一致,请重新选择组织");
                        action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.OrgNotCorrect", CurSn.AUTH_ORG, input.AuthOption.CurOrg);
                        action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.OrgNotCorrect", CurSn.First().AUTH_ORG, input.AuthOption.CurOrg);
                        return action;
                    }
                    //验证条码是否正确
                    if (CurSn.STATUS > WMS_ITEM.STATUSs.Incoming.GetValue())
                    if (CurSn.First().STATUS > WMS_ITEM.STATUSs.Incoming.GetValue())
                    {
                        action.IsSuccessed = false;
                        //action.LocaleMsg = Biz.L("状态[{0}]异常,请重新扫描");
                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.StatusException", CurSn.STATUS.GetEnumDesc<WMS_ITEM.STATUSs>());
                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.StatusException", CurSn.First().STATUS.GetEnumDesc<WMS_ITEM.STATUSs>());
                        return action;
                    }
                    CurSn.META_SN = input.SN;
                    Result<IInventory> result = WMS_ITEM_Biz.WmsItem.Get(barcode.SN, input.AuthOption, true);
                    if (!result.IsSuccessed)
@@ -258,20 +270,24 @@
                }
                //执行清点数据处理
                CurSn.STATUS = WMS_ITEM.STATUSs.Counted.GetValue();
                CurSn.QTY = CurInvItem.Items.Sum(q => q.QTY);
                CurSn.RECEIVER = UserCode;
                CurSn.RECEIVE_DATE = DateTime.Now;
                foreach (var sn in CurSn)
                {
                    sn.STATUS = WMS_ITEM.STATUSs.Counted.GetValue();
                    sn.QTY = CurInvItem.Items.Where(q => q.SN == sn.SN).Sum(q => q.QTY);
                    sn.RECEIVER = UserCode;
                    sn.RECEIVE_DATE = DateTime.Now;
                }
                foreach (var item in CurInvItem.Items)
            {
               item.AUTH_ORG = CurSn.AUTH_ORG;
                    var sn = CurSn.First(q => q.SN == item.SN);
                    item.AUTH_ORG = sn.AUTH_ORG;
               item.STATUS = WMS_ITEM.STATUSs.Counted.GetValue();
               item.SOURCE_CODE = item.TRANS_CODE;
               item.SOURCE_ORDER = item.TRANS_NO;
               item.SOURCE_LINE = item.TRANS_LINE;
               item.TRANS_CODE = nameof(BIZ_U9_ASN);
               item.TRANS_NO = CurSn.ORDER_NO;
               item.TRANS_LINE = CurSn.LINE_NO;
               item.TRANS_NO = sn.ORDER_NO;
               item.TRANS_LINE = sn.LINE_NO;
               CurInvItem.History.Add(new WMS_ITEM_HIS(item, $"条码[{CurInvItem.SN}]清点完成,操作单据[{item.TRANS_NO}]"));
            }
@@ -295,7 +311,7 @@
               db.Storageable(_Packages, UserCode).ToStorage().AsInsertable.ExecuteCommand();
                    db.Insertable(_History, UserCode).ExecuteCommand();
               var e = db.Storageable(_ItemsExt, UserCode).ToStorage().AsInsertable.ExecuteCommand();//不存在插入
               db.Updateable<BIZ_U9_ASN>(UserCode).SetColumns(q => q.STATUS == BIZ_U9_ASN.STATUSs.Counting.GetValue()).Where(q => q.ORDER_NO == _CurSn.ORDER_NO).ExecuteCommand();
               db.Updateable<BIZ_U9_ASN>(UserCode).SetColumns(q => q.STATUS == BIZ_U9_ASN.STATUSs.Counting.GetValue()).Where(q => q.ORDER_NO == _CurSn.First().ORDER_NO).ExecuteCommand();
               db.Storageable(_CurSn, UserCode).ExecuteCommand();
                });
@@ -322,11 +338,11 @@
            //保存数据库
            SaveCommitListToDB();
         if (!OrderList.Contains(CurSn.ORDER_NO))
         if (!OrderList.Contains(CurSn.First().ORDER_NO))
         {
            OrderList.Add(CurSn.ORDER_NO);
            OrderList.Add(CurSn.First().ORDER_NO);
         }
         ScanList.Add(CurSn);
         ScanList.AddRange(CurSn);
         // 返回数据
         action.Data.Data = ScanList;