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/StockDetailByMaterielService.cs | 38 ++++++++++++++++++++++++--------------
1 files changed, 24 insertions(+), 14 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/StockDetailByMaterielService.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/StockDetailByMaterielService.cs"
index ea36886..44be98d 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/StockDetailByMaterielService.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/StockDetailByMaterielService.cs"
@@ -50,24 +50,31 @@
}
}
{
- SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfo.WarehouseId).FirstLetterToLower());
+ SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.WarehouseCode).FirstLetterToLower());
if (searchParameters != null)
{
- sugarQueryable = sugarQueryable.Where(x => x.WarehouseId.Equals(searchParameters.Value));
- }
- }
- {
- SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfo.StockStatus).FirstLetterToLower());
- if (searchParameters != null)
- {
- sugarQueryable = sugarQueryable.Where(x => x.StockStatus.Equals(searchParameters.Value));
+ sugarQueryable1 = sugarQueryable1.Where(x => x.WarehouseCode.Contains(searchParameters.Value));
}
}
{
SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.MaterielName).FirstLetterToLower());
if (searchParameters != null)
{
- sugarQueryable1 = sugarQueryable1.Where(x => x.MaterielName.Contains(searchParameters.Value));
+ sugarQueryable1 = sugarQueryable1.Where(x => x.MaterielName.Equals(searchParameters.Value));
+ }
+ }
+ {
+ SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.BatchNo).FirstLetterToLower());
+ if (searchParameters != null)
+ {
+ sugarQueryable1 = sugarQueryable1.Where(x => x.BatchNo.Equals(searchParameters.Value));
+ }
+ }
+ {
+ SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.SupplyCode).FirstLetterToLower());
+ if (searchParameters != null)
+ {
+ sugarQueryable1 = sugarQueryable1.Where(x => x.SupplyCode.Contains(searchParameters.Value));
}
}
@@ -110,15 +117,18 @@
var groupedData = new Dictionary<string, StockDetailByMateriel>();
foreach (var item in allData)
{
+
+ string groupKey = $"{item.MaterielCode}|{item.SupplyCode}|{item.BatchNo}|{item.WarehouseCode}";
+
// 纭繚鍒濆鍊间负decimal绫诲瀷
- if (groupedData.ContainsKey(item.MaterielCode))
+ if (groupedData.ContainsKey(groupKey))
{
- groupedData[item.MaterielCode].StockQuantity += Convert.ToDecimal(item.StockQuantity);
- groupedData[item.MaterielCode].OutboundQuantity += Convert.ToDecimal(item.OutboundQuantity);
+ groupedData[groupKey].StockQuantity += Convert.ToDecimal(item.StockQuantity);
+ groupedData[groupKey].OutboundQuantity += Convert.ToDecimal(item.OutboundQuantity);
}
else
{
- groupedData[item.MaterielCode] = new StockDetailByMateriel
+ groupedData[groupKey] = new StockDetailByMateriel
{
StockId = item.StockId,
MaterielCode = item.MaterielCode,
--
Gitblit v1.9.3