From 7e7ac7b568d7b79a65c755bd47d0868835adc8f8 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 06 三月 2025 10:53:01 +0800 Subject: [PATCH] 容缺接口 --- business/src/main/java/com/ycl/domain/json/WaitData.java | 22 +++++++++++ business/src/main/java/com/ycl/domain/form/TaskJumpForm.java | 2 business/src/main/java/com/ycl/domain/form/TaskWaitForm.java | 34 +++++++++++++++++ business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 29 ++++++++++++++ business/src/main/java/com/ycl/controller/ProjectProcessController.java | 7 +++ business/src/main/java/com/ycl/service/ProjectProcessService.java | 8 ++++ common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java | 1 7 files changed, 102 insertions(+), 1 deletions(-) diff --git a/business/src/main/java/com/ycl/controller/ProjectProcessController.java b/business/src/main/java/com/ycl/controller/ProjectProcessController.java index 5c3fde6..ad5a07b 100644 --- a/business/src/main/java/com/ycl/controller/ProjectProcessController.java +++ b/business/src/main/java/com/ycl/controller/ProjectProcessController.java @@ -95,6 +95,13 @@ return projectProcessService.taskJump(form); } + @PostMapping("/detail/task/wait") + @ApiOperation(value = "瀹圭己浠诲姟", notes = "瀹圭己浠诲姟锛屼笉甯﹁〃鍗曟暟鎹殑瀹屾垚浠诲姟") +// @PreAuthorize("@ss.hasPermi('projectProcess:detail')") + public Result taskWait(@RequestBody TaskWaitForm form) { + return projectProcessService.taskWait(form); + } + @GetMapping("/to_do_task") @ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉") // @PreAuthorize("@ss.hasPermi('projectProcess:page')") diff --git a/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java b/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java index 792184e..3781bf7 100644 --- a/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java +++ b/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java @@ -14,7 +14,7 @@ * @date锛�2024/12/13 13:51 */ @Data -@ApiModel("浠诲姟璺宠繃/缂虹渷琛ㄥ崟") +@ApiModel("浠诲姟璺宠繃琛ㄥ崟") public class TaskJumpForm { /** diff --git a/business/src/main/java/com/ycl/domain/form/TaskWaitForm.java b/business/src/main/java/com/ycl/domain/form/TaskWaitForm.java new file mode 100644 index 0000000..eb32afb --- /dev/null +++ b/business/src/main/java/com/ycl/domain/form/TaskWaitForm.java @@ -0,0 +1,34 @@ +package com.ycl.domain.form; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 浠诲姟璺宠繃/缂虹渷 + * + * @author锛歺p + * @date锛�2024/12/13 13:51 + */ +@Data +@ApiModel("浠诲姟瀹圭己琛ㄥ崟") +public class TaskWaitForm { + + /** + * 褰撳墠浠诲姟id + * + */ + @NotBlank(message = "浠诲姟id涓嶈兘涓虹┖") + private String taskId; + + @ApiModelProperty("椤圭洰id锛岀敤浜庝繚瀛樻棩蹇�") + private String projectId; + + @ApiModelProperty("娴佺▼瀹炰緥id锛岀敤浜庝繚瀛樻棩蹇�") + private String processInsId; + + @ApiModelProperty("璇存槑") + private String desc; +} diff --git a/business/src/main/java/com/ycl/domain/json/WaitData.java b/business/src/main/java/com/ycl/domain/json/WaitData.java new file mode 100644 index 0000000..15cdc99 --- /dev/null +++ b/business/src/main/java/com/ycl/domain/json/WaitData.java @@ -0,0 +1,22 @@ +package com.ycl.domain.json; + +import lombok.Data; + +/** + * 瀹圭己浠诲姟 + * + * @author锛歺p + * @date锛�2025/2/12 13:43 + */ +@Data +public class WaitData { + + + /** 鎯呭喌璇存槑 */ + private String desc; + + + public WaitData(String desc) { + this.desc = desc; + } +} diff --git a/business/src/main/java/com/ycl/service/ProjectProcessService.java b/business/src/main/java/com/ycl/service/ProjectProcessService.java index c2279ce..1c29cf5 100644 --- a/business/src/main/java/com/ycl/service/ProjectProcessService.java +++ b/business/src/main/java/com/ycl/service/ProjectProcessService.java @@ -104,6 +104,14 @@ Result taskJump(TaskJumpForm form); /** + * 瀹圭己浠诲姟 + * + * @param form + * @return + */ + Result taskWait(TaskWaitForm form); + + /** * 鐫e姙浠诲姟 * * @param 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 2209646..54fdda2 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java @@ -743,6 +743,35 @@ } @Override + public Result taskWait(TaskWaitForm form) { + Task task = taskService.createTaskQuery().taskId(form.getTaskId()).processInstanceId(form.getProcessInsId()).singleResult(); + if (Objects.nonNull(task)) { + // 娣诲姞瀹圭己鏃ュ織 + publisher.publishEvent(new TaskLogEvent(this, + null, + SecurityUtils.getUserId(), + form.getProjectId(), + form.getProcessInsId(), + task.getId(), + task.getTaskDefinitionKey(), + task.getName(), + ProcessLogEventTypeEnum.WAIT, + new WaitData(form.getDesc()))); + // 鏌ュ嚭璇ヤ换鍔$粦瀹氱殑琛ㄥ崟 + Map<String, Object> data = new HashMap<>(1); + if (StringUtils.isNotBlank(task.getFormKey())) { + SysForm sysForm = formService.selectSysFormById(Long.parseLong(task.getFormKey())); + if (Objects.nonNull(sysForm)) { + data.put(ProcessConstants.TASK_FORM_KEY, JSONObject.parseObject(sysForm.getFormContent())); + } + } + // 瀹屾垚浠诲姟 + flowTaskService.completeSubmitForm(form.getTaskId(), data, Boolean.FALSE); + } + return Result.ok("鎿嶄綔鎴愬姛"); + } + + @Override public Result taskSupervise(TaskSuperviseForm form) { Task task = taskService.createTaskQuery().taskId(form.getTaskId()).singleResult(); if (Objects.isNull(task)) { 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 ff8d254..da908eb 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 @@ -18,6 +18,7 @@ REJECT("REJECT", "椹冲洖"), TEAM_WORK("TEAM_WORK", "鍗忓悓鍔炵悊"), JUMP("JUMP", "璺宠繃"), + WAIT("WAIT", "瀹圭己"), SUPERVISE("SUPERVISE", "鐫e姙"), HANGUP("HANGUP", "鎸傝捣"), CANCEL_HANGUP("CANCEL_HANGUP", "鍙栨秷鎸傝捣"), -- Gitblit v1.8.0