From 86e443e42c4bee972c5b795def4917e02f98ce40 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期五, 11 七月 2025 16:45:08 +0800 Subject: [PATCH] 修改问题 --- Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 136 +++++++++++++++++++++++---------------------- 1 files changed, 70 insertions(+), 66 deletions(-) diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs index 4ef8b56..4ab2a27 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs @@ -305,26 +305,26 @@ /// </summary> /// <param name="model"></param> /// <returns></returns> - public SoResInfo ErpAddExportNotice(SoInfo model) + public SoResInfo ErpAddExportNotice(SendSoVm model) { try { - if (string.IsNullOrEmpty(model.SoType)) + if (string.IsNullOrEmpty(model.orderType)) { throw new Exception("鍗曟嵁绫诲瀷涓嶅彲涓虹┖!"); } - if (string.IsNullOrEmpty(model.OrderCode)) + if (string.IsNullOrEmpty(model.orderNo)) { - throw new Exception("绯荤粺鍗曞彿涓嶅彲涓虹┖!"); + throw new Exception("鍑哄簱鍗曞彿涓嶅彲涓虹┖!"); } - if (model.SoDetails.Count <= 0) + if (model.orderDetailList.Count <= 0) { throw new Exception("鍑哄簱鍗曟槑缁嗕笉鍙负绌�!"); } //杩斿洖淇℃伅 SoResInfo result = new SoResInfo(); - var skuNos = model.SoDetails.Select(a => a.SkuNo).Distinct().ToList(); + var skuNos = model.orderDetailList.Select(a => a.skuNo).Distinct().ToList(); //鏍规嵁鐗╂枡鍙疯幏鍙栫墿鏂欎俊鎭� var skuList = Db.Queryable<SysMaterials>().Where(a => skuNos.Contains(a.SkuNo) && a.IsDel == "0").ToList(); //鑾峰彇搴撳瓨鏄庣粏 @@ -333,10 +333,10 @@ var stockList = Db.Queryable<DataStock>().Where(s => skuNos.Contains(s.SkuNo) && (s.Qty - s.FrozenQty - s.LockQty) > 0).ToList(); string CustomerName = string.Empty; - if (!string.IsNullOrEmpty(model.Customer)) + if (!string.IsNullOrEmpty(model.customerNo)) { //瀹㈡埛淇℃伅 - var customer = Db.Queryable<SysCustomer>().First(m => m.IsDel == "0" && m.CustomerNo == model.Customer); + var customer = Db.Queryable<SysCustomer>().First(m => m.IsDel == "0" && m.CustomerNo == model.customerNo); if (customer == null) { throw new Exception("瀹㈡埛淇℃伅涓嶅瓨鍦�!"); @@ -344,12 +344,12 @@ CustomerName = customer.CustomerName; } //鎵胯繍鍟嗕俊鎭� - var logistics = Db.Queryable<SysLogisticsInfo>().First(m => m.IsDel == "0" && m.CarrierName == model.LogisticsNo); - int? logisticsId = null; - if (logistics != null) - { - logisticsId = logistics.Id; - } + //var logistics = Db.Queryable<SysLogisticsInfo>().First(m => m.IsDel == "0" && m.CarrierName == model.LogisticsNo); + //int? logisticsId = null; + //if (logistics != null) + //{ + // logisticsId = logistics.Id; + //} var billNo = ""; var bl = true; do @@ -367,21 +367,21 @@ { var list = new List<BllExportNoticeDetail>(); //娣诲姞鍑哄簱鍗� - foreach (var d in model.SoDetails) + foreach (var d in model.orderDetailList) { - if (d.Qty < 1) + if (d.skuQty < 1) { throw new Exception("鍑哄簱鏁伴噺蹇呴』澶т簬0"); } - var sku = skuList.FirstOrDefault(a => a.SkuNo == d.SkuNo); + var sku = skuList.FirstOrDefault(a => a.SkuNo == d.skuNo); if (sku == null) { - throw new Exception($"鐗╂枡淇℃伅涓湭鏌ヨ鍒板嚭搴撶墿鏂欎俊鎭�:{d.SkuNo}"); + throw new Exception($"鐗╂枡淇℃伅涓湭鏌ヨ鍒板嚭搴撶墿鏂欎俊鎭�:{d.skuNo}"); } //0:鎴愬搧鍑哄簱銆�1:棰嗘枡鍑哄簱銆�3锛氱墿鏂欏彇鏍峰嚭搴撱��4:涓嶅悎鏍煎搧鍑哄簱銆�6:浠e偍鍑哄簱銆�7:鍏朵粬鍑哄簱銆� ///2:鎶芥鍑哄簱銆�5:涓棿鍝佸嚭搴撱��8:瀵勫瓨鍑哄簱 - if (model.SoType == "0" || model.SoType == "3" || model.SoType == "4" || model.SoType == "7") + if (model.orderType == "0" || model.orderType == "3" || model.orderType == "4" || model.orderType == "7") { - if (string.IsNullOrWhiteSpace(d.LotNo)) + if (string.IsNullOrWhiteSpace(d.lotNo)) { throw new Exception("鎵规涓嶅彲涓虹┖!"); } @@ -389,29 +389,29 @@ //搴撳瓨鏄庣粏 List<DataStockDetail> stockDetails; //鎸囧畾鎵规 - if (!string.IsNullOrWhiteSpace(d.LotNo)) + if (!string.IsNullOrWhiteSpace(d.lotNo)) { - stockDetails = stockDetailList.Where(s => s.SkuNo == d.SkuNo && s.LotNo == d.LotNo).ToList(); + stockDetails = stockDetailList.Where(s => s.SkuNo == d.skuNo && s.LotNo == d.lotNo).ToList(); if (stockDetails.Count < 1) { - throw new Exception($"搴撳瓨涓湭鏌ヨ鍒板嚭搴撶墿鏂欎俊鎭�:{d.SkuNo}"); + throw new Exception($"搴撳瓨涓湭鏌ヨ鍒板嚭搴撶墿鏂欎俊鎭�:{d.skuNo}"); } //鍒ゆ柇鏁伴噺 var qty = stockDetails.Sum(s => s.Qty - s.FrozenQty - s.LockQty); - if (d.Qty > qty) + if (d.skuQty > qty) { - throw new Exception($"鎬诲簱瀛樹腑鍑哄簱鐗╂枡淇℃伅:{d.SkuNo}銆亄d.LotNo} 搴撳瓨鏁伴噺涓嶈冻"); + throw new Exception($"鎬诲簱瀛樹腑鍑哄簱鐗╂枡淇℃伅:{d.skuNo}銆亄d.lotNo} 搴撳瓨鏁伴噺涓嶈冻"); } //搴撳瓨淇℃伅 - var stockInfo = stockList.First(w => w.SkuNo == d.SkuNo && w.LotNo == d.LotNo); + var stockInfo = stockList.First(w => w.SkuNo == d.skuNo && w.LotNo == d.lotNo); if (stockInfo == null) { - throw new Exception($"鎬诲簱瀛樹腑鏈煡璇㈠埌鍑哄簱鐗╂枡淇℃伅:{d.SkuNo}"); + throw new Exception($"鎬诲簱瀛樹腑鏈煡璇㈠埌鍑哄簱鐗╂枡淇℃伅:{d.skuNo}"); } //鍒ゆ柇鎬诲簱瀛樻暟閲� - if (d.Qty > stockInfo.Qty - stockInfo.FrozenQty - stockInfo.LockQty) + if (d.skuQty > stockInfo.Qty - stockInfo.FrozenQty - stockInfo.LockQty) { - throw new Exception($"鎬诲簱瀛樹腑鍑哄簱鐗╂枡淇℃伅:{d.SkuNo}銆亄d.LotNo} 搴撳瓨鏁伴噺涓嶈冻"); + throw new Exception($"鎬诲簱瀛樹腑鍑哄簱鐗╂枡淇℃伅:{d.skuNo}銆亄d.lotNo} 搴撳瓨鏁伴噺涓嶈冻"); } //娣诲姞鍑哄簱鍗曟槑缁� var noticeDetail = new BllExportNoticeDetail() @@ -420,36 +420,36 @@ SkuNo = sku.SkuNo, SkuName = sku.SkuName, Standard = sku.Standard, - LotNo = d.LotNo, + LotNo = d.lotNo, LotText = stockInfo.LotText, - Qty = d.Qty, + Qty = d.skuQty, AllotQty = 0, FactQty = 0, CompleteQty = 0, PackagNo = sku.PackagNo, Price = sku.Price, - Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * d.Qty, + Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * d.skuQty, IsBale = "", IsBelt = "", SupplierLot = stockInfo.SupplierLot, IsWave = "0", WaveNo = "", - IsIssueLotNo = string.IsNullOrWhiteSpace(d.LotNo) ? "0" : "1", - IsMixBox = d.IsMixBox, + IsIssueLotNo = string.IsNullOrWhiteSpace(d.lotNo) ? "0" : "1", + IsMixBox = "0", - OrderDetailCode = d.OrderDetailCode, + OrderDetailCode = d.lineNo, CreateUser = 0, }; list.Add(noticeDetail); //鏇存柊搴撳瓨閿佸畾鏁伴噺 - stockInfo.LockQty += d.Qty; + stockInfo.LockQty += d.skuQty; var i = Db.Updateable(stockInfo).UpdateColumns(it => new { it.LockQty }).ExecuteCommand(); SoDetailInfo soDetail = new SoDetailInfo(); - soDetail.OrderDetailCode = d.OrderDetailCode; - soDetail.LockQty = d.Qty; - soDetail.LotNo = d.LotNo; + soDetail.OrderDetailCode = d.lineNo; + soDetail.LockQty = d.skuQty; + soDetail.LotNo = d.lotNo; soDetailList.Add(soDetail); } @@ -458,12 +458,12 @@ Dictionary<int, decimal> dic = new Dictionary<int, decimal>(); decimal q1 = 0; //棣栧厛鏌ヨ褰撳墠杩欑鐗╂枡鎵规鍙蜂负绌虹殑 - stockDetails = stockDetailList.Where(s => s.SkuNo == d.SkuNo && string.IsNullOrWhiteSpace(s.LotNo)).ToList(); + stockDetails = stockDetailList.Where(s => s.SkuNo == d.skuNo && string.IsNullOrWhiteSpace(s.LotNo)).ToList(); if (stockDetails.Count > 0) { q1 = (decimal)stockDetails.Sum(s => s.Qty - s.FrozenQty - s.LockQty); //搴撳瓨淇℃伅 - var stockInfo = stockList.FirstOrDefault(w => w.SkuNo == d.SkuNo && string.IsNullOrWhiteSpace(w.LotNo)); + var stockInfo = stockList.FirstOrDefault(w => w.SkuNo == d.skuNo && string.IsNullOrWhiteSpace(w.LotNo)); if (stockInfo != null) { var q2 = stockInfo.Qty - stockInfo.FrozenQty - stockInfo.LockQty; @@ -471,29 +471,29 @@ { q1 = q2; } - if (d.Qty > q1) + if (d.skuQty > q1) { dic.Add(stockInfo.Id, q1); } else { - dic.Add(stockInfo.Id, d.Qty); + dic.Add(stockInfo.Id, d.skuQty); } } } //濡傛灉鎵规鍙蜂负绌虹殑鏁伴噺涓嶅锛屾牴鎹壒娆″厛杩涘厛鍑哄師鍒欐煡鎵惧叾瀹冩壒娆$殑 - if (d.Qty > q1) + if (d.skuQty > q1) { - stockDetails = stockDetailList.Where(m => m.SkuNo == d.SkuNo && !string.IsNullOrWhiteSpace(m.LotNo)).OrderBy(s => s.LotNo).ToList(); + stockDetails = stockDetailList.Where(m => m.SkuNo == d.skuNo && !string.IsNullOrWhiteSpace(m.LotNo)).OrderBy(s => s.LotNo).ToList(); foreach (var demo in stockDetails) { - if (q1 >= d.Qty) + if (q1 >= d.skuQty) { break; } var q2 = demo.Qty - demo.FrozenQty - demo.LockQty; //搴撳瓨淇℃伅 - var stockInfo = stockList.FirstOrDefault(w => w.SkuNo == d.SkuNo && w.LotNo == demo.LotNo); + var stockInfo = stockList.FirstOrDefault(w => w.SkuNo == d.skuNo && w.LotNo == demo.LotNo); if (stockInfo == null) { continue; @@ -508,18 +508,18 @@ { q2 = q3; } - if (q2 > d.Qty - q1) + if (q2 > d.skuQty - q1) { if (!dic.ContainsKey(stockInfo.Id)) { - dic.Add(stockInfo.Id, d.Qty - q1); + dic.Add(stockInfo.Id, d.skuQty - q1); } else { //鏇存柊鍊� - dic[stockInfo.Id] += d.Qty - q1; + dic[stockInfo.Id] += d.skuQty - q1; } - q1 += d.Qty - q1; + q1 += d.skuQty - q1; } else { @@ -536,9 +536,9 @@ } } } - if (d.Qty > q1) + if (d.skuQty > q1) { - throw new Exception($"鎬诲簱瀛樹腑鍑哄簱鐗╂枡淇℃伅:{d.SkuNo} 搴撳瓨鏁伴噺涓嶈冻"); + throw new Exception($"鎬诲簱瀛樹腑鍑哄簱鐗╂枡淇℃伅:{d.skuNo} 搴撳瓨鏁伴噺涓嶈冻"); } foreach (var s in dic) { @@ -546,7 +546,7 @@ var item = new BllExportNoticeDetail() { SONo = billNo, - OrderDetailCode = d.OrderDetailCode, + OrderDetailCode = d.lineNo, SkuNo = sku.SkuNo, SkuName = sku.SkuName, Standard = sku.Standard, @@ -558,14 +558,14 @@ CompleteQty = 0, PackagNo = sku.PackagNo, Price = sku.Price, - Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * d.Qty, + Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * d.skuQty, IsBale = "", IsBelt = "", SupplierLot = st.SupplierLot, IsWave = "0", WaveNo = "", - IsIssueLotNo = string.IsNullOrWhiteSpace(d.LotNo) ? "0" : "1", - IsMixBox = d.IsMixBox, + IsIssueLotNo = string.IsNullOrWhiteSpace(d.lotNo) ? "0" : "1", + IsMixBox = "0", CreateUser = 0, }; @@ -575,7 +575,7 @@ var i = Db.Updateable(st).UpdateColumns(it => new { it.LockQty }).ExecuteCommand(); SoDetailInfo soDetail = new SoDetailInfo(); - soDetail.OrderDetailCode = d.OrderDetailCode; + soDetail.OrderDetailCode = d.lineNo; soDetail.LockQty = s.Value; soDetail.LotNo = st.LotNo; @@ -586,13 +586,13 @@ var notice = new BllExportNotice() { SONo = billNo, - OrderCode=model.OrderCode, - Type = model.SoType, + OrderCode=model.orderNo, + Type = model.orderType, Status = "0", Origin = "WMS", - CustomerNo = model.Customer, + CustomerNo = model.customerNo, CustomerName = CustomerName, - LogisticsId = logisticsId, + LogisticsId = null,//logisticsId, IsWave = "0", WaveNo = "", IsDespatch = "0", @@ -1014,7 +1014,7 @@ skuList = skuList.Where(m => m.SkuNo == "100088").ToList(); } skuStrList = skuList.Select(m => m.SkuNo).ToList(); - var areaStr = new List<string>() { "B02", "B05", "B08" }; + var areaStr = new List<string>() { "B06", "B07", "B09" }; var stockRst = new StockServer(); var stockDetailRst = new StockDetailServer(); Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>() @@ -3034,7 +3034,7 @@ foreach (var item in list) { var outModeLocate = ""; - if (outMode == "1") + if (outMode == "17") { if (i < outLocatelist1.Count) { @@ -3043,11 +3043,11 @@ else { var j = i % outLocatelist1.Count; - + outModeLocate = outLocatelist1[j].LocatNo; } } - else if(outMode == "2") + else if (outMode == "18") { if (i < outLocatelist1.Count) { @@ -3060,6 +3060,10 @@ outModeLocate = outLocatelist2[j].LocatNo; } } + else + { + throw new Exception("鍑哄簱鍙e伐浣嶅紓甯�"); + } var taskNoStr = ""; -- Gitblit v1.8.0