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

目前提供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. <Topological Sort> ( 高频, hard) 269

    . Alien Dictionary 这些就是有向图的边,对于有向图中的每个结点,计算其入度,然后从入度为0的结点开始 BFS 遍历这个有向图,然后将遍历路径保存下来返回即可.下面来看具体的做法: 根 ...

  2. 使用ArcPy拓扑检查的基本步骤

    拓扑检查是GIS的特性,在ArcGIS可使用多种方法进行检查,包括: 1.在数据集上右键按向导建立: 2.使用拓扑工具箱的一系列工具分步建立: 3.创建模型工具,制作专门的拓扑工具: 4.利用ArcP ...

  3. Tensorflow分布式部署和开发

    关于tensorflow的分布式训练和部署, 官方有个英文的文档介绍,但是写的比较简单, 给的例子也比较简单,刚接触分布式深度学习的可能不太容易理解.在网上看到一些资料,总感觉说的不够通俗易懂,不如自 ...

  4. Python 相对路径和绝对路径--python实战(九)

    一 背景信息 最近在运行python程序的过程中,无意遇到了这个一个问题,在同事那边一直执行ok的程序,到我这里怎么都有个错误,当初报的错误是这样的: FileNotFoundError: [Errn ...

  5. 15-scrapy-redis两种形式分布式爬虫

    什么叫做分布式爬虫? 分布式爬虫,就是多台机器共用一个scrapy—redis程序高效爬取数据, 为啥要用分布式爬虫? 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器 ...

  6. HashMap中 工具方法tableSizeFor的作用

    [转] https://blog.csdn.net/fan2012huan/article/details/51097331 首先看下该方法的定义以及被使用的地方 static final int t ...

  7. java中的常用类(二)

    java中的常用类(二) Math类 Math类的声明:public final class Math extends Object Math类是与数学计算有关的类,里面的方法都是静态方法,直接使用类 ...

  8. C# - 操作Word文档小实验

    前言 本篇主要记录:VS2019 WinFrm桌面应用程序实现对Word文档的简单操作. 准备工作 搭建WinFrm前台界面 添加必要的控件,如下图 NuGet包管理器 安装Microsoft.Off ...

  9. SmtpClient发送邮件时附件名称乱码

    在用户环境发现一个现象,使用System.Net.Mail.SmtpClient发送邮件,当附件名包含中文且长度较长时,最终的邮件里附件名会乱掉,写个简单的测试程序: var mail = new M ...

  10. java基础(14):Eclipse、面向对象、自定义数据类型的使用

    1. Eclipse的应用 1. 常用快捷操作 Ctrl+T:查看所选中类的继承树 例如,在下面代码中,选中Teacher类名,然后按Ctrl+T,就会显示出Teacher类的继承关系 //员工 ab ...