mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 02:08:43 +08:00 
			
		
		
		
	工作流 Flowable 流程实例 相关实现
This commit is contained in:
		| @@ -0,0 +1,4 @@ | ||||
| ### 请求 /bpm/task-assign-rule/list 接口 => 成功 | ||||
| GET {{baseUrl}}/bpm/task-assign-rule/list?processDefinitionId=leave:9:59689ba0-7284-11ec-965c-a2380e71991a | ||||
| tenant-id: 1 | ||||
| Authorization: Bearer {{token}} | ||||
| @@ -0,0 +1,59 @@ | ||||
| package cn.iocoder.yudao.module.bpm.controller.admin.definition; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||
| import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; | ||||
| import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleRespVO; | ||||
| import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; | ||||
| import cn.iocoder.yudao.module.bpm.service.definition.BpmTaskAssignRuleService; | ||||
| import io.swagger.annotations.Api; | ||||
| import io.swagger.annotations.ApiImplicitParam; | ||||
| import io.swagger.annotations.ApiImplicitParams; | ||||
| import io.swagger.annotations.ApiOperation; | ||||
| import org.springframework.security.access.prepost.PreAuthorize; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import javax.validation.Valid; | ||||
| import java.util.List; | ||||
|  | ||||
| import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||||
|  | ||||
| @Api(tags = "管理后台 - 任务分配规则") | ||||
| @RestController | ||||
| @RequestMapping("/bpm/task-assign-rule") | ||||
| @Validated | ||||
| public class BpmTaskAssignRuleController { | ||||
|  | ||||
|     @Resource | ||||
|     private BpmTaskAssignRuleService taskAssignRuleService; | ||||
|  | ||||
|     @GetMapping("/list") | ||||
|     @ApiOperation(value = "获得任务分配规则列表") | ||||
|     @ApiImplicitParams({ | ||||
|             @ApiImplicitParam(name = "modelId", value = "模型编号", example = "1024", dataTypeClass = String.class), | ||||
|             @ApiImplicitParam(name = "processDefinitionId", value = "流程定义的编号", example = "2048", dataTypeClass = String.class) | ||||
|     }) | ||||
|     @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:query')") | ||||
|     public CommonResult<List<BpmTaskAssignRuleRespVO>> getTaskAssignRuleList( | ||||
|             @RequestParam(value = "modelId", required = false) String modelId, | ||||
|             @RequestParam(value = "processDefinitionId", required = false) String processDefinitionId) { | ||||
|         return success(taskAssignRuleService.getTaskAssignRuleList(modelId, processDefinitionId)); | ||||
|     } | ||||
|  | ||||
|     @PostMapping("/create") | ||||
|     @ApiOperation(value = "创建任务分配规则") | ||||
|     @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:create')") | ||||
|     public CommonResult<Long> createTaskAssignRule(@Valid @RequestBody BpmTaskAssignRuleCreateReqVO reqVO) { | ||||
|         return success(taskAssignRuleService.createTaskAssignRule(reqVO)); | ||||
|     } | ||||
|  | ||||
|     @PutMapping("/update") | ||||
|     @ApiOperation(value = "更新任务分配规则") | ||||
|     @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:update')") | ||||
|     public CommonResult<Boolean> updateTaskAssignRule(@Valid @RequestBody BpmTaskAssignRuleUpdateReqVO reqVO) { | ||||
|         taskAssignRuleService.updateTaskAssignRule(reqVO); | ||||
|         return success(true); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,87 @@ | ||||
| package cn.iocoder.yudao.module.bpm.service.definition; | ||||
|  | ||||
| import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; | ||||
| import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleRespVO; | ||||
| import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; | ||||
| import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; | ||||
| import org.springframework.lang.Nullable; | ||||
|  | ||||
| import javax.validation.Valid; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * BPM 任务分配规则 Service 接口 | ||||
|  * | ||||
|  * @author 芋道源码 | ||||
|  */ | ||||
| public interface BpmTaskAssignRuleService { | ||||
|  | ||||
|     /** | ||||
|      * 获得流程定义的任务分配规则数组 | ||||
|      * | ||||
|      * @param processDefinitionId 流程定义的编号 | ||||
|      * @param taskDefinitionKey 流程任务定义的 Key。允许空 | ||||
|      * @return 任务规则数组 | ||||
|      */ | ||||
|     List<BpmTaskAssignRuleDO> getTaskAssignRuleListByProcessDefinitionId(String processDefinitionId, | ||||
|                                                                          @Nullable String taskDefinitionKey); | ||||
|  | ||||
|     /** | ||||
|      * 获得流程模型的任务规则数组 | ||||
|      * | ||||
|      * @param modelId 流程模型的编号 | ||||
|      * @return 任务规则数组 | ||||
|      */ | ||||
|     List<BpmTaskAssignRuleDO> getTaskAssignRuleListByModelId(String modelId); | ||||
|  | ||||
|     /** | ||||
|      * 获得流程定义的任务分配规则数组 | ||||
|      * | ||||
|      * @param modelId 流程模型的编号 | ||||
|      * @param processDefinitionId 流程定义的编号 | ||||
|      * @return 任务规则数组 | ||||
|      */ | ||||
|     List<BpmTaskAssignRuleRespVO> getTaskAssignRuleList(String modelId, String processDefinitionId); | ||||
|  | ||||
|     /** | ||||
|      * 创建任务分配规则 | ||||
|      * | ||||
|      * @param reqVO 创建信息 | ||||
|      * @return 规则编号 | ||||
|      */ | ||||
|     Long createTaskAssignRule(@Valid BpmTaskAssignRuleCreateReqVO reqVO); | ||||
|  | ||||
|     /** | ||||
|      * 更新任务分配规则 | ||||
|      * | ||||
|      * @param reqVO 创建信息 | ||||
|      */ | ||||
|     void updateTaskAssignRule(@Valid BpmTaskAssignRuleUpdateReqVO reqVO); | ||||
|  | ||||
|     /** | ||||
|      * 判断指定流程模型和流程定义的分配规则是否相等 | ||||
|      * | ||||
|      * @param modelId 流程模型编号 | ||||
|      * @param processDefinitionId 流程定义编号 | ||||
|      * @return 是否相等 | ||||
|      */ | ||||
|     boolean isTaskAssignRulesEquals(String modelId, String processDefinitionId); | ||||
|  | ||||
|     /** | ||||
|      * 将流程流程模型的任务分配规则,复制一份给流程定义 | ||||
|      * 目的:每次流程模型部署时,都会生成一个新的流程定义,此时考虑到每次部署的流程不可变性,所以需要复制一份给该流程定义 | ||||
|      * | ||||
|      * @param fromModelId 流程模型编号 | ||||
|      * @param toProcessDefinitionId 流程定义编号 | ||||
|      */ | ||||
|     void copyTaskAssignRules(String fromModelId, String toProcessDefinitionId); | ||||
|  | ||||
|     /** | ||||
|      * 校验流程模型的任务分配规则全部都配置了 | ||||
|      * 目的:如果有规则未配置,会导致流程任务找不到负责人,进而流程无法进行下去! | ||||
|      * | ||||
|      * @param id 流程模型编号 | ||||
|      */ | ||||
|     void checkTaskAssignRuleAllConfig(String id); | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 jason
					jason