From 891b278f654445cae4fc26cdf17fe38c7f8f300e Mon Sep 17 00:00:00 2001 From: konbai <1527468660@qq.com> Date: Sat, 23 Jul 2022 17:53:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=B5=81=E7=A8=8B=E9=83=A8=E7=BD=B2):=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=A0=E9=99=A4=E6=B5=81=E7=A8=8B=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/WfDeployController.java | 16 ++++++++ .../workflow/service/IWfDeployService.java | 4 ++ .../service/impl/WfDeployServiceImpl.java | 14 +++++++ ruoyi-ui/src/api/workflow/deploy.js | 7 ++++ ruoyi-ui/src/views/workflow/deploy/index.vue | 41 +++++++++++++++++-- 5 files changed, 78 insertions(+), 4 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfDeployController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfDeployController.java index 57c38895..e4ec1844 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfDeployController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfDeployController.java @@ -1,10 +1,12 @@ package com.ruoyi.web.controller.workflow; import cn.dev33.satoken.annotation.SaCheckPermission; +import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.workflow.domain.bo.WfProcessBo; import com.ruoyi.workflow.domain.vo.WfDeployVo; @@ -18,6 +20,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; +import javax.validation.constraints.NotEmpty; +import java.util.Arrays; import java.util.Map; import java.util.Objects; @@ -76,6 +80,18 @@ public class WfDeployController extends BaseController { return R.ok(null, deployService.queryBpmnXmlById(definitionId)); } + /** + * 删除流程模型 + */ + @ApiOperation("删除流程部署") + @SaCheckPermission("workflow:deploy:remove") + @Log(title = "删除流程部署", businessType = BusinessType.DELETE) + @DeleteMapping("/{deployIds}") + public R remove(@ApiParam(value = "流程部署ids") @NotEmpty(message = "主键不能为空") @PathVariable String[] deployIds) { + deployService.deleteByIds(Arrays.asList(deployIds)); + return R.ok(); + } + /** * * @param deployId diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfDeployService.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfDeployService.java index b6af812b..2d5b42b4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfDeployService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfDeployService.java @@ -5,6 +5,8 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.workflow.domain.bo.WfProcessBo; import com.ruoyi.workflow.domain.vo.WfDeployVo; +import java.util.List; + /** * @author KonBAI * @createTime 2022/6/30 9:03 @@ -18,4 +20,6 @@ public interface IWfDeployService { void updateState(String definitionId, String stateCode); String queryBpmnXmlById(String definitionId); + + void deleteByIds(List deployIds); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfDeployServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfDeployServiceImpl.java index 9d8d5ffc..9aedca49 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfDeployServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfDeployServiceImpl.java @@ -2,12 +2,15 @@ package com.ruoyi.workflow.service.impl; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.workflow.domain.WfDeployForm; import com.ruoyi.workflow.domain.bo.WfProcessBo; import com.ruoyi.workflow.domain.vo.WfDeployVo; +import com.ruoyi.workflow.mapper.WfDeployFormMapper; import com.ruoyi.workflow.service.IWfDeployService; import lombok.RequiredArgsConstructor; import org.flowable.common.engine.impl.db.SuspensionState; @@ -16,6 +19,7 @@ import org.flowable.engine.repository.Deployment; import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.repository.ProcessDefinitionQuery; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.io.InputStream; import java.util.ArrayList; @@ -31,6 +35,7 @@ import java.util.stream.Collectors; public class WfDeployServiceImpl implements IWfDeployService { private final RepositoryService repositoryService; + private final WfDeployFormMapper deployFormMapper; @Override public TableDataInfo queryPageList(WfProcessBo processBo, PageQuery pageQuery) { @@ -144,4 +149,13 @@ public class WfDeployServiceImpl implements IWfDeployService { throw new RuntimeException("加载xml文件异常"); } } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteByIds(List deployIds) { + for (String deployId : deployIds) { + repositoryService.deleteDeployment(deployId); + deployFormMapper.delete(new LambdaQueryWrapper().eq(WfDeployForm::getDeployId, deployId)); + } + } } diff --git a/ruoyi-ui/src/api/workflow/deploy.js b/ruoyi-ui/src/api/workflow/deploy.js index 420af4f7..3a8ff76c 100644 --- a/ruoyi-ui/src/api/workflow/deploy.js +++ b/ruoyi-ui/src/api/workflow/deploy.js @@ -34,6 +34,13 @@ export function changeState(params) { }) } +// 删除流程部署 +export function delDeploy(deployIds) { + return request({ + url: '/workflow/deploy/' + deployIds, + method: 'delete' + }) +} // 查询流程部署关联表单信息 export function getFormByDeployId(deployId) { diff --git a/ruoyi-ui/src/views/workflow/deploy/index.vue b/ruoyi-ui/src/views/workflow/deploy/index.vue index 3fd6dbb5..2dc6fa45 100644 --- a/ruoyi-ui/src/views/workflow/deploy/index.vue +++ b/ruoyi-ui/src/views/workflow/deploy/index.vue @@ -42,7 +42,22 @@ - + + 删除 + + + + + + @@ -101,8 +116,7 @@ - - +