合同流程分支判断存储使用方法

2020-01-13 0 条评论 187 次阅读 0 人点赞

合同流程分支判断存储使用方法

Proc_CT_BranchCondition存储过程使用方法

系统流程设置已经无法满足《合同收支分类及合同会签职责分工表_项目部发起_2019.12.3》的分支条件配置要求,新版合同流程将使用ToHeadquarters字段(是否到总部审批)进行总部会签、项目部会签的分支判断。

该字段默认为数据库中默认为0(0不到总部,1到总部),通过配置流程编制节点执行SQL,执行Proc_CT_BranchCondition存储过程,存储过程会按照CT_BranchCondition(流程分支条件)表的流程分支条件进行比较,并对ToHeadquarters字段进行更新,使用方法进行如下

CT_BranchCondition表

CT_BranchCondition(流程分支条件)表结构如下:

数据表中文名称 流程分支条件 修改说明 调整
数据表英文名称 CT_BranchCondition
功能简述
序号 字段中文名 字段英文名 数据类型 宽度 约束 默认值 空值 枚举&说明 自增 修改说明
1 SysId char 36 PK newid() N
2 层级属性 ExecDeptType varchar 50
3 收支类型ID InOutTypeId varchar 50
4 收支类型名称 InOutTypeName varchar 50
5 国内外ID AreaID varchar 50
6 国内外名称 AreaName varchar 50
7 分类ID ClassId varchar 50
8 分类名称 ClassName varchar 50
9 金额判断条件 BCActContAmtY decimal 18,4
10 排序号 OrderNum varchar 50
11 备注 Remark nvarchar 500
12 部门编号 DeptId varchar 50
13 部门名称 DeptName nvarchar 50
14 编制人编号 CreatorId varchar 50
15 编制人 CreatorName nvarchar 50
16 编制日期 CreateOn datetime
17 修改人编号 ModifierId varchar 50
18 修改人 ModifierName nvarchar 50
19 修改日期 ModifiedOn datetime
20 状态 StatusId varchar 50 (0)
21 状态 Status nvarchar 50 N'编制'
22 层级编号 DataLevelId varchar 100
23 层级编号 DataLevelNo varchar 50
24 层级名称 DataLevelName nvarchar 450
  1. 将《合同收支分类及合同会签职责分工表_项目部发起_2019.12.3》转换为数据库需要的格式,并导入到数据库中,转换后格式如下:

/*导入SQL*/

INSERT INTO CT_BranchCondition

( ExecDeptType ,

InOutTypeId ,

InOutTypeName ,

AreaID ,

AreaName ,

ClassId ,

ClassName ,

BCActContAmtY

)

SELECT ExecDeptType ,

InOutTypeId ,

InOutTypeName ,

AreaID ,

AreaName ,

ClassId ,

ClassName ,

BCActContAmtY

FROM CT_BranchCondition导入模板;

SELECT * FROM dbo.CT_BranchCondition ;

Proc_CT_BranchCondition存储过程

Proc_CT_BranchCondition存储过程将根据传入的合同会签单SysID,查询出该合同会签单的相关信息,并与CT_BranchCondition表的信息进行比较,判断出ToHeadquarters字段的0、1,并进行UPDATE回写;

流程配置

设置编制节点的同意类型为SQL语句,并在同意动作里追加EXEC Proc_CT_BranchCondition '[EntityID]'; 示例如下:

设置到总部会签的分支SQL为"[ToHeadquarters]" == "1",到项目部会签的SQL为"[ToHeadquarters]" == "0"

总部发起流程

设置编制节点的同意类型为SQL语句,并在同意动作里追加UPDATE CT_Countersign SET ToHeadquarters='1' WHERE SysId = '[EntityID]'; 示例如下:

 

 

 

root

这个人太懒什么东西都没留下

文章评论(0)