From aa7d6bef3b1f3437b69ef21f8af4ace39939d2b9 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期五, 17 一月 2025 01:57:45 +0800 Subject: [PATCH] 优化库存管理和标签重打印逻辑 --- Tiger.Model.Net/Entitys/WMS/WMS_ITEM_PKG.cs | 30 ++++++++++++++++++++++++++++-- 1 files changed, 28 insertions(+), 2 deletions(-) diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_PKG.cs b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_PKG.cs index 8861582..c68a20b 100644 --- a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_PKG.cs +++ b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_PKG.cs @@ -120,6 +120,16 @@ /// </summary> public string PRINT_USER { get; set; } /// <summary> + /// 閲嶉噺 + /// </summary> + [DisplayName("閲嶉噺")] + public double WEIGHT { get; set; } + /// <summary> + /// 閲嶉噺鍗曚綅 + /// </summary> + [DisplayName("閲嶉噺鍗曚綅")] + public string WEIGHT_UNIT { get; set; } + /// <summary> /// 澶囨敞 /// </summary> public string REMARK { get; set; } @@ -157,8 +167,10 @@ // [SugarColumn(IsIgnore = true)] // public List<WMS_ITEM_PKG> Children => ChildrenWithGhost?.Where(q => !q.GHOST_ROW).ToList() ?? new List<WMS_ITEM_PKG>(); //BAS_ITEM, WMS_WAREHOUSE, WMS_REGION, WMS_SHELF, WMS_LOCATION - [Navigate(NavigateType.OneToOne, nameof(ITEM_CODE), nameof(BAS_ITEM.ITEM_CODE), "GHOST_ROW = 0")]//涓�瀵逛竴 ClassAId鏄疻MS_ITEM_PKG绫婚噷闈㈢殑澶栭敭ID瀛楁 - public BAS_ITEM ItemInfo { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + [Navigate(NavigateType.OneToMany, nameof(BAS_ITEM.ITEM_CODE), nameof(ITEM_CODE), "GHOST_ROW = 0")] + public List<BAS_ITEM> _ItemInfos { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + [SugarColumn(IsIgnore = true)] + public BAS_ITEM ItemInfo => _ItemInfos?.FirstOrDefault(q => q.AUTH_ORG == AUTH_ORG); [Navigate(NavigateType.OneToOne, nameof(SN), nameof(WMS_ITEM.SN), "GHOST_ROW = 0")]//涓�瀵逛竴 ClassAId鏄疻MS_ITEM_PKG绫婚噷闈㈢殑澶栭敭ID瀛楁 public WMS_ITEM Item { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull [Navigate(NavigateType.OneToOne, nameof(SN), nameof(WMS_ITEM_EXT.SN), "GHOST_ROW = 0")]//涓�瀵逛竴 ClassAId鏄疻MS_ITEM_PKG绫婚噷闈㈢殑澶栭敭ID瀛楁 @@ -193,7 +205,21 @@ #endregion #region 鍏叡鏂规硶 + public static List<WMS_ITEM_PKG> UpdateQty(List<WMS_ITEM_PKG> list) + { + var minPkgs = list.Where(q => !list.Any(p => p.PARENT_SN == q.SN)); + var parent = list.Where(q => minPkgs.Any(p => p.PARENT_SN == q.SN)); + while (parent.Any()) + { + foreach (var item in parent) + { + item.QTY = list.Where(q => q.PARENT_SN == item.SN).Sum(q => q.QTY); + } + parent = list.Where(q => parent.Any(p => p.PARENT_SN == q.SN)); + } + return list; + } #endregion }//endClass -- Gitblit v1.9.3