Commit 30e4f0c09c5e53409f4ef2c9e363c819b3fc4dc7
1 parent
a122253a
【功能实现】工作流:流程模型,增加 sort 字段的返回(不包括修改)
Showing
6 changed files
with
66 additions
and
98 deletions
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java
| @@ -2,8 +2,6 @@ package cn.iocoder.yudao.module.bpm.controller.admin.definition; | @@ -2,8 +2,6 @@ package cn.iocoder.yudao.module.bpm.controller.admin.definition; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 6 | -import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | ||
| 7 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.*; | 5 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.*; |
| 8 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO; | 6 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO; |
| 9 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelUpdateReqVO; | 7 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelUpdateReqVO; |
| @@ -28,10 +26,7 @@ import org.springframework.security.access.prepost.PreAuthorize; | @@ -28,10 +26,7 @@ import org.springframework.security.access.prepost.PreAuthorize; | ||
| 28 | import org.springframework.validation.annotation.Validated; | 26 | import org.springframework.validation.annotation.Validated; |
| 29 | import org.springframework.web.bind.annotation.*; | 27 | import org.springframework.web.bind.annotation.*; |
| 30 | 28 | ||
| 31 | -import java.util.HashSet; | ||
| 32 | -import java.util.List; | ||
| 33 | -import java.util.Map; | ||
| 34 | -import java.util.Set; | 29 | +import java.util.*; |
| 35 | import java.util.stream.Stream; | 30 | import java.util.stream.Stream; |
| 36 | 31 | ||
| 37 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | 32 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| @@ -56,38 +51,38 @@ public class BpmModelController { | @@ -56,38 +51,38 @@ public class BpmModelController { | ||
| 56 | @Resource | 51 | @Resource |
| 57 | private AdminUserApi adminUserApi; | 52 | private AdminUserApi adminUserApi; |
| 58 | 53 | ||
| 59 | - @GetMapping("/page") | 54 | + @GetMapping("/list") |
| 60 | @Operation(summary = "获得模型分页") | 55 | @Operation(summary = "获得模型分页") |
| 61 | - public CommonResult<PageResult<BpmModelRespVO>> getModelPage(BpmModelPageReqVO pageVO) { | ||
| 62 | - PageResult<Model> pageResult = modelService.getModelPage(pageVO); | ||
| 63 | - if (CollUtil.isEmpty(pageResult.getList())) { | ||
| 64 | - return success(PageResult.empty(pageResult.getTotal())); | 56 | + @Parameter(name = "name", description = "模型名称", example = "芋艿") |
| 57 | + public CommonResult<List<BpmModelRespVO>> getModelPage(@RequestParam(value = "name", required = false) String name) { | ||
| 58 | + List<Model> list = modelService.getModelList(name); | ||
| 59 | + if (CollUtil.isEmpty(list)) { | ||
| 60 | + return success(Collections.emptyList()); | ||
| 65 | } | 61 | } |
| 66 | 62 | ||
| 67 | - // 拼接数据 | ||
| 68 | // 获得 Form 表单 | 63 | // 获得 Form 表单 |
| 69 | - Set<Long> formIds = convertSet(pageResult.getList(), model -> { | 64 | + Set<Long> formIds = convertSet(list, model -> { |
| 70 | BpmModelMetaInfoVO metaInfo = BpmModelConvert.INSTANCE.parseMetaInfo(model); | 65 | BpmModelMetaInfoVO metaInfo = BpmModelConvert.INSTANCE.parseMetaInfo(model); |
| 71 | return metaInfo != null ? metaInfo.getFormId() : null; | 66 | return metaInfo != null ? metaInfo.getFormId() : null; |
| 72 | }); | 67 | }); |
| 73 | Map<Long, BpmFormDO> formMap = formService.getFormMap(formIds); | 68 | Map<Long, BpmFormDO> formMap = formService.getFormMap(formIds); |
| 74 | // 获得 Category Map | 69 | // 获得 Category Map |
| 75 | Map<String, BpmCategoryDO> categoryMap = categoryService.getCategoryMap( | 70 | Map<String, BpmCategoryDO> categoryMap = categoryService.getCategoryMap( |
| 76 | - convertSet(pageResult.getList(), Model::getCategory)); | 71 | + convertSet(list, Model::getCategory)); |
| 77 | // 获得 Deployment Map | 72 | // 获得 Deployment Map |
| 78 | - Set<String> deploymentIds = new HashSet<>(); | ||
| 79 | - pageResult.getList().forEach(model -> CollectionUtils.addIfNotNull(deploymentIds, model.getDeploymentId())); | ||
| 80 | - Map<String, Deployment> deploymentMap = processDefinitionService.getDeploymentMap(deploymentIds); | 73 | + Map<String, Deployment> deploymentMap = processDefinitionService.getDeploymentMap( |
| 74 | + convertSet(list, Model::getDeploymentId)); | ||
| 81 | // 获得 ProcessDefinition Map | 75 | // 获得 ProcessDefinition Map |
| 82 | - List<ProcessDefinition> processDefinitions = processDefinitionService.getProcessDefinitionListByDeploymentIds(deploymentIds); | 76 | + List<ProcessDefinition> processDefinitions = processDefinitionService.getProcessDefinitionListByDeploymentIds( |
| 77 | + deploymentMap.keySet()); | ||
| 83 | Map<String, ProcessDefinition> processDefinitionMap = convertMap(processDefinitions, ProcessDefinition::getDeploymentId); | 78 | Map<String, ProcessDefinition> processDefinitionMap = convertMap(processDefinitions, ProcessDefinition::getDeploymentId); |
| 84 | // 获得 User Map | 79 | // 获得 User Map |
| 85 | - Set<Long> userIds = convertSetByFlatMap(pageResult.getList(), model -> { | 80 | + Set<Long> userIds = convertSetByFlatMap(list, model -> { |
| 86 | BpmModelMetaInfoVO metaInfo = BpmModelConvert.INSTANCE.parseMetaInfo(model); | 81 | BpmModelMetaInfoVO metaInfo = BpmModelConvert.INSTANCE.parseMetaInfo(model); |
| 87 | return metaInfo != null ? metaInfo.getStartUserIds().stream() : Stream.empty(); | 82 | return metaInfo != null ? metaInfo.getStartUserIds().stream() : Stream.empty(); |
| 88 | }); | 83 | }); |
| 89 | Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds); | 84 | Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds); |
| 90 | - return success(BpmModelConvert.INSTANCE.buildModelPage(pageResult, | 85 | + return success(BpmModelConvert.INSTANCE.buildModelList(list, |
| 91 | formMap, categoryMap, deploymentMap, processDefinitionMap, userMap)); | 86 | formMap, categoryMap, deploymentMap, processDefinitionMap, userMap)); |
| 92 | } | 87 | } |
| 93 | 88 |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelMetaInfoVO.java
| @@ -15,7 +15,9 @@ import java.util.List; | @@ -15,7 +15,9 @@ import java.util.List; | ||
| 15 | * BPM 流程 MetaInfo Response DTO | 15 | * BPM 流程 MetaInfo Response DTO |
| 16 | * 主要用于 { Model#setMetaInfo(String)} 的存储 | 16 | * 主要用于 { Model#setMetaInfo(String)} 的存储 |
| 17 | * | 17 | * |
| 18 | - * 最终,它的字段和 {@link cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionInfoDO} 是一致的 | 18 | + * 最终,它的字段和 |
| 19 | + * {@link cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionInfoDO} | ||
| 20 | + * 是一致的 | ||
| 19 | * | 21 | * |
| 20 | * @author 芋道源码 | 22 | * @author 芋道源码 |
| 21 | */ | 23 | */ |
| @@ -40,13 +42,11 @@ public class BpmModelMetaInfoVO { | @@ -40,13 +42,11 @@ public class BpmModelMetaInfoVO { | ||
| 40 | @NotNull(message = "表单类型不能为空") | 42 | @NotNull(message = "表单类型不能为空") |
| 41 | private Integer formType; | 43 | private Integer formType; |
| 42 | @Schema(description = "表单编号", example = "1024") | 44 | @Schema(description = "表单编号", example = "1024") |
| 43 | - private Long formId; // formType 为 NORMAL 使用,必须非空 | ||
| 44 | - @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址", | ||
| 45 | - example = "/bpm/oa/leave/create") | ||
| 46 | - private String formCustomCreatePath; // 表单类型为 CUSTOM 时,必须非空 | ||
| 47 | - @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址", | ||
| 48 | - example = "/bpm/oa/leave/view") | ||
| 49 | - private String formCustomViewPath; // 表单类型为 CUSTOM 时,必须非空 | 45 | + private Long formId; // formType 为 NORMAL 使用,必须非空 |
| 46 | + @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/create") | ||
| 47 | + private String formCustomCreatePath; // 表单类型为 CUSTOM 时,必须非空 | ||
| 48 | + @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/view") | ||
| 49 | + private String formCustomViewPath; // 表单类型为 CUSTOM 时,必须非空 | ||
| 50 | 50 | ||
| 51 | @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") | 51 | @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") |
| 52 | @NotNull(message = "是否可见不能为空") | 52 | @NotNull(message = "是否可见不能为空") |
| @@ -59,4 +59,7 @@ public class BpmModelMetaInfoVO { | @@ -59,4 +59,7 @@ public class BpmModelMetaInfoVO { | ||
| 59 | @NotEmpty(message = "可管理用户编号数组不能为空") | 59 | @NotEmpty(message = "可管理用户编号数组不能为空") |
| 60 | private List<Long> managerUserIds; | 60 | private List<Long> managerUserIds; |
| 61 | 61 | ||
| 62 | + @Schema(description = "排序", example = "1") | ||
| 63 | + private Long sort; // 创建时,后端自动生成 | ||
| 64 | + | ||
| 62 | } | 65 | } |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelPageReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 4 | -import io.swagger.v3.oas.annotations.media.Schema; | ||
| 5 | -import lombok.Data; | ||
| 6 | -import lombok.EqualsAndHashCode; | ||
| 7 | -import lombok.ToString; | ||
| 8 | - | ||
| 9 | - | ||
| 10 | -@Schema(description = "管理后台 - 流程模型分页 Request VO") | ||
| 11 | -@Data | ||
| 12 | -public class BpmModelPageReqVO extends PageParam { | ||
| 13 | - | ||
| 14 | - @Schema(description = "标识,精准匹配", example = "process1641042089407") | ||
| 15 | - private String key; | ||
| 16 | - | ||
| 17 | - @Schema(description = "名字,模糊匹配", example = "芋道") | ||
| 18 | - private String name; | ||
| 19 | - | ||
| 20 | - @Schema(description = "流程分类", example = "1") | ||
| 21 | - private String category; | ||
| 22 | - | ||
| 23 | -} |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmModelConvert.java
| 1 | package cn.iocoder.yudao.module.bpm.convert.definition; | 1 | package cn.iocoder.yudao.module.bpm.convert.definition; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.util.ArrayUtil; | 3 | import cn.hutool.core.util.ArrayUtil; |
| 4 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 5 | import cn.iocoder.yudao.framework.common.util.date.DateUtils; | 4 | import cn.iocoder.yudao.framework.common.util.date.DateUtils; |
| 6 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 5 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| @@ -22,6 +21,7 @@ import org.mapstruct.Mapper; | @@ -22,6 +21,7 @@ import org.mapstruct.Mapper; | ||
| 22 | import org.mapstruct.factory.Mappers; | 21 | import org.mapstruct.factory.Mappers; |
| 23 | 22 | ||
| 24 | import java.util.Collections; | 23 | import java.util.Collections; |
| 24 | +import java.util.Comparator; | ||
| 25 | import java.util.List; | 25 | import java.util.List; |
| 26 | import java.util.Map; | 26 | import java.util.Map; |
| 27 | 27 | ||
| @@ -37,25 +37,31 @@ public interface BpmModelConvert { | @@ -37,25 +37,31 @@ public interface BpmModelConvert { | ||
| 37 | 37 | ||
| 38 | BpmModelConvert INSTANCE = Mappers.getMapper(BpmModelConvert.class); | 38 | BpmModelConvert INSTANCE = Mappers.getMapper(BpmModelConvert.class); |
| 39 | 39 | ||
| 40 | - default PageResult<BpmModelRespVO> buildModelPage(PageResult<Model> pageResult, | ||
| 41 | - Map<Long, BpmFormDO> formMap, | ||
| 42 | - Map<String, BpmCategoryDO> categoryMap, Map<String, Deployment> deploymentMap, | ||
| 43 | - Map<String, ProcessDefinition> processDefinitionMap, | ||
| 44 | - Map<Long, AdminUserRespDTO> userMap) { | ||
| 45 | - List<BpmModelRespVO> list = convertList(pageResult.getList(), model -> { | 40 | + default List<BpmModelRespVO> buildModelList(List<Model> list, |
| 41 | + Map<Long, BpmFormDO> formMap, | ||
| 42 | + Map<String, BpmCategoryDO> categoryMap, | ||
| 43 | + Map<String, Deployment> deploymentMap, | ||
| 44 | + Map<String, ProcessDefinition> processDefinitionMap, | ||
| 45 | + Map<Long, AdminUserRespDTO> userMap) { | ||
| 46 | + List<BpmModelRespVO> result = convertList(list, model -> { | ||
| 46 | BpmModelMetaInfoVO metaInfo = parseMetaInfo(model); | 47 | BpmModelMetaInfoVO metaInfo = parseMetaInfo(model); |
| 47 | BpmFormDO form = metaInfo != null ? formMap.get(metaInfo.getFormId()) : null; | 48 | BpmFormDO form = metaInfo != null ? formMap.get(metaInfo.getFormId()) : null; |
| 48 | BpmCategoryDO category = categoryMap.get(model.getCategory()); | 49 | BpmCategoryDO category = categoryMap.get(model.getCategory()); |
| 49 | Deployment deployment = model.getDeploymentId() != null ? deploymentMap.get(model.getDeploymentId()) : null; | 50 | Deployment deployment = model.getDeploymentId() != null ? deploymentMap.get(model.getDeploymentId()) : null; |
| 50 | - ProcessDefinition processDefinition = model.getDeploymentId() != null ? processDefinitionMap.get(model.getDeploymentId()) : null; | ||
| 51 | - List<AdminUserRespDTO> startUsers = metaInfo != null ? convertList(metaInfo.getStartUserIds(), userMap::get) : null; | 51 | + ProcessDefinition processDefinition = model.getDeploymentId() != null |
| 52 | + ? processDefinitionMap.get(model.getDeploymentId()) | ||
| 53 | + : null; | ||
| 54 | + List<AdminUserRespDTO> startUsers = metaInfo != null ? convertList(metaInfo.getStartUserIds(), userMap::get) | ||
| 55 | + : null; | ||
| 52 | return buildModel0(model, metaInfo, form, category, deployment, processDefinition, startUsers); | 56 | return buildModel0(model, metaInfo, form, category, deployment, processDefinition, startUsers); |
| 53 | }); | 57 | }); |
| 54 | - return new PageResult<>(list, pageResult.getTotal()); | 58 | + // 排序 |
| 59 | + result.sort(Comparator.comparing(BpmModelMetaInfoVO::getSort)); | ||
| 60 | + return result; | ||
| 55 | } | 61 | } |
| 56 | 62 | ||
| 57 | default BpmModelRespVO buildModel(Model model, | 63 | default BpmModelRespVO buildModel(Model model, |
| 58 | - byte[] bpmnBytes) { | 64 | + byte[] bpmnBytes) { |
| 59 | BpmModelMetaInfoVO metaInfo = parseMetaInfo(model); | 65 | BpmModelMetaInfoVO metaInfo = parseMetaInfo(model); |
| 60 | BpmModelRespVO modelVO = buildModel0(model, metaInfo, null, null, null, null, null); | 66 | BpmModelRespVO modelVO = buildModel0(model, metaInfo, null, null, null, null, null); |
| 61 | if (ArrayUtil.isNotEmpty(bpmnBytes)) { | 67 | if (ArrayUtil.isNotEmpty(bpmnBytes)) { |
| @@ -65,9 +71,9 @@ public interface BpmModelConvert { | @@ -65,9 +71,9 @@ public interface BpmModelConvert { | ||
| 65 | } | 71 | } |
| 66 | 72 | ||
| 67 | default BpmModelRespVO buildModel0(Model model, | 73 | default BpmModelRespVO buildModel0(Model model, |
| 68 | - BpmModelMetaInfoVO metaInfo, BpmFormDO form, BpmCategoryDO category, | ||
| 69 | - Deployment deployment, ProcessDefinition processDefinition, | ||
| 70 | - List<AdminUserRespDTO> startUsers) { | 74 | + BpmModelMetaInfoVO metaInfo, BpmFormDO form, BpmCategoryDO category, |
| 75 | + Deployment deployment, ProcessDefinition processDefinition, | ||
| 76 | + List<AdminUserRespDTO> startUsers) { | ||
| 71 | BpmModelRespVO modelRespVO = new BpmModelRespVO().setId(model.getId()).setName(model.getName()) | 77 | BpmModelRespVO modelRespVO = new BpmModelRespVO().setId(model.getId()).setName(model.getName()) |
| 72 | .setKey(model.getKey()).setCategory(model.getCategory()) | 78 | .setKey(model.getKey()).setCategory(model.getCategory()) |
| 73 | .setCreateTime(DateUtils.of(model.getCreateTime())); | 79 | .setCreateTime(DateUtils.of(model.getCreateTime())); |
| @@ -83,8 +89,9 @@ public interface BpmModelConvert { | @@ -83,8 +89,9 @@ public interface BpmModelConvert { | ||
| 83 | // ProcessDefinition | 89 | // ProcessDefinition |
| 84 | if (processDefinition != null) { | 90 | if (processDefinition != null) { |
| 85 | modelRespVO.setProcessDefinition(BeanUtils.toBean(processDefinition, BpmProcessDefinitionRespVO.class)); | 91 | modelRespVO.setProcessDefinition(BeanUtils.toBean(processDefinition, BpmProcessDefinitionRespVO.class)); |
| 86 | - modelRespVO.getProcessDefinition().setSuspensionState(processDefinition.isSuspended() ? | ||
| 87 | - SuspensionState.SUSPENDED.getStateCode() : SuspensionState.ACTIVE.getStateCode()); | 92 | + modelRespVO.getProcessDefinition() |
| 93 | + .setSuspensionState(processDefinition.isSuspended() ? SuspensionState.SUSPENDED.getStateCode() | ||
| 94 | + : SuspensionState.ACTIVE.getStateCode()); | ||
| 88 | if (deployment != null) { | 95 | if (deployment != null) { |
| 89 | modelRespVO.getProcessDefinition().setDeploymentTime(DateUtils.of(deployment.getDeploymentTime())); | 96 | modelRespVO.getProcessDefinition().setDeploymentTime(DateUtils.of(deployment.getDeploymentTime())); |
| 90 | } | 97 | } |
| @@ -112,6 +119,10 @@ public interface BpmModelConvert { | @@ -112,6 +119,10 @@ public interface BpmModelConvert { | ||
| 112 | if (vo.getStartUserIds() == null) { | 119 | if (vo.getStartUserIds() == null) { |
| 113 | vo.setStartUserIds(Collections.emptyList()); | 120 | vo.setStartUserIds(Collections.emptyList()); |
| 114 | } | 121 | } |
| 122 | + // 如果为空,兜底处理,使用 createTime 创建时间 | ||
| 123 | + if (vo.getSort() == null) { | ||
| 124 | + vo.setSort(model.getCreateTime().getTime()); | ||
| 125 | + } | ||
| 115 | return vo; | 126 | return vo; |
| 116 | } | 127 | } |
| 117 | 128 |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelService.java
| 1 | package cn.iocoder.yudao.module.bpm.service.definition; | 1 | package cn.iocoder.yudao.module.bpm.service.definition; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | -import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.BpmModelPageReqVO; | ||
| 5 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.BpmModelSaveReqVO; | 3 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.BpmModelSaveReqVO; |
| 6 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO; | 4 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO; |
| 7 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelUpdateReqVO; | 5 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelUpdateReqVO; |
| @@ -9,20 +7,22 @@ import jakarta.validation.Valid; | @@ -9,20 +7,22 @@ import jakarta.validation.Valid; | ||
| 9 | import org.flowable.bpmn.model.BpmnModel; | 7 | import org.flowable.bpmn.model.BpmnModel; |
| 10 | import org.flowable.engine.repository.Model; | 8 | import org.flowable.engine.repository.Model; |
| 11 | 9 | ||
| 10 | +import java.util.List; | ||
| 11 | + | ||
| 12 | /** | 12 | /** |
| 13 | - * Flowable流程模型接口 | 13 | + * 流程模型接口 |
| 14 | * | 14 | * |
| 15 | * @author yunlongn | 15 | * @author yunlongn |
| 16 | */ | 16 | */ |
| 17 | public interface BpmModelService { | 17 | public interface BpmModelService { |
| 18 | 18 | ||
| 19 | /** | 19 | /** |
| 20 | - * 获得流程模型分页 | 20 | + * 获得流程模型列表 |
| 21 | * | 21 | * |
| 22 | - * @param pageVO 分页查询 | ||
| 23 | - * @return 流程模型分页 | 22 | + * @param name 模型名称 |
| 23 | + * @return 流程模型列表 | ||
| 24 | */ | 24 | */ |
| 25 | - PageResult<Model> getModelPage(BpmModelPageReqVO pageVO); | 25 | + List<Model> getModelList(String name); |
| 26 | 26 | ||
| 27 | /** | 27 | /** |
| 28 | * 创建流程模型 | 28 | * 创建流程模型 |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java
| @@ -3,12 +3,9 @@ package cn.iocoder.yudao.module.bpm.service.definition; | @@ -3,12 +3,9 @@ package cn.iocoder.yudao.module.bpm.service.definition; | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.hutool.core.util.ArrayUtil; | 4 | import cn.hutool.core.util.ArrayUtil; |
| 5 | import cn.hutool.core.util.StrUtil; | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 7 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 6 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 8 | -import cn.iocoder.yudao.framework.common.util.object.PageUtils; | ||
| 9 | import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; | 7 | import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; |
| 10 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.BpmModelMetaInfoVO; | 8 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.BpmModelMetaInfoVO; |
| 11 | -import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.BpmModelPageReqVO; | ||
| 12 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.BpmModelSaveReqVO; | 9 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.BpmModelSaveReqVO; |
| 13 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO; | 10 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO; |
| 14 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelUpdateReqVO; | 11 | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelUpdateReqVO; |
| @@ -41,8 +38,7 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU | @@ -41,8 +38,7 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU | ||
| 41 | import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*; | 38 | import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*; |
| 42 | 39 | ||
| 43 | /** | 40 | /** |
| 44 | - * Flowable流程模型实现 | ||
| 45 | - * 主要进行 Flowable {@link Model} 的维护 | 41 | + * 流程模型实现:主要进行 Flowable {@link Model} 的维护 |
| 46 | * | 42 | * |
| 47 | * @author yunlongn | 43 | * @author yunlongn |
| 48 | * @author 芋道源码 | 44 | * @author 芋道源码 |
| @@ -64,27 +60,12 @@ public class BpmModelServiceImpl implements BpmModelService { | @@ -64,27 +60,12 @@ public class BpmModelServiceImpl implements BpmModelService { | ||
| 64 | private BpmTaskCandidateInvoker taskCandidateInvoker; | 60 | private BpmTaskCandidateInvoker taskCandidateInvoker; |
| 65 | 61 | ||
| 66 | @Override | 62 | @Override |
| 67 | - public PageResult<Model> getModelPage(BpmModelPageReqVO pageVO) { | 63 | + public List<Model> getModelList(String name) { |
| 68 | ModelQuery modelQuery = repositoryService.createModelQuery(); | 64 | ModelQuery modelQuery = repositoryService.createModelQuery(); |
| 69 | - modelQuery.modelTenantId(FlowableUtils.getTenantId()); | ||
| 70 | - if (StrUtil.isNotBlank(pageVO.getKey())) { | ||
| 71 | - modelQuery.modelKey(pageVO.getKey()); | 65 | + if (StrUtil.isNotEmpty(name)) { |
| 66 | + modelQuery.modelNameLike(name); | ||
| 72 | } | 67 | } |
| 73 | - if (StrUtil.isNotBlank(pageVO.getName())) { | ||
| 74 | - modelQuery.modelNameLike("%" + pageVO.getName() + "%"); // 模糊匹配 | ||
| 75 | - } | ||
| 76 | - if (StrUtil.isNotBlank(pageVO.getCategory())) { | ||
| 77 | - modelQuery.modelCategory(pageVO.getCategory()); | ||
| 78 | - } | ||
| 79 | - // 执行查询 | ||
| 80 | - long count = modelQuery.count(); | ||
| 81 | - if (count == 0) { | ||
| 82 | - return PageResult.empty(count); | ||
| 83 | - } | ||
| 84 | - List<Model> models = modelQuery | ||
| 85 | - .orderByCreateTime().desc() | ||
| 86 | - .listPage(PageUtils.getStart(pageVO), pageVO.getPageSize()); | ||
| 87 | - return new PageResult<>(models, count); | 68 | + return modelQuery.list(); |
| 88 | } | 69 | } |
| 89 | 70 | ||
| 90 | @Override | 71 | @Override |
| @@ -100,6 +81,7 @@ public class BpmModelServiceImpl implements BpmModelService { | @@ -100,6 +81,7 @@ public class BpmModelServiceImpl implements BpmModelService { | ||
| 100 | } | 81 | } |
| 101 | 82 | ||
| 102 | // 2.1 创建流程定义 | 83 | // 2.1 创建流程定义 |
| 84 | + createReqVO.setSort(System.currentTimeMillis()); // 使用当前时间,作为排序 | ||
| 103 | Model model = repositoryService.newModel(); | 85 | Model model = repositoryService.newModel(); |
| 104 | BpmModelConvert.INSTANCE.copyToModel(model, createReqVO); | 86 | BpmModelConvert.INSTANCE.copyToModel(model, createReqVO); |
| 105 | model.setTenantId(FlowableUtils.getTenantId()); | 87 | model.setTenantId(FlowableUtils.getTenantId()); |