From 2302cbd81a44ae08ef82d91299b1006880f1f2be Mon Sep 17 00:00:00 2001 From: tianxinlei Date: Fri, 26 Jun 2026 16:25:04 +0800 Subject: [PATCH] =?UTF-8?q?6-26=20-=20bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/tasklist/FeedbackAddExe.java | 6 +++--- .../command/tasklist/SendTodoMessageExe.java | 19 +++++++++---------- .../dto/tasklist/TaskListIssuePageQry.java | 2 ++ .../tasklist/TaskListIssueRepositoryImpl.java | 7 +++++++ .../mapper/tasklist/TaskListIssueMapper.xml | 15 +++++++++++++-- 5 files changed, 34 insertions(+), 15 deletions(-) diff --git a/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/FeedbackAddExe.java b/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/FeedbackAddExe.java index 9f51427..ca8b71d 100644 --- a/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/FeedbackAddExe.java +++ b/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/FeedbackAddExe.java @@ -54,7 +54,7 @@ public class FeedbackAddExe { if (detailE == null) { throw new BizException("任务模板不存在"); } - if (detailE.getTaskStatus().equals(TaskStatusEnum.IN_PROGRESS.getCode())) { + if (!detailE.getTaskStatus().equals(TaskStatusEnum.IN_PROGRESS.getCode())) { throw new BizException("任务已完成或已关闭,反馈已截止"); } @@ -62,7 +62,7 @@ public class FeedbackAddExe { if (issueE == null) { throw new BizException("清单下发记录不存在"); } - if (issueE.getStatus().equals(TaskStatusEnum.IN_PROGRESS.getCode())) { + if (!issueE.getStatus().equals(TaskStatusEnum.IN_PROGRESS.getCode())) { throw new BizException("清单已完成或已关闭,反馈已截止"); } @@ -97,7 +97,7 @@ public class FeedbackAddExe { List existingFeedbacks = feedbackGateway.listByTaskExecutionIdAndPeriodFlag( executionE.getTaskExecutionId(), periodFlag); if (existingFeedbacks != null && existingFeedbacks.size() == 1) { - messageNoticeExe.sendMessageCompleteEvent(detailE.getId()); + messageNoticeExe.sendMessageCompleteEvent(executionE.getId()); } FeedbackCO co = new FeedbackCO(); diff --git a/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/SendTodoMessageExe.java b/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/SendTodoMessageExe.java index fe31914..48a7345 100644 --- a/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/SendTodoMessageExe.java +++ b/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/SendTodoMessageExe.java @@ -63,6 +63,7 @@ public class SendTodoMessageExe { taskListName = taskListE.getTaskListName(); } + Boolean isSendMessage = false; for (TaskExecutionE executionE : executionList) { // 不是进行中就返回 @@ -76,11 +77,6 @@ public class SendTodoMessageExe { // 反馈周期枚举: 1(每月) 2(每季度) 3(每半年) 4(年) Integer feedbackCycleType = detailE.getFeedbackCycleType(); - // 首周期判断:如果当前仍处于清单的首个反馈周期内,跳过检测 - if (!FeedbackCycleUtil.isFirstCycle(feedbackCycleType, issueE.getPeriodStartTime())) { - continue; - } - // 当前周期标识 String currentCycleFlag = FeedbackCycleUtil.generatePeriodFlag(feedbackCycleType, LocalDateTime.now()); @@ -92,11 +88,6 @@ public class SendTodoMessageExe { continue; } - // 发送消息提醒 - Map sendParams = new HashMap <>(); - sendParams.put("listName", taskListName); - messageNoticeExe.messageNotice(issueE.getExecuteUserId(), messageTemplateConfig.getFirstDayOfCycleSendMsgTodo(), sendParams); - // 发送待办消息 messageNoticeExe.sendMessageAddEvent( issueE.getExecuteUserId(), @@ -104,6 +95,14 @@ public class SendTodoMessageExe { "待反馈", issueE.getId(), executionE.getId()); + isSendMessage = true; + } + + if (isSendMessage) { + // 发送消息提醒 + Map sendParams = new HashMap <>(); + sendParams.put("listName", taskListName); + messageNoticeExe.messageNotice(issueE.getExecuteUserId(), messageTemplateConfig.getFirstDayOfCycleSendMsgTodo(), sendParams); } } log.info("【定时任务3】待办消息发送完成"); diff --git a/web-client/src/main/java/com/zcloud/safetyDutyList/dto/tasklist/TaskListIssuePageQry.java b/web-client/src/main/java/com/zcloud/safetyDutyList/dto/tasklist/TaskListIssuePageQry.java index 7616552..be229fc 100644 --- a/web-client/src/main/java/com/zcloud/safetyDutyList/dto/tasklist/TaskListIssuePageQry.java +++ b/web-client/src/main/java/com/zcloud/safetyDutyList/dto/tasklist/TaskListIssuePageQry.java @@ -31,6 +31,8 @@ public class TaskListIssuePageQry extends PageQuery { private Integer scoreStatus; @ApiModelProperty(value = "多状态筛选") private List statusList; + @ApiModelProperty(value = "当前时间是否在周期内 0否 1是") + private Integer inPeriod; private String menuPath; } diff --git a/web-infrastructure/src/main/java/com/zcloud/safetyDutyList/persistence/repository/impl/tasklist/TaskListIssueRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/safetyDutyList/persistence/repository/impl/tasklist/TaskListIssueRepositoryImpl.java index 83c3de0..0637b75 100644 --- a/web-infrastructure/src/main/java/com/zcloud/safetyDutyList/persistence/repository/impl/tasklist/TaskListIssueRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/safetyDutyList/persistence/repository/impl/tasklist/TaskListIssueRepositoryImpl.java @@ -6,12 +6,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.jjb.saas.framework.repository.common.PageHelper; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.zcloud.gbscommon.utils.Query; +import com.zcloud.safetyDutyList.domain.enums.TaskStatusEnum; import com.zcloud.safetyDutyList.persistence.dataobject.tasklist.TaskListIssueDO; import com.zcloud.safetyDutyList.persistence.mapper.tasklist.TaskListIssueMapper; import com.zcloud.safetyDutyList.persistence.repository.tasklist.TaskListIssueRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.List; import java.util.Map; @@ -64,9 +66,14 @@ public class TaskListIssueRepositoryImpl extends BaseRepositoryImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("execute_user_id", executeUserId); + queryWrapper.eq("status", TaskStatusEnum.IN_PROGRESS.getCode()); queryWrapper.eq("delete_enum", "FALSE"); + queryWrapper.le("period_start_time", now); + queryWrapper.ge("period_end_time", now); return taskListIssueMapper.selectCount(queryWrapper); } } diff --git a/web-infrastructure/src/main/resources/mapper/tasklist/TaskListIssueMapper.xml b/web-infrastructure/src/main/resources/mapper/tasklist/TaskListIssueMapper.xml index 2e00a38..19ffff9 100644 --- a/web-infrastructure/src/main/resources/mapper/tasklist/TaskListIssueMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/tasklist/TaskListIssueMapper.xml @@ -79,6 +79,10 @@ #{status} + + AND NOW() >= tli.period_start_time + AND NOW() <= tli.period_end_time + ORDER BY tli.create_time DESC @@ -181,6 +185,7 @@ AND execute_user_id = #{executeUserId} AND period_start_time < #{periodEndTime} AND period_end_time > #{periodStartTime} + AND status = 1 ORDER BY create_time DESC @@ -191,8 +196,14 @@