¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.dromara.workflow.controller; |
| | | |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.dromara.common.core.domain.R; |
| | | import org.dromara.common.core.domain.dto.UserDTO; |
| | | import org.dromara.common.core.validate.AddGroup; |
| | | import org.dromara.common.idempotent.annotation.RepeatSubmit; |
| | | import org.dromara.common.log.annotation.Log; |
| | | import org.dromara.common.log.enums.BusinessType; |
| | | import org.dromara.common.mybatis.core.page.PageQuery; |
| | | import org.dromara.common.mybatis.core.page.TableDataInfo; |
| | | import org.dromara.common.web.core.BaseController; |
| | | import org.dromara.warm.flow.core.entity.Node; |
| | | import org.dromara.workflow.common.ConditionalOnEnable; |
| | | import org.dromara.workflow.domain.bo.*; |
| | | import org.dromara.workflow.domain.vo.FlowHisTaskVo; |
| | | import org.dromara.workflow.domain.vo.FlowTaskVo; |
| | | import org.dromara.workflow.service.IFlwTaskService; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * ä»»å¡ç®¡ç æ§å¶å± |
| | | * |
| | | * @author may |
| | | */ |
| | | @ConditionalOnEnable |
| | | @Validated |
| | | @RequiredArgsConstructor |
| | | @RestController |
| | | @RequestMapping("/workflow/task") |
| | | public class FlwTaskController extends BaseController { |
| | | |
| | | private final IFlwTaskService flwTaskService; |
| | | |
| | | /** |
| | | * å¯å¨ä»»å¡ |
| | | * |
| | | * @param startProcessBo å¯å¨æµç¨åæ° |
| | | */ |
| | | @Log(title = "ä»»å¡ç®¡ç", businessType = BusinessType.INSERT) |
| | | @RepeatSubmit() |
| | | @PostMapping("/startWorkFlow") |
| | | public R<Map<String, Object>> startWorkFlow(@Validated(AddGroup.class) @RequestBody StartProcessBo startProcessBo) { |
| | | Map<String, Object> map = flwTaskService.startWorkFlow(startProcessBo); |
| | | return R.ok("æäº¤æå", map); |
| | | } |
| | | |
| | | /** |
| | | * åçä»»å¡ |
| | | * |
| | | * @param completeTaskBo åçä»»å¡åæ° |
| | | */ |
| | | @Log(title = "ä»»å¡ç®¡ç", businessType = BusinessType.INSERT) |
| | | @RepeatSubmit() |
| | | @PostMapping("/completeTask") |
| | | public R<Void> completeTask(@Validated(AddGroup.class) @RequestBody CompleteTaskBo completeTaskBo) { |
| | | return toAjax(flwTaskService.completeTask(completeTaskBo)); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢å½åç¨æ·çå¾
åä»»å¡ |
| | | * |
| | | * @param flowTaskBo åæ° |
| | | * @param pageQuery å页 |
| | | */ |
| | | @GetMapping("/pageByTaskWait") |
| | | public TableDataInfo<FlowTaskVo> pageByTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery) { |
| | | return flwTaskService.pageByTaskWait(flowTaskBo, pageQuery); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢å½åç¨æ·çå·²åä»»å¡ |
| | | * |
| | | * @param flowTaskBo åæ° |
| | | * @param pageQuery å页 |
| | | */ |
| | | |
| | | @GetMapping("/pageByTaskFinish") |
| | | public TableDataInfo<FlowHisTaskVo> pageByTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery) { |
| | | return flwTaskService.pageByTaskFinish(flowTaskBo, pageQuery); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢å¾
åä»»å¡ |
| | | * |
| | | * @param flowTaskBo åæ° |
| | | * @param pageQuery å页 |
| | | */ |
| | | @GetMapping("/pageByAllTaskWait") |
| | | public TableDataInfo<FlowTaskVo> pageByAllTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery) { |
| | | return flwTaskService.pageByAllTaskWait(flowTaskBo, pageQuery); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢å·²åä»»å¡ |
| | | * |
| | | * @param flowTaskBo åæ° |
| | | * @param pageQuery å页 |
| | | */ |
| | | @GetMapping("/pageByAllTaskFinish") |
| | | public TableDataInfo<FlowHisTaskVo> pageByAllTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery) { |
| | | return flwTaskService.pageByAllTaskFinish(flowTaskBo, pageQuery); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢å½åç¨æ·çæé |
| | | * |
| | | * @param flowTaskBo åæ° |
| | | * @param pageQuery å页 |
| | | */ |
| | | @GetMapping("/pageByTaskCopy") |
| | | public TableDataInfo<FlowTaskVo> pageByTaskCopy(FlowTaskBo flowTaskBo, PageQuery pageQuery) { |
| | | return flwTaskService.pageByTaskCopy(flowTaskBo, pageQuery); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®taskIdæ¥è¯¢ä»£è¡¨ä»»å¡ |
| | | * |
| | | * @param taskId ä»»å¡id |
| | | */ |
| | | @GetMapping("/getTask/{taskId}") |
| | | public R<FlowTaskVo> getTask(@PathVariable Long taskId) { |
| | | return R.ok(flwTaskService.selectById(taskId)); |
| | | } |
| | | |
| | | /** |
| | | * ç»æ¢ä»»å¡ |
| | | * |
| | | * @param bo åæ° |
| | | */ |
| | | @Log(title = "ä»»å¡ç®¡ç", businessType = BusinessType.INSERT) |
| | | @RepeatSubmit() |
| | | @PostMapping("/terminationTask") |
| | | public R<Boolean> terminationTask(@RequestBody FlowTerminationBo bo) { |
| | | return R.ok(flwTaskService.terminationTask(bo)); |
| | | } |
| | | |
| | | /** |
| | | * ä»»å¡æä½ |
| | | * |
| | | * @param bo åæ° |
| | | * @param taskOperation æä½ç±»åï¼å§æ´¾ delegateTaskã转å transferTaskãå ç¾ addSignatureãåç¾ reductionSignature |
| | | */ |
| | | @Log(title = "ä»»å¡ç®¡ç", businessType = BusinessType.UPDATE) |
| | | @RepeatSubmit |
| | | @PostMapping("/taskOperation/{taskOperation}") |
| | | public R<Void> taskOperation(@Validated @RequestBody TaskOperationBo bo, @PathVariable String taskOperation) { |
| | | return toAjax(flwTaskService.taskOperation(bo, taskOperation)); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ä»»å¡åç人 |
| | | * |
| | | * @param taskIdList ä»»å¡id |
| | | * @param userId åç人id |
| | | */ |
| | | @Log(title = "ä»»å¡ç®¡ç", businessType = BusinessType.UPDATE) |
| | | @RepeatSubmit() |
| | | @PutMapping("/updateAssignee/{userId}") |
| | | public R<Void> updateAssignee(@RequestBody List<Long> taskIdList, @PathVariable String userId) { |
| | | return toAjax(flwTaskService.updateAssignee(taskIdList, userId)); |
| | | } |
| | | |
| | | /** |
| | | * 驳åå®¡æ¹ |
| | | * |
| | | * @param bo åæ° |
| | | */ |
| | | @Log(title = "ä»»å¡ç®¡ç", businessType = BusinessType.INSERT) |
| | | @RepeatSubmit() |
| | | @PostMapping("/backProcess") |
| | | public R<Void> backProcess(@Validated({AddGroup.class}) @RequestBody BackProcessBo bo) { |
| | | return toAjax(flwTaskService.backProcess(bo)); |
| | | } |
| | | |
| | | /** |
| | | * è·åå¯é©³åçåç½®èç¹ |
| | | * |
| | | * @param definitionId æµç¨å®ä¹id |
| | | * @param nowNodeCode å½åèç¹ |
| | | */ |
| | | @GetMapping("/getBackTaskNode/{definitionId}/{nowNodeCode}") |
| | | public R<List<Node>> getBackTaskNode(@PathVariable Long definitionId, @PathVariable String nowNodeCode) { |
| | | return R.ok(flwTaskService.getBackTaskNode(definitionId, nowNodeCode)); |
| | | } |
| | | |
| | | /** |
| | | * è·åå½åä»»å¡çææåç人 |
| | | * |
| | | * @param taskId ä»»å¡id |
| | | */ |
| | | @GetMapping("/currentTaskAllUser/{taskId}") |
| | | public R<List<UserDTO>> currentTaskAllUser(@PathVariable Long taskId) { |
| | | return R.ok(flwTaskService.currentTaskAllUser(taskId)); |
| | | } |
| | | |
| | | } |