12 changed files with 278 additions and 5 deletions
@ -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_; |
|||
} |
@ -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(); |
|||
} |
@ -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> |
@ -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<>(); // 角色名称
|
|||
} |
@ -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; // 角色名称
|
|||
} |
@ -1,4 +1,11 @@ |
|||
<?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.system.sysflowcc.SysFlowccMapper"> |
|||
<select id="selectPageVo" resultType="com.yxt.supervise.system.sysflowcc.SysFlowccVo"> |
|||
SELECT * |
|||
FROM sys_flowcc |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
</mapper> |
@ -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; // 流程名称
|
|||
} |
@ -1,19 +1,92 @@ |
|||
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.utils.PagerUtil; |
|||
import com.yxt.common.core.query.PagerQuery; |
|||
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 java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2023/11/30 |
|||
**/ |
|||
@Service |
|||
public class SysFlowccService extends MybatisBaseService<SysFlowccMapper,SysFlowcc> { |
|||
public class SysFlowccService extends MybatisBaseService<SysFlowccMapper, SysFlowcc> { |
|||
public ResultBean<SysFlowccVo> getRoleSidByModelId(String modelId) { |
|||
ResultBean<SysFlowccVo> rb = ResultBean.fireFail(); |
|||
SysFlowccVo sysFlowccVo = baseMapper.selectByFlowKey(modelId); |
|||
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…
Reference in new issue