yangys
2025-09-29 4c7296d45efe849dc70a3b2e2240c905481a91c9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package org.springblade.mdm.flow.controller;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.TaskService;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.mdm.basesetting.producedivision.entity.MdmUser;
import org.springblade.mdm.basesetting.producedivision.service.MdmUserService;
import org.springblade.mdm.flow.service.DoneQueryService;
import org.springblade.mdm.flow.service.FlowBusinessService;
import org.springblade.mdm.flow.service.FlowTransferService;
import org.springblade.mdm.flow.vo.DoneQueryVO;
import org.springblade.mdm.flow.vo.FlowVO;
import org.springblade.mdm.flow.vo.TodoQueryVO;
import org.springblade.mdm.gkw.programnode.vo.ProgramNodeVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
 
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
 
@Slf4j
@RestController
@RequestMapping("/flow/")
@Tag(name = "用户个人流程", description = "用户个人流程")
public class MyFlowController {
    @Autowired
    private TaskService taskService;
    @Autowired
    private MdmUserService mdmUserService;
    @Autowired
    private FlowBusinessService businessService;
    @Autowired
    private FlowTransferService flowTransferService;
    @Autowired
    private DoneQueryService doneQueryService;
    /**
     * 待办任务列表页
     */
    @GetMapping("todo-list")
    @ApiOperationSupport(order = 3)
    @Operation(summary = "待办任务", description = "传入流程信息")
    public R<IPage<FlowVO>> todoList(TodoQueryVO queryVO) {
        IPage<FlowVO> pages = businessService.selectTodoPage(Condition.getPage(queryVO),queryVO);
 
        return R.data(pages);
    }
    @GetMapping("done-list-old")
    @ApiOperationSupport(order = 3)
    @Operation(summary = "当前用户已办任务分页", description = "传入流程信息")
    public R<IPage<FlowVO>> doneList(@Parameter(description = "关键字") String keyword, @Parameter(description = "创建时间开始") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime createTimeBegin, @Parameter(description = "创建时间截止")  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime createTimeEnd, Query query) {
        IPage<FlowVO> pages = businessService.selectDonePage(Condition.getPage(query),"" ,createTimeBegin,createTimeEnd,keyword);
 
        return R.data(pages);
    }
    @GetMapping("done-list")
    @ApiOperationSupport(order = 3)
    @Operation(summary = "当前用户已办任务分页2", description = "传入流程信息2")
    //public R<IPage<FlowVO>> doneList2(@Parameter(description = "关键字") String keyword, @Parameter(description = "创建时间开始") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime createTimeBegin, @Parameter(description = "创建时间截止")  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime createTimeEnd, Query query) {
    public R<IPage<FlowVO>> doneList2(DoneQueryVO query) {
        IPage<FlowVO> pages = doneQueryService.selectDonePage(query);
 
        return R.data(pages);
    }
 
 
    /**
     * 待办任务列表页
     */
    @GetMapping("alltask-list")
    @ApiOperationSupport(order = 3)
    @Operation(summary = "所有任务(fortest)", description = "传入流程信息")
    public R<IPage<FlowVO>> alltaskList(@Parameter(description = "关键字") String keyword, LocalDate createTimeBegin, LocalDate createTimeEnd, Query query) {
        IPage<FlowVO> pages = businessService.selectAllTaskPage(Condition.getPage(query), keyword);
        return R.data(pages);
    }
 
    @Operation(summary = "转派任务", description = "")
    @PostMapping("transferTask")
    public R<Void> transferTask(String taskId,String newAssigneeId, String processInstanceId, String comment) {
        // 增加评论
        try {
            this.flowTransferService.transferTask(taskId, newAssigneeId, comment);
            return R.success("流程转派成功");
        }catch(Exception e) {
            return R.fail(e.getMessage());
        }
    }
 
    /**
     * 处理人下拉数据
     */
    @GetMapping("flow-user-list")
    @ApiOperationSupport(order = 3)
    @Operation(summary = "处理人下拉数据", description = "处理人下拉数据")
    public R<List<MdmUser>> flowUserList(@Parameter(description = "部门ID") String deptId, String taskId) {
        return R.data(mdmUserService.listByDeptAndRoleAlias());
    }
 
    @GetMapping("flow-user-tree")
    @ApiOperationSupport(order = 3)
    @Operation(summary = "处理人下拉数据-树形", description = "处理人下拉数据")
    public R<List<ProgramNodeVO>> flowUserTree(@Parameter(description = "部门ID") String deptId, String taskId) {
        return R.data(mdmUserService.flowUserTree());
    }
 
    /**
     * 上一步审批人查询
     */
    /*
    @GetMapping("previus-approve-user")
    @ApiOperationSupport(order = 3)
    @Operation(summary = "上一步审批人查询", description = "上一步审批人查询,返回审批人id")
    public R<String> previusApproveUserId(@Parameter(description = "部门ID") String processInstanceId) {
        return R.data(this.flowCommonService.previusAssignee(processInstanceId));
    }*/
}