add -- 添加流程模型和部署管理模块
This commit is contained in:
@@ -1,19 +1,22 @@
|
||||
package com.ruoyi.web.controller.workflow;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
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.utils.JsonUtils;
|
||||
import com.ruoyi.workflow.domain.bo.WfProcessBo;
|
||||
import com.ruoyi.workflow.domain.vo.WfDeployVo;
|
||||
import com.ruoyi.workflow.domain.vo.WfFormVo;
|
||||
import com.ruoyi.workflow.service.IWfDeployFormService;
|
||||
import com.ruoyi.workflow.service.IWfDeployService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@@ -29,8 +32,50 @@ import java.util.Objects;
|
||||
@RequestMapping("/workflow/deploy")
|
||||
public class WfDeployController extends BaseController {
|
||||
|
||||
private final IWfDeployService deployService;
|
||||
private final IWfDeployFormService deployFormService;
|
||||
|
||||
/**
|
||||
* 查询流程部署列表
|
||||
*/
|
||||
@SaCheckPermission("workflow:deploy:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<WfDeployVo> list(WfProcessBo processBo, PageQuery pageQuery) {
|
||||
return deployService.queryPageList(processBo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询流程部署版本列表
|
||||
*/
|
||||
@SaCheckPermission("workflow:deploy:list")
|
||||
@GetMapping("/publishList")
|
||||
public TableDataInfo<WfDeployVo> publishList(@ApiParam(value = "流程定义Key", required = true) @RequestParam String processKey,
|
||||
PageQuery pageQuery) {
|
||||
return deployService.queryPublishList(processKey, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param state
|
||||
* @param definitionId
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "激活或挂起流程")
|
||||
@SaCheckPermission("workflow:deploy:state")
|
||||
@PutMapping(value = "/changeState")
|
||||
public R<Void> changeState(@ApiParam(value = "状态(active:激活 suspended:挂起)", required = true) @RequestParam String state,
|
||||
@ApiParam(value = "流程定义ID", required = true) @RequestParam String definitionId) {
|
||||
deployService.updateState(definitionId, state);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "读取xml文件")
|
||||
@SaCheckPermission("workflow:deploy:query")
|
||||
@GetMapping("/bpmnXml/{definitionId}")
|
||||
public R<String> getBpmnXml(@ApiParam(value = "流程定义ID") @PathVariable(value = "definitionId") String definitionId) {
|
||||
return R.ok(null, deployService.queryBpmnXmlById(definitionId));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param deployId
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
package com.ruoyi.web.controller.workflow;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
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.workflow.domain.bo.WfModelBo;
|
||||
import com.ruoyi.workflow.domain.vo.WfModelVo;
|
||||
import com.ruoyi.workflow.service.IWfModelService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author KonBAI
|
||||
* @createTime 2022/6/21 9:09
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "工作流流程模型管理")
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/workflow/model")
|
||||
public class WfModelController extends BaseController {
|
||||
|
||||
private final IWfModelService modelService;
|
||||
|
||||
@ApiOperation(value = "查询流程模型列表")
|
||||
@SaCheckPermission("workflow:model:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<WfModelVo> list(WfModelBo modelBo, PageQuery pageQuery) {
|
||||
return modelService.list(modelBo, pageQuery);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询流程模型列表")
|
||||
@SaCheckPermission("workflow:model:list")
|
||||
@GetMapping("/historyList")
|
||||
public TableDataInfo<WfModelVo> historyList(WfModelBo modelBo, PageQuery pageQuery) {
|
||||
return modelService.historyList(modelBo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程模型详细信息
|
||||
*/
|
||||
@ApiOperation(value = "查询流程模型详情信息")
|
||||
@SaCheckPermission("workflow:model:query")
|
||||
@GetMapping(value = "/{modelId}")
|
||||
public R<WfModelVo> getInfo(@ApiParam("主键") @NotNull(message = "主键不能为空") @PathVariable("modelId") String modelId) {
|
||||
return R.ok(modelService.getModel(modelId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程表单详细信息
|
||||
*/
|
||||
@SaCheckPermission("workflow:model:query")
|
||||
@GetMapping(value = "/bpmnXml/{modelId}")
|
||||
public R<String> getBpmnXml(@ApiParam("主键") @NotNull(message = "主键不能为空") @PathVariable("modelId") String modelId) {
|
||||
return R.ok("操作成功", modelService.queryBpmnXmlById(modelId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存流程模型
|
||||
*/
|
||||
@ApiOperation("保存流程模型")
|
||||
@SaCheckPermission("workflow:model:save")
|
||||
@Log(title = "保存流程模型", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<String> save(@RequestBody WfModelBo modelBo) {
|
||||
modelService.saveModel(modelBo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@ApiOperation("设为最新流程模型")
|
||||
@SaCheckPermission("workflow:model:save")
|
||||
@Log(title = "设为最新流程模型", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/latest")
|
||||
public R<?> latest(@RequestParam String modelId) {
|
||||
modelService.latestModel(modelId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除流程模型
|
||||
*/
|
||||
@ApiOperation("删除流程模型")
|
||||
@SaCheckPermission("workflow:model:remove")
|
||||
@Log(title = "删除流程模型", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{modelIds}")
|
||||
public R<String> remove(@ApiParam("主键串") @NotEmpty(message = "主键不能为空") @PathVariable String[] modelIds) {
|
||||
modelService.deleteByIds(Arrays.asList(modelIds));
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@ApiOperation("部署流程模型")
|
||||
@SaCheckPermission("workflow:model:deploy")
|
||||
@Log(title = "部署流程模型", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/deploy")
|
||||
public R<Void> deployModel(@RequestParam String modelId) {
|
||||
modelService.deployModel(modelId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user