更多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_id from 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); }
前端部分下个文章介绍。