第一步,参与者数据源配置

目前提供3种参与者数据源(员工,角色,部门),还有一种sql语句

XML配置如下

 <?xml version="1.0" encoding="utf-8"?>
<!--参与者配置-->
<flowParticipants>
<chooseParticipant>
<id>1</id>
<name>员工参与者</name>
<sql>SELECT ID,FullName Participant FROM dbo.Hr_Employee WHERE ID IN ({0})</sql>
<connectionKey>HRBusinessSqlServer</connectionKey>
<!--数据源-->
<chooseDataSource tableName="dbo.Hr_Employee" selectField="*" sortField="ID">
<whereFields>
<whereField fieldName="DictionaryNo" fieldText="员工代码"></whereField>
<whereField fieldName="FullName" fieldText="员工姓名"></whereField>
</whereFields>
<columnFields>
<columnField fieldName="DictionaryNo" fieldText="员工代码" align="center"></columnField>
<columnField fieldName="FullName" fieldText="员工姓名" align="center"></columnField>
<columnField fieldName="EnName" fieldText="英文名" align="center"></columnField>
<columnField fieldName="Gender" fieldText="性别" align="center"></columnField>
<columnField fieldName="DutyName" fieldText="所属岗位" align="center"></columnField>
<columnField fieldName="WorkKind" fieldText="用工性质" align="center"></columnField>
</columnFields>
</chooseDataSource>
<!--字段映射-->
<chooseDataMappers>
<chooseDataMapper type="valueField" name="员工ID" fromField="ID" toField="ID"></chooseDataMapper>
<chooseDataMapper type="textField" name="员工姓名" fromField="FullName" toField="ApproverName"></chooseDataMapper>
</chooseDataMappers>
</chooseParticipant> <chooseParticipant>
<id>2</id>
<name>岗位参与者</name>
<sql>SELECT ID,FullName Participant FROM dbo.Hr_Employee WHERE DutyID IN ({0})</sql>
<connectionKey>HRBusinessSqlServer</connectionKey>
<!--数据源-->
<chooseDataSource tableName="dbo.View_Duty" selectField="*" sortField="ID">
<whereFields>
<whereField fieldName="DictionaryNo" fieldText="岗位代码"></whereField>
<whereField fieldName="DutyName" fieldText="岗位名称"></whereField>
</whereFields>
<columnFields>
<columnField fieldName="DictionaryNo" fieldText="岗位代码" align="center"></columnField>
<columnField fieldName="DutyName" fieldText="岗位名称" align="center"></columnField>
<columnField fieldName="DepName" fieldText="部门名称" align="center"></columnField>
<columnField fieldName="LimitedStaffing" fieldText="定编人数" align="center"></columnField>
</columnFields>
</chooseDataSource>
<!--字段映射-->
<chooseDataMappers>
<chooseDataMapper type="valueField" name="岗位ID" fromField="ID" toField="ID"></chooseDataMapper>
<chooseDataMapper type="textField" name="岗位名称" fromField="DutyName" toField="ApproverName"></chooseDataMapper>
</chooseDataMappers>
</chooseParticipant> <chooseParticipant>
<id>3</id>
<name>部门参与者</name>
<sql>SELECT ID,FullName Participant FROM dbo.Hr_Employee WHERE DepID IN ({0})</sql>
<connectionKey>HRBusinessSqlServer</connectionKey>
<!--数据源-->
<chooseDataSource tableName="dbo.View_Hr_Department" selectField="*" sortField="ID">
<whereFields>
<whereField fieldName="DictionaryNo" fieldText="部门代码"></whereField>
<whereField fieldName="DepName" fieldText="部门名称"></whereField>
</whereFields>
<columnFields>
<columnField fieldName="DictionaryNo" fieldText="部门代码" align="center"></columnField>
<columnField fieldName="DepName" fieldText="部门名称" align="center"></columnField>
<columnField fieldName="Manager" fieldText="部分负责人" align="center"></columnField>
<columnField fieldName="CompanyName" fieldText="所属公司" align="center"></columnField>
<columnField fieldName="DepTel" fieldText="部分电话" align="center"></columnField>
</columnFields>
</chooseDataSource>
<!--字段映射-->
<chooseDataMappers>
<chooseDataMapper type="valueField" name="部分ID" fromField="ID" toField="ID"></chooseDataMapper>
<chooseDataMapper type="textField" name="部分名称" fromField="DepName" toField="ApproverName"></chooseDataMapper>
</chooseDataMappers>
</chooseParticipant> <sqlParticipant>
<id>4</id>
<name>SQL语句参与者</name>
<connectionKey>HRBusinessSqlServer</connectionKey>
<sqlList>
<executeSql keyID="7cd0625e-c200-4ae4-8798-f250bd132a0b" name="给部门负责人审批" time="2017-08-30 13:19:51">
<flowID>3</flowID>
<nodeID>flow_node_11707280144501</nodeID>
<sqlText>
SELECT b.EmployeeID ID,b.Manager Participant FROM dbo.Hr_Employee a
JOIN dbo.View_Hr_Department b ON b.ID=a.DepID
WHERE a.ID={0}
</sqlText>
</executeSql>
<executeSql keyID="8fe98a63-6d37-4566-be76-110fa567baf7" name="给部分负责人审批" time="2017-08-29 15:09:07">
<flowID>4</flowID>
<nodeID>flow_node_11708291502855</nodeID>
<sqlText>
SELECT b.EmployeeID ID,b.Manager Participant FROM dbo.Hr_Employee a
JOIN dbo.View_Hr_Department b ON b.ID=a.DepID
WHERE a.ID={0}</sqlText>
</executeSql>
<executeSql keyID="bb561444-7a4d-4590-8f3b-6d1e9eab98fe" name=" 给部分负责人审批" time="2017-09-03 22:25:13">
<flowID>5</flowID>
<nodeID>flow_node_11709032218118</nodeID>
<sqlText>
SELECT b.EmployeeID ID,b.Manager Participant FROM dbo.Hr_Employee a
JOIN dbo.View_Hr_Department b ON b.ID=a.DepID
WHERE a.ID={0}</sqlText>
</executeSql>
<executeSql keyID="c68e2cea-3894-4ddc-bfe1-95ee3c263a4e" name="部分负责人" time="2017-09-07 21:15:36">
<flowID>6</flowID>
<nodeID>flow_node_11709072113622</nodeID>
<sqlText>
SELECT b.EmployeeID ID,b.Manager Participant FROM dbo.Hr_Employee a
JOIN dbo.View_Hr_Department b ON b.ID=a.DepID
WHERE a.ID={0}</sqlText>
</executeSql>
<executeSql keyID="00af66f2-1d87-42b2-8f1a-9eca73810685" name="给部门负责人审批" time="2017-09-09 23:34:54">
<flowID>7</flowID>
<nodeID>flow_node_11709092333349</nodeID>
<sqlText>
SELECT b.EmployeeID ID,b.Manager Participant FROM dbo.Hr_Employee a
JOIN dbo.View_Hr_Department b ON b.ID=a.DepID
WHERE a.ID={0}</sqlText>
</executeSql>
<executeSql keyID="7c154523-8c7a-401c-b999-34c1ec9f68c4" name="给部分负责人审批" time="2017-09-20 09:40:45">
<flowID>4</flowID>
<nodeID>flow_node_11708291502855</nodeID>
<sqlText>
SELECT b.EmployeeID ID,b.Manager Participant FROM dbo.Hr_Employee a
JOIN dbo.View_Hr_Department b ON b.ID=a.DepID
WHERE a.ID={0}</sqlText>
</executeSql>
<executeSql keyID="f293d910-e7f3-409c-996d-389e475f6790" name="给部门负责人审批" time="2017-09-22 21:23:39">
<flowID>3</flowID>
<nodeID>flow_node_11707261535743</nodeID>
<sqlText> SELECT b.EmployeeID ID,b.Manager Participant FROM dbo.Hr_Employee a
JOIN dbo.View_Hr_Department b ON b.ID=a.DepID
WHERE a.ID={0}</sqlText>
</executeSql>
<executeSql keyID="1f51f9db-267b-4e07-9c21-9b326f6ba190" name="给部门负责人审批" time="2017-09-23 00:47:18">
<flowID>3</flowID>
<nodeID>flow_node_117072801400062</nodeID>
<sqlText> SELECT b.EmployeeID ID,b.Manager Participant FROM dbo.Hr_Employee a
JOIN dbo.View_Hr_Department b ON b.ID=a.DepID
WHERE a.ID={0}</sqlText>
</executeSql>
<executeSql keyID="e46e7772-0962-4cbe-abf2-4ab662b1db2b" name=" 给部分负责人审批" time="2017-09-28 15:17:14">
<flowID>5</flowID>
<nodeID>flow_node_11709032218118</nodeID>
<sqlText>
SELECT b.EmployeeID ID,b.Manager Participant FROM dbo.Hr_Employee a
JOIN dbo.View_Hr_Department b ON b.ID=a.DepID
WHERE a.ID={0}</sqlText>
</executeSql>
<executeSql keyID="8ce69fd2-3b6e-42e8-9608-f6d75d80cad6" name=" 给部分负责人审批" time="2017-09-28 15:17:20">
<flowID>5</flowID>
<nodeID>flow_node_11709032218118</nodeID>
<sqlText>
SELECT b.EmployeeID ID,b.Manager Participant FROM dbo.Hr_Employee a
JOIN dbo.View_Hr_Department b ON b.ID=a.DepID
WHERE a.ID={0}</sqlText>
</executeSql>
</sqlList>
</sqlParticipant>
</flowParticipants>

flowParticipant

配好有就可以选择数据啦

第二步对接接口

作用

接口名称

参数

返回值

获取审批列表

GetApprovalList

1.(string)userdata

2.(int)page

3.(int)pagesize

4.(int)isOver

5.(string)

flowLevel

6.(string)where

Dynamic->JsonData

获取审批列表汇总信息

LoadApprovalListSummary

1.(string)userData

Dynamic->JsonData

初始化流程状态

InitFlowState

1.string userData

2.string flowNo

3.int appID

4.string formHtml

5.string formData

6.string formUrl

Dynamic->

{

status = ?

flowID = ?

}

获取当前步骤信息

GetCurrentStepInfo

1.string userData

2.int approvalID = 0

3.int? flowID = 0

4.int? appID = 0

Dynamic ->

{

status = ?

stepData =?

isBack = ?

isTurnRead =? isTurnRead=?

isTurnDo = ?

};

获取审批参与者

FindFlowApprovers

1.string userData

2.int flowID

3.int approvalID

4. int appID

5. string toNodeID = ""

Dynamic ->{

status = ?

data = ?

}

获取审批意见

GetApprovalOpinions

  1. int flowID
  2. int appID

Dynamic ->

{

data = ?

}

获取下个节点(所有)

GetNextFlowNodes

1.int flowID

2.int appID

3.int approvalID

Dynamic ->

{

status = ?

data = ?

}

获取决策方案

GetFlowDecisionModes

  1. int flowID
  2. int appID
  3. int approvalID

Dynamic ->

{

status = ?

data = ?

}

流转主要功能接口

FlowAction

1.string userData

2.string actionType

3.int stateID

4.int approvalID

5.int appID;

6.bool isPass

7.string opinion

8.string formName

9.string participantJson                10.string participantValue                11.int level                12.int turnToDoID = 0

Dynamic ->

{

status = ?

data = ?

}

获取待阅

列表数据

GetTurnToReadPageList

1.string userData

2.int page                3.int pagesize

4.int isRead

5.string where

Dynamic->JsonData

查找传阅参与者

FindFlowTurnToReaders

1.string userData,

2.int flowID,

3.string nodeID

Dynamic ->

{

status = ?,

data = ?

}

浏览传阅表单

ReadApprovalForm

1.tring userData

2.int approvalID

Dynamic ->

{

status = ?

}

获取传阅数据

GetTurnToReadList

int stateID

Dynamic->JsonData

获取代办参与者数据

FindFlowTurnToApprovers

  1. string userData
  2. int flowID
  3. string nodeID

Dynamic ->

{

status = ?,

data=?

}

获取代办数据

GetTurnToDoPageList

1.string userData

2.int pag                3.int pagesize                 4.int isOver                 5.string where

Dynamic->JsonData

获取流程图流转标记

GetFlowElementMarked

1.int flowID

2. int appID

Dynamic ->

{

status = ?,

data=?

}

第三步骤 signalr对接

...........

相关博文

第三方系统平台如何对接gooflow2.0的更多相关文章

  1. 与第三方系统对接,生成Cloud出入库单据

    案例: Cloud的采购订单同步到第三方系统,第三方系统入库后同步生成Cloud采购入库单. 解决方案:调用采购订单的下推API,先生成保存状态的采购入库单(采购入库单中的仓库是必填项,可以在采购订单 ...

  2. GitHub开源:升讯威微信营销系统(第三方微信平台)完整源代码

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction 升讯威微信营销系统开发实践系列升讯威微信营销系统开发实践:(1)功能设计与架构设 ...

  3. iot平台异构对接文档

    iot平台异构对接文档 准备工作 平台提供的XAgent开发指南.pdf demo程序xagent-ptp-demo 平台上添加产品得到产品id和key 部署时需要插件的基础程序<xlink-x ...

  4. 第三方系统打开EAFC的实现

    前言:EAFC是我们公司的一个框架,一个项目上,客户的OA系统要调用我们推送过去的代办任务,希望能打开我们的代办处理界面,我们的代办处理界面是winform的.引出给出了以下的一个方案.在此备存. - ...

  5. 一步步实现windows版ijkplayer系列文章之一——Windows10平台编译ffmpeg 4.0.2,生成ffplay

    一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...

  6. java 调用第三方系统时的连接代码-记录

    前言:该文章主要是总结我在实际工作中遇到的问题,在调取第三方系统的时候出现的问题,算自己的总结.各位博友如果有什么建议或意见欢迎留言指正. 先将准备传入参数 再与第三方系统建立连接 再第三方系统处理后 ...

  7. Java 后台请求第三方系统接口详解

    //调用第三方系统接口 PrintWriter out = null; BufferedReader in = null; JSONObject jsonObject = null; Closeabl ...

  8. 5G和AI机器人平台为工业4.0和无人机提供服务

    5G和AI机器人平台为工业4.0和无人机提供服务 Qualcomm 5G and AI robotics platform delivers for Industry 4.0 and drones 高 ...

  9. 微信公众平台开发—利用OAuth2.0获取微信用户基本信息

    在借鉴前两篇获取微信用户基本信息的基础下,本人也总结整理了一些个人笔记:如何通过OAuth2.0获取微信用户信息 1.首先在某微信平台下配置OAuth2.0授权回调页面: 2.通过appid构造url ...

随机推荐

  1. [译]ABP v1.0终于发布了!

    ABP v1.0终于发布了! 今天是个大日子!经过约3年的不断开发,第一个稳定的ABP版本,1.0,已经发布了.感谢为该项目做出贡献或试用过的每个人. 立即开始使用新的ABP框架:abp.io/get ...

  2. python进阶之垃圾回收

    内存使用: 程序在运行的过程需要开辟内存空间,比如创建一个对象需要一片内存空间,定义变量需要内存空间.有内存的开辟,势必也要有内存的释放,不然只进不出那不是貔貅了吗?即使有开辟有释放在短期内还是会有垃 ...

  3. centos6和centos7的防火墙基本命令

    一.centos6: 1.firewall的基本启动/停止/重启命令 $查看防火墙状态: service iptables status (/etc/init.d/iptables status) $ ...

  4. 持续集成(CI):API自动化+Jenkins定时构建

    一.系统管理 1.管理监控配置 系统管理>>系统设置>>管理监控配置 2.设置接收测试报告的邮箱 系统管理>>系统设置>>配置Extended E-ma ...

  5. Map拼接URL地址

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * @Author: hoje * Des ...

  6. Do Deep Nets Really Need to be Deep?

    url: https://arxiv.org/pdf/1312.6184.pdf year: NIPS2014 浅网络学习深网络的函数表示, 训练方法就是使用深网络的 logits(softmax i ...

  7. JavaWeb之Cookie&Session

    Cookie 直译是:小饼干.实际上,Cookie就是由服务器给客户端,并且存储在客户端上的一份小数据 应用场景 自动登录,查看浏览记录,购物车 Cookie存在的意义 HTTP请求是无状态的,客户端 ...

  8. elasticsearch中文搜索优化

    遇到的问题 检索葡萄糖关键字,希望结果仅包含葡萄糖,不包含葡萄:检索葡萄,希望结果包含葡萄糖. 同义词如何配置 如何确保搜索关键词被正确分词 分析器分词流程 分析器扮演着非常重要的角色,ES提供的有内 ...

  9. 【微信小程序】e.currentTarget和e.target

    什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 id ...

  10. Toast实现源码解析

    说明 本篇文章用于介绍Android中Toast的实现原理.和简单实现一个自定义的Toast. Toast实现 一般常用Toast格式为: Toast.makeText(context,"t ...