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 |  131 +++++++++++++++++++++++--------------------
 1 files changed, 71 insertions(+), 60 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 93c1488..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",// 浠诲姟绫诲瀷 (鍑哄簱)
@@ -2114,7 +2117,7 @@
                             var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "1" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo);
                             if (taskNo == null)
                             {
-                                taskNo = logTaskList.First(m => m.PalletNo == item.PalletNo);//褰撳墠鏈夊悓鎵樼洏涓嶅悓鐗╂枡鍑哄簱
+                                taskNo = logTaskList.FirstOrDefault(m => m.PalletNo == item.PalletNo);//褰撳墠鏈夊悓鎵樼洏涓嶅悓鐗╂枡鍑哄簱
                             }
                             if (taskNo == null)
                             {
@@ -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