mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	1. 新增流程定义的列表 API
2. 新增流程创建的界面,暂未实现完全
This commit is contained in:
		@@ -0,0 +1,4 @@
 | 
			
		||||
### 请求 /bpm/process-definition/list 接口 => 成功
 | 
			
		||||
GET {{baseUrl}}/bpm/process-definition/list?suspensionState=1
 | 
			
		||||
tenant-id: 1
 | 
			
		||||
Authorization: Bearer {{token}}
 | 
			
		||||
@@ -1,7 +1,9 @@
 | 
			
		||||
package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.BpmProcessDefinitionListReqVO;
 | 
			
		||||
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.BpmProcessDefinitionRespVO;
 | 
			
		||||
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.PageResult;
 | 
			
		||||
@@ -17,6 +19,8 @@ import org.springframework.web.bind.annotation.RestController;
 | 
			
		||||
 | 
			
		||||
import javax.annotation.Resource;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 | 
			
		||||
 | 
			
		||||
@Api(tags = "流程定义")
 | 
			
		||||
@@ -36,6 +40,13 @@ public class BpmProcessDefinitionController {
 | 
			
		||||
        return success(bpmDefinitionService.getProcessDefinitionPage(pageReqVO));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @GetMapping ("/list")
 | 
			
		||||
    @ApiOperation(value = "获得流程定义列表")
 | 
			
		||||
    public CommonResult<List<BpmProcessDefinitionRespVO>> getProcessDefinitionList(
 | 
			
		||||
            BpmProcessDefinitionListReqVO listReqVO) {
 | 
			
		||||
        return success(bpmDefinitionService.getProcessDefinitionList(listReqVO));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @GetMapping ("/get-bpmn-xml")
 | 
			
		||||
    @ApiOperation(value = "获得流程定义的 BPMN XML")
 | 
			
		||||
    @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = String.class)
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,19 @@
 | 
			
		||||
package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
 | 
			
		||||
import io.swagger.annotations.ApiModel;
 | 
			
		||||
import io.swagger.annotations.ApiModelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.EqualsAndHashCode;
 | 
			
		||||
import lombok.ToString;
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
@ToString(callSuper = true)
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
@ApiModel("流程定义列表 Request VO")
 | 
			
		||||
public class BpmProcessDefinitionListReqVO extends PageParam {
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "中断状态", example = "1", notes = "参见 SuspensionState 枚举")
 | 
			
		||||
    private Integer suspensionState;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -20,5 +20,4 @@ public class BpmProcessDefinitionPageItemRespVO extends BpmProcessDefinitionResp
 | 
			
		||||
    @ApiModelProperty(value = "部署时间", required = true)
 | 
			
		||||
    private Date deploymentTime;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.BpmProcessDefinitionPageItemRespVO;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.BpmProcessDefinitionRespVO;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.form.BpmFormDO;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmDefinitionCreateReqDTO;
 | 
			
		||||
@@ -9,6 +10,9 @@ import org.activiti.engine.impl.persistence.entity.SuspensionState;
 | 
			
		||||
import org.activiti.engine.repository.Deployment;
 | 
			
		||||
import org.activiti.engine.repository.ProcessDefinition;
 | 
			
		||||
import org.mapstruct.Mapper;
 | 
			
		||||
import org.mapstruct.Mapping;
 | 
			
		||||
import org.mapstruct.Mappings;
 | 
			
		||||
import org.mapstruct.Named;
 | 
			
		||||
import org.mapstruct.factory.Mappers;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
@@ -55,4 +59,17 @@ public interface BpmDefinitionConvert {
 | 
			
		||||
 | 
			
		||||
    BpmProcessDefinitionExtDO convert2(BpmDefinitionCreateReqDTO bean);
 | 
			
		||||
 | 
			
		||||
    @Named("convertList3")
 | 
			
		||||
    List<BpmProcessDefinitionRespVO> convertList3(List<ProcessDefinition> list);
 | 
			
		||||
 | 
			
		||||
    @Named("convert3")
 | 
			
		||||
    @Mapping(source = "suspended", target = "suspensionState", qualifiedByName = "convertSuspendedToSuspensionState")
 | 
			
		||||
    BpmProcessDefinitionRespVO convert3(ProcessDefinition bean);
 | 
			
		||||
 | 
			
		||||
    @Named("convertSuspendedToSuspensionState")
 | 
			
		||||
    default Integer convertSuspendedToSuspensionState(boolean suspended) {
 | 
			
		||||
        return suspended ? SuspensionState.SUSPENDED.getStateCode() :
 | 
			
		||||
                SuspensionState.ACTIVE.getStateCode();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,9 @@
 | 
			
		||||
package cn.iocoder.yudao.adminserver.modules.bpm.service.definition;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.BpmProcessDefinitionListReqVO;
 | 
			
		||||
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.BpmProcessDefinitionRespVO;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmDefinitionCreateReqDTO;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
 | 
			
		||||
@@ -30,6 +32,14 @@ public interface BpmProcessDefinitionService {
 | 
			
		||||
     */
 | 
			
		||||
    PageResult<BpmProcessDefinitionPageItemRespVO> getProcessDefinitionPage(BpmProcessDefinitionPageReqVO pageReqVO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获得流程定义列表
 | 
			
		||||
     *
 | 
			
		||||
     * @param listReqVO 列表入参
 | 
			
		||||
     * @return 流程定义列表
 | 
			
		||||
     */
 | 
			
		||||
    List<BpmProcessDefinitionRespVO> getProcessDefinitionList(BpmProcessDefinitionListReqVO listReqVO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获得流程定义对应的 BPMN XML
 | 
			
		||||
     *
 | 
			
		||||
 
 | 
			
		||||
@@ -2,8 +2,10 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.definition.impl;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.collection.CollUtil;
 | 
			
		||||
import cn.hutool.core.util.StrUtil;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.BpmProcessDefinitionListReqVO;
 | 
			
		||||
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.BpmProcessDefinitionRespVO;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmDefinitionConvert;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
 | 
			
		||||
import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.form.BpmFormDO;
 | 
			
		||||
@@ -93,6 +95,19 @@ public class BpmProcessDefinitionServiceImpl implements BpmProcessDefinitionServ
 | 
			
		||||
                processDefinitionDOMap, formMap), definitionCount);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<BpmProcessDefinitionRespVO> getProcessDefinitionList(BpmProcessDefinitionListReqVO listReqVO) {
 | 
			
		||||
        // 拼接查询条件
 | 
			
		||||
        ProcessDefinitionQuery definitionQuery = repositoryService.createProcessDefinitionQuery();
 | 
			
		||||
        if (Objects.equals(SuspensionState.SUSPENDED.getStateCode(), listReqVO.getSuspensionState())) {
 | 
			
		||||
            definitionQuery.suspended();
 | 
			
		||||
        } else if (Objects.equals(SuspensionState.ACTIVE.getStateCode(), listReqVO.getSuspensionState())) {
 | 
			
		||||
            definitionQuery.active();
 | 
			
		||||
        }
 | 
			
		||||
        // 执行查询,并返回
 | 
			
		||||
        return BpmDefinitionConvert.INSTANCE.convertList3(definitionQuery.list());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public String getProcessDefinitionBpmnXML(String id) {
 | 
			
		||||
        BpmnModel bpmnModel = repositoryService.getBpmnModel(id);
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 工作任务 Service 接口
 | 
			
		||||
 * 流程任务 Service 接口
 | 
			
		||||
 *
 | 
			
		||||
 * @author jason
 | 
			
		||||
 * @author 芋道源码
 | 
			
		||||
 
 | 
			
		||||
@@ -135,6 +135,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
 | 
			
		||||
        if (instance == null) {
 | 
			
		||||
            throw exception(PROCESS_INSTANCE_CANCEL_FAIL_NOT_EXISTS);
 | 
			
		||||
        }
 | 
			
		||||
        // TODO 芋艿:只能自己取消流程
 | 
			
		||||
 | 
			
		||||
        // 通过删除流程实例,实现流程实例的取消
 | 
			
		||||
        runtimeService.deleteProcessInstance(cancelReqVO.getId(), cancelReqVO.getReason());
 | 
			
		||||
 
 | 
			
		||||
@@ -45,6 +45,12 @@ import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstan
 | 
			
		||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 | 
			
		||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 流程任务 Service 实现类
 | 
			
		||||
 *
 | 
			
		||||
 * @author jason
 | 
			
		||||
 * @author 芋道源码
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
@Service
 | 
			
		||||
public class BpmTaskServiceImpl implements BpmTaskService {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user