Commit 4d15396e36abd22d99792f8155d0aa35d03769e5
1 parent
f03e26bc
【代码评审】工作流:获得审批的进展
Showing
15 changed files
with
60 additions
and
35 deletions
yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmProcessNodeProgressEnum.java
| @@ -13,6 +13,7 @@ import lombok.Getter; | @@ -13,6 +13,7 @@ import lombok.Getter; | ||
| 13 | @Getter | 13 | @Getter |
| 14 | @AllArgsConstructor | 14 | @AllArgsConstructor |
| 15 | public enum BpmProcessNodeProgressEnum { | 15 | public enum BpmProcessNodeProgressEnum { |
| 16 | + | ||
| 16 | // 0 未开始 | 17 | // 0 未开始 |
| 17 | NOT_START(0,"未开始"), | 18 | NOT_START(0,"未开始"), |
| 18 | // 1 ~ 20 进行中 | 19 | // 1 ~ 20 进行中 |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java
| @@ -47,7 +47,6 @@ public class BpmProcessInstanceController { | @@ -47,7 +47,6 @@ public class BpmProcessInstanceController { | ||
| 47 | private BpmProcessInstanceService processInstanceService; | 47 | private BpmProcessInstanceService processInstanceService; |
| 48 | @Resource | 48 | @Resource |
| 49 | private BpmTaskService taskService; | 49 | private BpmTaskService taskService; |
| 50 | - | ||
| 51 | @Resource | 50 | @Resource |
| 52 | private BpmProcessDefinitionService processDefinitionService; | 51 | private BpmProcessDefinitionService processDefinitionService; |
| 53 | @Resource | 52 | @Resource |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceProgressRespVO.java
| @@ -22,17 +22,24 @@ public class BpmProcessInstanceProgressRespVO { | @@ -22,17 +22,24 @@ public class BpmProcessInstanceProgressRespVO { | ||
| 22 | 22 | ||
| 23 | @Schema(description = "节点编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "StartUserNode") | 23 | @Schema(description = "节点编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "StartUserNode") |
| 24 | private String id; // Bpmn XML 节点 Id | 24 | private String id; // Bpmn XML 节点 Id |
| 25 | + | ||
| 25 | @Schema(description = "节点名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "发起人") | 26 | @Schema(description = "节点名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "发起人") |
| 26 | private String name; | 27 | private String name; |
| 28 | + | ||
| 29 | + @Schema(description = "节点展示内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "指定成员: 芋道源码") | ||
| 27 | private String displayText; | 30 | private String displayText; |
| 31 | + | ||
| 28 | @Schema(description = "节点类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 32 | @Schema(description = "节点类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 29 | private Integer nodeType; // 参见 BpmSimpleModelNodeType 枚举 | 33 | private Integer nodeType; // 参见 BpmSimpleModelNodeType 枚举 |
| 34 | + | ||
| 30 | @Schema(description = "节点状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") | 35 | @Schema(description = "节点状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") |
| 31 | private Integer status; // 参见 BpmProcessNodeProgressEnum 枚举 | 36 | private Integer status; // 参见 BpmProcessNodeProgressEnum 枚举 |
| 37 | + | ||
| 32 | @Schema(description = "节点的开始时间") | 38 | @Schema(description = "节点的开始时间") |
| 33 | private LocalDateTime startTime; | 39 | private LocalDateTime startTime; |
| 34 | @Schema(description = "节点的结束时间") | 40 | @Schema(description = "节点的结束时间") |
| 35 | private LocalDateTime endTime; | 41 | private LocalDateTime endTime; |
| 42 | + | ||
| 36 | @Schema(description = "用户列表") | 43 | @Schema(description = "用户列表") |
| 37 | private List<User> userList; | 44 | private List<User> userList; |
| 38 | @Schema(description = "分支节点") | 45 | @Schema(description = "分支节点") |
| @@ -48,13 +55,19 @@ public class BpmProcessInstanceProgressRespVO { | @@ -48,13 +55,19 @@ public class BpmProcessInstanceProgressRespVO { | ||
| 48 | 55 | ||
| 49 | @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 56 | @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 50 | private Long id; | 57 | private Long id; |
| 58 | + | ||
| 51 | @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") | 59 | @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") |
| 52 | private String nickname; | 60 | private String nickname; |
| 61 | + | ||
| 53 | @Schema(description = "用户头像", example = "芋艿") | 62 | @Schema(description = "用户头像", example = "芋艿") |
| 54 | private String avatar; | 63 | private String avatar; |
| 64 | + | ||
| 55 | @Schema(description = "是否已处理", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") | 65 | @Schema(description = "是否已处理", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") |
| 56 | private Boolean processed; | 66 | private Boolean processed; |
| 67 | + | ||
| 57 | @Schema(description = "用户任务的处理状态", example = "1") | 68 | @Schema(description = "用户任务的处理状态", example = "1") |
| 58 | private Integer userTaskStatus; | 69 | private Integer userTaskStatus; |
| 70 | + | ||
| 59 | } | 71 | } |
| 72 | + | ||
| 60 | } | 73 | } |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/task/BpmProcessInstanceCopyMapper.java
| @@ -20,7 +20,9 @@ public interface BpmProcessInstanceCopyMapper extends BaseMapperX<BpmProcessInst | @@ -20,7 +20,9 @@ public interface BpmProcessInstanceCopyMapper extends BaseMapperX<BpmProcessInst | ||
| 20 | .orderByDesc(BpmProcessInstanceCopyDO::getId)); | 20 | .orderByDesc(BpmProcessInstanceCopyDO::getId)); |
| 21 | } | 21 | } |
| 22 | 22 | ||
| 23 | - default List<BpmProcessInstanceCopyDO> selectListByProcInstIdAndActId(String processInstanceId, String activityId) { | ||
| 24 | - return selectList(BpmProcessInstanceCopyDO::getProcessInstanceId, processInstanceId, BpmProcessInstanceCopyDO::getActivityId, activityId); | 23 | + default List<BpmProcessInstanceCopyDO> selectListByProcessIstanceIdAndActivityId(String processInstanceId, String activityId) { |
| 24 | + return selectList(BpmProcessInstanceCopyDO::getProcessInstanceId, processInstanceId, | ||
| 25 | + BpmProcessInstanceCopyDO::getActivityId, activityId); | ||
| 25 | } | 26 | } |
| 27 | + | ||
| 26 | } | 28 | } |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/BpmTaskCandidateStrategy.java
| @@ -30,6 +30,15 @@ public interface BpmTaskCandidateStrategy { | @@ -30,6 +30,15 @@ public interface BpmTaskCandidateStrategy { | ||
| 30 | void validateParam(String param); | 30 | void validateParam(String param); |
| 31 | 31 | ||
| 32 | /** | 32 | /** |
| 33 | + * 是否一定要输入参数 | ||
| 34 | + * | ||
| 35 | + * @return 是否 | ||
| 36 | + */ | ||
| 37 | + default boolean isParamRequired() { | ||
| 38 | + return true; | ||
| 39 | + } | ||
| 40 | + | ||
| 41 | + /** | ||
| 33 | * 基于执行任务,获得任务的候选用户们 | 42 | * 基于执行任务,获得任务的候选用户们 |
| 34 | * | 43 | * |
| 35 | * @param execution 执行任务 | 44 | * @param execution 执行任务 |
| @@ -37,11 +46,12 @@ public interface BpmTaskCandidateStrategy { | @@ -37,11 +46,12 @@ public interface BpmTaskCandidateStrategy { | ||
| 37 | */ | 46 | */ |
| 38 | Set<Long> calculateUsers(DelegateExecution execution, String param); | 47 | Set<Long> calculateUsers(DelegateExecution execution, String param); |
| 39 | 48 | ||
| 40 | - | ||
| 41 | /** | 49 | /** |
| 42 | - * 基于流程实例,获得任务的候选用户们。 用于获取未执行节点的候选用户们 | 50 | + * 基于流程实例,获得任务的候选用户们 |
| 43 | * | 51 | * |
| 44 | - * @param processInstanceId 流程实例 | 52 | + * 目的:用于获取未执行节点的候选用户们 |
| 53 | + * | ||
| 54 | + * @param processInstanceId 流程实例编号 | ||
| 45 | * @param param 节点的参数 | 55 | * @param param 节点的参数 |
| 46 | * @return 用户编号集合 | 56 | * @return 用户编号集合 |
| 47 | */ | 57 | */ |
| @@ -49,13 +59,6 @@ public interface BpmTaskCandidateStrategy { | @@ -49,13 +59,6 @@ public interface BpmTaskCandidateStrategy { | ||
| 49 | return Collections.emptySet(); | 59 | return Collections.emptySet(); |
| 50 | } | 60 | } |
| 51 | 61 | ||
| 52 | - /** | ||
| 53 | - * 是否一定要输入参数 | ||
| 54 | - * | ||
| 55 | - * @return 是否 | ||
| 56 | - */ | ||
| 57 | - default boolean isParamRequired() { | ||
| 58 | - return true; | ||
| 59 | - } | 62 | + // TODO @芋艿:后续可以抽象一个 calculateUsers(String param),默认 calculateUsers 和 calculateUsers 调用它 |
| 60 | 63 | ||
| 61 | } | 64 | } |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/strategy/BpmTaskCandidateDeptMemberStrategy.java
| @@ -41,16 +41,11 @@ public class BpmTaskCandidateDeptMemberStrategy implements BpmTaskCandidateStrat | @@ -41,16 +41,11 @@ public class BpmTaskCandidateDeptMemberStrategy implements BpmTaskCandidateStrat | ||
| 41 | 41 | ||
| 42 | @Override | 42 | @Override |
| 43 | public Set<Long> calculateUsers(DelegateExecution execution, String param) { | 43 | public Set<Long> calculateUsers(DelegateExecution execution, String param) { |
| 44 | - return calculateUsersByParam(param); | 44 | + return calculateUsers((String) null, param); |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | @Override | 47 | @Override |
| 48 | public Set<Long> calculateUsers(String processInstanceId, String param) { | 48 | public Set<Long> calculateUsers(String processInstanceId, String param) { |
| 49 | - return calculateUsersByParam(param); | ||
| 50 | - } | ||
| 51 | - | ||
| 52 | - private Set<Long> calculateUsersByParam(String param) { | ||
| 53 | - | ||
| 54 | Set<Long> deptIds = StrUtils.splitToLongSet(param); | 49 | Set<Long> deptIds = StrUtils.splitToLongSet(param); |
| 55 | List<AdminUserRespDTO> users = adminUserApi.getUserListByDeptIds(deptIds); | 50 | List<AdminUserRespDTO> users = adminUserApi.getUserListByDeptIds(deptIds); |
| 56 | return convertSet(users, AdminUserRespDTO::getId); | 51 | return convertSet(users, AdminUserRespDTO::getId); |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/strategy/BpmTaskCandidateRoleStrategy.java
| @@ -45,7 +45,7 @@ public class BpmTaskCandidateRoleStrategy implements BpmTaskCandidateStrategy { | @@ -45,7 +45,7 @@ public class BpmTaskCandidateRoleStrategy implements BpmTaskCandidateStrategy { | ||
| 45 | return calculateUsersByParam(param); | 45 | return calculateUsersByParam(param); |
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | - private Set<Long> calculateUsersByParam(String param) { | 48 | + private Set<Long> calculateUsersByParam(String param) { |
| 49 | Set<Long> roleIds = StrUtils.splitToLongSet(param); | 49 | Set<Long> roleIds = StrUtils.splitToLongSet(param); |
| 50 | return permissionApi.getUserRoleIdListByRoleIds(roleIds); | 50 | return permissionApi.getUserRoleIdListByRoleIds(roleIds); |
| 51 | } | 51 | } |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/strategy/BpmTaskCandidateStartUserStrategy.java
| @@ -34,13 +34,13 @@ public class BpmTaskCandidateStartUserStrategy implements BpmTaskCandidateStrate | @@ -34,13 +34,13 @@ public class BpmTaskCandidateStartUserStrategy implements BpmTaskCandidateStrate | ||
| 34 | public void validateParam(String param) {} | 34 | public void validateParam(String param) {} |
| 35 | 35 | ||
| 36 | @Override | 36 | @Override |
| 37 | - public Set<Long> calculateUsers(DelegateExecution execution, String param) { | ||
| 38 | - return getStartUserOfProcessInstance(execution.getProcessInstanceId()); | 37 | + public boolean isParamRequired() { |
| 38 | + return false; | ||
| 39 | } | 39 | } |
| 40 | 40 | ||
| 41 | @Override | 41 | @Override |
| 42 | - public boolean isParamRequired() { | ||
| 43 | - return false; | 42 | + public Set<Long> calculateUsers(DelegateExecution execution, String param) { |
| 43 | + return getStartUserOfProcessInstance(execution.getProcessInstanceId()); | ||
| 44 | } | 44 | } |
| 45 | 45 | ||
| 46 | @Override | 46 | @Override |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java
| @@ -519,6 +519,7 @@ public class SimpleModelUtils { | @@ -519,6 +519,7 @@ public class SimpleModelUtils { | ||
| 519 | 519 | ||
| 520 | private static void processMultiInstanceLoopCharacteristics(Integer approveMethod, Integer approveRatio, UserTask userTask) { | 520 | private static void processMultiInstanceLoopCharacteristics(Integer approveMethod, Integer approveRatio, UserTask userTask) { |
| 521 | BpmUserTaskApproveMethodEnum approveMethodEnum = BpmUserTaskApproveMethodEnum.valueOf(approveMethod); | 521 | BpmUserTaskApproveMethodEnum approveMethodEnum = BpmUserTaskApproveMethodEnum.valueOf(approveMethod); |
| 522 | + // TODO @jason:这种枚举,最终不要去掉哈 BpmUserTaskApproveMethodEnum。因为容易不经意重叠 | ||
| 522 | if (approveMethodEnum == null || approveMethodEnum == RANDOM) { | 523 | if (approveMethodEnum == null || approveMethodEnum == RANDOM) { |
| 523 | return; | 524 | return; |
| 524 | } | 525 | } |
| @@ -656,7 +657,7 @@ public class SimpleModelUtils { | @@ -656,7 +657,7 @@ public class SimpleModelUtils { | ||
| 656 | traverseNodeToBuildNodeProgress(processInstance, simpleModel.getChildNode(), historicActivityList, activityInstanceMap, nodeProgresses, returnNodePosition); | 657 | traverseNodeToBuildNodeProgress(processInstance, simpleModel.getChildNode(), historicActivityList, activityInstanceMap, nodeProgresses, returnNodePosition); |
| 657 | } | 658 | } |
| 658 | 659 | ||
| 659 | - | 660 | + // TODO @芋艿:重点在 review 下 |
| 660 | private static void buildNodeProgress(HistoricProcessInstance processInstance, BpmSimpleModelNodeVO node, List<ProcessNodeProgress> nodeProgresses, | 661 | private static void buildNodeProgress(HistoricProcessInstance processInstance, BpmSimpleModelNodeVO node, List<ProcessNodeProgress> nodeProgresses, |
| 661 | List<HistoricActivityInstance> historicActivityList, Map<String, HistoricActivityInstance> activityInstanceMap, List<Integer> returnNodePosition) { | 662 | List<HistoricActivityInstance> historicActivityList, Map<String, HistoricActivityInstance> activityInstanceMap, List<Integer> returnNodePosition) { |
| 662 | BpmSimpleModelNodeType nodeType = BpmSimpleModelNodeType.valueOf(node.getType()); | 663 | BpmSimpleModelNodeType nodeType = BpmSimpleModelNodeType.valueOf(node.getType()); |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmProcessDefinitionService.java
| @@ -48,11 +48,12 @@ public interface BpmProcessDefinitionService { | @@ -48,11 +48,12 @@ public interface BpmProcessDefinitionService { | ||
| 48 | * @param model 流程模型 | 48 | * @param model 流程模型 |
| 49 | * @param modelMetaInfo 流程模型元信息 | 49 | * @param modelMetaInfo 流程模型元信息 |
| 50 | * @param bpmnBytes BPMN XML 字节数组 | 50 | * @param bpmnBytes BPMN XML 字节数组 |
| 51 | - * @param simpleBytes simple model json 字节数组 | 51 | + * @param simpleBytes SIMPLE Model JSON 字节数组 |
| 52 | * @param form 表单 | 52 | * @param form 表单 |
| 53 | * @return 流程编号 | 53 | * @return 流程编号 |
| 54 | */ | 54 | */ |
| 55 | - String createProcessDefinition(Model model, BpmModelMetaInfoVO modelMetaInfo, byte[] bpmnBytes, byte[] simpleBytes, BpmFormDO form); | 55 | + String createProcessDefinition(Model model, BpmModelMetaInfoVO modelMetaInfo, |
| 56 | + byte[] bpmnBytes, byte[] simpleBytes, BpmFormDO form); | ||
| 56 | 57 | ||
| 57 | /** | 58 | /** |
| 58 | * 更新流程定义状态 | 59 | * 更新流程定义状态 |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmActivityService.java
| @@ -29,7 +29,9 @@ public interface BpmActivityService { | @@ -29,7 +29,9 @@ public interface BpmActivityService { | ||
| 29 | List<HistoricActivityInstance> getHistoricActivityListByExecutionId(String executionId); | 29 | List<HistoricActivityInstance> getHistoricActivityListByExecutionId(String executionId); |
| 30 | 30 | ||
| 31 | /** | 31 | /** |
| 32 | - * 获取活动的用户列表。 例如:抄送人列表。 审批人列表 | 32 | + * 获取活动的用户列表。 |
| 33 | + * | ||
| 34 | + * 例如:抄送人列表、审批人列表 | ||
| 33 | * | 35 | * |
| 34 | * @param historicActivity 活动 | 36 | * @param historicActivity 活动 |
| 35 | * @param isMultiInstance 是否多实例 (会签,或签 ) | 37 | * @param isMultiInstance 是否多实例 (会签,或签 ) |
| @@ -37,10 +39,11 @@ public interface BpmActivityService { | @@ -37,10 +39,11 @@ public interface BpmActivityService { | ||
| 37 | * @return 用户列表 | 39 | * @return 用户列表 |
| 38 | */ | 40 | */ |
| 39 | List<BpmProcessInstanceProgressRespVO.User> getHistoricActivityUserList(HistoricActivityInstance historicActivity, | 41 | List<BpmProcessInstanceProgressRespVO.User> getHistoricActivityUserList(HistoricActivityInstance historicActivity, |
| 40 | - Boolean isMultiInstance, List<HistoricActivityInstance> historicActivityList); | 42 | + Boolean isMultiInstance, |
| 43 | + List<HistoricActivityInstance> historicActivityList); | ||
| 41 | 44 | ||
| 42 | /** | 45 | /** |
| 43 | - * 获取活动的进度状态。 | 46 | + * 获取活动的进度状态 |
| 44 | * | 47 | * |
| 45 | * @param historicActivity 活动 | 48 | * @param historicActivity 活动 |
| 46 | * @param isMultiInstance 是否多实例 (会签,或签 ) | 49 | * @param isMultiInstance 是否多实例 (会签,或签 ) |
| @@ -48,11 +51,15 @@ public interface BpmActivityService { | @@ -48,11 +51,15 @@ public interface BpmActivityService { | ||
| 48 | * @return 活动的进度状态 | 51 | * @return 活动的进度状态 |
| 49 | */ | 52 | */ |
| 50 | Integer getHistoricActivityProgressStatus(HistoricActivityInstance historicActivity, | 53 | Integer getHistoricActivityProgressStatus(HistoricActivityInstance historicActivity, |
| 51 | - Boolean isMultiInstance, List<HistoricActivityInstance> historicActivityList); | 54 | + Boolean isMultiInstance, |
| 55 | + List<HistoricActivityInstance> historicActivityList); | ||
| 52 | 56 | ||
| 57 | + // TODO @jason:可以写下这 2 个方法的注释 | ||
| 53 | Integer getNotRunActivityProgressStatus(Integer processInstanceStatus); | 58 | Integer getNotRunActivityProgressStatus(Integer processInstanceStatus); |
| 54 | 59 | ||
| 55 | - List<BpmProcessInstanceProgressRespVO.User> getNotRunActivityUserList(String processInstanceId, Integer processInstanceStatus | ||
| 56 | - , Integer candidateStrategy, String candidateParam); | 60 | + List<BpmProcessInstanceProgressRespVO.User> getNotRunActivityUserList(String processInstanceId, |
| 61 | + Integer processInstanceStatus, | ||
| 62 | + Integer candidateStrategy, | ||
| 63 | + String candidateParam); | ||
| 57 | 64 | ||
| 58 | } | 65 | } |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmActivityServiceImpl.java
| @@ -72,6 +72,7 @@ public class BpmActivityServiceImpl implements BpmActivityService { | @@ -72,6 +72,7 @@ public class BpmActivityServiceImpl implements BpmActivityService { | ||
| 72 | return historyService.createHistoricActivityInstanceQuery().executionId(executionId).list(); | 72 | return historyService.createHistoricActivityInstanceQuery().executionId(executionId).list(); |
| 73 | } | 73 | } |
| 74 | 74 | ||
| 75 | + // TODO @芋艿:重点在 review 下~ | ||
| 75 | @Override | 76 | @Override |
| 76 | public List<User> getHistoricActivityUserList(HistoricActivityInstance historicActivity | 77 | public List<User> getHistoricActivityUserList(HistoricActivityInstance historicActivity |
| 77 | , Boolean isMultiInstance, List<HistoricActivityInstance> historicActivityList) { | 78 | , Boolean isMultiInstance, List<HistoricActivityInstance> historicActivityList) { |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceCopyService.java
| @@ -43,6 +43,7 @@ public interface BpmProcessInstanceCopyService { | @@ -43,6 +43,7 @@ public interface BpmProcessInstanceCopyService { | ||
| 43 | */ | 43 | */ |
| 44 | PageResult<BpmProcessInstanceCopyDO> getProcessInstanceCopyPage(Long userId, | 44 | PageResult<BpmProcessInstanceCopyDO> getProcessInstanceCopyPage(Long userId, |
| 45 | BpmProcessInstanceCopyPageReqVO pageReqVO); | 45 | BpmProcessInstanceCopyPageReqVO pageReqVO); |
| 46 | + // TODO @芋艿:重点在 review 下 | ||
| 46 | /** | 47 | /** |
| 47 | * 通过流程实例和流程活动编号获取抄送人的 Id | 48 | * 通过流程实例和流程活动编号获取抄送人的 Id |
| 48 | * | 49 | * |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceCopyServiceImpl.java
| @@ -89,7 +89,7 @@ public class BpmProcessInstanceCopyServiceImpl implements BpmProcessInstanceCopy | @@ -89,7 +89,7 @@ public class BpmProcessInstanceCopyServiceImpl implements BpmProcessInstanceCopy | ||
| 89 | 89 | ||
| 90 | @Override | 90 | @Override |
| 91 | public Set<Long> getCopyUserIds(String processInstanceId, String activityId) { | 91 | public Set<Long> getCopyUserIds(String processInstanceId, String activityId) { |
| 92 | - return CollectionUtils.convertSet(processInstanceCopyMapper.selectListByProcInstIdAndActId(processInstanceId, activityId), | 92 | + return CollectionUtils.convertSet(processInstanceCopyMapper.selectListByProcessIstanceIdAndActivityId(processInstanceId, activityId), |
| 93 | BpmProcessInstanceCopyDO::getUserId); | 93 | BpmProcessInstanceCopyDO::getUserId); |
| 94 | } | 94 | } |
| 95 | 95 |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceService.java
| @@ -92,6 +92,7 @@ public interface BpmProcessInstanceService { | @@ -92,6 +92,7 @@ public interface BpmProcessInstanceService { | ||
| 92 | */ | 92 | */ |
| 93 | Map<String, String> getProcessInstanceFormFieldsPermission(@Valid BpmProcessInstanceFormFieldsPermissionReqVO reqVO); | 93 | Map<String, String> getProcessInstanceFormFieldsPermission(@Valid BpmProcessInstanceFormFieldsPermissionReqVO reqVO); |
| 94 | 94 | ||
| 95 | + // TODO @芋艿:重点在 review 下 | ||
| 95 | /** | 96 | /** |
| 96 | * 获取流程实例的进度 | 97 | * 获取流程实例的进度 |
| 97 | * | 98 | * |