From 24ea35cb1a3a43dc137d15009cbbcb0904759c85 Mon Sep 17 00:00:00 2001
From: Demo <Demo@DESKTOP-CPA90BF>
Date: 星期六, 16 三月 2024 16:57:08 +0800
Subject: [PATCH] 修改BUG问题

---
 Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs  |    2 
 HTML/views/SOSetting/ExportAllot.html         |   46 ++++++----
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs |   74 ++++++++++++------
 Wms/WMS.BLL/Logic/AllotSku.cs                 |   54 +++++++++++++
 Wms/Model/ModelDto/DataDto/StockDetailDto.cs  |    5 +
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs       |    8 ++
 6 files changed, 141 insertions(+), 48 deletions(-)

diff --git a/HTML/views/SOSetting/ExportAllot.html b/HTML/views/SOSetting/ExportAllot.html
index 7651448..611e0be 100644
--- a/HTML/views/SOSetting/ExportAllot.html
+++ b/HTML/views/SOSetting/ExportAllot.html
@@ -829,25 +829,33 @@
 				console.log(obj);
 				if (obj.event === 'del') {
 					layer.confirm('纭畾鎾ら攢閫変腑鐨勫垎閰嶄俊鎭悧锛�', function (index) {
-						var param = {
-							Id: parseInt(obj.data.Id)
-						};
-						sendData(IP + "/BllSo/DelExportAllot", param, 'post', function (res) {
-							console.log(res);
-							if (res.code == 0) { //鎴愬姛
-								layer.msg(res.msg, {
-									icon: 1,
-									time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-								}, function () {
-									refreshTable();
-								});
-							} else { //涓嶆垚鍔�
-								layer.msg(res.msg, {
-									icon: 2,
-									time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-								}, function () { });
-							}
-						});
+						if (doing) {
+							doing = false;
+
+							var param = {
+								Id: parseInt(obj.data.Id)
+							};
+							sendData(IP + "/BllSo/DelExportAllot", param, 'post', function (res) {
+								console.log(res);
+								if (res.code == 0) { //鎴愬姛
+									layer.msg(res.msg, {
+										icon: 1,
+										time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+									}, function () {
+										refreshTable();
+										doing = true;
+									});
+								} else { //涓嶆垚鍔�
+									layer.msg(res.msg, {
+										icon: 2,
+										time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+									}, function () {
+										doing = true;
+									 });
+								}
+							});
+						}
+						
 					});
 				}
 			});
diff --git a/Wms/Model/ModelDto/DataDto/StockDetailDto.cs b/Wms/Model/ModelDto/DataDto/StockDetailDto.cs
index e2b0d12..fff1025 100644
--- a/Wms/Model/ModelDto/DataDto/StockDetailDto.cs
+++ b/Wms/Model/ModelDto/DataDto/StockDetailDto.cs
@@ -199,5 +199,10 @@
         /// Nullable:True
         /// </summary>           
         public string Demo { get; set; }
+
+        /// <summary>
+        /// 鍌ㄤ綅娣卞害
+        /// </summary>
+        public int Dept { get; set; }
     }
 }
diff --git a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
index 9b74c1f..8a69d15 100644
--- a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
@@ -768,7 +768,7 @@
                             SupplierLot = supplierLot,
                             InspectMark = "0",
                             BitBoxMark = bNum > boxQty ? "1":"0",
-                            InspectStatus = "",
+                            InspectStatus = "0",
 
                             ProductionTime = DateTime.Parse(productionTime),
                             StoreTime = DateTime.Parse(storeTime),
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index c340e8b..6d8448d 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -469,6 +469,7 @@
                     //淇敼鍑哄簱鍒嗛厤淇℃伅
                     allot.CompleteQty += pickQty;
                     allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3";
+                    allot.UpdateTime = DateTime.Now;
                     Db.Updateable(allot).ExecuteCommand();
                     //鍒犻櫎搴撳瓨鏄庣粏
                     Db.Deleteable(stockDetail).ExecuteCommand();
@@ -642,6 +643,7 @@
                     //淇敼鍑哄簱鍒嗛厤淇℃伅
                     allot.CompleteQty += pickQty;
                     allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3";
+                    allot.UpdateTime = DateTime.Now;
                     if (allot.Status == "5")
                     {
                         //鍒ゆ柇璇ユ墭鐩樻槸鍚﹁繕瀛樺湪鐗╂枡 瀛樺湪鏀逛负寰呭洖搴� 寰呭洖搴撳畬鎴愬悗鏀逛负宸插畬鎴�
@@ -841,6 +843,7 @@
                 //淇敼鍑哄簱鍒嗛厤淇℃伅
                 allot.CompleteQty += int.Parse(PickQty);
                 allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3";
+                allot.UpdateTime = DateTime.Now;
                 Db.Updateable(allot).ExecuteCommand();
 
                 int isDel = 0;
@@ -1503,6 +1506,7 @@
                             OutMode = "",//鍑哄簱鍙�
 
                             CreateUser = userId,
+                            UpdateTime = DateTime.Now
                         };
 
                         var fp = Db.Insertable(addAllot).ExecuteReturnEntity();
@@ -1887,6 +1891,7 @@
                     //淇敼鍑哄簱鍒嗛厤淇℃伅
                     allot.CompleteQty += pickQty;
                     allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3";
+                    allot.UpdateTime = DateTime.Now;
                     if (allot.Status == "5")
                     {
                         //鍒ゆ柇璇ユ墭鐩樻槸鍚﹁繕瀛樺湪鐗╂枡 瀛樺湪鏀逛负寰呭洖搴� 寰呭洖搴撳畬鎴愬悗鏀逛负宸插畬鎴�
@@ -2108,6 +2113,7 @@
                             OutMode = "",//鍑哄簱鍙�
 
                             CreateUser = userId,
+                            UpdateTime = DateTime.Now
                         };
 
                         var fp = Db.Insertable(addAllot).ExecuteReturnEntity();
@@ -2351,6 +2357,8 @@
                     //淇敼鍑哄簱鍒嗛厤淇℃伅
                     allot.CompleteQty += int.Parse(PickQty);
                     allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3";
+
+                    allot.UpdateTime = DateTime.Now;
                     Db.Updateable(allot).ExecuteCommand();
 
                     int isDel = 0;
diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index e49379c..6cf26c6 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -392,6 +392,15 @@
                 {
                     throw new Exception("鏈煡鍒板搴斿嚭搴撶被鍨嬬殑鐗╂枡");
                 }
+
+                if (type!="8")
+                {
+                    skuList = skuList.Where(m => m != "100088").ToList();
+                }
+                else
+                {
+                    skuList = skuList.Where(m => m == "100088").ToList();
+                }
                 //skuList = sku.Select(m => m.SkuNo).ToList();
                 var stockRst = new StockServer();
                 var stockDetailRst = new StockDetailServer();
@@ -3013,6 +3022,8 @@
                 //搴撳瓨鏄庣粏
                 var stockList = Db.Queryable<DataStockDetail>().Where(a => stockIds.Contains(a.Id)).ToList();
 
+                //鍒嗛厤淇℃伅
+                var allots = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == detail.Id && m.Status == "0").ToList();
 
                 //搴撳瓨鎬昏〃
                 //var stockz = Db.Queryable<DataStock>().First(d => d.IsDel == "0" && d.SkuNo == detail.SkuNo && d.LotNo == detail.LotNo);
@@ -3030,33 +3041,44 @@
                     {
                         throw new Exception("鎿嶄綔澶辫触锛屽嚭搴撴暟閲忚秴鍑哄簱瀛樻暟閲忥紒");
                     }
-                    //娣诲姞鍒嗛厤琛ㄤ俊鎭�
-                    var allot = new BllExportAllot
-                    {
-                        SONo = notice.SONo,
-                        WaveNo = "",
-                        SODetailNo = detail.Id,
-                        StockId = st.StockId,
-                        LotNo = stock.LotNo,
-                        LotText = stock.LotText,
-                        SupplierLot = stock.SupplierLot,
-                        SkuNo = stock.SkuNo,
-                        SkuName = stock.SkuName,
-                        Standard = stock.Standard,
-                        PalletNo = stock.PalletNo,
-                        IsBale = stock.IsBale,
-                        IsBelt = stock.IsBelt,
-                        Qty = st.Qty,
-                        CompleteQty = 0,
-                        Status = "0",
-                        LogisticsId = notice.LogisticsId,
-                        IsAdvance = "0",
-                        OutMode = "",//鍑哄簱鍙�
 
-                        CreateUser = userId,
-                        CreateTime = DateTime.Now
-                    };
-                    allotList.Add(allot);
+                    var bl = allots.FirstOrDefault(m => m.StockId == st.StockId);
+                    if (bl == null)
+                    {
+                        //娣诲姞鍒嗛厤琛ㄤ俊鎭�
+                        var allot = new BllExportAllot
+                        {
+                            SONo = notice.SONo,
+                            WaveNo = "",
+                            SODetailNo = detail.Id,
+                            StockId = st.StockId,
+                            LotNo = stock.LotNo,
+                            LotText = stock.LotText,
+                            SupplierLot = stock.SupplierLot,
+                            SkuNo = stock.SkuNo,
+                            SkuName = stock.SkuName,
+                            Standard = stock.Standard,
+                            PalletNo = stock.PalletNo,
+                            IsBale = stock.IsBale,
+                            IsBelt = stock.IsBelt,
+                            Qty = st.Qty,
+                            CompleteQty = 0,
+                            Status = "0",
+                            LogisticsId = notice.LogisticsId,
+                            IsAdvance = "0",
+                            OutMode = "",//鍑哄簱鍙�
+
+                            CreateUser = userId,
+                            CreateTime = DateTime.Now
+                        };
+                        allotList.Add(allot);
+                    }
+                    else
+                    {
+                        bl.Qty += st.Qty;
+                        Db.Updateable(bl).ExecuteCommand();
+                    }
+                    
                     //搴撳瓨鏄庣粏
                     stock.LockQty += st.Qty;
                     stock.Status = stock.LockQty == stock.Qty ? "2" : "1";
diff --git a/Wms/WMS.BLL/Logic/AllotSku.cs b/Wms/WMS.BLL/Logic/AllotSku.cs
index 3b600fd..37dc98c 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,50 @@
         //    return a > b ? a : b;
         //}
 
+        #endregion
+
+
+        private List<StockDetailDto> GetDataListOrderByDept(List<DataStockDetail> palletList)
+        {
+            try
+            {
+                var Db = DataContext.Db;
+                var data = new List<StockDetailDto>();
+
+                //搴撳鎵樼洏
+                var detail1 = palletList.Where(m => string.IsNullOrWhiteSpace(m.LocatNo)).ToList();
+                //骞冲簱鍐呮墭鐩�
+                var detail2 = palletList.Where(m => m.WareHouseNo == "W02").ToList();
+                //绔嬪簱鍐呮墭鐩�
+                var detail3 = palletList.Where(m => m.WareHouseNo == "W01").ToList();
+
+                var data1 = detail1.Select(m => new StockDetailDto()).ToList();
+                var data2 = detail2.Select(m => new StockDetailDto()).ToList();
+                var data3 = detail3.Select(m => new StockDetailDto()).ToList();
+                foreach (var item in data2)
+                {
+                    var dept = item.LocatNo.Substring(5,2);
+
+                    item.Dept = int.Parse(dept);
+                }
+                foreach (var item in data3)
+                {
+                    var dept = item.LocatNo.Substring(6, 2);
+
+                    item.Dept = int.Parse(dept);
+                }
+                data.AddRange(data1);
+                data.AddRange(data2.OrderBy(m => m.Dept).ToList());
+                data.AddRange(data3.OrderBy(m => m.Dept).ToList());
+
+                return data;
+            }
+            catch (Exception e)
+            {
+                throw new Exception(e.Message);
+            }
+        }
+
+
     }
 }

--
Gitblit v1.8.0