ERP中的序列管理

1、序列管理

序列管理主要实现系统用到序列生成规则的配置、主要包含序列配置、序列生产两个功能点。

2、术语说明

序列号:指序列中按步长递进的数字。

序列值:指按规则组合了 “拥有者、序列类型、序列时间、序列号” 的字符串。

重复周期:对应系统枚举SequenceCircles在重复周期内,序号不归零,一般按天、月、季、年为序号周期,也可以无周期,一直递增。

3、支持因子

 

名称

替换符

说明

拥有者

{{Owner}}

序列拥有者,一般不同工厂传入不同工厂代码,此因子一般不用,在实际的序列模板中通过前缀实现标识。

序列类型

{{Kind}}

对应系统中的SequenceKinds枚举

序列时间

{{Date}}

对应产生序列的时间,通过格式化支持天、分、秒、毫秒

序列号

{{No}}

按步长递进的数字

 

4、序列配置

序列配置包含如下字段

字段

名称

说明

MaxNo

最大序列号

长度应与NoLength一致

NoLength

序列号长度

产生序号的最大长度

NoFormat

序列号格式符

生成序列值时提供序号格式化支持

NoRegex

序号匹配正则

从序列值中匹配出序列号正则Pattern,通过组名No,标注匹配出的序列号

DateFormat

日期格式符

生成序列值时提供时间格式化支持

KindFormat

类型格式符

生成序列值时提供SequenceKinds对应序列类型格式化支持

Template

序列值模板

用于因子替换后生成序列值

5、序列表(Kernals.SequenceItem)

Code

编码

Name

名称

Description

说明

SequenceKey

序列键

Nvarchar类型主键

CurrentValue

当前值

序列周期内的当前分配值

InitValue

初始值

序列周期重置时CurrentValue恢复的值

ValueStep

值变化步长

序列号递增步长

RepeatCircle

重复周期

对应系统枚举SequenceCircles

ConfigVlaue

配置值

序列化存储 序列配置SequenceConfig 信息

ConfigParser

配置解析器

JsonParseProvider或XmlParseProvider

OwnerKind

拥有者类型

当前支持:1=公司,该字段保留,在UI中暂不体现。

OwnerKey

拥有者标识

序列拥有者

TenantId

租户Id

 

UpdateTime

修改日期

序列值最后更新时间

6、配置列表

主要实现序列配置功能,当前支持拥有者为公司,可以通过拥有者筛选序列后进行配置。

注:SequenceConfig中的属性和序列值生成无直接关系,初始值、步长、周期和序列值生成有关系。

序列列表显示:序列键、初始值、变化步长、重复周期、拥有者。

7、配置窗体

序列配置包含初始值、步长、周期、和ConfigValue对应的SequenceConfig相关属性。

注:详情查看窗体同配置窗体,不能编辑

8、序列生成

序列生成由业务逻辑层负责。具体实现见Logics.Infra  Sequences文件夹下相关代码。

通过ISequence seq = SequenceManager.GetSequence(SequenceKinds.BatchSequence, 1, "ownerKey");获取序列接口实例,调用相关方法或属性(如下图示) 

属性:

方法:

接口:

 


 文章作者:花生(OutMan)

发布地址:http://www.cnblogs.com/WangHuaiSheng/ 

发布时间:2018年1月23日

本文版权归作者和博客园共有,欢迎转载,

但未经作者同意必须保留此段声明,

且在文章页面明显位置给出原文连接。

 
posted @ 2018-01-23 14:23  读喜爱  阅读(373)  评论(0编辑  收藏  举报