From 6c3738d337fe68c2008b38ad58861aa4b48d5530 Mon Sep 17 00:00:00 2001 From: DESKTOP-9BNTV8O <DESKTOP-9BNTV8O@163.com> Date: 星期五, 13 十二月 2024 14:46:40 +0800 Subject: [PATCH] 修改问题 --- Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 179 +++++++++++++++++------------------------------------------ 1 files changed, 51 insertions(+), 128 deletions(-) diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs index 8726081..e904d0f 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs @@ -983,42 +983,42 @@ }).ToList(); //搴撳瓨鎬昏〃 - var stock = stockRst.GetAllAsync().Select(it => new ExStockInfoDto - { - SkuNo = it.SkuNo, - SkuName = it.SkuName, - LotNo = it.LotNo, - Standard = it.Standard, - //Qty = type == "4" ? it.Qty : it.Qty - it.LockQty - it.FrozenQty, - Qty = it.Qty - it.LockQty - it.FrozenQty, + //var stock = stockRst.GetAllAsync().Select(it => new ExStockInfoDto + //{ + // SkuNo = it.SkuNo, + // SkuName = it.SkuName, + // LotNo = it.LotNo, + // Standard = it.Standard, + // //Qty = type == "4" ? it.Qty : it.Qty - it.LockQty - it.FrozenQty, + // Qty = it.Qty - it.LockQty - it.FrozenQty, - }).ToList(); + //}).ToList(); - foreach (var l in stockDetail.ToArray()) - { - var fq = stock.Where(s => s.SkuNo == l.SkuNo); - if (!string.IsNullOrWhiteSpace(l.LotNo)) - { - fq = fq.Where(s => s.LotNo == l.LotNo); - } - else - { - fq = fq.Where(s => string.IsNullOrWhiteSpace(s.LotNo)); - } - var f = fq.FirstOrDefault(); - if (f == null) - { - throw new Exception("搴撳瓨淇℃伅閿欒锛岃鏍稿疄"); - } - if (f.Qty != null && f.Qty.Value < l.Qty) - { - l.Qty = f.Qty.Value; - } - if (l.Qty <= 0) - { - stockDetail.Remove(l); - } - } + //foreach (var l in stockDetail.ToArray()) + //{ + // var fq = stock.Where(s => s.SkuNo == l.SkuNo); + // if (!string.IsNullOrWhiteSpace(l.LotNo)) + // { + // fq = fq.Where(s => s.LotNo == l.LotNo); + // } + // else + // { + // fq = fq.Where(s => string.IsNullOrWhiteSpace(s.LotNo)); + // } + // var f = fq.FirstOrDefault(); + // if (f == null) + // { + // throw new Exception("搴撳瓨淇℃伅閿欒锛岃鏍稿疄"); + // } + // if (f.Qty != null && f.Qty.Value < l.Qty) + // { + // l.Qty = f.Qty.Value; + // } + // if (l.Qty <= 0) + // { + // stockDetail.Remove(l); + // } + //} return stockDetail; @@ -4078,38 +4078,30 @@ { throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅"); } - //鑾峰彇瀵瑰簲搴撲綅淇℃伅 - var startlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == task.StartLocat); - if (startlocat == null) + if (task.OrderType == "0" || task.OrderType == "3")//鍏ュ簱鎴栫Щ搴� { - throw new Exception("鏈煡璇㈠埌鍌ㄤ綅淇℃伅"); - } - startlocat.Status = "0";//淇敼鍒嗛厤淇℃伅鐘舵�� - //鑾峰彇鍌ㄤ綅淇℃伅 - var locat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == task.StartLocat); - //鑾峰彇绉诲簱浠籨鍔″搴旂洰鏍囧偍浣嶄俊鎭� - SysStorageLocat endlocat = new SysStorageLocat(); - if (task.Type == "2") - { - endlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == task.EndLocat); + //鑾峰彇鐩爣搴撲綅淇℃伅 + var endlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.LocatNo == task.EndLocat); if (endlocat == null) { throw new Exception("鏈煡璇㈠埌鐩爣鍌ㄤ綅淇℃伅"); } - } - if (locat == null) - { - Db.RollbackTran(); - throw new Exception("鏈煡璇㈠埌鍌ㄤ綅淇℃伅锛岃鏍稿疄锛�"); - } - locat.Status = "1"; //鏈夌墿鍝� - Db.Updateable(locat).ExecuteCommand(); - if (endlocat != null) - { - endlocat.Status = "0"; //绌哄偍浣� 0 + endlocat.Status = "0";//绌哄偍浣� + //淇敼鐩爣鍌ㄤ綅鐘舵�� Db.Updateable(endlocat).ExecuteCommand(); } - + if (task.OrderType == "1" || task.OrderType == "3")//鍑哄簱鎴栫Щ搴� + { + //鑾峰彇璧峰搴撲綅淇℃伅 + var startlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.LocatNo == task.StartLocat); + if (startlocat == null) + { + throw new Exception("鏈煡璇㈠埌璧峰鍌ㄤ綅淇℃伅"); + } + startlocat.Status = "1";//鏈夌墿鍝� + //淇敼璧峰鍌ㄤ綅鐘舵�� + Db.Updateable(startlocat).ExecuteCommand(); + } //淇敼浠诲姟 task.IsSuccess = 1; task.IsSend = 0; @@ -4118,75 +4110,6 @@ task.Status = "4"; task.CancelDate = DateTime.Now; Db.Updateable(task).ExecuteCommand(); - - //鍑哄簱鍒嗛厤淇℃伅 - var allot = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.TaskNo == taskNo).ToList(); - foreach (var item in allot) - { - item.Status = "0";//淇敼鍒嗛厤淇℃伅鐘舵�� - item.TaskNo = ""; - var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.SODetailNo); - if (noticeDetail == null) - { - throw new Exception("鏈煡璇㈠埌鍑哄簱鍗曟槑缁嗕俊鎭�"); - } - - noticeDetail.FactQty -= item.Qty; //淇敼鍑哄簱鍗曟槑缁嗙殑涓嬫灦鏁伴噺 - Db.Updateable(noticeDetail).ExecuteCommand(); - - if (noticeDetail.FactQty == 0) - { - var noticeDetail2 = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.SONo == item.SONo && m.Id != noticeDetail.Id).ToList(); - var num = noticeDetail2.Count(m => m.FactQty > 0); - //鍒ゆ柇鍑哄簱鍗曠殑鎵�鏈夋槑缁嗘槸鍚﹂兘涓�0锛涘鏋滀负0鍙樻洿鍑哄簱鍗曠姸鎬佷负宸插垎閰� - if (num == 0) - { - var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.SONo == item.SONo); - notice.Status = "2"; - Db.Updateable(notice).ExecuteCommand(); - } - } - } - //鍒ゆ柇鏄惁瀛樺湪鍒嗛厤淇℃伅 - if (allot == null) - { - //鑾峰彇搴撳瓨鏄庣粏 - var stockDetail = Db.Queryable<DataStockDetail>().First(a => a.IsDel == "0" && a.PalletNo == task.PalletNo); - //鑾峰彇搴撳瓨 - var datastock = Db.Queryable<DataStock>().First(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo); - //鑾峰彇鍌ㄤ綅淇℃伅 - var locate = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == stockDetail.LocatNo); - - //鍒ゆ柇鏄惁涓虹┖鎵樼洏 - if (stockDetail.SkuNo == "100099") - { - //淇敼搴撳瓨鏄庣粏 - stockDetail.LockQty -= stockDetail.Qty; //閿佸畾鏁伴噺 - stockDetail.Status = "0"; //搴撳瓨鐘舵�� 0锛氬緟鍒嗛厤 - - //淇敼搴撳瓨鎬昏〃 - datastock.LockQty -= (int)stockDetail.Qty; //閿佸畾鏁伴噺 - - //淇敼鍌ㄤ綅鐘舵�� - locate.Status = "1"; //鍌ㄤ綅鐘舵�� 1锛氭湁鐗╁搧 - - Db.Updateable(stockDetail).ExecuteCommand(); - Db.Updateable(datastock).ExecuteCommand(); - Db.Updateable(locate).ExecuteCommand(); - } - else - { - //淇敼鍌ㄤ綅鐘舵�� - locate.Status = "1"; //鍌ㄤ綅鐘舵�� 1锛氭湁鐗╁搧 - Db.Updateable(locate).ExecuteCommand(); - - } - - } - else - { - Db.Updateable(allot).ExecuteCommand(); - } //娣诲姞鎿嶄綔鏃ュ織璁板綍 var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鏃ュ織", taskNo, "鍙栨秷", $"鐐瑰嚮鍙栨秷鎸夐挳銆佸彇娑堜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�", (int)userId); -- Gitblit v1.8.0