当前位置:   article > 正文

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

flowable 结合业务表单保存

更多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,以便接口使用

  1. <select id="myPage" resultType="com.ruoyi.workflow.domain.Vo.WfDemoVo">
  2. select t.*,b.process_definition_key,
  3. b.process_definition_id,
  4. b.process_instance_id,
  5. b.title,
  6. b.data_id,
  7. b.service_impl_name,
  8. b.proposer,
  9. b.act_status,
  10. b.todo_users,
  11. b.done_users,
  12. b.priority,
  13. b.task_id,
  14. b.task_name_id,
  15. b.task_name,
  16. b.deploy_id
  17. from wf_demo t left join wf_my_business b on b.data_id = t.demo_id
  18. ${ew.customSqlSegment}
  19. </select>

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

public class WfDemoVo extends WfMyBusiness {

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

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

前端部分下个文章介绍。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/852383
推荐阅读
相关标签
  

闽ICP备14008679号