From c5dafd7dba14635643b4340597fb14c563c8dc7e Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 14 二月 2025 15:59:17 +0800 Subject: [PATCH] 挂起任务接口 --- business/src/main/java/com/ycl/domain/form/TaskHangupForm.java | 39 +++++++++++++++++++ business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 23 +++++++++-- business/src/main/java/com/ycl/controller/ProjectProcessController.java | 7 +++ business/src/main/java/com/ycl/service/ProjectProcessService.java | 14 +++++++ business/src/main/java/com/ycl/domain/json/HangupData.java | 22 +++++++++++ common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java | 2 + 6 files changed, 103 insertions(+), 4 deletions(-) diff --git a/business/src/main/java/com/ycl/controller/ProjectProcessController.java b/business/src/main/java/com/ycl/controller/ProjectProcessController.java index 8ee4e96..19ed1b9 100644 --- a/business/src/main/java/com/ycl/controller/ProjectProcessController.java +++ b/business/src/main/java/com/ycl/controller/ProjectProcessController.java @@ -119,4 +119,11 @@ public Result taskSupervise(@Validated @RequestBody TaskSuperviseForm form) { return projectProcessService.taskSupervise(form); } + + @PostMapping("/detail/task/hangup") + @ApiOperation(value = "鎸傝捣浠诲姟", notes = "鎸傝捣浠诲姟") +// @PreAuthorize("@ss.hasPermi('projectProcess:detail')") + public Result taskHangup(@Validated @RequestBody TaskHangupForm form) { + return projectProcessService.taskHangup(form); + } } diff --git a/business/src/main/java/com/ycl/domain/form/TaskHangupForm.java b/business/src/main/java/com/ycl/domain/form/TaskHangupForm.java new file mode 100644 index 0000000..4b86341 --- /dev/null +++ b/business/src/main/java/com/ycl/domain/form/TaskHangupForm.java @@ -0,0 +1,39 @@ +package com.ycl.domain.form; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author锛歺p + * @date锛�2024/12/13 13:51 + */ +@Data +@ApiModel("浠诲姟鎸傝捣琛ㄥ崟") +public class TaskHangupForm { + + /** + * 褰撳墠浠诲姟id + * + */ + @ApiModelProperty("浠诲姟id") + private String taskId; + + /** + * 鎸傝捣鍘熷洜 + * + */ + @ApiModelProperty("鎸傝捣鍘熷洜") + private String reason; + + @ApiModelProperty("椤圭洰id") + private Long projectId; + + /** + * 娴佺▼瀹炰緥id + * + */ + @ApiModelProperty("娴佺▼瀹炰緥id") + private String processInsId; + +} diff --git a/business/src/main/java/com/ycl/domain/json/HangupData.java b/business/src/main/java/com/ycl/domain/json/HangupData.java new file mode 100644 index 0000000..c9df3c8 --- /dev/null +++ b/business/src/main/java/com/ycl/domain/json/HangupData.java @@ -0,0 +1,22 @@ +package com.ycl.domain.json; + +import lombok.Data; + +import java.util.Date; + +/** + * 鎸傝捣浠诲姟鏁版嵁 + * + * @author锛歺p + * @date锛�2025/2/14 15:06 + */ +@Data +public class HangupData { + + /** 鍘熷洜 */ + private String reason; + + public HangupData(String reason) { + this.reason = reason; + } +} diff --git a/business/src/main/java/com/ycl/service/ProjectProcessService.java b/business/src/main/java/com/ycl/service/ProjectProcessService.java index facc624..b01847d 100644 --- a/business/src/main/java/com/ycl/service/ProjectProcessService.java +++ b/business/src/main/java/com/ycl/service/ProjectProcessService.java @@ -105,5 +105,19 @@ */ Result taskJump(TaskJumpForm form); + /** + * 鐫e姙浠诲姟 + * + * @param form + * @return + */ Result taskSupervise(TaskSuperviseForm form); + + /** + * 鎸傝捣浠诲姟 + * + * @param form + * @return + */ + Result taskHangup(TaskHangupForm form); } diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java index ee3e6d6..c82b1a8 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java @@ -20,10 +20,9 @@ import com.ycl.common.utils.SecurityUtils; import com.ycl.constant.TaskTypeConstant; import com.ycl.domain.entity.*; -import com.ycl.domain.form.TaskDelegationForm; -import com.ycl.domain.form.TaskJumpForm; -import com.ycl.domain.form.TaskSuperviseForm; +import com.ycl.domain.form.*; import com.ycl.domain.json.DelegateData; +import com.ycl.domain.json.HangupData; import com.ycl.domain.json.JumpData; import com.ycl.domain.json.SuperviseData; import com.ycl.domain.vo.CustomerTaskVO; @@ -35,7 +34,6 @@ import com.ycl.service.*; import com.ycl.common.base.Result; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ycl.domain.form.ProjectProcessForm; import com.ycl.domain.vo.ProjectProcessVO; import com.ycl.domain.query.ProjectProcessQuery; import com.ycl.service.common.TaskCommonService; @@ -670,6 +668,23 @@ return Result.ok("鎿嶄綔鎴愬姛"); } + @Override + public Result taskHangup(TaskHangupForm form) { + Task task = taskService.createTaskQuery().taskId(form.getTaskId()).singleResult(); + // 浠诲姟鎸傝捣鍙渶瑕佸瓨鏃ュ織锛屾煡璇㈠緟鍔炴椂濡傛灉鏈夎繖涓棩蹇楄褰曪紝鍒欑鐢ㄦ彁浜ゆ寜閽紝浠ユ瀹炵幇浠诲姟鎸傝捣 + publisher.publishEvent(new TaskLogEvent(this, + null, + SecurityUtils.getUserId(), + form.getProjectId(), + form.getProcessInsId(), + form.getTaskId(), + task.getName(), + ProcessLogEventTypeEnum.HANGUP, + new HangupData(form.getReason()) + )); + return Result.ok("鎿嶄綔鎴愬姛"); + } + /** * 鏌ヨ寰呭姙浠诲姟 * diff --git a/common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java b/common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java index c481324..ff8d254 100644 --- a/common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java +++ b/common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java @@ -19,6 +19,8 @@ TEAM_WORK("TEAM_WORK", "鍗忓悓鍔炵悊"), JUMP("JUMP", "璺宠繃"), SUPERVISE("SUPERVISE", "鐫e姙"), + HANGUP("HANGUP", "鎸傝捣"), + CANCEL_HANGUP("CANCEL_HANGUP", "鍙栨秷鎸傝捣"), ; -- Gitblit v1.8.0