From 5909649db85ff29faf983154763cc4b7301665e2 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 18 十二月 2025 11:15:31 +0800
Subject: [PATCH] 新增任务调度功能及优化日志处理新增任务状态枚举值 HasSent,表示任务已发送。新增任务调度接口 `ISchedulerCenter`,定义任务调度相关方法。 新增任务工厂 `JobFactory`,通过依赖注入创建任务实例。 新增任务调度服务配置 `JobSetup`,支持依赖注入配置。 新增通用响应类 `ResponseContent`,封装任务调度操作结果。新增任务调度服务实现 `SchedulerCenterServer`,实现任务添加、暂停、恢复等功能。 新增任务信息 DTO `TaskInfoDto` 和任务计划实体类 `TasksQz`。 新增任务配置类 `JobConfig`,描述任务类型及执行间隔。 注释掉部分服务中的旧任务创建逻辑,准备替换为新调度机制。 新增 AGV 任务调度作业 `AgvTaskJob`,处理 AGV 任务调度。 新增 Quartz 中间件 `QuartzJobMiddleWare`,初始化任务调度。 在 `Program.cs` 中集成 Quartz,配置任务调度依赖注入。 优化日志记录和异常处理,提升代码可维护性和调试性。

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_RecordService/LocationStatusChangeRecordService.cs |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_RecordService/LocationStatusChangeRecordService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_RecordService/LocationStatusChangeRecordService.cs"
index feeffc8..05147f4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_RecordService/LocationStatusChangeRecordService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_RecordService/LocationStatusChangeRecordService.cs"
@@ -1,5 +1,7 @@
-锘縰sing WIDESEA_Core.BaseRepository;
+锘縰sing WIDESEA_Common.LocationEnum;
+using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
+using WIDESEA_Core.Helper;
 using WIDESEA_IRecordService;
 using WIDESEA_Model.Models;
 
@@ -30,6 +32,36 @@
             BaseDal.AddData(locationStatusChangeRecord);
         }
 
+        public void AddLocationStatusChangeRecord(List<Dt_LocationInfo> locationInfos, LocationStatusEnum newStatus, LocationChangeType changeType, string? orderNo = null, List<int>? taskNums = null)
+        {
+            try
+            {
+                List<Dt_LocationStatusChangeRecord> records = new List<Dt_LocationStatusChangeRecord>();
+                for (int i = 0; i < locationInfos.Count; i++)
+                {
+                    Dt_LocationInfo locationInfo = locationInfos[i];
+                    int? taskNum = (taskNums != null && taskNums.Count > 0 && taskNums.Count == locationInfos.Count) ? taskNums[i] : null;
+                    Dt_LocationStatusChangeRecord locationStatusChangeRecord = new Dt_LocationStatusChangeRecord()
+                    {
+                        AfterStatus = newStatus.ObjToInt(),
+                        BeforeStatus = locationInfo.LocationStatus,
+                        ChangeType = changeType.ObjToInt(),
+                        LocationCode = locationInfo.LocationCode,
+                        LocationId = locationInfo.Id,
+                        TaskNum = taskNum,
+                        OrderNo = orderNo ?? ""
+                    };
+                    records.Add(locationStatusChangeRecord);
+                }
+
+
+                BaseDal.AddData(records);
+            }
+            catch (Exception ex)
+            {
+                throw new Exception($"{ex.Message}");
+            }
+        }
         public void AddLocationStatusChangeRecord(List<Dt_LocationInfo> locationInfos, int newStatus, int changeType, string? orderNo, List<int>? taskNums)
         {
             List<Dt_LocationStatusChangeRecord> records = new List<Dt_LocationStatusChangeRecord>();

--
Gitblit v1.9.3