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_StockService/StockViewService.cs |   32 +++++++++++++++++++++++++++-----
 1 files changed, 27 insertions(+), 5 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_StockService/StockViewService.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_StockService/StockViewService.cs"
index 98cd527..c2eac42 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_StockService/StockViewService.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_StockService/StockViewService.cs"
@@ -31,6 +31,7 @@
             try
             {
                 ISugarQueryable<Dt_StockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_StockInfo>().Includes(x => x.Details);
+                ISugarQueryable<Dt_LocationInfo> sugarQueryable = _dbBase.Queryable<Dt_LocationInfo>();
                 if (!string.IsNullOrEmpty(options.Wheres))
                 {
                     try
@@ -56,12 +57,33 @@
                                                 .Where(x => x.Details.Any(v => v.BatchNo.Contains(param.Value.ToString())));
                                         }
                                         break;
-
-                                    case var name when name == nameof(Dt_StockInfo.LocationCode).FirstLetterToLower():
+                                    case var name when name == nameof(Dt_StockInfoDetail.SupplyCode).FirstLetterToLower():
                                         if (!string.IsNullOrEmpty(param.Value?.ToString()))
                                         {
                                             sugarQueryable1 = sugarQueryable1
-                                                .Where(x => x.LocationCode == param.Value.ToString());
+                                                .Where(x => x.Details.Any(v => v.SupplyCode.Contains(param.Value.ToString())));
+                                        }
+                                        break;
+                                    case var name when name == nameof(Dt_StockInfoDetail.Barcode).FirstLetterToLower():
+                                        if (!string.IsNullOrEmpty(param.Value?.ToString()))
+                                        {
+                                            sugarQueryable1 = sugarQueryable1
+                                                .Where(x => x.Details.Any(v => v.Barcode.Contains(param.Value.ToString())));
+                                        }
+                                        break;
+                                    case var name when name == nameof(Dt_StockInfoDetail.OrderNo).FirstLetterToLower():
+                                        if (!string.IsNullOrEmpty(param.Value?.ToString()))
+                                        {
+                                            sugarQueryable1 = sugarQueryable1
+                                                .Where(x => x.Details.Any(v => v.OrderNo.Contains(param.Value.ToString())));
+                                        }
+                                        break;
+
+                                    case var name when name == nameof(Dt_LocationInfo.LocationStatus).FirstLetterToLower():
+                                        if (!string.IsNullOrEmpty(param.Value?.ToString()))
+                                        {
+                                            sugarQueryable = sugarQueryable
+                                                .Where(x => x.LocationStatus == param.Value.ObjToInt());
                                         }
                                         break;
                                     case var name when name == nameof(Dt_StockInfo.CreateDate).FirstLetterToLower():
@@ -87,7 +109,7 @@
                     }
                 }
                 EntityProperties.ValidatePageOptions(options, ref sugarQueryable1);
-                ISugarQueryable<Dt_LocationInfo> sugarQueryable = _dbBase.Queryable<Dt_LocationInfo>();
+
                 ISugarQueryable<StockViewDTO> list = sugarQueryable1.InnerJoin(sugarQueryable, (b, a) => a.LocationCode == b.LocationCode).Select((b, a) => new StockViewDTO
                 {
                     LocationCode = b.LocationCode,
@@ -100,7 +122,7 @@
                     Layer = a.Layer,
                     LocationName = a.LocationName,
                     LocationStatus = a.LocationStatus,
-                    LocationType = a.LocationType,
+                    LocationType = b.LocationType,
                     Modifier = b.Modifier,
                     ModifyDate = b.ModifyDate,
                     PalletCode = b.PalletCode,

--
Gitblit v1.9.3