当前位置:首页 > 编程笔记 > 正文
已解决

基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程的集成方法与步骤(一)

来自网友在路上 169869提问 提问时间:2023-10-22 18:48:51阅读次数: 69

最佳答案 问答题库698位专家为你答疑解惑

更多ruoyi-nbcio功能请看演示系统

gitee源代码地址

前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio

演示地址:RuoYi-Nbcio后台管理系统

由于大家最自定义业务表单的整个集成方法还不熟悉,下面大概介绍一下这个流程与方法。

1、首先需要建立数据库表,根据自己业务进行数据表的建立,目前系统需要在另外sql进行数据库表的建立,以后可以考虑系统内也可以建立数据库表

2、通过系统工具的代码生成里,可以导入相应需要的数据库表

里面可以进行编辑,同步,生成代码,这里主要是生成代码。

3、根据生成的代码zip文件,解压后根据需要后端前端代码拷贝到相应的项目里

类似上面的文件,同时sql导入到数据库,这个主要是菜单内容,到时候会在系统工具里出现,根据需要移动到对应的菜单里

4、生成的数据库服务实现类需要修改,比如wf_demo修改如下,主要是继承于WfCallBackServiceI,同时需要命名服务名称,后面关联等都需要用到。

@RequiredArgsConstructor

@Service("wfDemoService")

public class WfDemoServiceImpl extends ServiceImpl<WfDemoMapper, WfDemo> implements IWfDemoService, WfCallBackServiceI {

根据自己需要同时完成相应需要的方法类。

5、mapper.xml需要增加如下的sql,以便接口使用

<select id="myPage" resultType="com.ruoyi.workflow.domain.Vo.WfDemoVo">select t.*,b.process_definition_key,b.process_definition_id,b.process_instance_id,b.title,b.data_id,b.service_impl_name,b.proposer,b.act_status,b.todo_users,b.done_users,b.priority,b.task_id,b.task_name_id,b.task_name,b.deploy_idfrom wf_demo t left join wf_my_business b on b.data_id = t.demo_id${ew.customSqlSegment}</select>

6、所生成的Vo类需要修改一下,从WfMyBusiness进行继承,如demo

public class WfDemoVo extends WfMyBusiness {

7、接口类的list需要修改,因为需要增加相应流程信息,比如demo

@SaCheckPermission("workflow:demo:list")@GetMapping("/list")public TableDataInfo<WfDemoVo> list(WfDemoVo vo, PageQuery pageQuery, HttpServletRequest req) {//by nbacheng for java.sql.SQLSyntaxErrorException: ORA-00918: 未明确定义列Map<String, String[]> ParameterMap = new HashMap<String, String[]>(req.getParameterMap());String[] column = new String[]{""};if(ParameterMap!=null&&  ParameterMap.containsKey("column")) {column[0] = ParameterMap.get("column")[0];column[0] = "t."+ column[0];ParameterMap.replace("column", column);log.info("修改的排序规则>>列:" + ParameterMap.get("column")[0]);			}QueryWrapper<WfDemoVo> queryWrapper = QueryGenerator.initQueryWrapper(vo, ParameterMap);Page<WfDemoVo> page = new Page<WfDemoVo>(pageQuery.getPageNum(), pageQuery.getPageSize());Page<WfDemoVo> result = iWfDemoService.myPage(page, queryWrapper);return TableDataInfo.build(result);}

前端部分下个文章介绍。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程的集成方法与步骤(一)":http://eshow365.cn/6-21857-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!