标签:
序列号
【序列号规则】插件使用说明
-
+
首页
【序列号规则】插件使用说明
# 1.概述 为了快速定义序列号规则,且在前端可配置,通过统一的序列号生成方法来生成序列号(比如物料批号、箱号、半成品序列号、成品序列号等等),方便管理。 # 2.操作说明 # # 2.1 定义“序列号规则” 2.1.1 插件命令 命令:SNRU。插件描述:序列号规则 # # 2.1.2 创建“序列号”规则名 1) 创建“序列号”规则名。依次输入:“序列号规则”名、是否激活、序列号描述、序列号总长度、起始号、跳号数量、序列号类别 信息并保存。 ![](/media//202010/123_1602740634.png) 2) 字段描述 序列号总长度:即序列号的总字符长度; 起始号:即流水号从哪个数开始。比如从2开始,那么就不会有1的流水号了; 跳号数量:即连续两个流水号之间间隔。比如起始是1,跳号是2,那么生成的流水号依次是1、3、5…。比如起始号1,跳号是1,那么生成的流水号依次时1、2、3…; 3) 功能按钮 锁定: 序列号、序列号明细、序列号过滤字符 都定义好之后,可以锁定改序列号规则,以免对序列号规则做修改; 解锁: 如果要修改序列号规则,可以先解锁再修改,修改完后再锁定; 预览: 通过此按钮,可以预览通过此序列号规则 生成的序列号; # # 2.1.3 创建“序列号明细” 1) 序列号明细。通过5个按钮“添加固定字符”、“添加日期”、“添加预留字符”、“添加流水号”、“添加自定义流水号”来完成。本节以序列号规则“Test001”来描述,序列号明细为:‘FP’+‘1位产品版本号。会变化的’+‘6位年月日。如20200612’+‘4位是十进制流程号’,总长度为13,生成的序列号例如:FPA2006120001。 ![](/media//202010/123_1602740925.png) 2) 功能按钮: **添加固定字符:** 在序列号中固定不变的字符,需录入:字符长度、固定字符、描述(为了理解代表的意思)。例如序列号“FPA2006120001”中,FP为固定字符; ![](/media//202010/123_1602740962.png) **添加预留字符:** 根据实际传入的字符,在序列明细里,系统以字符X代表一个预留字符(如果长度是2,那么就是XX,依次类推),生成序列号时,会替换预留字符X。需录入:长度、描述(为了理解代表的意思)。例如序列号“FPA2006120001”中,A为产品版本,由实际中传入; ![](/media//202010/123_1602740992.png) ![](/media//202010/123_1602741009.png) **添加日期类型:** 在序列号中包含日期。例如序列号“FPA2006120001”中,200612为2020年6月12日。 ![](/media//202010/123_1602741055.png) **添加流水号:** 序列号中的流水号部门,支持2到36进制(下拉列表没有的,可以直接输入) ![](/media//202010/123_1602741096.png) **添加自定义流水号(特殊,可选):** 支持任意进制、特殊进制、自定义进制,一般情况用不到。这是“添加流水号”的另外一种方式,有些客户对序列号的要求比较特殊,常规的1到36进制无法满足其要求,则可以通过“添加自己定流水号”来实现。 A.比如一个特殊的11进制(用W来代表11),那么就可以通过自定流水号来实现。需输入:长度、自定义序列字符编码、描述(为了方面理解)。比如本例子的编码字符就是:0123456789W ![](/media//202010/123_1602741175.png) B.比如一个特殊的13进制(用X、Y、Z来代表11、12、13),那么就可以通过自定流水号来实现。需输入:长度、自定义序列字符编码、描述(为了方面理解)。比如本例子的编码字符就是:0123456789XYZ ![](/media//202010/123_1602741208.png) **上移、下移:** 通过上移、下移两个功能按钮来调整规则的顺序,顺序以数字从小到大表示的,代表序列号从左到右的字符; **移除选中规则:** 用于删除规则,相当于删除功能; **设置计数规则:** 用于根据“某个规则”来重置流水号,比如每天开始,序列号从1开始计数,那么就应该把日期设置为计数规则。 # # 2.1.4 创建“序列号过滤字符”(特殊,可选) 1) 这是对“添加流水号”功能的补充。有的客户对流水号有特殊要求,比如16进制不要AB两个字符,相当于一个特殊的14进制,你就可以通过添加过滤字符来实现,例子如下图。当然也可以直接使用“添加自定义流水号”来实现,因为这个功能支持任何组合编码。 ![](/media//202010/123_1602741310.png) # 2.2 生成序列号 1) “序列号规则”定义好之后,通过存储过程“StartRuleSNDoMethod”来生成序列号,只要在你的程序中需要生成序列号,就通过调用此方法来生成。存储过程参数说明如下: ![](/media//202010/2020-10-15_135628.png) 2) 调用例子1(只有一种预留字符): ```sql DECLARE @return_value INT, @I_ReturnMessage NVARCHAR(MAX), @SNRuleId CHAR(12)='', @RCharStr NVARCHAR(20)='A', --预留字符,比如当前的产品编码为A @NewSN NVARCHAR(100) --获取规则Id SELECT @SNRuleId=SNRuleId FROM dbo.SNRule WHERE SNRuleName='Test001' --申请SN EXEC @return_value = [dbo].[StartRuleSNDoMethod] @I_ReturnMessage = @I_ReturnMessage OUTPUT, @SNRuleId = @SNRuleId, @JumpQty = 1, @RCharStr = @RCharStr, @NewSN = @NewSN OUTPUT --查看 SELECT @return_value,@I_ReturnMessage,@NewSN ``` ![](/media//202010/2020-10-15_135811.png) ![](/media//202010/2020-10-15_135822.png) 3) 调用例子2(假如有几种预留字符,则用‘;’隔开): ```sql DECLARE @return_value INT, @I_ReturnMessage NVARCHAR(MAX), @SNRuleId CHAR(12)='', @RCharStr NVARCHAR(20)='A;B2', --A编码产品编码;B2代表下午,B1代表上午 @NewSN NVARCHAR(100) --获取规则Id SELECT @SNRuleId=SNRuleId FROM dbo.SNRule WHERE SNRuleName='Test001' --申请SN EXEC @return_value = [dbo].[StartRuleSNDoMethod] @I_ReturnMessage = @I_ReturnMessage OUTPUT, @SNRuleId = @SNRuleId, @JumpQty = 1, @RCharStr = @RCharStr, @NewSN = @NewSN OUTPUT --查看 SELECT @return_value,@I_ReturnMessage,@NewSN ```
序列号
HB0005
.Net 平台应用与技巧
2022年11月8日 16:35
分享
上一篇
下一篇
目录
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
下载Markdown文件