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" ?> |
<?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> |
@ -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; |
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…
Reference in new issue