feat(QCMaterialSync): 支持动态设置同步时间范围的分钟数

- 从作业参数中获取分钟数参数,默认值为5分钟
- 参数非数字时记录警告并使用默认分钟数
- 同步时间范围改为当前时间向前的指定分钟数区间
- 日志中增加参数及计算后的开始结束时间打印
- 优化同步物料时间范围逻辑,增强灵活性和可配置性
This commit is contained in:
曹鹏飞 2026-05-15 09:49:09 +08:00
parent 44b38a6ab7
commit 59849f0136
1 changed files with 15 additions and 2 deletions

View File

@ -2,6 +2,7 @@ package com.nflg.wms.scheduled.processor;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.nflg.wms.common.pojo.dto.MaterialMainListByDateDTO;
import com.nflg.wms.common.util.UserUtil;
@ -18,10 +19,12 @@ import tech.powerjob.worker.log.OmsLogger;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalUnit;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@ -41,9 +44,19 @@ public class QCMaterialSyncProcessor implements BasicProcessor {
OmsLogger log = context.getOmsLogger();
try {
log.info("开始");
String params = context.getJobParams();
log.info("参数:{}", params);
int minutes = 5;
if (StrUtil.isNotBlank(params)) {
if (NumberUtil.isNumber(params)) {
minutes = NumberUtil.parseInt(params);
} else {
log.warn("参数不是数字,将使用默认值:" + minutes);
}
}
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String startDateTime = LocalDate.now().minusDays(1).atStartOfDay().format(formatter);
String endDateTime = LocalDate.now().minusDays(1).atTime(23, 59, 59).format(formatter);
String endDateTime = LocalDateTime.now().format(formatter);
String startDateTime = LocalDateTime.now().minusMinutes(minutes).format(formatter);
log.info("开始同步物料,范围开始时间:{},结束时间:{}", startDateTime, endDateTime);
// 从主物料系统查询指定日期范围的物料列表