From f9810e5e9d079ab9395d9dd6948f2d3a17b02bfa Mon Sep 17 00:00:00 2001 From: Demo <Demo@DESKTOP-CPA90BF> Date: 星期三, 06 三月 2024 15:49:17 +0800 Subject: [PATCH] 修改分配方法 --- Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 68 ++++++++++++++++++++++++--------- 1 files changed, 49 insertions(+), 19 deletions(-) diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs index 286a2f8..8ebfeec 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs @@ -2210,7 +2210,7 @@ } if (notice.Status != "0" && notice.Status != "1") { - throw new Exception("鍙傛暟寮傚父,璇锋鏌ョ姸鎬佹槸鍚︿负绛夊緟鎵ц鎴栭儴鍒嗗垎閰嶆垨鏉ユ簮鏄惁鏄疻MS"); + throw new Exception("鍙傛暟寮傚父,璇锋鏌ョ姸鎬佹槸鍚︿负绛夊緟鎵ц鎴栭儴鍒嗗垎閰�;"); } //鍑哄簱鍗曟槑缁� var detailList = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.SONo == soNo && (m.AllotQty - m.Qty) <= 0).ToList(); @@ -2245,32 +2245,46 @@ //鍒ゆ柇鍗曞彿鏄惁鎸囧畾鎵规 if (!string.IsNullOrWhiteSpace(detail.LotNo)) { - stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && m.LotNo == detail.LotNo && m.IsDel == "0").ToList(); + if (detail.LotNo.Contains(";")) + { + var lotNoList = detail.LotNo.Split(";"); + var lotNoList2 = new List<string>(); + + foreach (var lotNoItem in lotNoList) + { + lotNoList2.Add(lotNoItem); + } + stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && lotNoList2.Contains(m.LotNo) && m.IsDel == "0").ToList(); + } + else + { + stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && m.LotNo == detail.LotNo && m.IsDel == "0").ToList(); + } + } else { - stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && string.IsNullOrWhiteSpace(m.LotNo) && m.IsDel == "0").ToList(); + stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && m.IsDel == "0").ToList(); //&& string.IsNullOrWhiteSpace(m.LotNo) } if (stockDetail.Count < 1) { throw new Exception("搴撳瓨涓嶈冻,鏃犲彲鍑哄簱搴撳瓨"); } - - //if (notice.Type == "0" || notice.Type == "1")//鎴愬搧銆佸師杈呮枡鍑哄簱 - //{ - stockDetail = stockDetail.Where(m => m.InspectStatus == "1").ToList(); - //} - //else if (notice.Type == "2" || notice.Type == "3")//鎴愬搧銆佸師杈呮枡鍑哄簱(涓嶅悎鏍�) - //{ - // stockDetail = stockDetail.Where(m => m.InspectStatus == "2").ToList(); - //} - //else if (notice.Type == "4")//鍙栨牱鍑哄簱 - //{ - // stockDetail = stockDetail.Where(m => m.InspectStatus == "0").ToList(); - //} - //灏嗗簱瀛樻槑缁嗘寜娣卞害杩涜鎺掑簭 娣卞害1鍦ㄥ墠 娣卞害2鍦ㄥ悗 - //stockDetail = stockDetail.OrderBy(d => int.Parse(d.LocatNo.Substring(6, 2))).ToList(); + //0:鎴愬搧鍑哄簱銆�1:棰嗘枡鍑哄簱銆�2:鎶芥鍑哄簱銆�3锛氱墿鏂欏彇鏍峰嚭搴撱��4:涓嶅悎鏍煎搧鍑哄簱銆�5:涓棿鍝佸嚭搴撱��6:浠e偍鍑哄簱銆�7:鍏朵粬鍑哄簱銆�8:瀵勫瓨鍑哄簱 + if (notice.Type == "0" || notice.Type == "1" || notice.Type == "2" || notice.Type == "5")//鎴愬搧銆佸師杈呮枡鍑哄簱 + { + stockDetail = stockDetail.Where(m => m.InspectStatus == "1").ToList(); + } + else if (notice.Type == "3" || notice.Type == "6" || notice.Type == "7" || notice.Type == "8")//鍙栨牱鍑哄簱 + { + stockDetail = stockDetail.Where(m => m.InspectStatus == "0").ToList(); + } + else if (notice.Type == "4")//涓嶅悎鏍煎嚭搴� + { + stockDetail = stockDetail.Where(m => m.InspectStatus == "2").ToList(); + } + #region 鍖呰淇℃伅 var pack = packList.FirstOrDefault(p => p.PackagNo == detail.PackagNo); @@ -2362,6 +2376,22 @@ } var sd = Db.Updateable(s).UpdateColumns(it => new { it.LockQty, it.Status }).ExecuteCommand(); + if (notice.Type == "1" || notice.Type == "5" || notice.Type == "6" || notice.Type == "7" || notice.Type == "8")//1锛氶鏂欏嚭搴撱�� + { + if (string.IsNullOrWhiteSpace(detail.LotNo)) + { + detail.LotNo = s.LotNo; + + } + else + { + if (!detail.LotNo.Contains(s.LotNo)) + { + detail.LotNo += ";" + s.LotNo; + } + } + } + } detail.AllotQty += qty; detail.UpdateUser = userId; @@ -2370,7 +2400,7 @@ { detail.Status = "1"; } - + //搴撳瓨鎬昏〃 //var stock = Db.Queryable<DataStock>().First(d => d.IsDel == "0" && d.SkuNo == detail.SkuNo && d.LotNo == detail.LotNo); //stock.LockQty += qty; -- Gitblit v1.8.0