diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldtaskmanagement/scheduled/coretask/GenerateMoldWorkOrderTask.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldtaskmanagement/scheduled/coretask/GenerateMoldWorkOrderTask.java index 25e932ff1..65493f9c6 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldtaskmanagement/scheduled/coretask/GenerateMoldWorkOrderTask.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldtaskmanagement/scheduled/coretask/GenerateMoldWorkOrderTask.java @@ -22,6 +22,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Arrays; @@ -77,6 +78,11 @@ public class GenerateMoldWorkOrderTask implements Task { if (moldTaskManagementDO == null) { return; } + if (!isWithinTaskDateRange(moldTaskManagementDO)) { + logger.info("模具工单任务不在执行日期范围内,任务ID: {}, startDate: {}, endDate: {}", + moldTaskManagementDO.getId(), moldTaskManagementDO.getStartDate(), moldTaskManagementDO.getEndDate()); + return; + } List moldIds = Arrays.stream(moldTaskManagementDO.getMoldList().split(",")) .map(String::trim) @@ -125,6 +131,17 @@ public class GenerateMoldWorkOrderTask implements Task { } } + private boolean isWithinTaskDateRange(MoldTaskManagementDO moldTaskManagementDO) { + LocalDate today = LocalDate.now(); + if (moldTaskManagementDO.getStartDate() != null && today.isBefore(moldTaskManagementDO.getStartDate())) { + return false; + } + if (moldTaskManagementDO.getEndDate() != null && today.isAfter(moldTaskManagementDO.getEndDate())) { + return false; + } + return true; + } + private void sendMoldTicketCreateNotifyMessage(MoldTaskManagementDO moldTaskManagementDO, MoldTicketManagementDO moldTicketManagementDO) { Map templateParams = new HashMap<>(); @@ -132,12 +149,21 @@ public class GenerateMoldWorkOrderTask implements Task { templateParams.put("planNo", Objects.toString(moldTicketManagementDO.getPlanNo(), "")); templateParams.put("configName", Objects.toString(moldTicketManagementDO.getConfigName(), "")); templateParams.put("moldName", Objects.toString(moldTicketManagementDO.getMoldName(), "")); - templateParams.put("taskEndTime", formatNotifyDateTime(moldTicketManagementDO.getTaskEndTime())); + templateParams.put("businessType", getMoldBusinessType(moldTicketManagementDO.getPlanType())); + templateParams.put("createTime", formatNotifyDateTime( + moldTicketManagementDO.getCreateTime() != null ? moldTicketManagementDO.getCreateTime() : LocalDateTime.now())); mesNotifyMessageService.sendToAdmins(moldTaskManagementDO.getOperableUsers(), MOLD_TASK_TICKET_CREATE_NOTIFY_TEMPLATE_CODE, templateParams, "模具工单", moldTicketManagementDO.getId()); } + private String getMoldBusinessType(Integer taskType) { + if (Integer.valueOf(2).equals(taskType)) { + return "模具保养"; + } + return "模具点检"; + } + private String formatNotifyDateTime(LocalDateTime dateTime) { return dateTime == null ? "" : dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/taskmanagement/scheduled/coretask/GenerateWorkOrderTask.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/taskmanagement/scheduled/coretask/GenerateWorkOrderTask.java index 524006bb2..d1a8468dc 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/taskmanagement/scheduled/coretask/GenerateWorkOrderTask.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/taskmanagement/scheduled/coretask/GenerateWorkOrderTask.java @@ -23,6 +23,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Arrays; @@ -98,6 +99,11 @@ public class GenerateWorkOrderTask implements Task { if (taskManagementDO == null){ return; } + if (!isWithinTaskDateRange(taskManagementDO)) { + logger.info("设备工单任务不在执行日期范围内,任务ID: {}, startDate: {}, endDate: {}", + taskManagementDO.getId(), taskManagementDO.getStartDate(), taskManagementDO.getEndDate()); + return; + } // 将逗号分隔的字符串转换为Long类型的List List idList = Arrays.stream(taskManagementDO.getDeviceList().split(",")) @@ -141,18 +147,38 @@ public class GenerateWorkOrderTask implements Task { } } + private boolean isWithinTaskDateRange(TaskManagementDO taskManagementDO) { + LocalDate today = LocalDate.now(); + if (taskManagementDO.getStartDate() != null && today.isBefore(taskManagementDO.getStartDate())) { + return false; + } + if (taskManagementDO.getEndDate() != null && today.isAfter(taskManagementDO.getEndDate())) { + return false; + } + return true; + } + private void sendTicketCreateNotifyMessage(TaskManagementDO taskManagementDO, TicketManagementDO ticketManagementDO) { Map templateParams = new HashMap<>(); templateParams.put("ticketId", ticketManagementDO.getId()); templateParams.put("planNo", Objects.toString(ticketManagementDO.getPlanNo(), "")); templateParams.put("configName", Objects.toString(ticketManagementDO.getConfigName(), "")); templateParams.put("deviceName", Objects.toString(ticketManagementDO.getDeviceName(), "")); - templateParams.put("taskEndTime", formatNotifyDateTime(ticketManagementDO.getTaskEndTime())); + templateParams.put("businessType", getDeviceBusinessType(ticketManagementDO.getPlanType())); + templateParams.put("createTime", formatNotifyDateTime( + ticketManagementDO.getCreateTime() != null ? ticketManagementDO.getCreateTime() : LocalDateTime.now())); mesNotifyMessageService.sendToAdmins(taskManagementDO.getOperableUsers(), TASK_TICKET_CREATE_NOTIFY_TEMPLATE_CODE, templateParams, "设备工单", ticketManagementDO.getId()); } + private String getDeviceBusinessType(Integer taskType) { + if (Integer.valueOf(2).equals(taskType)) { + return "设备保养"; + } + return "设备点检"; + } + private String formatNotifyDateTime(LocalDateTime dateTime) { return dateTime == null ? "" : dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairServiceImpl.java index 5c789bd18..d7d4e850e 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/dvrepair/DvRepairServiceImpl.java @@ -97,7 +97,9 @@ public class DvRepairServiceImpl implements DvRepairService { templateParams.put("machineryName", Objects.toString(dvRepair.getMachineryName(), "")); templateParams.put("faultPhenomenon", Objects.toString(dvRepair.getFaultPhenomenon(), "")); templateParams.put("faultDescription", Objects.toString(dvRepair.getFaultDescription(), "")); - templateParams.put("requireDate", formatNotifyDateTime(dvRepair.getRequireDate())); + templateParams.put("businessType", "设备维修"); + templateParams.put("createTime", formatNotifyDateTime( + dvRepair.getCreateTime() != null ? dvRepair.getCreateTime() : LocalDateTime.now())); mesNotifyMessageService.sendToAdmin(dvRepair.getAcceptedBy(), DV_REPAIR_CREATE_NOTIFY_TEMPLATE_CODE, templateParams, "设备维修单", dvRepair.getId()); diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairServiceImpl.java index 7d5bfb403..fe2ab22b8 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrepair/MoldRepairServiceImpl.java @@ -106,7 +106,9 @@ public class MoldRepairServiceImpl implements MoldRepairService { templateParams.put("moldName", Objects.toString(moldRepair.getMoldName(), "")); templateParams.put("faultPhenomenon", Objects.toString(moldRepair.getFaultPhenomenon(), "")); templateParams.put("faultDescription", Objects.toString(moldRepair.getFaultDescription(), "")); - templateParams.put("requireDate", formatNotifyDateTime(moldRepair.getRequireDate())); + templateParams.put("businessType", "模具维修"); + templateParams.put("createTime", formatNotifyDateTime( + moldRepair.getCreateTime() != null ? moldRepair.getCreateTime() : LocalDateTime.now())); mesNotifyMessageService.sendToAdmin(moldRepair.getAcceptedBy(), MOLD_REPAIR_CREATE_NOTIFY_TEMPLATE_CODE, templateParams, "模具维修单", moldRepair.getId()); diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldtaskmanagement/MoldTaskManagementServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldtaskmanagement/MoldTaskManagementServiceImpl.java index baa472c01..cb3928c0e 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldtaskmanagement/MoldTaskManagementServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldtaskmanagement/MoldTaskManagementServiceImpl.java @@ -251,12 +251,21 @@ public class MoldTaskManagementServiceImpl implements MoldTaskManagementService templateParams.put("planNo", Objects.toString(moldticketManagementDO.getPlanNo(), "")); templateParams.put("configName", Objects.toString(moldticketManagementDO.getConfigName(), "")); templateParams.put("moldName", Objects.toString(moldticketManagementDO.getMoldName(), "")); - templateParams.put("taskEndTime", formatNotifyDateTime(moldticketManagementDO.getTaskEndTime())); + templateParams.put("businessType", getMoldBusinessType(moldticketManagementDO.getPlanType())); + templateParams.put("createTime", formatNotifyDateTime( + moldticketManagementDO.getCreateTime() != null ? moldticketManagementDO.getCreateTime() : LocalDateTime.now())); mesNotifyMessageService.sendToAdmins(moldtaskManagementDO.getOperableUsers(), MOLD_TASK_TICKET_CREATE_NOTIFY_TEMPLATE_CODE, templateParams, "模具工单", moldticketManagementDO.getId()); } + private String getMoldBusinessType(Integer taskType) { + if (Integer.valueOf(2).equals(taskType)) { + return "模具保养"; + } + return "模具点检"; + } + private String formatNotifyDateTime(LocalDateTime dateTime) { return dateTime == null ? "" : dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/taskmanagement/TaskManagementServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/taskmanagement/TaskManagementServiceImpl.java index 32568ceb0..5e2a1eeb6 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/taskmanagement/TaskManagementServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/taskmanagement/TaskManagementServiceImpl.java @@ -249,12 +249,21 @@ public class TaskManagementServiceImpl implements TaskManagementService { templateParams.put("planNo", Objects.toString(ticketManagementDO.getPlanNo(), "")); templateParams.put("configName", Objects.toString(ticketManagementDO.getConfigName(), "")); templateParams.put("deviceName", Objects.toString(ticketManagementDO.getDeviceName(), "")); - templateParams.put("taskEndTime", formatNotifyDateTime(ticketManagementDO.getTaskEndTime())); + templateParams.put("businessType", getDeviceBusinessType(ticketManagementDO.getPlanType())); + templateParams.put("createTime", formatNotifyDateTime( + ticketManagementDO.getCreateTime() != null ? ticketManagementDO.getCreateTime() : LocalDateTime.now())); mesNotifyMessageService.sendToAdmins(taskManagementDO.getOperableUsers(), TASK_TICKET_CREATE_NOTIFY_TEMPLATE_CODE, templateParams, "设备工单", ticketManagementDO.getId()); } + private String getDeviceBusinessType(Integer taskType) { + if (Integer.valueOf(2).equals(taskType)) { + return "设备保养"; + } + return "设备点检"; + } + private String formatNotifyDateTime(LocalDateTime dateTime) { return dateTime == null ? "" : dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); }