From 36bb7c0c30d386494daa92e48405d1b6bba7da5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Fri, 8 Aug 2025 18:38:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/admin/schedule/LdapScheduledTask.java | 4 ++ .../constant/InventoryCheckTaskState.java | 28 +++++++++++ .../nflg/wms/common/util/DateTimeUtil.java | 9 ++++ .../config/MysqlDataSourceConfig.java | 4 +- .../WmsInventoryCheckTaskServiceImpl.java | 7 +-- .../InventoryCheckTaskProcessor.java | 47 +++++++++++++++++++ .../src/main/resources/application-dev.yml | 10 ---- .../src/main/resources/application.yml | 6 +-- 8 files changed, 96 insertions(+), 19 deletions(-) create mode 100644 nflg-wms-common/src/main/java/com/nflg/wms/common/constant/InventoryCheckTaskState.java create mode 100644 nflg-wms-scheduled/src/main/java/com/nflg/wms/scheduled/processor/InventoryCheckTaskProcessor.java delete mode 100644 nflg-wms-scheduled/src/main/resources/application-dev.yml diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/schedule/LdapScheduledTask.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/schedule/LdapScheduledTask.java index d619e58f..348870b5 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/schedule/LdapScheduledTask.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/schedule/LdapScheduledTask.java @@ -27,12 +27,16 @@ import java.util.List; public class LdapScheduledTask { private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN); + @Resource private IAdService adService; + @Resource private IAdSyncService adSyncService; + @Resource private DepartmentControllerService departmentControllerService; + @Resource private UserControllerService userControllerService; diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/InventoryCheckTaskState.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/InventoryCheckTaskState.java new file mode 100644 index 00000000..77ef1d9d --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/InventoryCheckTaskState.java @@ -0,0 +1,28 @@ +package com.nflg.wms.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Objects; + +@Getter +@AllArgsConstructor +public enum InventoryCheckTaskState { + + UnPublish(0, "未发布"), + Published(1, "已发布"), + InProgress(2, "进行中"), + Completed(3, "已完成"); + + private final Integer state; + private final String description; + + public static InventoryCheckTaskState findByValue(Integer value) { + for (InventoryCheckTaskState valueEnum : InventoryCheckTaskState.values()) { + if (Objects.equals(valueEnum.getState(), value)) { + return valueEnum; + } + } + return null; + } +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/util/DateTimeUtil.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/util/DateTimeUtil.java index fc07bedf..0eb995a8 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/util/DateTimeUtil.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/util/DateTimeUtil.java @@ -60,4 +60,13 @@ public class DateTimeUtil { .withZoneSameInstant(ZoneId.systemDefault()) .toLocalDateTime(); } + + public static LocalDate asUTCDate(LocalDate date) { + if (Objects.isNull(date)) { + return null; + } + return date.atStartOfDay(ZoneId.systemDefault()) + .withZoneSameInstant(ZoneOffset.UTC) + .toLocalDate(); + } } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/config/MysqlDataSourceConfig.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/config/MysqlDataSourceConfig.java index 24b7f642..635695e7 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/config/MysqlDataSourceConfig.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/config/MysqlDataSourceConfig.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInt import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; import com.nflg.wms.repository.handler.UTCLocalDateTimeTypeHandler; -import com.nflg.wms.repository.handler.UTCLocalDateTypeHandler; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.type.TypeHandlerRegistry; import org.mybatis.spring.annotation.MapperScan; @@ -18,7 +17,6 @@ import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.transaction.annotation.EnableTransactionManagement; import javax.sql.DataSource; -import java.time.LocalDate; import java.time.LocalDateTime; @Configuration @@ -39,7 +37,7 @@ public class MysqlDataSourceConfig { TypeHandlerRegistry typeHandlerRegistry = configuration.getTypeHandlerRegistry(); typeHandlerRegistry.register(LocalDateTime.class, new UTCLocalDateTimeTypeHandler()); - typeHandlerRegistry.register(LocalDate.class, new UTCLocalDateTypeHandler()); +// typeHandlerRegistry.register(LocalDate.class, new UTCLocalDateTypeHandler()); sqlSessionFactoryBean.setConfiguration(configuration); sqlSessionFactoryBean.setDataSource(masterDataSource); diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInventoryCheckTaskServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInventoryCheckTaskServiceImpl.java index f078b29b..ab1dd651 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInventoryCheckTaskServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInventoryCheckTaskServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nflg.wms.common.constant.InventoryCheckTaskState; import com.nflg.wms.common.pojo.qo.InventoryCheckTaskMaterialsQO; import com.nflg.wms.common.pojo.qo.InventoryCheckTaskSaveQO; import com.nflg.wms.common.pojo.qo.InventoryCheckTaskSearchQO; @@ -118,13 +119,13 @@ public class WmsInventoryCheckTaskServiceImpl extends ServiceImpl datas = inventoryCheckTaskService.lambdaQuery().eq(WmsInventoryCheckTask::getState, InventoryCheckTaskState.Published.getState()).list(); + omsLogger.info("共【{}】条已发布数据", datas.size()); + datas.forEach(data -> { + omsLogger.info("处理【{}】开始", data.getTaskNo()); + if (LocalDate.now().isAfter(data.getEndTime())) { + inventoryCheckTaskService.lambdaUpdate() + .eq(WmsInventoryCheckTask::getId, data.getId()) + .set(WmsInventoryCheckTask::getState, InventoryCheckTaskState.Completed.getState()) + .update(); + omsLogger.info("设置为状态:{}", InventoryCheckTaskState.Completed.getDescription()); + } else if (data.getStartTime().isAfter(LocalDate.now())) { + inventoryCheckTaskService.lambdaUpdate() + .eq(WmsInventoryCheckTask::getId, data.getId()) + .set(WmsInventoryCheckTask::getState, InventoryCheckTaskState.InProgress.getState()) + .update(); + omsLogger.info("设置为状态:{}", InventoryCheckTaskState.InProgress.getDescription()); + } + omsLogger.info("处理【{}】结束", data.getTaskNo()); + }); + return new ProcessResult(true, "处理完毕"); + } +} diff --git a/nflg-wms-scheduled/src/main/resources/application-dev.yml b/nflg-wms-scheduled/src/main/resources/application-dev.yml deleted file mode 100644 index 7dd3ba80..00000000 --- a/nflg-wms-scheduled/src/main/resources/application-dev.yml +++ /dev/null @@ -1,10 +0,0 @@ -logging: - level: - root: info - com: - nflg: debug - alibaba: - cloud: - nacos: debug - org: - springframework: debug \ No newline at end of file diff --git a/nflg-wms-scheduled/src/main/resources/application.yml b/nflg-wms-scheduled/src/main/resources/application.yml index f2d7d8d1..45a73af6 100644 --- a/nflg-wms-scheduled/src/main/resources/application.yml +++ b/nflg-wms-scheduled/src/main/resources/application.yml @@ -4,17 +4,17 @@ spring: application: name: scheduled profiles: - active: dev + active: sit config: import: nacos:shared.properties?group=${spring.profiles.active}&refreshEnabled=true cloud: nacos: config: - server-addr: ${nacos.server-addr:112.74.186.154:8848} + server-addr: ${nacos.server-addr:192.168.163.83:8848} namespace: wms group: ${spring.profiles.active} discovery: - server-addr: ${nacos.server-addr:112.74.186.154:8848} + server-addr: ${nacos.server-addr:192.168.163.83:8848} namespace: wms group: ${spring.profiles.active} logging: