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