|
|
|
|
@ -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<Long> 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<String, Object> 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"));
|
|
|
|
|
}
|
|
|
|
|
|