From 952c07fee747bcdeff25323a456827fe2706c2c9 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期二, 26 三月 2024 16:29:55 +0800
Subject: [PATCH] Merge branch 'master' into wxw

---
 Wms/WMS.BLL/Logic/AllotSku.cs |   91 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 89 insertions(+), 2 deletions(-)

diff --git a/Wms/WMS.BLL/Logic/AllotSku.cs b/Wms/WMS.BLL/Logic/AllotSku.cs
index 3b600fd..e54bfcb 100644
--- a/Wms/WMS.BLL/Logic/AllotSku.cs
+++ b/Wms/WMS.BLL/Logic/AllotSku.cs
@@ -2,6 +2,8 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
+using Model.ModelDto.DataDto;
+using SqlSugar;
 using WMS.Entity.Context;
 using WMS.Entity.DataEntity;
 using WMS.Entity.SysEntity;
@@ -54,8 +56,10 @@
                 decimal qty = 0; //鍒嗛厤鐨勬�绘暟閲�
                 var ztNum = needQty / fullPalletQty;//闇�瑕佹暣鎵樻暟
 
-                var zps = palletList.Where(s => s.Qty >= fullPalletQty).ToList();//鏁存墭
-                var sps = palletList.Where(s => s.Qty < fullPalletQty).ToList();//鏁f墭(鏈夊彲鑳芥槸琚攣瀹氫簡鏁伴噺鐨�) 
+                var list = GetDataListOrderByDept(palletList);
+
+                var zps = list.Where(s => s.Qty >= fullPalletQty).ToList();//鏁存墭
+                var sps = list.Where(s => s.Qty < fullPalletQty).ToList();//鏁f墭(鏈夊彲鑳芥槸琚攣瀹氫簡鏁伴噺鐨�) 
 
                 if (allotSet == 0)//浼樺厛闆剁锛堝嚭瀹岄浂绠卞嚭鏁寸锛�
                 {
@@ -218,6 +222,7 @@
 
         //--------------------------------------------------------------------------------------------------------------
 
+        #region MyRegion
 
         ///// <summary>
         ///// 鑾峰緱鑳屽寘鎵块噸w锛岃璐х墿o锛屼粠绗琸浠跺悜鍚庤�冭檻锛屽緱鍒扮殑鏈�澶т环鍊�
@@ -260,5 +265,87 @@
         //    return a > b ? a : b;
         //}
 
+        #endregion
+
+
+        private List<StockDetailDto> GetDataListOrderByDept(List<DataStockDetail> palletList)
+        {
+            try
+            {
+                var Db = DataContext.Db;
+                var data = new List<StockDetailDto>();
+
+                var list = palletList.Select(m => new StockDetailDto()
+                {
+                    Id = m.Id,
+                    LotNo = m.LotNo,
+                    LotText = m.LotText,
+                    SupplierLot = m.SupplierLot,
+                    OwnerNo = m.OwnerNo,
+                    OwnerName = m.OwnerName,
+                    SupplierNo = m.SupplierNo,
+                    SupplierName = m.SupplierName,
+                    SkuNo = m.SkuNo,
+                    SkuName = m.SkuName,
+                    Standard = m.Standard,
+                    Qty = m.Qty,
+                    LockQty = m.LockQty,
+                    FrozenQty = m.FrozenQty,
+                    InspectQty = m.InspectQty,
+                    ASNNo = m.ASNNo,
+                    ASNDetailNo = m.ASNDetailNo,
+                    WareHouseNo = m.WareHouseNo,
+                    RoadwayNo = m.RoadwayNo,
+                    AreaNo = m.AreaNo,
+                    LocatNo = m.LocatNo,
+                    PalletNo = m.PalletNo,
+                    PalletNo2 = m.PalletNo2,
+                    PalletNo3 = m.PalletNo3,
+                    CompleteTime = m.CompleteTime,
+                    ProductionTime = m.ProductionTime,
+                    ExpirationTime = m.ExpirationTime,
+                    Status = m.Status,
+                    InspectMark = m.InspectMark,
+                    BitPalletMark = m.BitPalletMark,
+                    InspectStatus = m.InspectStatus,
+                    InspectTime = m.InspectTime,
+                    PackagNo = m.PackagNo,
+                    IsBale = m.IsBale,
+                    IsBelt = m.IsBelt,
+                    Demo = m.Demo,
+
+                }).ToList();
+                //搴撳鎵樼洏
+                var detail1 = list.Where(m => string.IsNullOrWhiteSpace(m.LocatNo)).ToList();
+                //骞冲簱鍐呮墭鐩�
+                var detail2 = list.Where(m => m.WareHouseNo == "W02").ToList();
+                //绔嬪簱鍐呮墭鐩�
+                var detail3 = list.Where(m => m.WareHouseNo == "W01").ToList();
+
+                foreach (var item in detail2)
+                {
+                    var dept = item.LocatNo.Substring(5,2);
+
+                    item.Dept = int.Parse(dept);
+                }
+                foreach (var item in detail3)
+                {
+                    var dept = item.LocatNo.Substring(6, 2);
+
+                    item.Dept = int.Parse(dept);
+                }
+                data.AddRange(detail1);
+                data.AddRange(detail2.OrderBy(m => m.Dept).ToList());
+                data.AddRange(detail3.OrderBy(m => m.Dept).ToList());
+
+                return data;
+            }
+            catch (Exception e)
+            {
+                throw new Exception(e.Message);
+            }
+        }
+
+
     }
 }

--
Gitblit v1.8.0