From 33bfe3189596a56977cae156beaaa1e85630bf0e Mon Sep 17 00:00:00 2001 From: tianxinlei Date: Tue, 26 May 2026 17:49:17 +0800 Subject: [PATCH] 5-26 fix --- .../web/tasklist/TaskDetailController.java | 6 ++++ .../service/tasklist/TaskListServiceImpl.java | 8 +++++ .../api/tasklist/TaskListServiceI.java | 8 +++++ .../dto/tasklist/TaskDetailEditCmd.java | 34 +++++++++++++++++++ .../mapper/tasklist/TaskDetailMapper.xml | 12 ++++--- .../mapper/tasklist/TaskListMapper.xml | 29 ++++++++++------ 6 files changed, 81 insertions(+), 16 deletions(-) create mode 100644 web-client/src/main/java/com/zcloud/safetyDutyList/dto/tasklist/TaskDetailEditCmd.java diff --git a/web-adapter/src/main/java/com/zcloud/safetyDutyList/web/tasklist/TaskDetailController.java b/web-adapter/src/main/java/com/zcloud/safetyDutyList/web/tasklist/TaskDetailController.java index c90b153..0053401 100644 --- a/web-adapter/src/main/java/com/zcloud/safetyDutyList/web/tasklist/TaskDetailController.java +++ b/web-adapter/src/main/java/com/zcloud/safetyDutyList/web/tasklist/TaskDetailController.java @@ -48,6 +48,12 @@ public class TaskDetailController { return taskListService.addTaskDetailBatch(cmds); } + @ApiOperation("编辑任务") + @PostMapping("/edit") + public SingleResponse edit(@Validated @RequestBody TaskDetailEditCmd cmd) { + return taskListService.editTaskDetail(cmd); + } + @ApiOperation("获取任务详情") @GetMapping("/{detailId}") public SingleResponse getByDetailId(@PathVariable String detailId) { diff --git a/web-app/src/main/java/com/zcloud/safetyDutyList/service/tasklist/TaskListServiceImpl.java b/web-app/src/main/java/com/zcloud/safetyDutyList/service/tasklist/TaskListServiceImpl.java index 3e473bd..9b9d217 100644 --- a/web-app/src/main/java/com/zcloud/safetyDutyList/service/tasklist/TaskListServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/safetyDutyList/service/tasklist/TaskListServiceImpl.java @@ -43,6 +43,8 @@ public class TaskListServiceImpl implements TaskListServiceI { private final TaskDetailSaveExe taskDetailSaveExe; /** 任务详情批量保存执行器 */ private final TaskDetailSaveBatchExe taskDetailSaveBatchExe; + /** 任务详情编辑执行器 */ + private final TaskDetailEditExe taskDetailEditExe; /** 任务详情关闭执行器 */ private final TaskDetailCloseExe taskDetailCloseExe; /** 任务评分更新执行器 */ @@ -128,6 +130,12 @@ public class TaskListServiceImpl implements TaskListServiceI { return SingleResponse.buildSuccess(); } + @Override + public SingleResponse editTaskDetail(TaskDetailEditCmd cmd) { + TaskDetailCO co = taskDetailEditExe.execute(cmd); + return SingleResponse.of(co); + } + @Override public SingleResponse getByTaskDetailId(String detailId) { return taskDetailQueryExe.getByDetailId(detailId); diff --git a/web-client/src/main/java/com/zcloud/safetyDutyList/api/tasklist/TaskListServiceI.java b/web-client/src/main/java/com/zcloud/safetyDutyList/api/tasklist/TaskListServiceI.java index 48fded1..20716f0 100644 --- a/web-client/src/main/java/com/zcloud/safetyDutyList/api/tasklist/TaskListServiceI.java +++ b/web-client/src/main/java/com/zcloud/safetyDutyList/api/tasklist/TaskListServiceI.java @@ -107,6 +107,14 @@ public interface TaskListServiceI { */ SingleResponse addTaskDetailBatch(List cmds); + /** + * 编辑任务详情(校验清单总分不超过100) + * + * @param cmd 任务编辑命令 + * @return 编辑后的任务详情 + */ + SingleResponse editTaskDetail(TaskDetailEditCmd cmd); + /** * 根据任务详情ID获取任务详情(含所属清单信息) * diff --git a/web-client/src/main/java/com/zcloud/safetyDutyList/dto/tasklist/TaskDetailEditCmd.java b/web-client/src/main/java/com/zcloud/safetyDutyList/dto/tasklist/TaskDetailEditCmd.java new file mode 100644 index 0000000..615318e --- /dev/null +++ b/web-client/src/main/java/com/zcloud/safetyDutyList/dto/tasklist/TaskDetailEditCmd.java @@ -0,0 +1,34 @@ +package com.zcloud.safetyDutyList.dto.tasklist; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class TaskDetailEditCmd implements Serializable { + @ApiModelProperty(value = "任务详情UUID", required = true) + @NotEmpty(message = "任务详情ID不能为空") + private String taskDetailId; + + @ApiModelProperty(value = "清单表主键ID", required = true) + @NotEmpty(message = "清单ID不能为空") + private String taskListId; + + @ApiModelProperty(value = "执行内容") + private String executeContent; + + @ApiModelProperty(value = "反馈周期类型:1-每月 2-季度 3-半年 4-年", required = true) + @NotNull(message = "反馈周期不能为空") + private Integer feedbackCycleType; + + @ApiModelProperty(value = "任务分值") + private BigDecimal taskScore; +} diff --git a/web-infrastructure/src/main/resources/mapper/tasklist/TaskDetailMapper.xml b/web-infrastructure/src/main/resources/mapper/tasklist/TaskDetailMapper.xml index f0510bf..01cb933 100644 --- a/web-infrastructure/src/main/resources/mapper/tasklist/TaskDetailMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/tasklist/TaskDetailMapper.xml @@ -14,7 +14,7 @@ fb_agg.feedback_count AS feedbackCount, fb_agg.current_period_feedback AS currentPeriodFeedback FROM safety_accountability_task_detail td - LEFT JOIN safety_accountability_task_list tl ON td.task_list_id = tl.task_list_id + LEFT JOIN safety_accountability_task_list tl ON td.task_list_id = tl.task_list_id AND tl.delete_enum = 'FALSE' LEFT JOIN department rating_dept ON td.rating_department_id = rating_dept.id LEFT JOIN user rating_user ON td.rating_user_id = rating_user.id LEFT JOIN ( @@ -22,9 +22,11 @@ COUNT(*) AS feedback_count, MAX(CASE WHEN feedback_period_flag = DATE_FORMAT(NOW(), '%Y-%m') THEN 1 ELSE 0 END) AS current_period_feedback FROM safety_accountability_feedback + WHERE delete_enum = 'FALSE' GROUP BY task_detail_id ) fb_agg ON td.task_detail_id = fb_agg.task_detail_id + td.delete_enum = 'FALSE' AND td.task_list_id = #{params.taskListId} @@ -34,7 +36,7 @@ @@ -46,10 +48,10 @@ rating_dept.name AS ratingDepartmentName, rating_user.name AS ratingUserName FROM safety_accountability_task_detail td - LEFT JOIN safety_accountability_task_list tl ON td.task_list_id = tl.task_list_id + LEFT JOIN safety_accountability_task_list tl ON td.task_list_id = tl.task_list_id AND tl.delete_enum = 'FALSE' LEFT JOIN department rating_dept ON td.rating_department_id = rating_dept.id LEFT JOIN user rating_user ON td.rating_user_id = rating_user.id - WHERE td.task_detail_id = #{taskDetailId} + WHERE td.task_detail_id = #{taskDetailId} AND td.delete_enum = 'FALSE' @@ -58,7 +60,7 @@ diff --git a/web-infrastructure/src/main/resources/mapper/tasklist/TaskListMapper.xml b/web-infrastructure/src/main/resources/mapper/tasklist/TaskListMapper.xml index bee0101..245ec8c 100644 --- a/web-infrastructure/src/main/resources/mapper/tasklist/TaskListMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/tasklist/TaskListMapper.xml @@ -22,9 +22,11 @@ COUNT(*) AS task_count, SUM(CASE WHEN feedback_status = 2 THEN 1 ELSE 0 END) AS has_abnormal FROM safety_accountability_task_detail + WHERE delete_enum = 'FALSE' GROUP BY task_list_id ) td_agg ON tl.task_list_id = td_agg.task_list_id + tl.delete_enum = 'FALSE' AND tl.create_corp_id = #{params.createCorpId} @@ -65,9 +67,10 @@ COUNT(*) AS task_count, SUM(CASE WHEN feedback_status = 2 THEN 1 ELSE 0 END) AS has_abnormal FROM safety_accountability_task_detail + WHERE delete_enum = 'FALSE' GROUP BY task_list_id ) td_agg ON tl.task_list_id = td_agg.task_list_id - WHERE tl.id = #{id} + WHERE tl.id = #{id} and tl.delete_enum = 'FALSE' SELECT * FROM safety_accountability_task_list - WHERE status = 1 AND issue_status = 1 AND (period_end_time IS NOT NULL AND period_end_time < NOW()) + WHERE status = 1 AND issue_status = 1 AND (period_end_time IS NOT NULL AND period_end_time < NOW()) AND delete_enum = 'FALSE'