From 23721918cac512373cf7ef7954ceae387900af24 Mon Sep 17 00:00:00 2001
From: bklLiudl <673013083@qq.com>
Date: 星期四, 22 八月 2024 09:13:54 +0800
Subject: [PATCH] 业务测试问题修改

---
 HTML/views/ASNSetting/BoxInfo.html               |    5 +
 Wms/Model/ModelDto/PdaDto/PdaSoDto.cs            |    2 
 Wms/Wms/Controllers/WeatherForecastController.cs |    7 --
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs    |   65 ++++++++++++---------
 Wms/WMS.BLL/Logic/AllotSku.cs                    |   55 +++++++++---------
 Wms/Wms/Controllers/PdaSoController.cs           |    2 
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs          |   10 +-
 Pda/View/SoSetting/pingKuOut.html                |    4 +
 8 files changed, 80 insertions(+), 70 deletions(-)

diff --git a/HTML/views/ASNSetting/BoxInfo.html b/HTML/views/ASNSetting/BoxInfo.html
index b930e6b..eea6ff8 100644
--- a/HTML/views/ASNSetting/BoxInfo.html
+++ b/HTML/views/ASNSetting/BoxInfo.html
@@ -754,8 +754,8 @@
 									BoxNo2: data[0].Sheet1[i].BoxNo2,
 									BoxNo3: data[0].Sheet1[i].BoxNo3,
 									Qty: Qty,
-									SkuNo: data[0].Sheet1[i].SkuNo,
-									LotNo: data[0].Sheet1[i].LotNo,
+									SkuNo: data[0].Sheet1[i].SkuNo.toString(),
+									LotNo: data[0].Sheet1[i].LotNo.toString(),
 									LotText: data[0].Sheet1[i].LotText,
 									ProductionTime: data[0].Sheet1[i].ProductionTime,
 									InspectMark: InspectMark,
@@ -772,6 +772,7 @@
 							console.log(param)
 							layer.load();//鎵撳紑loading
 							sendData(IP + "/BllAsn/ImportBllBoxInfo", param, 'post', function (res) {
+								console.log(res);
 								layer.closeAll(); //鍏抽棴loading
 								if (res.code == 0) { //鎴愬姛
 									layer.msg(res.msg, {
diff --git a/Pda/View/SoSetting/pingKuOut.html b/Pda/View/SoSetting/pingKuOut.html
index 20043e3..e8c5d73 100644
--- a/Pda/View/SoSetting/pingKuOut.html
+++ b/Pda/View/SoSetting/pingKuOut.html
@@ -186,6 +186,8 @@
 					Type: "1",
 				};
 				synData(IP + "/PdaSo/GetRunSoNoticeList", param, 'post', function (res) {
+					console.log(res);
+
 					if (res.code == 0) { //鎴愬姛
 						console.log(res.data);
 						for (var i = 0; i < res.data.length; i++) {
@@ -280,6 +282,8 @@
 					"PalletNo": $("#PalletNo").val()
 				}
 				synData(IP + "/PdaSo/IsEnableOkPalletNo", param, 'post', function (res) {
+					console.log("AAA");
+					console.log(res);
 
 					if (res.code == 0) { //鎴愬姛 
 						updateBillList();
diff --git a/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs b/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs
index 6ae7ac9..7171287 100644
--- a/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs
+++ b/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs
@@ -17,7 +17,7 @@
     public class BoxInfo
     {
         public string BoxNo { get; set; }                     // 绠辩爜/鏀爜
-        public decimal Qty { get; set; }                       // 绠卞唴鏁伴噺 
+        public decimal? Qty { get; set; }                       // 绠卞唴鏁伴噺 
         public string SkuNo { get; set; }                   // 鐗╂枡缂栫爜 
         public string SkuName { get; set; }                 // 鐗╂枡鍚嶇О
         public string LotNo { get; set; }                   // 鎵规 
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 3ab3a17..3a75010 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -1222,10 +1222,10 @@
                 throw Oops.Bah("搴撳瓨淇℃伅涓笉瀛樺湪璇ユ墭鐩樹俊鎭紝璇锋鏌�!");
             }
 
-            if (result.WareHouseNo != "W02")//W02锛氶浂绠卞簱
-            {
-                throw Oops.Bah("璇ユ墭鐩樻湭鍦ㄩ浂绠卞簱锛岃妫�鏌�!");
-            }
+            //if (result.WareHouseNo != "W02")//W02锛氶浂绠卞簱
+            //{
+            //    throw Oops.Bah("璇ユ墭鐩樻湭鍦ㄩ浂绠卞簱锛岃妫�鏌�!");
+            //}
 
             #endregion
 
@@ -1236,7 +1236,7 @@
             {
                 throw Oops.Bah("鏈幏鍙栧埌瀵瑰簲鍌ㄤ綅淇℃伅锛岃妫�鏌�!");
             }
-            if (locat.Status != "1")
+            if (locat.Status != "3")
             {
                 throw Oops.Bah("褰撳墠鍌ㄤ綅涓嶆槸鏈夌墿鍝侊紝璇锋鏌�!");
             }
diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index f2f8ea3..230ca96 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -4319,8 +4319,10 @@
                 foreach (var item in noticeDetail)
                 {
                     //楠岃瘉鍏堣繘鍏堝嚭鍘熷垯
-                    
-                    var forData = data.Where(m => m.SkuNo == item.SkuNo && m.LotNo != item.LotNo && (m.Qty - m.FrozenQty - m.LockQty) > 0 && dataDetail.Contains(m.LotNo)).Select(m=>m.LotNo).ToList(); //鑾峰彇褰撳墠鐗╂枡鐨勬墍鏈夋壒娆′俊鎭�(鎺掗櫎鍗曟嵁鐨勬壒娆★紝闃叉鍗曟嵁鎵�鍦ㄦ壒娆¢攣瀹氭暟閲忓悗楠岃瘉灏忎簬绛変簬0)
+                    //鑾峰彇褰撳墠鐗╂枡鐨勬墍鏈夋壒娆′俊鎭�(鎺掗櫎鍗曟嵁鐨勬壒娆★紝闃叉鍗曟嵁鎵�鍦ㄦ壒娆¢攣瀹氭暟閲忓悗楠岃瘉灏忎簬绛変簬0)
+                    var forData = data.Where(m => m.SkuNo == item.SkuNo 
+                    && m.LotNo != item.LotNo && (m.Qty - m.FrozenQty - m.LockQty) > 0 
+                    && dataDetail.Contains(m.LotNo)).Select(m=>m.LotNo).ToList(); 
 
                     forData.Add(item.LotNo);  //闆嗗悎娣诲姞鍗曟嵁鐨勬壒娆�
                     //鑾峰彇鎺掑簭鍚庣殑绗竴涓壒娆�
@@ -4333,15 +4335,37 @@
 
                     //楠岃瘉鏁堟湡浼樺厛鍘熷垯
                     var forDataBox = dataBoxInfo.Where(m => m.SkuNo == item.SkuNo && m.LotNo != item.LotNo && m.Qty > 0).ToList();
-                    var expirationTime = dataBoxInfo.Where(m => m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.Qty > 0).OrderBy(m=>m.ExpirationTime).Select(m=>m.ExpirationTime).First();  //鑾峰彇褰撳墠鍗曟嵁鎵规鐨勬渶杩戞晥鏈�
-                    var num = forDataBox.Count(m => m.ExpirationTime > expirationTime); //鑾峰彇搴撳瓨涓叾瀹冩壒娆℃晥鏈熷ぇ浜庡綋鍓嶅崟鎹壒娆$殑鏁堟湡鏁伴噺
-                    //鍒ゆ柇鏄惁澶т簬0
-                    if (num>0)
+                    //鑾峰彇褰撳墠鍗曟嵁鎵规鐨勬渶杩戞晥鏈�
+                    var expirationTimedt = dataBoxInfo.Where(m => m.SkuNo == item.SkuNo
+                    && m.LotNo == item.LotNo && m.Qty > 0).ToList();
+                    if (expirationTimedt.Count > 0)
                     {
-                        bl = false;
-                        break;
+                        var expirationTime = expirationTimedt.OrderBy(m => m.ExpirationTime).Select(m => m.ExpirationTime).First();
+                        //鑾峰彇搴撳瓨涓叾瀹冩壒娆℃晥鏈熷ぇ浜庡綋鍓嶅崟鎹壒娆$殑鏁堟湡鏁伴噺
+                        var num = forDataBox.Count(m => m.ExpirationTime > expirationTime);
+                        //鍒ゆ柇鏄惁澶т簬0
+                        if (num > 0)
+                        {
+                            bl = false;
+                            break;
+                        }
                     }
+                    else 
+                    {
+                        var dataDetailtime = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.InspectStatus == "1").
+                            Where(m => m.SkuNo == item.SkuNo
+                            && m.LotNo == item.LotNo && m.Qty > 0)
+                            .OrderBy(m => m.ExpirationTime)
+                            .Select(m => m.ExpirationTime).First();
 
+                        var num = forDataBox.Count(m => m.ExpirationTime > dataDetailtime);
+                        //鍒ゆ柇鏄惁澶т簬0
+                        if (num > 0)
+                        {
+                            bl = false;
+                            break;
+                        }
+                    }
                 }
 
 
@@ -4380,7 +4404,6 @@
 
                 var exAllotList = new List<BllExportAllot>();
                 var assign = new AllotSku();
-                var specialSku = new List<string>();//鐗规畩鐗╂枡闆嗗悎锛� 鏃犻渶鎵樼洏涓婂叏閮ㄥ垎閰嶇殑
                 Db.BeginTran();
                 try
                 {
@@ -4428,12 +4451,6 @@
                         {
                             stockDetail = stockDetail.Where(m => m.InspectStatus == "2").ToList();
                         }
-                        if (notice.Type == "1" && !specialSku.Contains(detail.SkuNo))
-                        {
-                            //鍒嗛厤鏁翠釜鎵樼洏涓婄殑鐗╂枡 鍙煡璇㈡湭鍒嗛厤鐨勬墭鐩�
-                            stockDetail = stockDetail.Where(m => m.Status == "0").ToList();
-                           
-                        }
                         if (stockDetail.Sum(m=>m.Qty-m.LockQty) < needQty)
                         {
                             throw new Exception("搴撳瓨鏄庣粏鏁伴噺涓嶈冻");
@@ -4451,16 +4468,7 @@
                         Dictionary<int, decimal> stockQtyDic = new Dictionary<int, decimal>();//鎵樺嚭搴撶墿鍝佹暟
                         var qty = 0m;
                         //鍒嗛厤璐х墿
-                        if (notice.Type == "1" && !specialSku.Contains(detail.SkuNo))//鍒ゆ柇鏄惁鏈鏂欏嚭搴�
-                        {
-                            //鍒嗛厤鍥涙ゼ澶囨枡鎶曟枡鐨勭墿鏂�
-                            qty += assign.LingLiaoAllotPallets(stockDetail, needQty, pNum, bNum, stockQtyDic);
-                        }
-                        else
-                        {
-                            qty += assign.AllotPallets(stockDetail, needQty, pNum, bNum, stockQtyDic, detail.LotNo, detail.IsMixBox);
-                        }
-                        
+                        qty += assign.AllotPallets(stockDetail, needQty, pNum, bNum, stockQtyDic, detail.LotNo, detail.IsMixBox);
                         foreach (var sc in stockQtyDic)
                         {
                             var s = stockDetail.FirstOrDefault(m => m.Id == sc.Key);
@@ -4518,7 +4526,9 @@
                         if (qty > detail.Qty)
                         {
                             //搴撳瓨鎬昏〃
-                            var stock = Db.Queryable<DataStock>().First(d => d.IsDel == "0" && d.SkuNo == detail.SkuNo && d.LotNo == detail.LotNo);
+                            var stock = Db.Queryable<DataStock>().First(d => d.IsDel == "0" 
+                            && d.SkuNo == detail.SkuNo 
+                            && d.LotNo == detail.LotNo);
                             stock.LockQty += qty-detail.Qty;
                             Db.Updateable(stock).ExecuteCommand();
 
@@ -4579,7 +4589,8 @@
                     var zd = Db.Updateable(notice).ExecuteCommand();
 
                     //娣诲姞鎿嶄綔鏃ュ織璁板綍
-                    var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鍗曟嵁", notice.SONo, "鍒嗛厤", $"鑷姩鍒嗛厤浜嗗崟鎹彿涓簕notice.SONo}鐨勫崟鎹俊鎭�", userId);
+                    var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鍗曟嵁", 
+                        notice.SONo, "鍒嗛厤", $"鑷姩鍒嗛厤浜嗗崟鎹彿涓簕notice.SONo}鐨勫崟鎹俊鎭�", userId);
 
                     if (zd > 0 && mx > 0 && fp > 0 && k)
                     {
diff --git a/Wms/WMS.BLL/Logic/AllotSku.cs b/Wms/WMS.BLL/Logic/AllotSku.cs
index 50235b8..03ae06d 100644
--- a/Wms/WMS.BLL/Logic/AllotSku.cs
+++ b/Wms/WMS.BLL/Logic/AllotSku.cs
@@ -922,12 +922,13 @@
                 //绔嬪簱鍐呮墭鐩�
                 var detail3 = list.Where(m => m.WareHouseNo == "W01").ToList();
 
-                foreach (var item in detail2)
-                {
-                    var dept = item.LocatNo.Substring(5,2);
+                // 骞冲簱鍌ㄤ綅缂栫爜瑙勫垯纭鍚庯紝鏍规嵁瀹為檯瑙勫垯鍙栨繁搴�
+                //foreach (var item in detail2)
+                //{
+                //    var dept = item.LocatNo.Substring(5,2);
 
-                    item.Dept = int.Parse(dept);
-                }
+                //    item.Dept = int.Parse(dept);
+                //}
                 foreach (var item in detail3)
                 {
                     var dept = item.LocatNo.Substring(6, 2);
@@ -935,27 +936,27 @@
                     item.Dept = int.Parse(dept);
                 }
                 //骞冲簱
-                var locate1 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W02");
-                var data2 = new List<StockDetailDto>();
-                foreach (var pingku in detail2.OrderByDescending(a => a.PalletTags).ThenBy(m => m.Dept).ToList())
-                {
-                    if (data2.Contains(pingku))
-                    {
-                        continue;
-                    }
+                //var locate1 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W02");
+                //var data2 = new List<StockDetailDto>();
+                //foreach (var pingku in detail2.OrderByDescending(a => a.PalletTags).ThenBy(m => m.Dept).ToList())
+                //{
+                //    if (data2.Contains(pingku))
+                //    {
+                //        continue;
+                //    }
                     
-                    var currentLocate = locate1.First(m => m.LocatNo == pingku.LocatNo);
-                    var locateAfter = locate1.Where(m => m.AreaNo == currentLocate.AreaNo && m.Layer == currentLocate.Layer && m.Row == currentLocate.Row && int.Parse(m.Depth) < int.Parse(currentLocate.Depth)).OrderBy(m => m.Depth).ToList();
-                    foreach (var locat in locateAfter)
-                    {
-                        if (detail2.Any(m => m.LocatNo == locat.LocatNo) && !data2.Contains(detail2.First(m => m.LocatNo == locat.LocatNo)))
-                        {
-                            data2.Add(detail2.First(m => m.LocatNo == locat.LocatNo));
-                        }
+                //    var currentLocate = locate1.First(m => m.LocatNo == pingku.LocatNo);
+                //    var locateAfter = locate1.Where(m => m.AreaNo == currentLocate.AreaNo && m.Layer == currentLocate.Layer && m.Row == currentLocate.Row && int.Parse(m.Depth) < int.Parse(currentLocate.Depth)).OrderBy(m => m.Depth).ToList();
+                //    foreach (var locat in locateAfter)
+                //    {
+                //        if (detail2.Any(m => m.LocatNo == locat.LocatNo) && !data2.Contains(detail2.First(m => m.LocatNo == locat.LocatNo)))
+                //        {
+                //            data2.Add(detail2.First(m => m.LocatNo == locat.LocatNo));
+                //        }
 
-                    }
-                    data2.Add(pingku);
-                }
+                //    }
+                //    data2.Add(pingku);
+                //}
 
                 //绔嬪簱
                 var locate2 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W01").ToList();
@@ -981,9 +982,9 @@
                 }
 
 
-                data.AddRange(detail1);
-                data.AddRange(data2);
-                data.AddRange(data3);
+                data.AddRange(detail1);             // 搴撳
+                data.AddRange(detail2);             // 骞冲簱
+                data.AddRange(data3);               // 绔嬪簱
 
                 return data;
             }
diff --git a/Wms/Wms/Controllers/PdaSoController.cs b/Wms/Wms/Controllers/PdaSoController.cs
index 0056a0e..3c63851 100644
--- a/Wms/Wms/Controllers/PdaSoController.cs
+++ b/Wms/Wms/Controllers/PdaSoController.cs
@@ -158,7 +158,7 @@
         /// <param name="palletNo">鎵樼洏鍙�</param>
         /// <returns></returns>
         [HttpGet]
-        public async Task<dynamic> GetPingKuInfoByPallet(string soNo, string palletNo)
+        public async Task<List<BoxInfo>> GetPingKuInfoByPallet(string soNo, string palletNo)
         {
             return await _pdaSoSvc.GetPingKuInfoByPallet(soNo, palletNo);
         }
diff --git a/Wms/Wms/Controllers/WeatherForecastController.cs b/Wms/Wms/Controllers/WeatherForecastController.cs
index 2ef1ab4..a46ab50 100644
--- a/Wms/Wms/Controllers/WeatherForecastController.cs
+++ b/Wms/Wms/Controllers/WeatherForecastController.cs
@@ -1,19 +1,12 @@
 锘縰sing Microsoft.AspNetCore.Mvc;
 using Microsoft.Extensions.Logging;
-using System;
 using System.Collections.Generic;
-using System.Linq;
-using System.Security.Claims;
 using System.Threading.Tasks;
-using Microsoft.AspNetCore.Authorization;
 using Model.ModelVm;
-using Newtonsoft.Json;
-using Utility.Tools;
 using WMS.Entity.Context;
 using WMS.IBLL.ISysServer;
 using Wms.Tools;
 using Utility;
-
 
 namespace Wms.Controllers
 {

--
Gitblit v1.8.0