JFlow工作流SaaS组织模式集成

JFlow工作流SAAS模式接入指南


一、安装指南


初始化数据库脚本

  1. 创建JFlow数据库:例:jflow

  2. 下载初始化sql文件,下载地址:https://gitee.com/opencc/JFlow/attach_files
    在这里插入图片描述

  3. 运行SQL文件,初始化数据库表结构

Idea运行JFlow

  1. 下载JFlow代码,下载地址:https://gitee.com/opencc/JFlow

  2. 通过Idea打开JFlow,导入maven项目

  3. 设置运行环境

    JDK1.8、Maven3.5+

  4. 设置配置文件编码为UTF-8
    在这里插入图片描述

  5. 配置启动目录

    Window下配置
    在这里插入图片描述

    Mac下配置
    在这里插入图片描述

  6. 修改配置文件

    • 修改数据库连接信息,配置文件jflow-web/src/resources/application.properties根据配置项配置spring.profiles.active=mysql的值,修改对应的数据配置信息;
    • 修改端口号,配置文件jflow-web/src/resources/jflow.properties中配置项server.port的值;
    • 修改运行模式,配置文件jflow-web/src/resources/jflow.properties中配置项IsStartJarPackage的值
  7. 运行启动项JFlowApplication

  8. 访问页面:http://localhost:端口

二、SAAS模式组织结构同步


部门表同步

port_dept部门编号部门名称父编号组织编号
字段NONameParentNoOrgNo
格式父节点:部门;子节点:组织 + 部门——必须为:0部门对应组织表中的编号
举例1河南省***研究院01
1_0001研发部11

用户表同步

port_emp用户编号用户名称部门编号用户Id组织编号手机号密码
字段NoNameFK_DeptUserIDOrgNoTelPass
格式组织编号+账号————账号——账号默认:123
举例1_superadminsuperadmin1superadmin1superadmin123
1_zhangsanzhangsan1_0001zhangsan1zhangsan123

用户部门中间表同步

port_deptemp主键部门编号用户账号组织编号用户编号
字段MyPKFK_DeptFK_EmpOrgNoEmpNo
格式部门编号 + 账号————————
举例1_superadmin1superadmin11_superadmin
1_0001_zhangsan1_0001zhangsan11_zhangsan

组织表同步

port_org组织编号组织名称管理员账号管理员名称
字段NoNameAdminerAdminerName
格式————————
举例1河南省***研究院superadmin超级管理员

组织管理员表同步

port_orgadminer主键组织编号用户编号
字段MyPKOrgNoFK_Emp
格式自增序号+部门编号+账号————
举例1_1_superadmin11_superadmin

组织用户表同步

port_orgemp用户编号组织编号
字段FK_EmpOrgNo
格式账号——
举例superadmin1

三、修改JFlow相关文件


配置修改

修改组织结构运行类型,配置文件jflow-web/src/resources/jflow.properties中配置项CCBPMRunModel的值为2

登录方法修改

jflow-core/bp.wf.httphandler.WF_AppClassic.Login_Submit()

//调用登录方法.
Dev2Interface.Port_GenerToken(emp.getUserID());
Dev2Interface.Port_Login(emp.getUserID(),emp.getOrgNo());

所在组织修改

jflow-core/bp.web.WebUser.getOrgNo()
  
  if (SystemConfig.getCCBPMRunModel() == CCBPMRunModel.SAAS) {
    String no = DBAccess.RunSQLReturnString("SELECT OrgNo FROM Port_Emp WHERE UserID='" + WebUser.getNo() + "'");
    if(DataType.IsNullOrEmpty(no)==true)
      throw new RuntimeException("err@SAAS模式人员编号为["+WebUser.getNo()+"]的Port_Emp表中组织编号不能为空");
    setItemValue("OrgNo", no);
    return no;
  }

操作员修改

jflow-core/bp.port.Emp.Emp(String userID)
  
  if (bp.difference.SystemConfig.getCCBPMRunModel() == CCBPMRunModel.SAAS)
  {
    if (userID.equals("admin") == true)
    {
      this.SetValByKey("No", userID);
    }else if (userID.contains("_")){
      this.SetValByKey("No", userID);
    }
    else
    {
      this.SetValByKey("No", WebUser.getOrgNo() + "_" + userID);
    }
  }

发送方法修改

jflow-core/bp.wf.httphandler.WF_MyFlow.Send()

//授权人
if (DataType.IsNullOrEmpty(auther) == false)
{
  //  bp.web.WebUser.IsAuthorize = true;
  WebUser.setAuth(auther);
  WebUser.setAuthName(DBAccess.RunSQLReturnString("SELECT Name FROM Port_Emp WHERE No='" + auther + "'"));
}

四、初始化业务数据


流程目录

新建组织时需要创建所对应的初始化流程目录**(wf_flowsort)**

表单目录

新建组织时需要创建所对应的初始化表单目录**(sys_formtree)**

五、常见问题


  • 后台报错:某个字段不存在,不需要处理,JFlow会自动修复数据库表结构
  • 前台提示错误:出现用户、部门、组织不存在时,需要找到对应源码,修改对应的字段
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只大耗子。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值