From 225a85b1a55f4475ba4441b3ed350e0df35ff735 Mon Sep 17 00:00:00 2001 From: yuyou_x <2336760928@qq.com> Date: 星期二, 26 三月 2024 08:22:36 +0800 Subject: [PATCH] 点击取消移库任务时无法将目标储位与起始储位恢复,扫描完箱码数量后,未显示出向内条码信息。 取消分配后 点击编辑库存数量显示错误,锁定数量超出库存数量,添加明细时获取的物料信息存在问题。 --- Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 129 +++++++++++++++++++++++------------------- 1 files changed, 70 insertions(+), 59 deletions(-) diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs index 3273a2d..e85ca4e 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs @@ -186,34 +186,35 @@ } } - var item = new BllExportNoticeDetail() - { - SONo = billNo, - SkuNo = sku.SkuNo, - SkuName = sku.SkuName, - Standard = sku.Standard, - LotNo = d.LotNo, - LotText = "", - Qty = d.Qty, - AllotQty = 0, - FactQty = 0, - CompleteQty = 0, - PackagNo = sku.PackagNo, - Price = sku.Price, - Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * d.Qty, - IsBale = "", - IsBelt = "", - SupplierLot = stocks.First().SupplierLot, - IsWave = "0", - WaveNo = "", - IsIssueLotNo = string.IsNullOrWhiteSpace(d.LotNo)? "0":"1", - - CreateUser = 0, - }; - list.Add(item); foreach (var s in dic) { - var st = stockList.First(m => m.Id == s.Key); + var st = stockList.First(a => a.Id == s.Key); + var item = new BllExportNoticeDetail() + { + SONo = billNo, + SkuNo = sku.SkuNo, + SkuName = sku.SkuName, + Standard = sku.Standard, + LotNo = st.LotNo, + LotText = st.LotText, + Qty = s.Value, + AllotQty = 0, + FactQty = 0, + CompleteQty = 0, + PackagNo = sku.PackagNo, + Price = sku.Price, + Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * d.Qty, + IsBale = "", + IsBelt = "", + SupplierLot = stocks.First().SupplierLot, + IsWave = "0", + WaveNo = "", + IsIssueLotNo = string.IsNullOrWhiteSpace(d.LotNo) ? "0" : "1", + + CreateUser = 0, + }; + list.Add(item); + st.LockQty += s.Value;//閿佸畾鏁伴噺 var i = Db.Updateable(st).UpdateColumns(it => new { it.LockQty }) .ExecuteCommand(); @@ -505,7 +506,8 @@ SkuName = it.SkuName, LotNo = it.LotNo, Standard = it.Standard, - Qty = type == "4" ? it.Qty : it.Qty - it.LockQty - it.FrozenQty + //Qty = type == "4" ? it.Qty : it.Qty - it.LockQty - it.FrozenQty, + Qty = it.Qty - it.LockQty - it.FrozenQty, }).ToList(); @@ -1880,6 +1882,7 @@ OutMode = "", //鐩爣鍦板潃 Order = 1 }); + taskNoStr = exTask.TaskNo; } else if (locate.Depth == "02") //娣卞害涓�2 { @@ -1968,7 +1971,7 @@ IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 StartLocat = stockNew.LocatNo,//璧峰浣嶇疆 - EndLocat = "",//鐩爣浣嶇疆 + EndLocat = toLocation,//鐩爣浣嶇疆 PalletNo = stockNew.PalletNo,//鎵樼洏鐮� IsSend = 1,//鏄惁鍙啀娆′笅鍙� IsCancel = 1,//鏄惁鍙彇娑� @@ -1985,7 +1988,7 @@ StartRoadway = slotBefore.RoadwayNo, //璧峰宸烽亾 PalletNo = stockNew.PalletNo,//鎵樼洏鍙� StartLocate = stockNew.LocatNo, // 璧峰浣嶇疆 - EndLocate = "", // 鐩爣浣嶇疆 + EndLocate = toLocation, // 鐩爣浣嶇疆 EndRoadway = "", // 鐩爣宸烽亾 TaskNo = exYkTask1.TaskNo, // 浠诲姟鍙� TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱) @@ -2022,7 +2025,7 @@ IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 StartLocat = locate.LocatNo,//璧峰浣嶇疆 - EndLocat = "",//鐩爣浣嶇疆 + EndLocat = toLocation,//鐩爣浣嶇疆 PalletNo = item.PalletNo,//鎵樼洏鐮� IsSend = 1,//鏄惁鍙啀娆′笅鍙� IsCancel = 1,//鏄惁鍙彇娑� @@ -2033,13 +2036,13 @@ Msg = locate.LocatNo + "鐨勫嚭搴撲换鍔�" }; Db.Insertable(exTask1).ExecuteCommand(); - + logTaskList.Add(exTask1); outDto2.Add(new OutCommandDto() { StartRoadway = locate.RoadwayNo, //璧峰宸烽亾 PalletNo = item.PalletNo,//鎵樼洏鍙� StartLocate = locate.LocatNo, // 璧峰浣嶇疆 - EndLocate = "", // 鐩爣浣嶇疆 + EndLocate = toLocation, // 鐩爣浣嶇疆 EndRoadway = locate.RoadwayNo, //鐩爣宸烽亾 TaskNo = exTask1.TaskNo, // 浠诲姟鍙� TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱) @@ -2133,7 +2136,8 @@ flagList.Add(1); } } - + outDto1.AddRange(moveDto); + outDto1.AddRange(outDto2); //娣诲姞鎿嶄綔鏃ュ織璁板綍 var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鍗曟嵁", soNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鍑哄簱鍗曞彿涓猴細{soNo}鐨勫嚭搴撳崟", userId); Db.CommitTran(); @@ -2545,6 +2549,38 @@ { throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅"); } + //鑾峰彇瀵瑰簲搴撲綅淇℃伅 + var startlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == task.StartLocat); + if (startlocat == null) + { + 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); + 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 + Db.Updateable(endlocat).ExecuteCommand(); + } + //淇敼浠诲姟 task.IsSuccess = 1; task.IsSend = 0; @@ -2568,31 +2604,6 @@ noticeDetail.FactQty -= item.Qty; //淇敼鍑哄簱鍗曟槑缁嗙殑涓嬫灦鏁伴噺 Db.Updateable(noticeDetail).ExecuteCommand(); - - //鑾峰彇鍌ㄤ綅淇℃伅 - 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 == "W03" && 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 - Db.Updateable(endlocat).ExecuteCommand(); - } if (noticeDetail.FactQty == 0) { @@ -2835,7 +2846,7 @@ } else { - stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && m.IsDel == "0").ToList(); //&& string.IsNullOrWhiteSpace(m.LotNo) + stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && m.IsDel == "0" && string.IsNullOrWhiteSpace(m.LotNo)).ToList(); // } if (stockDetail.Count < 1) -- Gitblit v1.8.0