Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 years ago
parent
commit
60e8b9fc51
  1. 20
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/flowable/api/flow2/FlowListVo.java
  2. 16
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/flowable/biz/flow2/FlowMapper.java
  3. 12
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/flowable/biz/flow2/FlowMapper.xml
  4. 13
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/flowable/biz/flow2/FlowRest.java
  5. 9
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/flowable/biz/flow2/FlowService.java
  6. 31
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccDetailsVo.java
  7. 28
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccDto.java
  8. 9
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccMapper.java
  9. 7
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccMapper.xml
  10. 17
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccQuery.java
  11. 46
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccRest.java
  12. 75
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccService.java

20
yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/flowable/api/flow2/FlowListVo.java

@ -0,0 +1,20 @@
package com.yxt.supervise.flowable.api.flow2;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/12/1
**/
@Data
public class FlowListVo {
@JsonProperty("key")
private String KEY_;
@JsonProperty("name")
private String NAME_;
@JsonProperty("id")
private String ID_;
}

16
yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/flowable/biz/flow2/FlowMapper.java

@ -0,0 +1,16 @@
package com.yxt.supervise.flowable.biz.flow2;
import com.yxt.supervise.flowable.api.flow2.FlowListVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/12/1
**/
@Mapper
public interface FlowMapper {
List<FlowListVo> selectFlowList();
}

12
yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/flowable/biz/flow2/FlowMapper.xml

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.supervise.flowable.biz.flow2.FlowMapper">
<select id="selectFlowList" resultType="com.yxt.supervise.flowable.api.flow2.FlowListVo">
select t1.KEY_, t1.NAME_, t1.ID_
FROM act_re_procdef t1
INNER JOIN
(select SUBSTRING_INDEX(GROUP_CONCAT(ID_ order by VERSION_ desc), ',', 1) AS id
from act_re_procdef
GROUP BY KEY_) AS t2 ON t2.id = t1.ID_
</select>
</mapper>

13
yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/flowable/biz/flow2/FlowRest.java

@ -7,17 +7,17 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.supervise.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.supervise.flowable.api.flow2.FlowDelegateQuery; import com.yxt.supervise.flowable.api.flow2.FlowDelegateQuery;
import com.yxt.supervise.flowable.api.flow2.FlowFeign; import com.yxt.supervise.flowable.api.flow2.FlowFeign;
import com.yxt.supervise.flowable.api.flow2.FlowListVo;
import com.yxt.supervise.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.supervise.flowable.sqloperationsymbol.BusinessVariables;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.*; import java.util.concurrent.*;
@ -103,4 +103,11 @@ public class FlowRest implements FlowFeign {
return flowService.delegate(flowDelegateQuery); return flowService.delegate(flowDelegateQuery);
} }
@ApiOperation(value = "所有流程名称")
@GetMapping(value = "/selectFlowList")
@ResponseBody
ResultBean<List<FlowListVo>> selectFlowList() {
return flowService.selectFlowList();
}
} }

9
yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/flowable/biz/flow2/FlowService.java

@ -8,6 +8,7 @@ import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.supervise.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.supervise.flowable.api.flow2.FlowDelegateQuery; import com.yxt.supervise.flowable.api.flow2.FlowDelegateQuery;
import com.yxt.supervise.flowable.api.flow2.FlowListVo;
import com.yxt.supervise.flowable.api.flow2.MessageFlowVo; import com.yxt.supervise.flowable.api.flow2.MessageFlowVo;
import com.yxt.supervise.flowable.api.flowcomment.FlowComment; import com.yxt.supervise.flowable.api.flowcomment.FlowComment;
import com.yxt.supervise.flowable.api.flowtask.DelegateQuery; import com.yxt.supervise.flowable.api.flowtask.DelegateQuery;
@ -74,6 +75,8 @@ public class FlowService {
private MessageFeign messageFeign; private MessageFeign messageFeign;
@Autowired @Autowired
private SysFlowccFeign sysFlowccFeign; private SysFlowccFeign sysFlowccFeign;
@Autowired
private FlowMapper flowMapper;
public ResultBean<String> getNextNodeUser(BusinessVariables bv) { public ResultBean<String> getNextNodeUser(BusinessVariables bv) {
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
@ -714,4 +717,10 @@ public class FlowService {
} }
return rb.success().setMsg("抄送" + userName.toString() + "成功!"); return rb.success().setMsg("抄送" + userName.toString() + "成功!");
} }
public ResultBean<List<FlowListVo>> selectFlowList() {
ResultBean<List<FlowListVo>> rb = ResultBean.fireFail();
List<FlowListVo> list = flowMapper.selectFlowList();
return rb.success().setData(list);
}
} }

31
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccDetailsVo.java

@ -0,0 +1,31 @@
package com.yxt.supervise.system.sysflowcc;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/12/1
**/
@Data
public class SysFlowccDetailsVo {
private String sid; // sid
@ApiModelProperty("流程key")
private String flowKey; // 流程key
@ApiModelProperty("流程名称")
private String flowName; // 流程名称
@ApiModelProperty("角色sid")
private String roleSid; // 角色sid
@ApiModelProperty("角色名称")
private String roleName; // 角色名称
@ApiModelProperty("角色sid")
private List<String> roleSids = new ArrayList<>(); // 角色sid
@ApiModelProperty("角色名称")
private List<String> roleNames = new ArrayList<>(); // 角色名称
}

28
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccDto.java

@ -0,0 +1,28 @@
package com.yxt.supervise.system.sysflowcc;
import com.yxt.common.core.dto.Dto;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/12/1
**/
@Data
public class SysFlowccDto implements Dto {
private String sid; // sid
@ApiModelProperty("流程key")
private String flowKey; // 流程key
@ApiModelProperty("流程名称")
private String flowName; // 流程名称
@ApiModelProperty("角色sid")
private List<String> roleSids; // 角色sid
@ApiModelProperty("角色名称")
private List<String> roleNames; // 角色名称
}

9
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccMapper.java

@ -1,7 +1,11 @@
package com.yxt.supervise.system.sysflowcc; package com.yxt.supervise.system.sysflowcc;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
/** /**
@ -13,4 +17,9 @@ import org.apache.ibatis.annotations.Select;
public interface SysFlowccMapper extends BaseMapper<SysFlowcc> { public interface SysFlowccMapper extends BaseMapper<SysFlowcc> {
@Select("select * from sys_flowcc where flowKey = #{flowKey}") @Select("select * from sys_flowcc where flowKey = #{flowKey}")
SysFlowccVo selectByFlowKey(String modelId); SysFlowccVo selectByFlowKey(String modelId);
IPage<SysFlowccVo> selectPageVo(IPage<SysFlowcc> page, @Param(Constants.WRAPPER) QueryWrapper<SysFlowcc> qw);
@Select("select * from sys_flowcc where flowKey = #{flowKey} and sid != #{sid}")
SysFlowccVo selectByFlowKeyAndSid(@Param("flowKey") String flowKey, @Param("sid") String sid);
} }

7
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccMapper.xml

@ -1,4 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.supervise.system.sysflowcc.SysFlowccMapper"> <mapper namespace="com.yxt.supervise.system.sysflowcc.SysFlowccMapper">
<select id="selectPageVo" resultType="com.yxt.supervise.system.sysflowcc.SysFlowccVo">
SELECT *
FROM sys_flowcc
<where>
${ew.sqlSegment}
</where>
</select>
</mapper> </mapper>

17
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccQuery.java

@ -0,0 +1,17 @@
package com.yxt.supervise.system.sysflowcc;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/12/1
**/
@Data
public class SysFlowccQuery implements Query {
@ApiModelProperty("流程名称")
private String flowName; // 流程名称
}

46
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccRest.java

@ -1,10 +1,13 @@
package com.yxt.supervise.system.sysflowcc; package com.yxt.supervise.system.sysflowcc;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
@ -18,9 +21,50 @@ public class SysFlowccRest {
@Autowired @Autowired
private SysFlowccService sysFlowccService; private SysFlowccService sysFlowccService;
@ApiOperation("根据流程的id查询抄送的角色") @ApiOperation("根据流程的id查询抄送的角色")
@PostMapping("/getRoleSidByModelId/{modelId}") @PostMapping("/getRoleSidByModelId/{modelId}")
public ResultBean<SysFlowccVo> getRoleSidByModelId(@PathVariable("modelId") String modelId){ public ResultBean<SysFlowccVo> getRoleSidByModelId(@PathVariable("modelId") String modelId) {
return sysFlowccService.getRoleSidByModelId(modelId); return sysFlowccService.getRoleSidByModelId(modelId);
} }
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<SysFlowccVo>> listPage(@RequestBody PagerQuery<SysFlowccQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<SysFlowccVo> pv = sysFlowccService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody SysFlowccDto dto) {
return sysFlowccService.saveOrUpdateDto(dto);
}
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
sysFlowccService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<SysFlowccDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
SysFlowccDetailsVo vo = sysFlowccService.fetchDetailsVoBySid(sid);
String roleSid = vo.getRoleSid();
String roleName = vo.getRoleName();
String[] roleSids = roleSid.split(",");
String[] roleNames = roleName.split(",");
vo.setRoleSids(Arrays.asList(roleSids));
vo.setRoleNames(Arrays.asList(roleNames));
return rb.success().setData(vo);
}
} }

75
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysflowcc/SysFlowccService.java

@ -1,19 +1,92 @@
package com.yxt.supervise.system.sysflowcc; package com.yxt.supervise.system.sysflowcc;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @description: * @description:
* @author: dimengzhe * @author: dimengzhe
* @date: 2023/11/30 * @date: 2023/11/30
**/ **/
@Service @Service
public class SysFlowccService extends MybatisBaseService<SysFlowccMapper,SysFlowcc> { public class SysFlowccService extends MybatisBaseService<SysFlowccMapper, SysFlowcc> {
public ResultBean<SysFlowccVo> getRoleSidByModelId(String modelId) { public ResultBean<SysFlowccVo> getRoleSidByModelId(String modelId) {
ResultBean<SysFlowccVo> rb = ResultBean.fireFail(); ResultBean<SysFlowccVo> rb = ResultBean.fireFail();
SysFlowccVo sysFlowccVo = baseMapper.selectByFlowKey(modelId); SysFlowccVo sysFlowccVo = baseMapper.selectByFlowKey(modelId);
return rb.success().setData(sysFlowccVo); return rb.success().setData(sysFlowccVo);
} }
public PagerVo<SysFlowccVo> listPageVo(PagerQuery<SysFlowccQuery> pq) {
SysFlowccQuery query = pq.getParams();
QueryWrapper<SysFlowcc> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getFlowName())) {
qw.like("flowName", query.getFlowName());
}
IPage<SysFlowcc> page = PagerUtil.queryToPage(pq);
IPage<SysFlowccVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<SysFlowccVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean saveOrUpdateDto(SysFlowccDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
List<String> roleSids = dto.getRoleSids();
List<String> roleNames = dto.getRoleNames();
StringBuilder roleSidPath = new StringBuilder();
StringBuilder roleNamePath = new StringBuilder();
if (roleSids.isEmpty()) {
return rb.setMsg("请选择角色");
}
for (String roleSid : roleSids) {
roleSidPath.append(roleSid).append(",");
}
for (String roleName : roleNames) {
roleNamePath.append(roleName).append(",");
}
if (StringUtils.isBlank(dtoSid)) {
SysFlowccVo sysFlowccVo = baseMapper.selectByFlowKey(dto.getFlowKey());
if (sysFlowccVo != null) {
return rb.setMsg("此流程已存在,请重新选择");
}
SysFlowcc sysFlowcc = new SysFlowcc();
sysFlowcc.setFlowKey(dto.getFlowKey());
sysFlowcc.setFlowName(dto.getFlowName());
sysFlowcc.setRoleSid(roleSidPath.substring(0, roleSidPath.lastIndexOf(",")));
sysFlowcc.setRoleName(roleNamePath.substring(0, roleNamePath.lastIndexOf(",")));
save(sysFlowcc);
return rb.success().setMsg("添加成功");
}
SysFlowcc sysFlowcc = fetchBySid(dtoSid);
if (sysFlowcc == null) {
return rb.setMsg("流程抄送不存在");
}
SysFlowccVo sysFlowccVo = baseMapper.selectByFlowKeyAndSid(dto.getFlowKey(), dtoSid);
if (sysFlowccVo != null) {
return rb.setMsg("此流程已存在,请重新选择");
}
sysFlowcc.setFlowKey(dto.getFlowKey());
sysFlowcc.setFlowName(dto.getFlowName());
sysFlowcc.setRoleSid(roleSidPath.substring(0, roleSidPath.lastIndexOf(",")));
sysFlowcc.setRoleName(roleNamePath.substring(0, roleNamePath.lastIndexOf(",")));
baseMapper.updateById(sysFlowcc);
return rb.success().setMsg("修改成功");
}
public SysFlowccDetailsVo fetchDetailsVoBySid(String sid) {
SysFlowcc entity = fetchBySid(sid);
SysFlowccDetailsVo vo = new SysFlowccDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
} }

Loading…
Cancel
Save