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项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...
随机推荐
- Mysql 5.1的坑
1.数据库表是区分大小写的 之前程序在5.7数据库没问题,测试环境上数据库是5.1的,就提示表找不到. 2.同样的sql,在5.1上会提示事务获取锁失败,超时返回.而5.7上正常.原因暂未找到.
- 从零开始:一个正式的vue+webpack项目的目录结构是怎么形成的
如何从零开始一个vue+webpack前端工程工作流的搭建,首先我们先从项目的目录结构入手.一个持续可发展,不断加入新功能,方便后期维护的目录结构究竟是长什么样子的?接下来闰土大叔带你们一起手摸手学起 ...
- 追女神助手v0.1
#-*-coding:utf8-*- import smtplib from email.mime.text import MIMEText import requests from lxml imp ...
- maven中scope标签以及exclusions 记录
scope的分类 1.compile:默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖.打包的时候通常需要包含进去 2.test:依赖项目仅仅参与 ...
- Windows安装SVN服务器和客户端
我的操作系统版本是windows10 64位.接下来我会先介绍SVN服务器的安装,然后再介绍安装SVN客户端,并进行测试. 下载 首先我们需要到官网上去下载svn服务器程序. [svn官网地址] (h ...
- php Redis函数使用总结(string,hash,list, set , sort set )
对于:string, set , sort set , hash 的增,改操作,是同一个命令,但是把它当改操作时,及时成功返回值依旧为0 对于:list结构来说,增删改查自有一套方法. <? ...
- java---interrupt、interrupted和isInterrupted的区别
1.interrupt() interrupt方法用于中断线程.调用该方法的线程的状态为将被置为"中断"状态. 注意:线程中断仅仅是置线程的中断状态位,不会停止线程.需要用户自己 ...
- [LeetCode] Largest Palindrome Product 最大回文串乘积
Find the largest palindrome made from the product of two n-digit numbers. Since the result could be ...
- [LeetCode] Longest Word in Dictionary through Deleting 删除后得到的字典中的最长单词
Given a string and a string dictionary, find the longest string in the dictionary that can be formed ...
- 前端小白想要编写可维护的js
我是一名前端小白,之前没写过多少代码,心里没有代码质量这个概念,人人都说代码是团队的产物,应该将代码写规范,但是我对具体什么样的代码是可维护的是茫然的. 我没写过多少代码,本来好多东西就不咋会,每次给 ...
