From 79cea1bc2685b73f2f6a29379f37580ca1a38c79 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期六, 11 四月 2026 15:56:50 +0800
Subject: [PATCH] 优化提升机质检料箱接口,添加平库的修改库区以及查看

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationInfo.cs |    7 +++
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs                          |   23 +++++++++--
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs           |   31 +++++++++++++++
 3 files changed, 56 insertions(+), 5 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationInfo.cs"
index 42ed8e3..3908784 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationInfo.cs"
@@ -35,6 +35,13 @@
         [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "绔欏彴鍚嶇О")]
         public string StationName { get; set; }
 
+
+        /// <summary>
+        /// 鍖哄煙
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDescription = "鍖哄煙")]
+        public int StationRegion { get; set; }
+
         /// <summary>
         /// 绔欏彴绫诲瀷 <br/>
         /// 1锛氬彧鍏� <br/>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 55e58ab..505e820 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -514,6 +514,7 @@
                 var rgv = new List<Dt_RGVLocationInfo>();
                 var kls = new List<Dt_KLSLocationInfo>();
                 var hk = new List<Dt_HKLocationInfo>();
+                var pk = new List<Dt_StationInfo>();
                 if (wMSUpdateLocationArea.WarehouseId == 1)
                 {
                     var rgvList = _rGVLocationInfoService.Repository.QueryData(x => wMSUpdateLocationArea.LocationCodes.Contains(x.LocationCode)).ToList();
@@ -541,6 +542,15 @@
                         item.WarehouseId = wMSUpdateLocationArea.UpdateAreaCode.ObjToInt();
                     }
                     hk.AddRange(hkList);
+                }
+                if (wMSUpdateLocationArea.WarehouseId == 4)
+                {
+                    var pkList = _stationInfo.Repository.QueryData(x => wMSUpdateLocationArea.LocationCodes.Contains(x.StationCode)).ToList();
+                    foreach (var item in pk)
+                    {
+                        item.StationRegion = wMSUpdateLocationArea.UpdateAreaCode.ObjToInt();
+                    }
+                    pk.AddRange(pkList);
                 }
                 Db.Ado.BeginTran();
                 _rGVLocationInfoService.UpdateData(rgv);
@@ -1207,6 +1217,25 @@
                     }
                     content.OK(data: list);
                 }
+                else if (getLocationInfo.WarehouseId == 6)
+                {
+                    List<Dt_StationInfo> StationInfo = new List<Dt_StationInfo>();
+                    if (!string.IsNullOrEmpty(getLocationInfo.AreaCode))
+                        StationInfo = _stationInfo.Repository.QueryData(x => x.StationRegion == getLocationInfo.AreaCode.ObjToInt());
+                    else
+                        StationInfo = _stationInfo.Repository.QueryData();
+                    foreach (var item in StationInfo)
+                    {
+                        list.Add(new
+                        {
+                            LoctionCode = item.StationCode,
+                            LocationStatus = item.StationStatus,
+                            EnableStatus = item.IsOccupied,
+                            PalletCode = item.PalletCode
+                        });
+                    }
+                    content.OK(data: list);
+                }
             }
             catch (Exception ex)
             {
@@ -1280,7 +1309,9 @@
                 string dataJson = wMSReturn.result.ToString();
                 Exists? exists = JsonConvert.DeserializeObject<Exists>(dataJson);
                 if (exists == null) throw new Exception($"WMS杩斿洖缁撴灉鐨剅esult杞崲澶辫触");
+                //濡傛灉鎴愬姛灏变笉杩斿洖
                 if (exists.taskExists) return WebResponseContent.Instance.OK();
+                //濡傛灉澶辫触浜嗗氨杩斿洖exists.errorAreaCode
                 return WebResponseContent.Instance.OK(exists.errorAreaCode);
             }
             catch (Exception ex)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs"
index 3dddd75..dcd6ffd 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs"
@@ -14,6 +14,7 @@
 using System.Text;
 using System.Threading.Tasks;
 using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.LocationEnum;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Communicator;
 using WIDESEAWCS_Core.Helper;
@@ -33,10 +34,13 @@
     {
         private readonly ITaskService _taskService;
         private readonly IStationMangerService _stationMangerService;
-        public TSJJob(ITaskService taskService, IStationMangerService stationMangerService)
+        private readonly IStationInfoService _stationInfoService;
+        
+        public TSJJob(ITaskService taskService, IStationMangerService stationMangerService, IStationInfoService stationInfoService)
         {
             _taskService = taskService;//娉ㄥ叆
             _stationMangerService = stationMangerService;
+            _stationInfoService = stationInfoService;
         }
 
         public Task Execute(IJobExecutionContext context)
@@ -207,10 +211,19 @@
                                 }
                                 else
                                 {
-                                    RK3FTask.CurrentAddress = RK3FTask.TargetAddress;
-                                    if (!string.IsNullOrEmpty(Verification.Message)) RK3FTask.TargetAddress = Verification.Message;
-                                    //濡傛灉鏂欑妫�楠屾垚鍔熷氨鍐欏叆璇荤爜鍣ㄧ殑鍊�
-                                    var result = _taskService.Hikvisiontaskscontinue(RK3FTask.WMSTaskNum, RK3FTask.TargetAddress);
+
+                                    //濡傛灉璐ㄦ閫氳繃灏变笉鏀瑰彉RK3FTask.TargetAddress鐨勫�硷紝
+                                    if (!string.IsNullOrEmpty(Verification.Message))
+                                    {
+                                        //瀵绘壘骞冲簱璐т綅
+                                        var Location = _stationInfoService.Repository.QueryFirst(x=>x.StationRegion==Verification.Message.ObjToInt()&&x.StationStatus==(int)LocationStatusEnum.Free&&x.FloorNumber=="CC"&&x.IsOccupied==(int)LocationStatusEnum.Free);
+                                        RK3FTask.NextAddress = Location.StationCode;
+                                        RK3FTask.TargetAddress = Location.StationCode;
+                                        RK3FTask.CurrentAddress = RK3FTask.TargetAddress;
+                                        _taskService.UpdateData(RK3FTask);
+                                    }
+                                        //璋冪敤娴峰悍杩涜鎵ц瀹屾垚鎺ュ彛
+                                        var result = _taskService.Hikvisiontaskscontinue(RK3FTask.WMSTaskNum, RK3FTask.NextAddress);
                                     if (result.Status)
                                     {
                                         RK3FTask.ExceptionMessage = "";

--
Gitblit v1.9.3