From 5171d3f59b89389bf75293afd210cfa6de4ccff7 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期五, 10 四月 2026 23:03:49 +0800
Subject: [PATCH] feat: 添加堆垛机相关常量类并重构代码使用常量

---
 Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs |   71 +++++++++++++++++++++++------------
 1 files changed, 46 insertions(+), 25 deletions(-)

diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs
index 2657c1b..0b87683 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs
@@ -1,4 +1,5 @@
 锘縰sing SqlSugar;
+using WIDESEA_Common.Constants;
 using WIDESEA_Common.StockEnum;
 using WIDESEA_Core;
 using WIDESEA_DTO.MES;
@@ -35,6 +36,11 @@
         public IStockInfo_HtyService StockInfo_HtyService { get; }
 
         /// <summary>
+        /// 浠撳簱鏈嶅姟
+        /// </summary>
+        public IWarehouseService _warehouseService { get; }
+
+        /// <summary>
         /// Mes鎺ュ彛鏈嶅姟
         /// </summary>
         public IMesService _mesService { get; }
@@ -51,13 +57,15 @@
             IStockInfoService stockInfoService,
             IStockInfoDetail_HtyService stockInfoDetail_HtyService,
             IStockInfo_HtyService stockInfo_HtyService,
-            IMesService mesService)
+            IMesService mesService,
+            IWarehouseService warehouseService)
         {
             StockInfoDetailService = stockInfoDetailService;
             StockInfoService = stockInfoService;
             StockInfoDetail_HtyService = stockInfoDetail_HtyService;
             StockInfo_HtyService = stockInfo_HtyService;
             _mesService = mesService;
+            _warehouseService = warehouseService;
         }
 
         /// <summary>
@@ -116,12 +124,12 @@
                 var now = DateTime.Now;
                 var details = stock.Details.Select(item => new Dt_StockInfoDetail
                 {
-                    MaterielCode = "鐢佃姱",
-                    MaterielName = "鐢佃姱",
+                    MaterielCode = StockConstants.MATERIAL_CODE,
+                    MaterielName = StockConstants.MATERIAL_NAME,
                     StockQuantity = item.Quantity,
-                    Unit = "PCS",
-                    Creater = "system",
-                    OrderNo = "111",
+                    Unit = StockConstants.UNIT,
+                    Creater = StockConstants.SYSTEM_USER,
+                    OrderNo = StockConstants.DEFAULT_ORDER_NO,
                     ProductionDate = now.ToString(),
                     EffectiveDate = now.AddYears(1).ToString(),
                     SerialNumber = item.CellBarcode,
@@ -132,10 +140,10 @@
                 var bindRequest = new BindContainerRequest
                 {
                     ContainerCode = stock?.TargetPalletNo,
-                    EquipmentCode = "STK-GROUP-001",
-                    ResourceCode = "STK-GROUP-001",
+                    EquipmentCode = StockConstants.MES_EQUIPMENT_CODE,
+                    ResourceCode = StockConstants.MES_RESOURCE_CODE,
                     LocalTime = now,
-                    OperationType = 0, // 0浠h〃缁勭洏
+                    OperationType = StockConstants.MES_BIND_OPERATION_TYPE,
                     ContainerSfcList = details.Select(d => new ContainerSfcItem
                     {
                         Sfc = d.SerialNumber,
@@ -157,20 +165,19 @@
                     var entity = new Dt_StockInfo
                     {
                         PalletCode = stock.TargetPalletNo,
-                        //WarehouseId = stock.WarehouseId > 0 ? stock.WarehouseId : 1,
-                        WarehouseId = 1,
+                        WarehouseId = stock.Roadway == "娉ㄦ恫缁勭洏鏈烘鎵�" ? (await _warehouseService.Db.Queryable<Dt_Warehouse>().FirstAsync(w => w.WarehouseCode == "GW1")).WarehouseId : 0,
                         StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.GetHashCode(),
-                        Creater = "system",
+                        Creater = StockConstants.SYSTEM_USER,
                         Details = details
                     };
                     result = StockInfoService.Repository.AddData(entity, x => x.Details);
                     if (!result) return content.Error("缁勭洏澶辫触");
 
-                    var mesResult = _mesService.BindContainer(bindRequest);
-                    if (mesResult == null || mesResult.Data == null || !mesResult.Data.IsSuccess)
-                    {
-                        return content.Error($"缁勭洏鎴愬姛锛屼絾MES缁戝畾澶辫触: {mesResult?.Data?.Msg ?? mesResult?.ErrorMessage ?? "鏈煡閿欒"}");
-                    }
+                    //var mesResult = _mesService.BindContainer(bindRequest);
+                    //if (mesResult == null || mesResult.Data == null || !mesResult.Data.IsSuccess)
+                    //{
+                    //    return content.Error($"缁勭洏鎴愬姛锛屼絾MES缁戝畾澶辫触: {mesResult?.Data?.Msg ?? mesResult?.ErrorMessage ?? "鏈煡閿欒"}");
+                    //}
                     return content.OK("缁勭洏鎴愬姛");
                 });
             }
@@ -209,7 +216,7 @@
                             PalletCode = stock.TargetPalletNo,
                             WarehouseId = sourceStock.WarehouseId,
                             StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.GetHashCode(),
-                            Creater = "system",
+                            Creater = StockConstants.SYSTEM_USER,
                         };
 
                         var newId = StockInfoService.Repository.AddData(newStock);
@@ -232,13 +239,11 @@
                     if (await StockInfo_HtyService.Repository.AddDataAsync(CreateStockHistory(new[] { sourceStock, targetStock }, "鎹㈢洏")) <= 0)
                         return content.Error("鎹㈢洏鍘嗗彶璁板綍淇濆瓨澶辫触");
 
-                    detailEntities.ForEach(d => d.StockId = targetStock.Id);
-
                     // 璋冪敤MES瑙g粦婧愭墭鐩樼數鑺�
                     var unbindRequest = new UnBindContainerRequest
                     {
-                        EquipmentCode = "STK-GROUP-001",
-                        ResourceCode = "STK-GROUP-001",
+                        EquipmentCode = StockConstants.MES_EQUIPMENT_CODE,
+                        ResourceCode = StockConstants.MES_RESOURCE_CODE,
                         LocalTime = DateTime.Now,
                         ContainCode = stock.SourcePalletNo,
                         SfcList = detailEntities.Select(d => d.SerialNumber).ToList()
@@ -249,6 +254,7 @@
                         return content.Error($"鎹㈢洏鎴愬姛锛屼絾MES瑙g粦澶辫触: {unbindResult?.Data?.Msg ?? unbindResult?.ErrorMessage ?? "鏈煡閿欒"}");
                     }
 
+                    detailEntities.ForEach(d => d.StockId = targetStock.Id);
                     var result = await StockInfoDetailService.Repository.UpdateDataAsync(detailEntities);
                     if (!result) return content.Error("鎹㈢洏澶辫触");
 
@@ -256,10 +262,10 @@
                     var bindRequest = new BindContainerRequest
                     {
                         ContainerCode = stock.TargetPalletNo,
-                        EquipmentCode = "STK-GROUP-001",
-                        ResourceCode = "STK-GROUP-001",
+                        EquipmentCode = StockConstants.MES_EQUIPMENT_CODE,
+                        ResourceCode = StockConstants.MES_RESOURCE_CODE,
                         LocalTime = DateTime.Now,
-                        OperationType = 0,
+                        OperationType = StockConstants.MES_BIND_OPERATION_TYPE,
                         ContainerSfcList = detailEntities.Select(d => new ContainerSfcItem
                         {
                             Sfc = d.SerialNumber,
@@ -316,6 +322,21 @@
                     if (await StockInfo_HtyService.Repository.AddDataAsync(CreateStockHistory(new[] { sourceStock }, "鎷嗙洏")) <= 0)
                         return content.Error("鎷嗙洏鍘嗗彶璁板綍淇濆瓨澶辫触");
 
+                    // 璋冪敤MES瑙g粦鐢佃姱
+                    var unbindRequest = new UnBindContainerRequest
+                    {
+                        EquipmentCode = StockConstants.MES_EQUIPMENT_CODE,
+                        ResourceCode = StockConstants.MES_RESOURCE_CODE,
+                        LocalTime = DateTime.Now,
+                        ContainCode = stock.SourcePalletNo,
+                        SfcList = detailEntities.Select(d => d.SerialNumber).ToList()
+                    };
+                    var unbindResult = _mesService.UnBindContainer(unbindRequest);
+                    if (unbindResult == null || unbindResult.Data == null || !unbindResult.Data.IsSuccess)
+                    {
+                        return content.Error($"鎷嗙洏鎴愬姛锛屼絾MES瑙g粦澶辫触: {unbindResult?.Data?.Msg ?? unbindResult?.ErrorMessage ?? "鏈煡閿欒"}");
+                    }
+
                     var result = await StockInfoDetailService.Repository.DeleteDataAsync(detailEntities);
                     if (!result) return content.Error("鎷嗙洏澶辫触");
                     return content.OK("鎷嗙洏鎴愬姛");

--
Gitblit v1.9.3