调整 definition =》processDefinition,主要考虑更加明确一些
parent
5eef27da6e
commit
bcdc117e59
|
@ -2,7 +2,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition;
|
||||||
|
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.BpmProcessDefinitionPageItemRespVO;
|
import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.BpmProcessDefinitionPageItemRespVO;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.BpmProcessDefinitionPageReqVO;
|
import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.BpmProcessDefinitionPageReqVO;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmDefinitionService;
|
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
@ -21,18 +21,19 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
@Api(tags = "流程定义")
|
@Api(tags = "流程定义")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/bpm/definition")
|
@RequestMapping("/bpm/process-definition")
|
||||||
@Validated
|
@Validated
|
||||||
public class BpmDefinitionController {
|
public class BpmProcessDefinitionController {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private BpmDefinitionService bpmDefinitionService;
|
private BpmProcessDefinitionService bpmDefinitionService;
|
||||||
|
|
||||||
@GetMapping ("/page")
|
@GetMapping ("/page")
|
||||||
@ApiOperation(value = "获得流程定义分页")
|
@ApiOperation(value = "获得流程定义分页")
|
||||||
@PreAuthorize("@ss.hasPermission('bpm:model:query')") // 暂时使用 model 的权限标识
|
@PreAuthorize("@ss.hasPermission('bpm:model:query')") // 暂时使用 model 的权限标识
|
||||||
public CommonResult<PageResult<BpmProcessDefinitionPageItemRespVO>> getDefinitionPage(BpmProcessDefinitionPageReqVO pageReqVO) {
|
public CommonResult<PageResult<BpmProcessDefinitionPageItemRespVO>> getProcessDefinitionPage(
|
||||||
return success(bpmDefinitionService.getDefinitionPage(pageReqVO));
|
BpmProcessDefinitionPageReqVO pageReqVO) {
|
||||||
|
return success(bpmDefinitionService.getProcessDefinitionPage(pageReqVO));
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO 芋艿:需要重写该方法
|
// TODO 芋艿:需要重写该方法
|
||||||
|
@ -49,8 +50,8 @@ public class BpmDefinitionController {
|
||||||
@ApiOperation(value = "获得流程定义的 BPMN XML")
|
@ApiOperation(value = "获得流程定义的 BPMN XML")
|
||||||
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = String.class)
|
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = String.class)
|
||||||
@PreAuthorize("@ss.hasPermission('bpm:model:query')") // 暂时使用 model 的权限标识
|
@PreAuthorize("@ss.hasPermission('bpm:model:query')") // 暂时使用 model 的权限标识
|
||||||
public CommonResult<String> getDefinitionBpmnXML(@RequestParam("id") String id) {
|
public CommonResult<String> getProcessDefinitionBpmnXML(@RequestParam("id") String id) {
|
||||||
String bpmnXML = bpmDefinitionService.getDefinitionBpmnXML(id);
|
String bpmnXML = bpmDefinitionService.getProcessDefinitionBpmnXML(id);
|
||||||
return success(bpmnXML);
|
return success(bpmnXML);
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ import java.util.Date;
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
public class BpmProcessDefinitionPageItemRespVO extends ProcessDefinitionRespVO {
|
public class BpmProcessDefinitionPageItemRespVO extends BpmProcessDefinitionRespVO {
|
||||||
|
|
||||||
@ApiModelProperty(value = "表单名字", example = "请假表单")
|
@ApiModelProperty(value = "表单名字", example = "请假表单")
|
||||||
private String formName;
|
private String formName;
|
||||||
|
|
|
@ -8,7 +8,7 @@ import javax.validation.constraints.NotEmpty;
|
||||||
|
|
||||||
@ApiModel("流程定义 Response VO")
|
@ApiModel("流程定义 Response VO")
|
||||||
@Data
|
@Data
|
||||||
public class ProcessDefinitionRespVO {
|
public class BpmProcessDefinitionRespVO {
|
||||||
|
|
||||||
@ApiModelProperty(value = "编号", required = true, example = "1024")
|
@ApiModelProperty(value = "编号", required = true, example = "1024")
|
||||||
private String id;
|
private String id;
|
|
@ -13,7 +13,6 @@ public interface BpmErrorCodeConstants {
|
||||||
ErrorCode PROCESS_INSTANCE_NOT_EXISTS = new ErrorCode(1009000001, "流程实例不存在");
|
ErrorCode PROCESS_INSTANCE_NOT_EXISTS = new ErrorCode(1009000001, "流程实例不存在");
|
||||||
ErrorCode HIGHLIGHT_IMG_ERROR = new ErrorCode(1009000002, "获取高亮流程图异常");
|
ErrorCode HIGHLIGHT_IMG_ERROR = new ErrorCode(1009000002, "获取高亮流程图异常");
|
||||||
|
|
||||||
|
|
||||||
// ========== OA 流程模块 1-009-001-000 ==========
|
// ========== OA 流程模块 1-009-001-000 ==========
|
||||||
ErrorCode OA_LEAVE_NOT_EXISTS = new ErrorCode(1009001001, "请假申请不存在");
|
ErrorCode OA_LEAVE_NOT_EXISTS = new ErrorCode(1009001001, "请假申请不存在");
|
||||||
ErrorCode OA_PM_POST_NOT_EXISTS = new ErrorCode(1009001002, "项目经理岗位未设置");
|
ErrorCode OA_PM_POST_NOT_EXISTS = new ErrorCode(1009001002, "项目经理岗位未设置");
|
||||||
|
@ -29,9 +28,9 @@ public interface BpmErrorCodeConstants {
|
||||||
ErrorCode MODEL_KEY_VALID = new ErrorCode(1009002002, "流程标识格式不正确,需要以字母或下划线开头,后接任意字母、数字、中划线、下划线、句点!");
|
ErrorCode MODEL_KEY_VALID = new ErrorCode(1009002002, "流程标识格式不正确,需要以字母或下划线开头,后接任意字母、数字、中划线、下划线、句点!");
|
||||||
|
|
||||||
// ========== 流程定义 1-009-003-000 ==========
|
// ========== 流程定义 1-009-003-000 ==========
|
||||||
ErrorCode DEFINITION_KEY_NOT_MATCH = new ErrorCode(1009003000, "流程定义的标识期望是({}),当前是({}),请修改 BPMN 流程图");
|
ErrorCode PROCESS_DEFINITION_KEY_NOT_MATCH = new ErrorCode(1009003000, "流程定义的标识期望是({}),当前是({}),请修改 BPMN 流程图");
|
||||||
ErrorCode DEFINITION_NAME_NOT_MATCH = new ErrorCode(1009003001, "流程定义的名字期望是({}),当前是({}),请修改 BPMN 流程图");
|
ErrorCode PROCESS_DEFINITION_NAME_NOT_MATCH = new ErrorCode(1009003001, "流程定义的名字期望是({}),当前是({}),请修改 BPMN 流程图");
|
||||||
ErrorCode DEFINITION_NOT_EXISTS = new ErrorCode(1009003002, "流程定义不存在");
|
ErrorCode PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1009003002, "流程定义不存在");
|
||||||
|
|
||||||
// ========== 动态表单模块 1-009-004-000 ==========
|
// ========== 动态表单模块 1-009-004-000 ==========
|
||||||
ErrorCode FORM_NOT_EXISTS = new ErrorCode(1009004000, "动态表单不存在");
|
ErrorCode FORM_NOT_EXISTS = new ErrorCode(1009004000, "动态表单不存在");
|
||||||
|
|
|
@ -20,7 +20,7 @@ import java.util.Set;
|
||||||
* @author yunlong.li
|
* @author yunlong.li
|
||||||
* @author ZJQ
|
* @author ZJQ
|
||||||
*/
|
*/
|
||||||
public interface BpmDefinitionService {
|
public interface BpmProcessDefinitionService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得流程定义分页
|
* 获得流程定义分页
|
||||||
|
@ -28,7 +28,7 @@ public interface BpmDefinitionService {
|
||||||
* @param pageReqVO 分页入参
|
* @param pageReqVO 分页入参
|
||||||
* @return 流程定义 Page
|
* @return 流程定义 Page
|
||||||
*/
|
*/
|
||||||
PageResult<BpmProcessDefinitionPageItemRespVO> getDefinitionPage(BpmProcessDefinitionPageReqVO pageReqVO);
|
PageResult<BpmProcessDefinitionPageItemRespVO> getProcessDefinitionPage(BpmProcessDefinitionPageReqVO pageReqVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得流程定义对应的 BPMN XML
|
* 获得流程定义对应的 BPMN XML
|
||||||
|
@ -36,7 +36,7 @@ public interface BpmDefinitionService {
|
||||||
* @param id 流程定义编号
|
* @param id 流程定义编号
|
||||||
* @return BPMN XML
|
* @return BPMN XML
|
||||||
*/
|
*/
|
||||||
String getDefinitionBpmnXML(String id);
|
String getProcessDefinitionBpmnXML(String id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得 Bpmn 模型
|
* 获得 Bpmn 模型
|
||||||
|
@ -52,7 +52,7 @@ public interface BpmDefinitionService {
|
||||||
* @param id 编号
|
* @param id 编号
|
||||||
* @return 流程定义
|
* @return 流程定义
|
||||||
*/
|
*/
|
||||||
ProcessDefinition getDefinition(String id);
|
ProcessDefinition getProcessDefinition(String id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得 id 对应的 Deployment
|
* 获得 id 对应的 Deployment
|
||||||
|
@ -86,7 +86,7 @@ public interface BpmDefinitionService {
|
||||||
* @param deploymentId 部署编号
|
* @param deploymentId 部署编号
|
||||||
* @return 流程定义
|
* @return 流程定义
|
||||||
*/
|
*/
|
||||||
ProcessDefinition getDefinitionByDeploymentId(String deploymentId);
|
ProcessDefinition getProcessDefinitionByDeploymentId(String deploymentId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得 deploymentIds 对应的 ProcessDefinition 数组
|
* 获得 deploymentIds 对应的 ProcessDefinition 数组
|
||||||
|
@ -94,7 +94,7 @@ public interface BpmDefinitionService {
|
||||||
* @param deploymentIds 部署编号的数组
|
* @param deploymentIds 部署编号的数组
|
||||||
* @return 流程定义的数组
|
* @return 流程定义的数组
|
||||||
*/
|
*/
|
||||||
List<ProcessDefinition> getDefinitionListByDeploymentIds(Set<String> deploymentIds);
|
List<ProcessDefinition> getProcessDefinitionListByDeploymentIds(Set<String> deploymentIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建流程定义
|
* 创建流程定义
|
||||||
|
@ -102,7 +102,7 @@ public interface BpmDefinitionService {
|
||||||
* @param createReqDTO 创建信息
|
* @param createReqDTO 创建信息
|
||||||
* @return 流程编号
|
* @return 流程编号
|
||||||
*/
|
*/
|
||||||
String createDefinition(@Valid BpmDefinitionCreateReqDTO createReqDTO);
|
String createProcessDefinition(@Valid BpmDefinitionCreateReqDTO createReqDTO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新流程定义的挂起状态
|
* 更新流程定义的挂起状态
|
||||||
|
@ -110,6 +110,6 @@ public interface BpmDefinitionService {
|
||||||
* @param id 流程定义的编号
|
* @param id 流程定义的编号
|
||||||
* @param state 挂起状态 {@link org.activiti.engine.impl.persistence.entity.SuspensionState}
|
* @param state 挂起状态 {@link org.activiti.engine.impl.persistence.entity.SuspensionState}
|
||||||
*/
|
*/
|
||||||
void updateDefinitionSuspensionState(String id, Integer state);
|
void updateProcessDefinitionState(String id, Integer state);
|
||||||
|
|
||||||
}
|
}
|
|
@ -8,7 +8,7 @@ import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmDefinition
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmProcessDefinitionDO;
|
import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmProcessDefinitionDO;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.form.BpmFormDO;
|
import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.form.BpmFormDO;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition.BpmProcessDefinitionMapper;
|
import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition.BpmProcessDefinitionMapper;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmDefinitionService;
|
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmDefinitionCreateReqDTO;
|
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmDefinitionCreateReqDTO;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.service.form.BpmFormService;
|
import cn.iocoder.yudao.adminserver.modules.bpm.service.form.BpmFormService;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
@ -29,8 +29,8 @@ import org.springframework.validation.annotation.Validated;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants.DEFINITION_KEY_NOT_MATCH;
|
import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants.PROCESS_DEFINITION_KEY_NOT_MATCH;
|
||||||
import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants.DEFINITION_NAME_NOT_MATCH;
|
import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants.PROCESS_DEFINITION_NAME_NOT_MATCH;
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
|
||||||
@Service
|
@Service
|
||||||
@Validated
|
@Validated
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class BpmDefinitionServiceImpl implements BpmDefinitionService {
|
public class BpmProcessDefinitionServiceImpl implements BpmProcessDefinitionService {
|
||||||
|
|
||||||
private static final String BPMN_FILE_SUFFIX = ".bpmn";
|
private static final String BPMN_FILE_SUFFIX = ".bpmn";
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ public class BpmDefinitionServiceImpl implements BpmDefinitionService {
|
||||||
private BpmProcessDefinitionMapper processDefinitionMapper;
|
private BpmProcessDefinitionMapper processDefinitionMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<BpmProcessDefinitionPageItemRespVO> getDefinitionPage(BpmProcessDefinitionPageReqVO pageVO) {
|
public PageResult<BpmProcessDefinitionPageItemRespVO> getProcessDefinitionPage(BpmProcessDefinitionPageReqVO pageVO) {
|
||||||
ProcessDefinitionQuery definitionQuery = repositoryService.createProcessDefinitionQuery();
|
ProcessDefinitionQuery definitionQuery = repositoryService.createProcessDefinitionQuery();
|
||||||
if (StrUtil.isNotBlank(pageVO.getKey())) {
|
if (StrUtil.isNotBlank(pageVO.getKey())) {
|
||||||
definitionQuery.processDefinitionKey(pageVO.getKey());
|
definitionQuery.processDefinitionKey(pageVO.getKey());
|
||||||
|
@ -94,7 +94,7 @@ public class BpmDefinitionServiceImpl implements BpmDefinitionService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getDefinitionBpmnXML(String id) {
|
public String getProcessDefinitionBpmnXML(String id) {
|
||||||
BpmnModel bpmnModel = repositoryService.getBpmnModel(id);
|
BpmnModel bpmnModel = repositoryService.getBpmnModel(id);
|
||||||
if (bpmnModel == null) {
|
if (bpmnModel == null) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -109,7 +109,7 @@ public class BpmDefinitionServiceImpl implements BpmDefinitionService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ProcessDefinition getDefinition(String id) {
|
public ProcessDefinition getProcessDefinition(String id) {
|
||||||
return repositoryService.getProcessDefinition(id);
|
return repositoryService.getProcessDefinition(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,12 +134,12 @@ public class BpmDefinitionServiceImpl implements BpmDefinitionService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ProcessDefinition getDefinitionByDeploymentId(String deploymentId) {
|
public ProcessDefinition getProcessDefinitionByDeploymentId(String deploymentId) {
|
||||||
return repositoryService.createProcessDefinitionQuery().deploymentId(deploymentId).singleResult();
|
return repositoryService.createProcessDefinitionQuery().deploymentId(deploymentId).singleResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ProcessDefinition> getDefinitionListByDeploymentIds(Set<String> deploymentIds) {
|
public List<ProcessDefinition> getProcessDefinitionListByDeploymentIds(Set<String> deploymentIds) {
|
||||||
if (CollUtil.isEmpty(deploymentIds)) {
|
if (CollUtil.isEmpty(deploymentIds)) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
@ -148,7 +148,7 @@ public class BpmDefinitionServiceImpl implements BpmDefinitionService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class) // 因为进行多个 activiti 操作,所以开启事务
|
@Transactional(rollbackFor = Exception.class) // 因为进行多个 activiti 操作,所以开启事务
|
||||||
public String createDefinition(BpmDefinitionCreateReqDTO createReqDTO) {
|
public String createProcessDefinition(BpmDefinitionCreateReqDTO createReqDTO) {
|
||||||
// 创建 Deployment 部署
|
// 创建 Deployment 部署
|
||||||
Deployment deploy = repositoryService.createDeployment()
|
Deployment deploy = repositoryService.createDeployment()
|
||||||
.key(createReqDTO.getKey()).name(createReqDTO.getName()).category(createReqDTO.getCategory())
|
.key(createReqDTO.getKey()).name(createReqDTO.getName()).category(createReqDTO.getCategory())
|
||||||
|
@ -162,10 +162,10 @@ public class BpmDefinitionServiceImpl implements BpmDefinitionService {
|
||||||
// 注意 2,目前该项目的设计上,需要保证 Model、Deployment、ProcessDefinition 使用相同的 key,保证关联性。
|
// 注意 2,目前该项目的设计上,需要保证 Model、Deployment、ProcessDefinition 使用相同的 key,保证关联性。
|
||||||
// 否则,会导致 ProcessDefinition 的分页无法查询到。
|
// 否则,会导致 ProcessDefinition 的分页无法查询到。
|
||||||
if (!Objects.equals(definition.getKey(), createReqDTO.getKey())) {
|
if (!Objects.equals(definition.getKey(), createReqDTO.getKey())) {
|
||||||
throw exception(DEFINITION_KEY_NOT_MATCH, createReqDTO.getKey(), definition.getKey());
|
throw exception(PROCESS_DEFINITION_KEY_NOT_MATCH, createReqDTO.getKey(), definition.getKey());
|
||||||
}
|
}
|
||||||
if (!Objects.equals(definition.getName(), createReqDTO.getName())) {
|
if (!Objects.equals(definition.getName(), createReqDTO.getName())) {
|
||||||
throw exception(DEFINITION_NAME_NOT_MATCH, createReqDTO.getName(), definition.getName());
|
throw exception(PROCESS_DEFINITION_NAME_NOT_MATCH, createReqDTO.getName(), definition.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 插入拓展表
|
// 插入拓展表
|
||||||
|
@ -176,7 +176,7 @@ public class BpmDefinitionServiceImpl implements BpmDefinitionService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateDefinitionSuspensionState(String id, Integer state) {
|
public void updateProcessDefinitionState(String id, Integer state) {
|
||||||
// 激活
|
// 激活
|
||||||
if (Objects.equals(SuspensionState.ACTIVE.getStateCode(), state)) {
|
if (Objects.equals(SuspensionState.ACTIVE.getStateCode(), state)) {
|
||||||
repositoryService.activateProcessDefinitionById(id, true, null);
|
repositoryService.activateProcessDefinitionById(id, true, null);
|
||||||
|
@ -187,7 +187,7 @@ public class BpmDefinitionServiceImpl implements BpmDefinitionService {
|
||||||
repositoryService.suspendProcessDefinitionById(id, true, null);
|
repositoryService.suspendProcessDefinitionById(id, true, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
log.error("[updateDefinitionSuspensionState][流程定义({}) 修改未知状态({})]", id, state);
|
log.error("[updateProcessDefinitionState][流程定义({}) 修改未知状态({})]", id, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo.*;
|
import cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo.*;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.convert.model.BpmModelConvert;
|
import cn.iocoder.yudao.adminserver.modules.bpm.convert.model.BpmModelConvert;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.form.BpmFormDO;
|
import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.form.BpmFormDO;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmDefinitionService;
|
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmDefinitionCreateReqDTO;
|
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmDefinitionCreateReqDTO;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.service.form.BpmFormService;
|
import cn.iocoder.yudao.adminserver.modules.bpm.service.form.BpmFormService;
|
||||||
import cn.iocoder.yudao.adminserver.modules.bpm.service.model.BpmModelService;
|
import cn.iocoder.yudao.adminserver.modules.bpm.service.model.BpmModelService;
|
||||||
|
@ -52,7 +52,7 @@ public class BpmModelServiceImpl implements BpmModelService {
|
||||||
@Resource
|
@Resource
|
||||||
private BpmFormService bpmFormService;
|
private BpmFormService bpmFormService;
|
||||||
@Resource
|
@Resource
|
||||||
private BpmDefinitionService bpmDefinitionService;
|
private BpmProcessDefinitionService bpmProcessDefinitionService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<BpmModelPageItemRespVO> getModelPage(ModelPageReqVO pageVO) {
|
public PageResult<BpmModelPageItemRespVO> getModelPage(ModelPageReqVO pageVO) {
|
||||||
|
@ -80,9 +80,9 @@ public class BpmModelServiceImpl implements BpmModelService {
|
||||||
// 获得 Deployment Map
|
// 获得 Deployment Map
|
||||||
Set<String> deploymentIds = new HashSet<>();
|
Set<String> deploymentIds = new HashSet<>();
|
||||||
models.forEach(model -> CollectionUtils.addIfNotNull(deploymentIds, model.getDeploymentId()));
|
models.forEach(model -> CollectionUtils.addIfNotNull(deploymentIds, model.getDeploymentId()));
|
||||||
Map<String, Deployment> deploymentMap = bpmDefinitionService.getDeploymentMap(deploymentIds);
|
Map<String, Deployment> deploymentMap = bpmProcessDefinitionService.getDeploymentMap(deploymentIds);
|
||||||
// 获得 ProcessDefinition Map
|
// 获得 ProcessDefinition Map
|
||||||
List<ProcessDefinition> processDefinitions = bpmDefinitionService.getDefinitionListByDeploymentIds(deploymentIds);
|
List<ProcessDefinition> processDefinitions = bpmProcessDefinitionService.getProcessDefinitionListByDeploymentIds(deploymentIds);
|
||||||
Map<String, ProcessDefinition> processDefinitionMap = convertMap(processDefinitions, ProcessDefinition::getDeploymentId);
|
Map<String, ProcessDefinition> processDefinitionMap = convertMap(processDefinitions, ProcessDefinition::getDeploymentId);
|
||||||
|
|
||||||
// 拼接结果
|
// 拼接结果
|
||||||
|
@ -157,18 +157,18 @@ public class BpmModelServiceImpl implements BpmModelService {
|
||||||
// 创建流程定义
|
// 创建流程定义
|
||||||
BpmDefinitionCreateReqDTO definitionCreateReqDTO = BpmModelConvert.INSTANCE.convert2(model)
|
BpmDefinitionCreateReqDTO definitionCreateReqDTO = BpmModelConvert.INSTANCE.convert2(model)
|
||||||
.setBpmnXml(StrUtil.utf8Str(bpmnBytes));
|
.setBpmnXml(StrUtil.utf8Str(bpmnBytes));
|
||||||
String definitionId = bpmDefinitionService.createDefinition(definitionCreateReqDTO);
|
String definitionId = bpmProcessDefinitionService.createProcessDefinition(definitionCreateReqDTO);
|
||||||
|
|
||||||
// 将老的流程定义进行挂起。也就是说,只有最新部署的流程定义,才可以发起任务。
|
// 将老的流程定义进行挂起。也就是说,只有最新部署的流程定义,才可以发起任务。
|
||||||
if (StrUtil.isNotEmpty(model.getDeploymentId())) {
|
if (StrUtil.isNotEmpty(model.getDeploymentId())) {
|
||||||
ProcessDefinition oldDefinition = bpmDefinitionService.getDefinitionByDeploymentId(model.getDeploymentId());
|
ProcessDefinition oldDefinition = bpmProcessDefinitionService.getProcessDefinitionByDeploymentId(model.getDeploymentId());
|
||||||
if (oldDefinition != null) {
|
if (oldDefinition != null) {
|
||||||
bpmDefinitionService.updateDefinitionSuspensionState(oldDefinition.getId(), SuspensionState.SUSPENDED.getStateCode());
|
bpmProcessDefinitionService.updateProcessDefinitionState(oldDefinition.getId(), SuspensionState.SUSPENDED.getStateCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新 model 的 deploymentId,进行关联
|
// 更新 model 的 deploymentId,进行关联
|
||||||
ProcessDefinition definition = bpmDefinitionService.getDefinition(definitionId);
|
ProcessDefinition definition = bpmProcessDefinitionService.getProcessDefinition(definitionId);
|
||||||
model.setDeploymentId(definition.getDeploymentId());
|
model.setDeploymentId(definition.getDeploymentId());
|
||||||
repositoryService.saveModel(model);
|
repositoryService.saveModel(model);
|
||||||
}
|
}
|
||||||
|
@ -192,13 +192,13 @@ public class BpmModelServiceImpl implements BpmModelService {
|
||||||
throw exception(MODEL_NOT_EXISTS);
|
throw exception(MODEL_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
// 校验流程定义存在
|
// 校验流程定义存在
|
||||||
ProcessDefinition definition = bpmDefinitionService.getDefinitionByDeploymentId(model.getDeploymentId());
|
ProcessDefinition definition = bpmProcessDefinitionService.getProcessDefinitionByDeploymentId(model.getDeploymentId());
|
||||||
if (definition == null) {
|
if (definition == null) {
|
||||||
throw exception(DEFINITION_NOT_EXISTS);
|
throw exception(PROCESS_DEFINITION_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新状态
|
// 更新状态
|
||||||
bpmDefinitionService.updateDefinitionSuspensionState(definition.getId(), state);
|
bpmProcessDefinitionService.updateProcessDefinitionState(definition.getId(), state);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Model getModelByKey(String key) {
|
private Model getModelByKey(String key) {
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function getDefinitionPage(query) {
|
export function getProcessDefinitionPage(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/bpm/definition/page',
|
url: '/bpm/process-definition/page',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getDefinitionBpmnXML(id) {
|
export function getProcessDefinitionBpmnXML(id) {
|
||||||
return request({
|
return request({
|
||||||
url: '/bpm/definition/get-bpmn-xml?id=' + id,
|
url: '/bpm/process-definition/get-bpmn-xml?id=' + id,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getDefinitionBpmnXML, getDefinitionPage} from "@/api/bpm/definition";
|
import {getProcessDefinitionBpmnXML, getProcessDefinitionPage} from "@/api/bpm/definition";
|
||||||
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
|
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
|
||||||
import {getForm} from "@/api/bpm/form";
|
import {getForm} from "@/api/bpm/form";
|
||||||
import {decodeFields} from "@/utils/formGenerator";
|
import {decodeFields} from "@/utils/formGenerator";
|
||||||
|
@ -113,7 +113,7 @@ export default {
|
||||||
/** 查询流程定义列表 */
|
/** 查询流程定义列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
getDefinitionPage(this.queryParams).then(response => {
|
getProcessDefinitionPage(this.queryParams).then(response => {
|
||||||
this.list = response.data.list;
|
this.list = response.data.list;
|
||||||
this.total = response.data.total;
|
this.total = response.data.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
@ -135,7 +135,7 @@ export default {
|
||||||
},
|
},
|
||||||
/** 流程图的详情按钮操作 */
|
/** 流程图的详情按钮操作 */
|
||||||
handleBpmnDetail(row) {
|
handleBpmnDetail(row) {
|
||||||
getDefinitionBpmnXML(row.id).then(response => {
|
getProcessDefinitionBpmnXML(row.id).then(response => {
|
||||||
this.bpmnXML = response.data
|
this.bpmnXML = response.data
|
||||||
// 弹窗打开
|
// 弹窗打开
|
||||||
this.showBpmnOpen = true
|
this.showBpmnOpen = true
|
||||||
|
|
Loading…
Reference in New Issue