提交代码

main
姜玉琦 2024-02-24 12:36:48 +08:00
parent f57b94ba30
commit acda4fb4ba
21 changed files with 86 additions and 83 deletions

View File

@ -4,7 +4,8 @@ import com.yanzhu.common.core.controller.BaseController;
import com.yanzhu.common.core.domain.AjaxResult; import com.yanzhu.common.core.domain.AjaxResult;
import com.yanzhu.common.core.domain.entity.SysRole; import com.yanzhu.common.core.domain.entity.SysRole;
import com.yanzhu.common.core.domain.entity.SysUser; import com.yanzhu.common.core.domain.entity.SysUser;
import com.yanzhu.flowable.domain.dto.FlowSaveXmlVo; import com.yanzhu.flowable.domain.FlowSaveXmlVo;
import com.yanzhu.system.domain.flowable.FlowQueryVo;
import com.yanzhu.flowable.service.IFlowDefinitionService; import com.yanzhu.flowable.service.IFlowDefinitionService;
import com.yanzhu.system.domain.FlowProcDefDto; import com.yanzhu.system.domain.FlowProcDefDto;
import com.yanzhu.system.domain.SysExpression; import com.yanzhu.system.domain.SysExpression;
@ -56,15 +57,18 @@ public class FlowDefinitionController extends BaseController {
@Resource @Resource
private ISysExpressionService sysExpressionService; private ISysExpressionService sysExpressionService;
/**
*
*
* @param flowQueryVo
* @return
*/
@GetMapping(value = "/list") @GetMapping(value = "/list")
@ApiOperation(value = "流程定义列表", response = FlowProcDefDto.class) @ApiOperation(value = "流程定义列表", response = FlowProcDefDto.class)
public AjaxResult list(@ApiParam(value = "当前页码", required = true) @RequestParam Integer pageNum, public AjaxResult list(FlowQueryVo flowQueryVo) {
@ApiParam(value = "每页条数", required = true) @RequestParam Integer pageSize, return AjaxResult.success(flowDefinitionService.list(flowQueryVo));
@ApiParam(value = "流程名称", required = false) @RequestParam(required = false) String name) {
return AjaxResult.success(flowDefinitionService.list(name, pageNum, pageSize));
} }
@ApiOperation(value = "导入流程文件", notes = "上传bpmn20的xml文件") @ApiOperation(value = "导入流程文件", notes = "上传bpmn20的xml文件")
@PostMapping("/import") @PostMapping("/import")
public AjaxResult importFile(@RequestParam(required = false) String name, public AjaxResult importFile(@RequestParam(required = false) String name,
@ -90,7 +94,6 @@ public class FlowDefinitionController extends BaseController {
return AjaxResult.success("导入成功"); return AjaxResult.success("导入成功");
} }
@ApiOperation(value = "读取xml文件") @ApiOperation(value = "读取xml文件")
@GetMapping("/readXml/{deployId}") @GetMapping("/readXml/{deployId}")
public AjaxResult readXml(@ApiParam(value = "流程定义id") @PathVariable(value = "deployId") String deployId) { public AjaxResult readXml(@ApiParam(value = "流程定义id") @PathVariable(value = "deployId") String deployId) {
@ -129,7 +132,6 @@ public class FlowDefinitionController extends BaseController {
} }
@ApiOperation(value = "保存流程设计器内的xml文件") @ApiOperation(value = "保存流程设计器内的xml文件")
@PostMapping("/save") @PostMapping("/save")
public AjaxResult save(@RequestBody FlowSaveXmlVo vo) { public AjaxResult save(@RequestBody FlowSaveXmlVo vo) {

View File

@ -2,7 +2,7 @@ package com.yanzhu.flowable.controller;
import com.yanzhu.common.core.domain.AjaxResult; import com.yanzhu.common.core.domain.AjaxResult;
import com.yanzhu.flowable.domain.vo.FlowTaskVo; import com.yanzhu.system.domain.flowable.FlowTaskVo;
import com.yanzhu.flowable.service.IFlowInstanceService; import com.yanzhu.flowable.service.IFlowInstanceService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;

View File

@ -1,9 +1,9 @@
package com.yanzhu.flowable.controller; package com.yanzhu.flowable.controller;
import com.yanzhu.common.core.domain.AjaxResult; import com.yanzhu.common.core.domain.AjaxResult;
import com.yanzhu.flowable.domain.dto.FlowTaskDto; import com.yanzhu.system.domain.flowable.dto.FlowTaskDto;
import com.yanzhu.flowable.domain.vo.FlowQueryVo; import com.yanzhu.system.domain.flowable.FlowQueryVo;
import com.yanzhu.flowable.domain.vo.FlowTaskVo; import com.yanzhu.system.domain.flowable.FlowTaskVo;
import com.yanzhu.flowable.service.IFlowTaskService; import com.yanzhu.flowable.service.IFlowTaskService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;

View File

@ -1,4 +1,4 @@
package com.yanzhu.flowable.domain.dto; package com.yanzhu.flowable.domain;
import lombok.Data; import lombok.Data;

View File

@ -2,6 +2,7 @@ package com.yanzhu.flowable.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yanzhu.common.core.domain.AjaxResult; import com.yanzhu.common.core.domain.AjaxResult;
import com.yanzhu.system.domain.flowable.FlowQueryVo;
import com.yanzhu.system.domain.FlowProcDefDto; import com.yanzhu.system.domain.FlowProcDefDto;
import java.io.IOException; import java.io.IOException;
@ -16,15 +17,13 @@ public interface IFlowDefinitionService {
boolean exist(String processDefinitionKey); boolean exist(String processDefinitionKey);
/** /**
* *
* *
* @param pageNum * @param flowQueryVo
* @param pageSize
* @return * @return
*/ */
Page<FlowProcDefDto> list(String name,Integer pageNum, Integer pageSize); Page<FlowProcDefDto> list(FlowQueryVo flowQueryVo);
/** /**
* *

View File

@ -1,7 +1,7 @@
package com.yanzhu.flowable.service; package com.yanzhu.flowable.service;
import com.yanzhu.common.core.domain.AjaxResult; import com.yanzhu.common.core.domain.AjaxResult;
import com.yanzhu.flowable.domain.vo.FlowTaskVo; import com.yanzhu.system.domain.flowable.FlowTaskVo;
import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.history.HistoricProcessInstance;
import java.util.Map; import java.util.Map;

View File

@ -1,8 +1,8 @@
package com.yanzhu.flowable.service; package com.yanzhu.flowable.service;
import com.yanzhu.common.core.domain.AjaxResult; import com.yanzhu.common.core.domain.AjaxResult;
import com.yanzhu.flowable.domain.vo.FlowQueryVo; import com.yanzhu.system.domain.flowable.FlowQueryVo;
import com.yanzhu.flowable.domain.vo.FlowTaskVo; import com.yanzhu.system.domain.flowable.FlowTaskVo;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
import java.io.InputStream; import java.io.InputStream;

View File

@ -7,6 +7,7 @@ import com.yanzhu.flowable.common.constant.ProcessConstants;
import com.yanzhu.common.core.domain.AjaxResult; import com.yanzhu.common.core.domain.AjaxResult;
import com.yanzhu.common.core.domain.entity.SysUser; import com.yanzhu.common.core.domain.entity.SysUser;
import com.yanzhu.common.utils.SecurityUtils; import com.yanzhu.common.utils.SecurityUtils;
import com.yanzhu.system.domain.flowable.FlowQueryVo;
import com.yanzhu.system.domain.FlowProcDefDto; import com.yanzhu.system.domain.FlowProcDefDto;
import com.yanzhu.flowable.factory.FlowServiceFactory; import com.yanzhu.flowable.factory.FlowServiceFactory;
import com.yanzhu.flowable.service.IFlowDefinitionService; import com.yanzhu.flowable.service.IFlowDefinitionService;
@ -70,47 +71,22 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
/** /**
* *
* *
* @param pageNum * @param flowQueryVo
* @param pageSize
* @return * @return
*/ */
@Override @Override
public Page<FlowProcDefDto> list(String name, Integer pageNum, Integer pageSize) { public Page<FlowProcDefDto> list(FlowQueryVo flowQueryVo) {
Page<FlowProcDefDto> page = new Page<>(); Page<FlowProcDefDto> page = new Page<>();
// // 流程定义列表数据查询 PageHelper.startPage(flowQueryVo.getPageNum(), flowQueryVo.getPageSize());
// final ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery(); final List<FlowProcDefDto> dataList = flowDeployMapper.selectDeployList(flowQueryVo);
// if (StringUtils.isNotEmpty(name)) {
// processDefinitionQuery.processDefinitionNameLike(name);
// }
//// processDefinitionQuery.orderByProcessDefinitionKey().asc();
// page.setTotal(processDefinitionQuery.count());
// List<ProcessDefinition> processDefinitionList = processDefinitionQuery.listPage(pageSize * (pageNum - 1), pageSize);
//
// List<FlowProcDefDto> dataList = new ArrayList<>();
// for (ProcessDefinition processDefinition : processDefinitionList) {
// String deploymentId = processDefinition.getDeploymentId();
// Deployment deployment = repositoryService.createDeploymentQuery().deploymentId(deploymentId).singleResult();
// FlowProcDefDto reProcDef = new FlowProcDefDto();
// BeanUtils.copyProperties(processDefinition, reProcDef);
// SysForm sysForm = sysDeployFormService.selectSysDeployFormByDeployId(deploymentId);
// if (Objects.nonNull(sysForm)) {
// reProcDef.setFormName(sysForm.getFormName());
// reProcDef.setFormId(sysForm.getFormId());
// }
// // 流程定义时间
// reProcDef.setDeploymentTime(deployment.getDeploymentTime());
// dataList.add(reProcDef);
// }
PageHelper.startPage(pageNum, pageSize);
final List<FlowProcDefDto> dataList = flowDeployMapper.selectDeployList(name);
// 加载挂表单 // 加载挂表单
for (FlowProcDefDto procDef : dataList) { /**for (FlowProcDefDto procDef : dataList) {
SysForm sysForm = sysDeployFormService.selectSysDeployFormByDeployId(procDef.getDeploymentId()); SysForm sysForm = sysDeployFormService.selectSysDeployFormByDeployId(procDef.getDeploymentId());
if (Objects.nonNull(sysForm)) { if (Objects.nonNull(sysForm)) {
procDef.setFormName(sysForm.getFormName()); procDef.setFormName(sysForm.getFormName());
procDef.setFormId(sysForm.getFormId()); procDef.setFormId(sysForm.getFormId());
} }
} }*/
page.setTotal(new PageInfo(dataList).getTotal()); page.setTotal(new PageInfo(dataList).getTotal());
page.setRecords(dataList); page.setRecords(dataList);
return page; return page;

View File

@ -3,7 +3,7 @@ package com.yanzhu.flowable.service.impl;
import com.yanzhu.common.core.domain.AjaxResult; import com.yanzhu.common.core.domain.AjaxResult;
import com.yanzhu.common.utils.SecurityUtils; import com.yanzhu.common.utils.SecurityUtils;
import com.yanzhu.flowable.domain.vo.FlowTaskVo; import com.yanzhu.system.domain.flowable.FlowTaskVo;
import com.yanzhu.flowable.factory.FlowServiceFactory; import com.yanzhu.flowable.factory.FlowServiceFactory;
import com.yanzhu.flowable.service.IFlowInstanceService; import com.yanzhu.flowable.service.IFlowInstanceService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

View File

@ -12,12 +12,12 @@ import com.yanzhu.common.core.domain.entity.SysUser;
import com.yanzhu.flowable.common.enums.FlowComment; import com.yanzhu.flowable.common.enums.FlowComment;
import com.yanzhu.common.exception.CustomException; import com.yanzhu.common.exception.CustomException;
import com.yanzhu.common.utils.SecurityUtils; import com.yanzhu.common.utils.SecurityUtils;
import com.yanzhu.flowable.domain.dto.FlowCommentDto; import com.yanzhu.system.domain.flowable.dto.FlowCommentDto;
import com.yanzhu.flowable.domain.dto.FlowNextDto; import com.yanzhu.system.domain.flowable.dto.FlowNextDto;
import com.yanzhu.flowable.domain.dto.FlowTaskDto; import com.yanzhu.system.domain.flowable.dto.FlowTaskDto;
import com.yanzhu.flowable.domain.dto.FlowViewerDto; import com.yanzhu.system.domain.flowable.dto.FlowViewerDto;
import com.yanzhu.flowable.domain.vo.FlowQueryVo; import com.yanzhu.system.domain.flowable.FlowQueryVo;
import com.yanzhu.flowable.domain.vo.FlowTaskVo; import com.yanzhu.system.domain.flowable.FlowTaskVo;
import com.yanzhu.flowable.factory.FlowServiceFactory; import com.yanzhu.flowable.factory.FlowServiceFactory;
import com.yanzhu.flowable.flow.CustomProcessDiagramGenerator; import com.yanzhu.flowable.flow.CustomProcessDiagramGenerator;
import com.yanzhu.flowable.flow.FindNextNodeUtil; import com.yanzhu.flowable.flow.FindNextNodeUtil;

View File

@ -52,5 +52,10 @@ public class FlowProcDefDto implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date deploymentTime; private Date deploymentTime;
@ApiModelProperty("单位主键")
private Long deptId;
@ApiModelProperty("单位名称")
private String deptName;
} }

View File

@ -1,4 +1,4 @@
package com.yanzhu.flowable.domain.vo; package com.yanzhu.system.domain.flowable;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -29,5 +29,13 @@ public class FlowQueryVo {
@ApiModelProperty("每页条数") @ApiModelProperty("每页条数")
private Integer pageSize; private Integer pageSize;
@ApiModelProperty("流程类型")
private String category;
@ApiModelProperty("单位主键")
private Long deptId;
@ApiModelProperty("单位名称")
private String deptName;
} }

View File

@ -1,4 +1,4 @@
package com.yanzhu.flowable.domain.vo; package com.yanzhu.system.domain.flowable;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;

View File

@ -1,4 +1,4 @@
package com.yanzhu.flowable.domain.vo; package com.yanzhu.system.domain.flowable;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;

View File

@ -1,4 +1,4 @@
package com.yanzhu.flowable.domain.dto; package com.yanzhu.system.domain.flowable.dto;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.yanzhu.flowable.domain.dto; package com.yanzhu.system.domain.flowable.dto;
import lombok.Data; import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.yanzhu.flowable.domain.dto; package com.yanzhu.system.domain.flowable.dto;
import lombok.Data; import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.yanzhu.flowable.domain.dto; package com.yanzhu.system.domain.flowable.dto;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;

View File

@ -1,4 +1,4 @@
package com.yanzhu.flowable.domain.dto; package com.yanzhu.system.domain.flowable.dto;
import lombok.Data; import lombok.Data;

View File

@ -1,6 +1,8 @@
package com.yanzhu.system.mapper; package com.yanzhu.system.mapper;
import com.yanzhu.system.domain.FlowProcDefDto; import com.yanzhu.system.domain.FlowProcDefDto;
import com.yanzhu.system.domain.flowable.FlowQueryVo;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -15,8 +17,8 @@ public interface FlowDeployMapper {
/** /**
* *
* @param name * @param flowQueryVo
* @return * @return
*/ */
List<FlowProcDefDto> selectDeployList(String name); List<FlowProcDefDto> selectDeployList(FlowQueryVo flowQueryVo);
} }

View File

@ -4,27 +4,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yanzhu.system.mapper.FlowDeployMapper"> <mapper namespace="com.yanzhu.system.mapper.FlowDeployMapper">
<!--查询流程定义列表-->
<select id="selectDeployList" resultType="com.yanzhu.system.domain.FlowProcDefDto"> <select id="selectDeployList" parameterType="com.yanzhu.system.domain.flowable.FlowQueryVo" resultType="com.yanzhu.system.domain.FlowProcDefDto">
SELECT SELECT
rp.id_ as id, rp.id_ as id,
rp.deployment_id_ as deploymentId, rp.deployment_id_ as deploymentId,
rd.name_ as name, rd.name_ as name,
rd.category_ as category, rd.category_ as category,
rp.key_ as flowKey, rp.key_ as flowKey,
rp.version_ as version, rp.version_ as version,
rp.suspension_state_ as suspensionState, rp.suspension_state_ as suspensionState,
rd.deploy_time_ as deploymentTime rd.deploy_time_ as deploymentTime,
rpd.DEPT_ID_ as deptId,
sd.dept_name as deptName
FROM FROM
act_re_procdef rp act_re_procdef rp
LEFT JOIN act_re_deployment rd ON rp.deployment_id_ = rd.id_ LEFT JOIN act_re_deployment rd ON rp.deployment_id_ = rd.id_
left join act_re_procdef_dept rpd on rp.id_ = rpd.PROCDEF_ID_
left join sys_dept sd on sd.dept_id = rpr.DEPT_ID_
<where> <where>
<if test="deptId != null">
and rpd.DEPT_ID_ = #{deptId}
</if>
<if test="deptName != null and deptName != ''">
and sd.dept_name like concat('%', #{deptName}, '%')
</if>
<if test="name != null and name != ''"> <if test="name != null and name != ''">
and rd.name_ like concat('%', #{name}, '%') and rd.name_ like concat('%', #{name}, '%')
</if>
<if test="category != null and category != ''">
and rd.category_ = #{category}
</if> </if>
</where> </where>
order by rd.deploy_time_ desc
</select> </select>