From 2920728d7908da2ee196f3af8b3d1c635696e9a1 Mon Sep 17 00:00:00 2001
From: zwc <526854230@qq.com>
Date: 星期三, 15 一月 2025 15:47:15 +0800
Subject: [PATCH] 修改问题

---
 Wms/WMS.BLL/DataServer/StockServer.cs |  148 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 147 insertions(+), 1 deletions(-)

diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index a527d2c..83d3b68 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -11,8 +11,10 @@
 using Model.ModelVm.DataVm;
 using SqlSugar;
 using WMS.DAL;
+using WMS.Entity.BllSoEntity;
 using WMS.Entity.Context;
 using WMS.Entity.DataEntity;
+using WMS.Entity.LogEntity;
 using WMS.Entity.SysEntity;
 using WMS.IBLL.IDataServer;
 
@@ -137,7 +139,7 @@
         /// <param name="ownerName">璐т富鍚嶇О</param>
         /// <returns></returns>
         public List<StockDetailDto> GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, 
-            string status, string inspectStatus, string ownerNo, string ownerName, string houseNo, string areaNo, string type)
+            string status, string inspectStatus, string ownerNo, string ownerName, string houseNo, string areaNo, string categoryNo, string type)
         {
             string str = "select detail.*,sku.Type,house.WareHouseNo + '-' + house.WareHouseName as WareHouseName," +
                 "roadway.RoadwayNo + '-' + roadway.RoadwayName as RoadwayName,area.AreaNo + '-' + area.AreaName as AreaName  " +
@@ -146,6 +148,7 @@
                 "left join SysWareHouse house on detail.WareHouseNo = house.WareHouseNo " +
                 "left join SysStorageArea area on detail.AreaNo = area.AreaNo " +
                 "left join SysMaterials as sku on detail.skuNo = sku.skuNo " +
+                "left join SysMaterialCategory as cat on sku.CategoryNo = cat.CategoryNo " +
                 "Where detail.IsDel = @isdel";
             //鍒ゆ柇鐗╂枡缂栫爜鏄惁涓虹┖
             if (!string.IsNullOrEmpty(skuNo))
@@ -200,6 +203,10 @@
             {
                 str += " and area.AreaNo = @areaNo";
             }
+            if (!string.IsNullOrEmpty(categoryNo))
+            {
+                str += " and cat.CategoryNo = @categoryNo";
+            }
             if (!string.IsNullOrEmpty(type))
             {
                 str += " and sku.Type = @type";
@@ -221,6 +228,7 @@
                 ownerName = "%" + ownerName + "%",          //璐т富鍚嶇О
                 wareHouseNo = houseNo,                      
                 areaNo = areaNo,                         //鎵�灞炲尯鍩�
+                categoryNo = categoryNo,                //閫昏緫搴撳尯
                 type = type
             });
             return stockDetailsList;
@@ -1015,5 +1023,143 @@
             return stockDetailsList;
         }
         #endregion
+
+        #region AGV灏忚溅浠诲姟瀹屾垚
+
+        /// <summary>
+        /// AGV鍏ュ簱瀹屾垚
+        /// </summary>
+        /// <param name="TaskCode">浠诲姟鍙�</param>
+        /// <returns></returns>
+        public void ArriveFinish(string TaskCode)
+        {
+            try
+            {
+                var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "0");//鑾峰彇浠诲姟淇℃伅
+                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇搴撲綅淇℃伅
+                var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo);
+                //寮�鍚簨鍔�
+                Db.BeginTran();
+               
+                //淇敼璧峰搴撲綅鐘舵��
+                storageLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 
+                Db.Updateable(storageLocat).ExecuteCommand();
+
+                //淇敼浠诲姟鐘舵��
+                palletNo.Status = "2";   //宸插畬鎴�
+                Db.Updateable(palletNo).ExecuteCommand();
+
+                //淇敼搴撳瓨鏄庣粏
+                stockDetail.Status = "0";//寰呭垎閰�
+                stockDetail.LocatNo = "";
+                stockDetail.AreaNo = "";
+                stockDetail.RoadwayNo = "";
+                stockDetail.WareHouseNo = "";
+                Db.Updateable(stockDetail).ExecuteCommand();
+
+                //涓嬪彂WCS鐢宠鍏ュ簱
+
+
+                Db.CommitTran();
+
+            }
+            catch (Exception ex)
+            {
+
+                throw new Exception("AGV杩斿洖鍏ュ簱瀹屾垚淇″彿澶勭悊閿欒锛岄敊璇俊鎭細" + ex);
+            }
+        }
+
+        /// <summary>
+        /// AGV鍑哄簱瀹屾垚
+        /// </summary>
+        /// <param name="TaskCode">浠诲姟鍙�</param>
+        /// <returns></returns>
+        public void SoFinish(string TaskCode)
+        {
+            try
+            {
+                var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "1");//鑾峰彇浠诲姟淇℃伅
+                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat); //鑾峰彇搴撲綅淇℃伅
+                var storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇搴撲綅淇℃伅
+                var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo); //鑾峰彇搴撳瓨淇℃伅
+
+                //寮�鍚簨鍔�
+                Db.BeginTran();
+                //淇敼鐩殑搴撲綅鐘舵��
+                storageLocat.Status = "1";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 
+                Db.Updateable(storageLocat).ExecuteCommand();
+
+                //淇敼浠诲姟鐘舵��
+                palletNo.Status = "2";   //宸插畬鎴�
+                Db.Updateable(palletNo).ExecuteCommand();
+
+                //淇敼搴撳瓨鏄庣粏
+                stockDetail.Status = "2";// 0:寰呭垎閰�   1:閮ㄥ垎鍒嗛厤 2锛氬凡鍒嗛厤 3锛氱洏鐐归攣瀹氾細 4绉诲簱閿佸畾
+                stockDetail.LocatNo = storageLocat.LocatNo;
+                stockDetail.AreaNo = storageLocat.AreaNo;
+                stockDetail.RoadwayNo = storageLocat.RoadwayNo;
+                stockDetail.WareHouseNo = storageLocat.WareHouseNo;
+                Db.Updateable(stockDetail).ExecuteCommand();
+
+
+                Db.CommitTran();
+
+            }
+            catch (Exception ex )
+            {
+
+                throw new Exception("AGV杩斿洖鍑哄簱瀹屾垚淇″彿澶勭悊閿欒锛岄敊璇俊鎭細" + ex);
+            }
+        }
+
+        /// <summary>
+        /// AGV绉诲簱瀹屾垚
+        /// </summary>
+        /// <param name="TaskCode">浠诲姟鍙�</param>
+        /// <returns></returns>
+        public void MoveFinish(string TaskCode)
+        {
+            try
+            {
+                var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "3");//鑾峰彇浠诲姟淇℃伅
+                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat); //鑾峰彇搴撲綅淇℃伅
+                var storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇搴撲綅淇℃伅
+                var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo); //鑾峰彇搴撳瓨淇℃伅
+                //var soAllot = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.PalletNo == palletNo.PalletNo);//鑾峰彇鍒嗛厤淇℃伅
+                
+                
+                //寮�鍚簨鍔�
+                Db.BeginTran();
+                //淇敼璧峰搴撲綅鐘舵��
+                storageLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 
+                Db.Updateable(storageLocat).ExecuteCommand();
+
+                //淇敼鐩殑搴撲綅鐘舵��
+                storageLocat.Status = "1";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 
+                Db.Updateable(storageLocat).ExecuteCommand();
+
+                //淇敼浠诲姟鐘舵��
+                palletNo.Status = "2";   //宸插畬鎴�
+                Db.Updateable(palletNo).ExecuteCommand();
+
+                //淇敼搴撳瓨鏄庣粏
+                stockDetail.Status = "2";// 0:寰呭垎閰�   1:閮ㄥ垎鍒嗛厤 2锛氬凡鍒嗛厤 3锛氱洏鐐归攣瀹氾細 4绉诲簱閿佸畾
+                stockDetail.LocatNo = storageLocat.LocatNo;
+                stockDetail.AreaNo = storageLocat.AreaNo;
+                stockDetail.RoadwayNo = storageLocat.RoadwayNo;
+                stockDetail.WareHouseNo = storageLocat.WareHouseNo;
+                Db.Updateable(stockDetail).ExecuteCommand();
+
+
+                Db.CommitTran();
+            }
+            catch (Exception ex)
+            {
+
+                throw new Exception("AGV杩斿洖绉诲簱瀹屾垚淇″彿澶勭悊閿欒锛岄敊璇俊鎭細"+ex);
+            }
+        }
+        #endregion
     }
 }

--
Gitblit v1.8.0