Browse Source

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

master
dimengzhe 3 years ago
parent
commit
a48d69b0ae
  1. 28
      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. 46
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlService.java

28
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.vo.PagerVo;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@ -20,7 +21,7 @@ public interface SysProUrlFeign {
*/
@PostMapping("/list")
@ResponseBody
public ResultBean<PagerVo<SysProUrlVo>> list(@RequestBody PagerQuery<SysProUrlQuery> pq) ;
public ResultBean<PagerVo<SysProUrlVo>> list(@RequestBody PagerQuery<SysProUrlQuery> pq);
/**
@ -28,20 +29,21 @@ public interface SysProUrlFeign {
*/
@GetMapping(value = "/getSysProUrl/{formId}")
@ResponseBody
public ResultBean getSysProUrl(@PathVariable("formId") int formId);
public ResultBean getSysProUrl(@PathVariable("formId") int formId);
/**
* 根据流程实例id获取form信息
*/
@GetMapping(value = "/getForm/{proId}")
@ResponseBody
public ResultBean getForm(@PathVariable("proId") String proId);
public ResultBean getForm(@PathVariable("proId") String proId);
/**
* 新增流程业务表单url对象
*/
@PostMapping(value="/add")
@PostMapping(value = "/add")
@ResponseBody
public ResultBean<String> add(@RequestBody SysProUrl sysProUrl) ;
public ResultBean<String> add(@RequestBody SysProUrl sysProUrl);
/**
* 修改流程业务表单url对象
@ -62,4 +64,20 @@ public interface SysProUrlFeign {
@ApiOperation("app根据流程定义id,节点id,终端及类型查询流程与业务表单url")
@PostMapping("/selectAppUrlByTaskDefKey")
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) {
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
public ResultBean getSysProUrl(int formId) {
ResultBean< SysProUrl> rb = ResultBean.fireFail();
ResultBean<SysProUrl> rb = ResultBean.fireFail();
SysProUrl sysProUrl = sysProUrlService.selectSysProUrlById(formId);
return rb.success().setData(sysProUrl);
return rb.success().setData(sysProUrl);
}
@Override
public ResultBean getForm(String proId) {
ResultBean< SysForm> rb = ResultBean.fireFail();
ResultBean<SysForm> rb = ResultBean.fireFail();
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}")
@Override
public ResultBean<String> remove(@PathVariable Long[] formIds) {
sysProUrlService.deleteSysProUrlByIds(formIds);
sysProUrlService.deleteSysProUrlByIds(formIds);
ResultBean<String> rb = ResultBean.fireFail();
return rb.success().setMsg("操作成功");
}
@ -106,4 +106,17 @@ public class SysProUrlController implements SysProUrlFeign {
}
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);
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">
<mapper namespace="com.yxt.anrui.flowable.biz.sysprourl.SysProUrlMapper">
<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
</select>
<select id="getSysProUrlVoTotal" resultType="int">
select count(*) as total from sys_pro_url
select count(*) as total
from sys_pro_url
</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
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="url != null">url,</if>
<if test="type != null">type,</if>
<if test="terminal != null">terminal,</if>
<if test="formId != null">formId,</if>
<if test="title != null">title</if>
<if test="url != null">
url,
</if>
<if test="type != null">
type,
</if>
<if test="terminal != null">
terminal,
</if>
<if test="formId != null">
formId,
</if>
<if test="title != null">
title
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="url != null">#{url},</if>
<if test="type != null">#{type},</if>
<if test="terminal != null">#{terminal},</if>
<if test="formId != null">#{formId},</if>
<if test="title != null">#{title},</if>
<if test="url != null">
#{url},
</if>
<if test="type != null">
#{type},
</if>
<if test="terminal != null">
#{terminal},
</if>
<if test="formId != null">
#{formId},
</if>
<if test="title != null">
#{title},
</if>
</trim>
</insert>
<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=")">
#{sid}
</foreach>
</delete>
<select id="selectSysProUrlById" parameterType="Integer" 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
<select id="selectSysProUrlById" parameterType="Integer"
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}
</select>
<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
WHERE proc_def_id=#{proc_def_id} AND (taskDefKey=#{taskDefKey} OR taskDefKey IS NULL OR taskDefKey = '')
ORDER BY terminal DESC,id ASC
WHERE proc_def_id = #{proc_def_id}
AND (taskDefKey = #{taskDefKey} OR taskDefKey IS NULL OR taskDefKey = '')
ORDER BY terminal DESC, id ASC
</select>
<select id="selectUniByTaskDefKey" parameterType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlQuery" resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo">
SELECT url,modulePluginName
<select id="selectUniByTaskDefKey" parameterType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlQuery"
resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo">
SELECT url, modulePluginName
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>
</mapper>

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

@ -37,14 +37,13 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
* @param formId 流程表单ID
* @return 流程表单
*/
public SysProUrl selectSysProUrlById(int formId)
{
return baseMapper.selectSysProUrlById(formId);
public SysProUrl selectSysProUrlById(int formId) {
return baseMapper.selectSysProUrlById(formId);
}
public IPage<SysProUrlVo> selectSysProUrlList(PagerQuery<SysProUrlQuery> pagerQuery) {
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());
List<SysProUrlVo> SysProUrlVoList = baseMapper.getSysProUrlVoList(page, qw);
int total = baseMapper.getSysProUrlVoTotal(page, qw);
@ -59,8 +58,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
* @param SysProUrl 流程表单
* @return 结果
*/
public int insertSysProUrl(SysProUrl SysProUrl)
{
public int insertSysProUrl(SysProUrl SysProUrl) {
SysProUrl.setCreateTime(new Date());
return baseMapper.insertSysProUrl(SysProUrl);
}
@ -71,8 +69,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
* @param SysProUrl 流程表单
* @return 结果
*/
public int updateSysProUrl(SysProUrl SysProUrl)
{
public int updateSysProUrl(SysProUrl SysProUrl) {
return 0;//SysProUrlMapper.updateSysProUrl(SysProUrl);
}
@ -82,8 +79,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
* @param formIds 需要删除的流程表单ID
* @return 结果
*/
public int deleteSysProUrlByIds(Long[] formIds)
{
public int deleteSysProUrlByIds(Long[] formIds) {
return baseMapper.deleteSysProUrlByIds(formIds);
}
@ -93,8 +89,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
* @param formId 流程表单ID
* @return 结果
*/
public int deleteSysProUrlById(Long formId)
{
public int deleteSysProUrlById(Long formId) {
return 0;// SysProUrlMapper.deleteSysProUrlById(formId);
}
@ -115,6 +110,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
/**
* 根据流程id及终端查询url
*
* @param proc_def_id
* @return
*/
@ -124,6 +120,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
/**
* 根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param query
* @return
*/
@ -137,6 +134,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
/**
* app根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param query
* @return
*/
@ -163,4 +161,28 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
}
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