From 3a5257be69608f4301fe1a1e207db7d95cc4178c Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期日, 11 五月 2025 16:31:40 +0800
Subject: [PATCH] 修改问题

---
 Wms/WMS.BLL/HttpServer.cs |  129 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 126 insertions(+), 3 deletions(-)

diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs
index 61228b3..4175a56 100644
--- a/Wms/WMS.BLL/HttpServer.cs
+++ b/Wms/WMS.BLL/HttpServer.cs
@@ -416,6 +416,10 @@
                 foreach (var item in stockDetail)
                 {
                     var skuItem = skuList.First(m => m.SkuNo == item.SkuNo);
+                    if (skuItem.SkuNo == "100099")
+                    {
+                        continue;
+                    }
                     if (skuItem.Type != "2")
                     {
                         throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�");
@@ -528,7 +532,7 @@
                 }
 
                 //宸烽亾缁勪俊鎭�
-                var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo))
+                var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo) && !string.IsNullOrWhiteSpace(m.RoadwayNo))
                     .GroupBy(m => m.RoadwayNo).OrderBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList();
 
                 #endregion
@@ -719,6 +723,10 @@
                 foreach (var item in stockDetail)
                 {
                     var skuItem = skuList.First(m => m.SkuNo == item.SkuNo);
+                    if (skuItem.SkuNo == "100099")
+                    {
+                        continue;
+                    }
                     if (skuItem.Type != "2")
                     {
                         throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�");
@@ -839,7 +847,10 @@
                 }
 
                 locate = allotLocate.GetMiJiSuiTableLocate(roadwayNo, areaList);
-                
+                if (locate == null)
+                {
+                    throw new Exception($"娌℃湁绌哄偍浣�");
+                }
 
                 #endregion
 
@@ -1021,12 +1032,21 @@
                 {
                     throw new Exception($"鏈煡璇㈠埌浠诲姟涓殑鍌ㄤ綅淇℃伅");
                 }
-                var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.AreaNo != "B06" && m.AreaNo != "B07").Select(m => m.AreaNo).ToList();
+                var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04").Select(m => m.AreaNo).ToList();
                 var pingLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locate.LocatNo && pingAreaStr.Contains(m.AreaNo) && m.IsDel == "0");
                 if (pingLocateInfo == null)
                 {
                     throw new Exception("褰撳墠浠诲姟璧峰鍌ㄤ綅涓嶅湪骞冲簱鍌ㄤ綅");
                 }
+                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == task.PalletNo).ToList();
+                foreach (var item in stockDetail)
+                {
+                    item.WareHouseNo = "";
+                    item.RoadwayNo = "";
+                    item.AreaNo = "";
+                    item.LocatNo = "";
+                }
+                Db.Updateable(stockDetail).ExecuteCommand();
                 locate.Status = "0";
                 Db.Updateable(locate).ExecuteCommand();
             }
@@ -1118,6 +1138,109 @@
         }
 
 
+        /// <summary>
+        /// 绉诲簱浠诲姟瀹屾垚JC34
+        /// </summary>
+        /// <param name="taskNo"></param>
+        /// <param name="userId"></param>
+        /// <exception cref="Exception"></exception>
+        public void MoveSuccess(string taskNo, int userId)
+        {
+            try
+            {
+                Db.BeginTran();
+                //姝e父鍏ュ簱 
+                var task = Db.Queryable<LogTask>().First(m => m.IsDel == "0" && m.TaskNo == taskNo);
+                if (task == null)
+                {
+                    throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅");
+                }
+                if (task.Status == "2")
+                {
+                    throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
+                }
+
+                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
+                //鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴�
+                if (!stockDetail.Any())
+                {
+                    throw new Exception("娌℃湁鏌ヨ鍒板簱瀛樹俊鎭�");
+                }
+                //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅
+                var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat);
+                if (locate == null)
+                {
+                    throw new Exception($"鏈煡璇㈠埌浠诲姟涓殑璧峰鍌ㄤ綅淇℃伅");
+                }
+                //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅
+                var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
+                if (locate2 == null)
+                {
+                    throw new Exception($"鏈煡璇㈠埌浠诲姟涓殑鐩爣鍌ㄤ綅淇℃伅");
+                }
+                
+                task.Status = "2";//浠诲姟鐘舵��
+                task.IsSend = 0;
+                task.IsCancel = 0;
+                task.IsFinish = 0;
+                task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
+                Db.Updateable(task).ExecuteCommand();
+                if (userId != 0)
+                {
+                    //娣诲姞鎿嶄綔鏃ュ織璁板綍
+                    var k = new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
+                }
+
+                foreach (var item in stockDetail)
+                {
+                    if (locate2.LocatNo == "B040101")
+                    {
+                        item.WareHouseNo = "";
+                        item.RoadwayNo = "";
+                        item.AreaNo = "";
+                        item.LocatNo = "";
+                    }
+                    else
+                    {
+                        item.WareHouseNo = locate2.WareHouseNo;
+                        item.RoadwayNo = locate2.RoadwayNo;
+                        item.AreaNo = locate2.AreaNo;
+                        item.LocatNo = locate2.LocatNo;
+                    }
+                    item.UpdateTime = DateTime.Now;
+                    if (userId != 0)
+                    {
+                        item.UpdateUser = userId;
+                    }
+                }
+
+                if (locate.WareHouseNo != "W04")
+                {
+                    locate.Status = "0";
+                    Db.Updateable(locate).ExecuteCommand();
+                }
+                
+                if (locate2.LocatNo == "B040101")
+                {
+                    locate2.Status = "0";
+                    Db.Updateable(locate2).ExecuteCommand();
+                }
+                else
+                {
+                    locate2.Status = "1";
+                    Db.Updateable(locate).ExecuteCommand();
+                }
+                
+                Db.Updateable(stockDetail).ExecuteCommand();
+                Db.CommitTran();
+
+            }
+            catch (Exception e)
+            {
+                Db.RollbackTran();
+                throw new Exception(e.Message);
+            }
+        }
 
 
     }

--
Gitblit v1.8.0