Browse Source

编写pc端流程中根据流程定义iD和节点id获取对应的url

master
dimengzhe 3 years ago
parent
commit
a48d69b0ae
  1. 30
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeign.java
  2. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeignFallBack.java
  3. 23
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlController.java
  4. 10
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.java
  5. 90
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.xml
  6. 58
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlService.java

30
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeign.java

@ -4,6 +4,7 @@ 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 com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -20,28 +21,29 @@ public interface SysProUrlFeign {
*/ */
@PostMapping("/list") @PostMapping("/list")
@ResponseBody @ResponseBody
public ResultBean<PagerVo<SysProUrlVo>> list(@RequestBody PagerQuery<SysProUrlQuery> pq) ; public ResultBean<PagerVo<SysProUrlVo>> list(@RequestBody PagerQuery<SysProUrlQuery> pq);
/** /**
* 获取流程业务表单url对象 * 获取流程业务表单url对象
*/ */
@GetMapping(value = "/getSysProUrl/{formId}") @GetMapping(value = "/getSysProUrl/{formId}")
@ResponseBody @ResponseBody
public ResultBean getSysProUrl(@PathVariable("formId") int formId); public ResultBean getSysProUrl(@PathVariable("formId") int formId);
/** /**
* 根据流程实例id获取form信息 * 根据流程实例id获取form信息
*/ */
@GetMapping(value = "/getForm/{proId}") @GetMapping(value = "/getForm/{proId}")
@ResponseBody @ResponseBody
public ResultBean getForm(@PathVariable("proId") String proId); public ResultBean getForm(@PathVariable("proId") String proId);
/** /**
* 新增流程业务表单url对象 * 新增流程业务表单url对象
*/ */
@PostMapping(value="/add") @PostMapping(value = "/add")
@ResponseBody @ResponseBody
public ResultBean<String> add(@RequestBody SysProUrl sysProUrl) ; public ResultBean<String> add(@RequestBody SysProUrl sysProUrl);
/** /**
* 修改流程业务表单url对象 * 修改流程业务表单url对象
@ -62,4 +64,20 @@ public interface SysProUrlFeign {
@ApiOperation("app根据流程定义id,节点id,终端及类型查询流程与业务表单url") @ApiOperation("app根据流程定义id,节点id,终端及类型查询流程与业务表单url")
@PostMapping("/selectAppUrlByTaskDefKey") @PostMapping("/selectAppUrlByTaskDefKey")
ResultBean<AppUrlVo> selectAppUrlByTaskDefKey(@Valid @RequestBody AppSysProUrlQuery query); ResultBean<AppUrlVo> selectAppUrlByTaskDefKey(@Valid @RequestBody AppSysProUrlQuery query);
/**
* pc根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param procDefId 流程定义id
* @param taskDefKey 节点id
* @param type 类型1办理2详情
* @return
*/
@ApiOperation("查询流程与业务表单的url")
@GetMapping("/selectUrlByKey")
ResultBean<String> selectUrlByKey(@ApiParam(value = "流程定义id") @RequestParam(value = "procDefId") String procDefId,
@ApiParam(value = "节点id") @RequestParam(value = "taskDefKey") String taskDefKey,
@ApiParam(value = "类型:1办理,2详情") @RequestParam(value = "type") String type);
} }

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeignFallBack.java

@ -54,4 +54,9 @@ public class SysProUrlFeignFallBack implements SysProUrlFeign {
public ResultBean<AppUrlVo> selectAppUrlByTaskDefKey(AppSysProUrlQuery query) { public ResultBean<AppUrlVo> selectAppUrlByTaskDefKey(AppSysProUrlQuery query) {
return null; return null;
} }
@Override
public ResultBean<String> selectUrlByKey(String procDefId, String taskDefKey, String type) {
return null;
}
} }

23
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlController.java

@ -40,16 +40,16 @@ public class SysProUrlController implements SysProUrlFeign {
@Override @Override
public ResultBean getSysProUrl(int formId) { public ResultBean getSysProUrl(int formId) {
ResultBean< SysProUrl> rb = ResultBean.fireFail(); ResultBean<SysProUrl> rb = ResultBean.fireFail();
SysProUrl sysProUrl = sysProUrlService.selectSysProUrlById(formId); SysProUrl sysProUrl = sysProUrlService.selectSysProUrlById(formId);
return rb.success().setData(sysProUrl); return rb.success().setData(sysProUrl);
} }
@Override @Override
public ResultBean getForm(String proId) { public ResultBean getForm(String proId) {
ResultBean< SysForm> rb = ResultBean.fireFail(); ResultBean<SysForm> rb = ResultBean.fireFail();
SysForm sysForm = sysDeployFormService.selectSysDeployFormByDeployId(proId); SysForm sysForm = sysDeployFormService.selectSysDeployFormByDeployId(proId);
return rb.success().setData(sysForm); return rb.success().setData(sysForm);
} }
/** /**
@ -73,7 +73,7 @@ public class SysProUrlController implements SysProUrlFeign {
@DeleteMapping("/{formIds}") @DeleteMapping("/{formIds}")
@Override @Override
public ResultBean<String> remove(@PathVariable Long[] formIds) { public ResultBean<String> remove(@PathVariable Long[] formIds) {
sysProUrlService.deleteSysProUrlByIds(formIds); sysProUrlService.deleteSysProUrlByIds(formIds);
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
return rb.success().setMsg("操作成功"); return rb.success().setMsg("操作成功");
} }
@ -106,4 +106,17 @@ public class SysProUrlController implements SysProUrlFeign {
} }
return new ResultBean<AppUrlVo>().success().setData(appUrlVo); return new ResultBean<AppUrlVo>().success().setData(appUrlVo);
} }
/**
* pc根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param procDefId 流程定义id
* @param taskDefKey 节点id
* @param type 类型1办理2详情
* @return
*/
@Override
public ResultBean<String> selectUrlByKey(String procDefId, String taskDefKey, String type) {
return sysProUrlService.selectUrlByKey(procDefId, taskDefKey, type);
}
} }

10
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.java

@ -79,4 +79,14 @@ public interface SysProUrlMapper extends BaseMapper<SysProUrl> {
List<SysProUrlVo> selectListByProcDefId(@Param("proc_def_id") String proc_def_id, @Param("taskDefKey") String taskDefKey); List<SysProUrlVo> selectListByProcDefId(@Param("proc_def_id") String proc_def_id, @Param("taskDefKey") String taskDefKey);
SysProUrlVo selectUniByTaskDefKey(SysProUrlQuery query); SysProUrlVo selectUniByTaskDefKey(SysProUrlQuery query);
/**
* pc根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param procDefId 流程id
* @param taskDefKey 节点iD
* @param type 类型1办理2详情
* @return
*/
String selectUrlByKey(@Param("procDefId") String procDefId, @Param("taskDefKey") String taskDefKey, @Param("type") String type);
} }

90
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.xml

@ -2,50 +2,96 @@
<!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.anrui.flowable.biz.sysprourl.SysProUrlMapper"> <mapper namespace="com.yxt.anrui.flowable.biz.sysprourl.SysProUrlMapper">
<select id="getSysProUrlVoList" resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrl"> <select id="getSysProUrlVoList" resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrl">
select id as id, url as url, type as type, terminal as terminal, formId as formId, title as title select id as id, url as url, type as type, terminal as terminal, formId as formId, title as title
from sys_pro_url from sys_pro_url
</select> </select>
<select id="getSysProUrlVoTotal" resultType="int"> <select id="getSysProUrlVoTotal" resultType="int">
select count(*) as total from sys_pro_url select count(*) as total
from sys_pro_url
</select> </select>
<insert id="insertSysProUrl" parameterType="com.yxt.anrui.flowable.api.sysprourl.SysProUrl" useGeneratedKeys="true" keyProperty="sid"> <insert id="insertSysProUrl" parameterType="com.yxt.anrui.flowable.api.sysprourl.SysProUrl" useGeneratedKeys="true"
keyProperty="sid">
insert into sys_pro_url insert into sys_pro_url
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="url != null">url,</if> <if test="url != null">
<if test="type != null">type,</if> url,
<if test="terminal != null">terminal,</if> </if>
<if test="formId != null">formId,</if> <if test="type != null">
<if test="title != null">title</if> type,
</if>
<if test="terminal != null">
terminal,
</if>
<if test="formId != null">
formId,
</if>
<if test="title != null">
title
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="url != null">#{url},</if> <if test="url != null">
<if test="type != null">#{type},</if> #{url},
<if test="terminal != null">#{terminal},</if> </if>
<if test="formId != null">#{formId},</if> <if test="type != null">
<if test="title != null">#{title},</if> #{type},
</if>
<if test="terminal != null">
#{terminal},
</if>
<if test="formId != null">
#{formId},
</if>
<if test="title != null">
#{title},
</if>
</trim> </trim>
</insert> </insert>
<delete id="deleteSysProUrlByIds" parameterType="String"> <delete id="deleteSysProUrlByIds" parameterType="String">
delete from sys_pro_url where sid in delete
from sys_pro_url where sid in
<foreach item="formId" collection="array" open="(" separator="," close=")"> <foreach item="formId" collection="array" open="(" separator="," close=")">
#{sid} #{sid}
</foreach> </foreach>
</delete> </delete>
<select id="selectSysProUrlById" parameterType="Integer" resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrl"> <select id="selectSysProUrlById" parameterType="Integer"
select id as id, url as url, type as type, terminal as terminal, formId as formId, title as title from sys_pro_url resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrl">
select id as id, url as url, type as type, terminal as terminal, formId as formId, title as title
from sys_pro_url
where formId = #{formId} where formId = #{formId}
</select> </select>
<select id="selectListByProcDefId" resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo"> <select id="selectListByProcDefId" resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo">
SELECT url, type, terminal,formId,title,proc_def_id, taskDefKey,modulePluginName SELECT url,
type,
terminal,
formId,
title,
proc_def_id,
taskDefKey,
modulePluginName
FROM sys_pro_url FROM sys_pro_url
WHERE proc_def_id=#{proc_def_id} AND (taskDefKey=#{taskDefKey} OR taskDefKey IS NULL OR taskDefKey = '') WHERE proc_def_id = #{proc_def_id}
ORDER BY terminal DESC,id ASC AND (taskDefKey = #{taskDefKey} OR taskDefKey IS NULL OR taskDefKey = '')
ORDER BY terminal DESC, id ASC
</select> </select>
<select id="selectUniByTaskDefKey" parameterType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlQuery" resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo"> <select id="selectUniByTaskDefKey" parameterType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlQuery"
SELECT url,modulePluginName resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo">
SELECT url, modulePluginName
FROM sys_pro_url FROM sys_pro_url
WHERE proc_def_id=#{proc_def_id} AND type=#{type} AND terminal=#{terminal} AND taskDefKey=#{taskDefKey} WHERE proc_def_id = #{proc_def_id}
AND type = #{type}
AND terminal = #{terminal}
AND taskDefKey = #{taskDefKey}
</select>
<select id="selectUrlByKey" resultType="java.lang.String">
select url
from sys_pro_url
where proc_def_id = #{procDefId}
and type = #{type}
and taskDefKey = #{taskDefKey}
and terminal = 1
</select> </select>
</mapper> </mapper>

58
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlService.java

@ -20,7 +20,7 @@ import java.util.List;
/** /**
* 流程表单Service业务层处理 * 流程表单Service业务层处理
* *
* @author XuanXuan Xuan * @author XuanXuan Xuan
* @date 2021-04-03 * @date 2021-04-03
*/ */
@ -33,18 +33,17 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
/** /**
* 查询流程表单 * 查询流程表单
* *
* @param formId 流程表单ID * @param formId 流程表单ID
* @return 流程表单 * @return 流程表单
*/ */
public SysProUrl selectSysProUrlById(int formId) public SysProUrl selectSysProUrlById(int formId) {
{ return baseMapper.selectSysProUrlById(formId);
return baseMapper.selectSysProUrlById(formId);
} }
public IPage<SysProUrlVo> selectSysProUrlList(PagerQuery<SysProUrlQuery> pagerQuery) { public IPage<SysProUrlVo> selectSysProUrlList(PagerQuery<SysProUrlQuery> pagerQuery) {
List<SysProUrlVo> SysProUrls = baseMapper.selectListVo(); List<SysProUrlVo> SysProUrls = baseMapper.selectListVo();
IPage<SysProUrlVo> page =new Page<>();// PagerUtil.queryToPage(pagerQuery); IPage<SysProUrlVo> page = new Page<>();// PagerUtil.queryToPage(pagerQuery);
QueryWrapper<SysProUrlVo> qw = createQueryWrapper(pagerQuery.getParams()); QueryWrapper<SysProUrlVo> qw = createQueryWrapper(pagerQuery.getParams());
List<SysProUrlVo> SysProUrlVoList = baseMapper.getSysProUrlVoList(page, qw); List<SysProUrlVo> SysProUrlVoList = baseMapper.getSysProUrlVoList(page, qw);
int total = baseMapper.getSysProUrlVoTotal(page, qw); int total = baseMapper.getSysProUrlVoTotal(page, qw);
@ -55,46 +54,42 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
/** /**
* 新增流程表单 * 新增流程表单
* *
* @param SysProUrl 流程表单 * @param SysProUrl 流程表单
* @return 结果 * @return 结果
*/ */
public int insertSysProUrl(SysProUrl SysProUrl) public int insertSysProUrl(SysProUrl SysProUrl) {
{
SysProUrl.setCreateTime(new Date()); SysProUrl.setCreateTime(new Date());
return baseMapper.insertSysProUrl(SysProUrl); return baseMapper.insertSysProUrl(SysProUrl);
} }
/** /**
* 修改流程表单 * 修改流程表单
* *
* @param SysProUrl 流程表单 * @param SysProUrl 流程表单
* @return 结果 * @return 结果
*/ */
public int updateSysProUrl(SysProUrl SysProUrl) public int updateSysProUrl(SysProUrl SysProUrl) {
{
return 0;//SysProUrlMapper.updateSysProUrl(SysProUrl); return 0;//SysProUrlMapper.updateSysProUrl(SysProUrl);
} }
/** /**
* 批量删除流程表单 * 批量删除流程表单
* *
* @param formIds 需要删除的流程表单ID * @param formIds 需要删除的流程表单ID
* @return 结果 * @return 结果
*/ */
public int deleteSysProUrlByIds(Long[] formIds) public int deleteSysProUrlByIds(Long[] formIds) {
{
return baseMapper.deleteSysProUrlByIds(formIds); return baseMapper.deleteSysProUrlByIds(formIds);
} }
/** /**
* 删除流程表单信息 * 删除流程表单信息
* *
* @param formId 流程表单ID * @param formId 流程表单ID
* @return 结果 * @return 结果
*/ */
public int deleteSysProUrlById(Long formId) public int deleteSysProUrlById(Long formId) {
{
return 0;// SysProUrlMapper.deleteSysProUrlById(formId); return 0;// SysProUrlMapper.deleteSysProUrlById(formId);
} }
@ -115,6 +110,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
/** /**
* 根据流程id及终端查询url * 根据流程id及终端查询url
*
* @param proc_def_id * @param proc_def_id
* @return * @return
*/ */
@ -124,6 +120,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
/** /**
* 根据流程定义id节点id终端及类型查询流程与业务表单url * 根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param query * @param query
* @return * @return
*/ */
@ -137,6 +134,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
/** /**
* app根据流程定义id节点id终端及类型查询流程与业务表单url * app根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param query * @param query
* @return * @return
*/ */
@ -163,4 +161,28 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
} }
return appUrlVo; return appUrlVo;
} }
/**
* pc根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param procDefId 流程id
* @param taskDefKey 节点iD
* @param type 类型1办理2详情
* @return
*/
public ResultBean<String> selectUrlByKey(String procDefId, String taskDefKey, String type) {
ResultBean<String> rb = ResultBean.fireFail();
//验证参数
if (StringUtils.isBlank(procDefId)) {
return rb.setMsg("流程定义id不能为空");
}
if (StringUtils.isBlank(taskDefKey)) {
return rb.setMsg("节点id不能为空");
}
if (StringUtils.isBlank(type)) {
return rb.setMsg("请指定要操作的类型");
}
String url = baseMapper.selectUrlByKey(procDefId, taskDefKey, type);
return null;
}
} }

Loading…
Cancel
Save