1、修改任务延期时给提出人发消息的逻辑

This commit is contained in:
2026-03-05 10:10:29 +08:00
parent 237f395f37
commit e86f1c58fc
3 changed files with 8 additions and 24 deletions

View File

@@ -26,6 +26,7 @@ import com.sdm.project.service.ISimulationTaskService;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -129,21 +130,9 @@ public class CommitmentDeadlineStatusScheduleExecutor{
log.info("无节点延期");
}
// 查询任务进度状态的字典
// 查询需要给提出人发消息的任务进度状态的字典
Map<String, String> taskProgressMap = taskProgressService.getMapName();
// 若实际达成进度超过 3D设计则不发消息给提出人
int taskProgressValue = 0;
if (isConvertibleToInt(taskProgressMap.get(THREE_D_DESIGN))) {
taskProgressValue = Integer.parseInt(taskProgressMap.get(THREE_D_DESIGN));
}else {
log.error("未查询到3D设计的字典值或字典值不为数字。{}",taskProgressMap.get(THREE_D_DESIGN));
taskProgressValue = -1;
}
log.info("taskProgressValue为{}",taskProgressValue);
if (CollectionUtils.isNotEmpty(taskList)) {
for (SimulationTask simulationTask : taskList) {
// 取工位的军令状时间
String workspaceNodeId = simulationTask.getTag5();
@@ -184,15 +173,9 @@ public class CommitmentDeadlineStatusScheduleExecutor{
// 若实际达成进度不超过 3D设计则发消息给提出人
String actualProgress = actualProgressMap.get(simulationTask.getUuid());
log.info("actualProgress为{}",actualProgress);
if (StringUtils.isNotBlank(actualProgress)) {
String actualProgressValueStr = taskProgressMap.get(actualProgress);
log.info("actualProgressValueStr为{}",actualProgressValueStr);
if (StringUtils.isNotBlank(actualProgressValueStr) && isConvertibleToInt(actualProgressValueStr)) {
int actualProgressValue = Integer.parseInt(actualProgressValueStr);
if ((taskProgressValue == -1 || actualProgressValue <= taskProgressValue)
&& ObjectUtils.isNotEmpty(simulationTask.getCreator())) {
sendMessage(MessageTemplateEnum.TASK_OVERDUE, simulationTask.getTaskName(), String.valueOf(simulationTask.getCreator()), simulationTask.getUuid());
}
if (StringUtils.isNotBlank(actualProgress) && MapUtils.isNotEmpty(taskProgressMap)) {
if (taskProgressMap.containsKey(actualProgress)) {
sendMessage(MessageTemplateEnum.TASK_OVERDUE, simulationTask.getTaskName(), String.valueOf(simulationTask.getCreator()), simulationTask.getUuid());
}
}
// 发消息给执行人

View File

@@ -532,6 +532,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
List<SimulationNode> allNodeList = nodeService.lambdaQuery().eq(SimulationNode::getTag1, projectNode.getUuid()).list();
// 填充需求的阶段ID
// 如果阶段不存在,就去同步阶段机台工位
allNodeList.stream()
.filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())
&& node.getNodeCode().equals(todo.getProjectStage()))