From 23855599412c4d61b38d78f0f3abd3430a48b5b1 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 25 六月 2025 11:51:38 +0800
Subject: [PATCH] Merge branch 'mdc_hyjs_master'

---
 lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/controller/FlowTaskController.java |  213 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 213 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/controller/FlowTaskController.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/controller/FlowTaskController.java
new file mode 100644
index 0000000..030a714
--- /dev/null
+++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/controller/FlowTaskController.java
@@ -0,0 +1,213 @@
+package org.jeecg.modules.flowable.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.flowable.domain.dto.FlowNextDto;
+import org.jeecg.modules.flowable.domain.dto.FlowTaskDto;
+import org.jeecg.modules.flowable.domain.vo.FlowTaskVo;
+import org.jeecg.modules.flowable.service.IFlowTaskService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.List;
+
+/**
+ * <p>宸ヤ綔娴佷换鍔$鐞�<p>
+ *
+ */
+@Slf4j
+@Api(tags = "宸ヤ綔娴佹祦绋嬩换鍔$鐞�")
+@RestController
+@RequestMapping("/flowable/task")
+public class FlowTaskController {
+
+    @Autowired
+    private IFlowTaskService flowTaskService;
+
+    @ApiOperation(value = "鎴戝彂璧风殑娴佺▼", response = FlowTaskDto.class)
+    @GetMapping(value = "/myProcess")
+    public Result myProcess(@ApiParam(value = "褰撳墠椤电爜", required = true) @RequestParam Integer pageNum,
+                                @ApiParam(value = "姣忛〉鏉℃暟", required = true) @RequestParam Integer pageSize) {
+        return flowTaskService.myProcess(pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "鍙栨秷鐢宠", response = FlowTaskDto.class)
+    @PostMapping(value = "/stopProcess")
+    public Result stopProcess(@RequestBody FlowTaskVo flowTaskVo) {
+        return flowTaskService.stopProcess(flowTaskVo);
+    }
+
+    @ApiOperation(value = "鎾ゅ洖娴佺▼", response = FlowTaskDto.class)
+    @PostMapping(value = "/revokeProcess")
+    public Result revokeProcess(@RequestBody FlowTaskVo flowTaskVo) {
+        return flowTaskService.revokeProcess(flowTaskVo);
+    }
+
+    @ApiOperation(value = "鑾峰彇寰呭姙鍒楄〃", response = FlowTaskDto.class)
+    @GetMapping(value = "/todoList")
+    public Result todoList(@ApiParam(value = "褰撳墠椤电爜", required = true) @RequestParam Integer pageNum,
+                               @ApiParam(value = "姣忛〉鏉℃暟", required = true) @RequestParam Integer pageSize) {
+        return flowTaskService.todoList(pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "娴佺▼鍘嗗彶娴佽浆璁板綍", response = FlowTaskDto.class)
+    @GetMapping(value = "/flowRecord")
+    public Result flowRecord(String dataId) {
+        return flowTaskService.flowRecord(dataId);
+    }
+
+    @ApiOperation(value = "鑾峰彇娴佺▼鍙橀噺", response = FlowTaskDto.class)
+    @GetMapping(value = "/processVariables/{taskId}")
+    public Result processVariables(@ApiParam(value = "娴佺▼浠诲姟Id")  @PathVariable(value = "taskId") String taskId) {
+        return flowTaskService.processVariables(taskId);
+    }
+
+    @ApiOperation(value = "瀹℃壒浠诲姟")
+    @PostMapping(value = "/complete")
+    public Result complete(@RequestBody FlowTaskVo flowTaskVo) {
+        return flowTaskService.complete(flowTaskVo);
+    }
+    @ApiOperation(value = "瀹℃壒浠诲姟")
+    @PostMapping(value = "/completeByDateId")
+    public Result completeByDateId(@RequestBody FlowTaskVo flowTaskVo) {
+        return flowTaskService.completeByDateId(flowTaskVo);
+    }
+
+    @ApiOperation(value = "椹冲洖浠诲姟")
+    @PostMapping(value = "/reject")
+    public Result taskReject(@RequestBody FlowTaskVo flowTaskVo) {
+        flowTaskService.taskReject(flowTaskVo);
+        return Result.OK();
+    }
+    @ApiOperation(value = "椹冲洖浠诲姟")
+    @PostMapping(value = "/taskRejectByDataId")
+    public Result taskRejectByDataId(@RequestBody FlowTaskVo flowTaskVo) {
+        flowTaskService.taskRejectByDataId(flowTaskVo);
+        return Result.OK();
+    }
+
+    @ApiOperation(value = "閫�鍥炰换鍔�")
+    @PostMapping(value = "/return")
+    public Result taskReturn(@RequestBody FlowTaskVo flowTaskVo) {
+        flowTaskService.taskReturn(flowTaskVo);
+        return Result.OK();
+    }
+    @ApiOperation(value = "閫�鍥炰换鍔�")
+    @PostMapping(value = "/taskReturnByDataId")
+    public Result taskReturnByDataId(@RequestBody FlowTaskVo flowTaskVo) {
+        flowTaskService.taskReturnByDataId(flowTaskVo);
+        return Result.OK();
+    }
+
+    @ApiOperation(value = "鑾峰彇鎵�鏈夊彲鍥為��鐨勮妭鐐�")
+    @PostMapping(value = "/returnList")
+    public Result findReturnTaskList(@RequestBody FlowTaskVo flowTaskVo) {
+        return flowTaskService.findReturnTaskList(flowTaskVo);
+    }
+    @ApiOperation(value = "鑾峰彇鎵�鏈夊彲鍥為��鐨勮妭鐐�")
+    @PostMapping(value = "/findReturnTaskListByDataId")
+    public Result findReturnTaskListByDataId(@RequestBody FlowTaskVo flowTaskVo) {
+        return flowTaskService.findReturnTaskListByDataId(flowTaskVo);
+    }
+
+    @ApiOperation(value = "鍒犻櫎浠诲姟")
+    @DeleteMapping(value = "/delete")
+    public Result delete(@RequestBody FlowTaskVo flowTaskVo) {
+        flowTaskService.deleteTask(flowTaskVo);
+        return Result.OK();
+    }
+
+    @ApiOperation(value = "璁ら/绛炬敹浠诲姟")
+    @PostMapping(value = "/claim")
+    public Result claim(@RequestBody FlowTaskVo flowTaskVo) {
+        flowTaskService.claim(flowTaskVo);
+        return Result.OK();
+    }
+
+    @ApiOperation(value = "鍙栨秷璁ら/绛炬敹浠诲姟")
+    @PostMapping(value = "/unClaim")
+    public Result unClaim(@RequestBody FlowTaskVo flowTaskVo) {
+        flowTaskService.unClaim(flowTaskVo);
+        return Result.OK();
+    }
+
+    @ApiOperation(value = "濮旀淳浠诲姟")
+    @PostMapping(value = "/delegate")
+    public Result delegate(@RequestBody FlowTaskVo flowTaskVo) {
+        flowTaskService.delegateTask(flowTaskVo);
+        return Result.OK();
+    }
+
+    @ApiOperation(value = "杞姙浠诲姟")
+    @PostMapping(value = "/assign")
+    public Result assign(@RequestBody FlowTaskVo flowTaskVo) {
+        flowTaskService.assignTask(flowTaskVo);
+        return Result.OK();
+    }
+
+    @ApiOperation(value = "鑾峰彇涓嬩竴鑺傜偣")
+    @PostMapping(value = "/nextFlowNode")
+    public Result<List<FlowNextDto>> getNextFlowNode(@RequestBody FlowTaskVo flowTaskVo) {
+        return flowTaskService.getNextFlowNode(flowTaskVo);
+    }
+
+    /**
+     * 鐢熸垚娴佺▼鍥�
+     *
+     * @param processId 浠诲姟ID
+     */
+    @RequestMapping("/diagram/{processId}")
+    public void genProcessDiagram(HttpServletResponse response,
+                                  @PathVariable("processId") String processId) {
+        InputStream inputStream =  flowTaskService.diagram(processId);
+        OutputStream os = null;
+        BufferedImage image = null;
+        try {
+            image = ImageIO.read(inputStream);
+            response.setContentType("image/png");
+            os = response.getOutputStream();
+            if (image != null) {
+                ImageIO.write(image, "png", os);
+            }
+        }catch (Exception e) {
+            e.printStackTrace();
+        }finally {
+            try {
+                if (os != null) {
+                    os.flush();
+                    os.close();
+                }
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    /**
+     * 鐢熸垚娴佺▼鍥�
+     *
+     * @param procInsId 浠诲姟ID
+     */
+    @RequestMapping("/flowViewer/{procInsId}")
+    public Result getFlowViewer(@PathVariable("procInsId") String procInsId) {
+        return Result.OK(flowTaskService.getFlowViewer(procInsId));
+    }
+    /**
+     * 鐢熸垚娴佺▼鍥�
+     *
+     * @param dataId 浠诲姟鏁版嵁ID
+     */
+    @RequestMapping("/flowViewerByDataId/{dataId}")
+    public Result getFlowViewerByDataId(@PathVariable("dataId") String dataId) {
+        return Result.OK(flowTaskService.getFlowViewerByDataId(dataId));
+    }
+}

--
Gitblit v1.9.3