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日 本文版权归作者和博客园共有,欢迎转载, 但未经作者同意必须保留此段声明, 且在文章页面明显位置给出原文连接。 |
ERP中的序列管理的更多相关文章
- ERP中的地区管理
地区管理 地区管理主要实现地区数据的添加.编辑.查看.启用.禁用等功能,另外还包含地区选择控件封装. 业务功能点: 地区数据查看:地区列表树状展现,列表增加省.市.区.县.乡图标. 地区选择控件:选择 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版本新增序列管理
欲了解V3.0版本的相关内容可查看下面的链接地址. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版本发布 在V3.0版本的Web(Mvc.WebForm)与WinF ...
- erp中三大订单CO、PO、MO各是代表什么?
ERP即 企业资源计划 (Enterprise Resource Planning),由美国 Gartner Group 公司于1990年提出. ERP系统是指建立在信息技术基础上,以系统化的管理思想 ...
- ERP中通过EDI导入资料的时候出现【Microsoft Office Excel不能访问文件‘C:\Windows\TEMP\433....’
问题描述: ERP中导入单据的时候报错,Microsoft Office Excel不能访问文件'C:\Windows\TEMP\433....可能的原因有:·文件名称或路径不存在,文件正被其他程序使 ...
- 第十七周翻译-SQL Server中事务日志管理的阶梯,级别5:以完全恢复模式管理日志
SQL Server中事务日志管理的阶梯,级别5:以完全恢复模式管理日志 作者:Tony Davis,2012/01/27 翻译:赖慧芳 译文: 该系列 本文是Stairway系列的一部分:SQL ...
- SQL Server中事务日志管理的步骤,第5级:完全恢复模式管理日志(译)
SQL Server中事务日志管理的步骤,第5级:完全恢复模式管理日志 作者:Tony Davis,2012/01/27 系列 本文是进阶系列的一部分:SQL Server中事务日志管理的步骤 当事情 ...
- erp中三大订单CO、PO、MO
ERP即 企业资源计划 (Enterprise Resource Planning),由美国 Gartner Group 公司于1990年提出. ERP系统是指建立在信息技术基础上,以系统化的管理思想 ...
- ERP中HR模块的操作与设计--开源软件诞生26
赤龙ERP的EHR功能讲解--第26篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/red ...
- .NET Core中的认证管理解析
.NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...
随机推荐
- 新概念英语(1-65)Not a Baby
新概念英语(1-65)Not a Baby Does Jill take the key to the front door? A:What are you going to do this even ...
- iOS 封装.framework 以及使用
.framework是什么? .framework是什么? 这个问题相信做iOS的都知道答案. 在我们的日常开发中,经常会用到各种已经封装好的库,比如支付宝.微信SDK等等中的库,这些库可以给我们的开 ...
- express学习(三)—— cookie和session
express学习(三)-- cookie和session cookie存在浏览器中,最大只能保存4K数据,不安全 session存在服务器中,不能独立(先读取cookie再读取session),较安 ...
- [机器学习实战]K-近邻算法
1. K-近邻算法概述(k-Nearest Neighbor,KNN) K-近邻算法采用测量不同的特征值之间的距离方法进行分类.该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近 ...
- Python/Django-Web原理(一)
Python/Django-Web原理(一) websocket webSocket协议是基于TCP的一种新的协议.WebSocket最初在HTML规范中被引用为TCP连接,作为基于TCP的套接字AP ...
- 28.C++- 单例类模板(详解)
单例类 描述 指在整个系统生命期中,一个类最多只能有一个实例(instance)存在,使得该实例的唯一性(实例是指一个对象指针) , 比如:统计在线人数 在单例类里,又分为了懒汉式和饿汉式,它们的区 ...
- fromkeys() keys() values() items()
fromkeys() >>> dict1={} >>> dict1.fromkeys((1,2,3))#会自动为没有赋值的值建立none {1: None, 2: ...
- Azure AI 服务之文本翻译
当下人工智能可谓是风头正劲,几乎所有的大厂都有相关的技术栈.微软在 AI 领域自然也是投入了重注,并且以 Azure 认知服务的方式投入了市场: 也就是说作为开发者我们不需要学习太多 AI 的理论知识 ...
- C# 删除文件夹
三种方法 1.这种方法简单,能删除文件夹内的所有文件(文件及子目录) DirectoryInfo di = new DirectoryInfo(string Path); di.Del ...
- 用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- Demo分析
如何创建工程 下载最新的Unity发布插件包. 打开Unity,新建一个项目 将插件包导入 在菜单中点击ASRuntime/Create ActionScript3 FlashDevelop HotF ...
