
# 编码发生器
编码发生器功能仅对管理员开放，管理员将编码规则设计完成后，普通用户可通过接口直接调用。
#### 功能简介
- 编码发生器是一种用于生成一定长度的随机编码的工具。这些编码通常由数字、字母或符号组成，具有一定的随机性和唯一性，可以用于各种需要标识唯一性的场合，如订单号、会员号、优惠券码等。
- 编码发生器可以根据不同的需求和规则生成不同类型的编码，如固定长度、可变长度、指定字符集、不重复等。同时，编码发生器还可以支持批量生成和自定义前缀、后缀等功能，方便快捷地生成大量的编码。
- 在实际应用中，编码发生器通常与数据库或缓存系统结合使用，用于生成唯一的标识符，以便于管理和查询。
 
#### 使用流程
1. 在角色桌面首页，单击左上角的![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000002108246818.png)，选择"管理中心 \> 编码生成器"。
2. 创建ID标识器前，需要添加[生成器分类]和[生成器标签]，**生成器名称及代码系统自动生成** 。
   - 生成器分类：支持创建一种业务分类，例如生成的编码是文档编码、零件编号或生产批次等。
   
   - 生成器标签：为生成器建立编码标签，例如上文中的文档，是属于工程文档、测试说明，还是财经报告、法律条文等，添加一个可辨识、搜索的标签。
    
3. 进入"生成器配置"页签，[创建ID标识器]，即建立一个满足业务需求的编码发生器。
4. ID标识器任务创建完成后，通过拖拉拽在画布中添加"构件"，并设置构件的运行属性，设置完成后发布生效。
   - 编码生成器由4个部分构件组成"固定字符"+"对象编码"+"日期代码"+"流水序列"。其中流水序列是必选部分，没有该部分，无法对外生成编码。
   
   - 添加构件时，若添加"对象编码"构件，则需要设置[业务对象属性]。例如部件编码组成包含对内型号、小类代码等属性，此时就需要在"业务对象属性"中单独添加属性，并设置"业务对象类属性代码"（属性值、唯一值）。编码生成时就会包含自定义添加的属性值。
    
5. 通过接口调用使用，应用于系统或程序中，生成业务编码。
 
 #### 生成器分类
**创建生成器分类**
1. 在角色桌面首页，单击左上角的![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000001912687694.png)，选择"管理中心 \> 编码生成器"。
2. 进入"生成器分类"页签，单击"添加"，在弹出的界面中填写如下信息： 
   - 生成器分类代码：自定义分类代码，区别于其他分类，具有唯一性。
   
   - 生成器分类名称：自定义分类名称。
   
   - 生成器分类描述：关于分类的描述。
   
   - 备注：添加分类的备注信息。
   
   - 是否有效：设置当前分类是否有效。对外提供的查询接口只能获取标记为有效的数据，不同功能模块之间只能引用标记为有效的数据。
   
   
   
   
3. 设置完成后，单击"保存"。
**生成器分类** **相关操作**
表1管理分类 
| 操作      | 描述                                                                                                                                               |
|:---|:---|
| 发布生成器分类 | 在"生成器分类"页签中，选择需要发布的分类，单击"操作"列的"发布"，发布分类。 生成器分类发布后才能被其他功能模块引用，发布后不允许删除，可以失效。                       |
| 编辑生成器分类 | 在"生成器分类"页签中，选择需要编辑的分类，单击"操作"列的"编辑"，修改分类。根据实际情况修改生成器分类名称、描述等信息。                                                                                   |
| 删除生成器分类 | 在"生成器分类"页签中，选择需要删除的分类，单击"操作"列的"删除"，删除分类。                                                                                                         |
| 失效生成器分类 | 在"生成器分类"页签中，选择需要失效的分类，单击"操作"列的"失效"，将该分类失去效力。                                                                                                     |
| 查询生成器分类 | 在"生成器分类"页签中，单击搜索框，输入生成器分类的名称或代码进行查询。                                                                                                             |
| 个性化设置   | 在"生成器分类"页签中，单击右上角![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000001945464221.png "点击放大")，可以根据需求设置展示字段。 |
   
 #### 生成器标签
**创建生成器标签**
1. 进入"生成器标签"页签。
2. 选择"全部标签"，单击![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000001946337433.png)。
   
   添加子节点生成器标签，需先单击父节点右侧的![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000002120826098.png)，再在弹出的操作列表中单击"添加"。
   
   
3. 在弹出的"创建生成器标签"窗口中，配置以下信息： 
   - 标签名称：自定义一个与业务相关的标签名称。
   
   - 标签代码：自定义标签代码，区别于其他标签，具有唯一性。
   
   - 标签描述：关于标签的自定义描述。
   
   
   
   
4. 填写完成后，单击"保存"。
**生成器标签** **相关操作**
表2管理标签 
| 操作      | 描述                                                                                                                                                      |
|:---|:---|
| 编辑生成器标签 | 在"生成器标签"页签中，选择生成器标签，单击![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000001914778304.png)\>"编辑"，根据实际情况修改标签名称、描述。 |
| 删除生成器标签 | 在"生成器标签"页签中，选择生成器标签，单击![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000001914822922.png)\>"删除"，删除标签。            |
| 查询生成器标签 | 在"生成器标签"页签中，选择搜索框，可以通过关键字过滤标签，也可以根据生成器代码查询生成器标签。                                                                                                        |
| 个性化设置   | 在"生成器标签"页签中，单击右上角![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000001914982838.png "点击放大")，可以根据需求设置展示字段。        |
   
 #### 创建ID标识器
**创建任务**
1. 进入"生成器配置"页签，单击![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000001915005542.png "点击放大")。
2. 在弹出的界面中设置如下信息： 
   - 生成器代码：由系统自动生成，系统唯一值。
   
   - 生成器名称：生成器的名称，系统默认填充"生成器代码"的取值。
   
   - 生成器分类：数据来源于[生成器分类]。
   
   - 生成器标签：数据来源于[生成器标签]。
   
   
   
   
3. 填写完成后，单击"确定"。
**添加构件**
1. 将需要的"构件"从顶部的构件列表中拖入中间的画布区域。 
   其中"流水序列"构件为必选，没有流水序列，无法对外生成编码。
   图1添加构件   
   ![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000001946419397.png "点击放大")
   
   
2. 单击构件，设置构件属性。 
   表3构件属性 
   | 构件    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   |:---|:---|
   | ID生成器 | 生成器代码：系统自动生成，系统唯一值 生成器名称：生成器的名称，系统默认填充"生成器代码"的取值 生成器分类：自定义分类，数据来源于生成器分类 总目标长度：生成器条码总长度 流水分组规则：系统自动生成 格式预览：生成器条码内容 备注：填写自定义备注信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | 固定字符  | 构件代码：由系统自动生成，系统唯一值 构件名称：默认为固定字符串，支持修改 固定值：编码中自定义的固定值，如ABC、001等 目标长度：固定值的长度 是否属于流水分组标识：是否开启编码生成的预览效果，默认开启 是否作为组装元素输出：是否使用该规则，默认开启                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 对象编码  | **业务属性取值** 业务属性：数据来源于业务对象属性 属性初始值：数据来源于"业务对象属性"中的"默认值" 目标长度：根据预览值计算的长度 预览值："属性初始值"经过数据处理后的最终数值 **数据处理逻辑** 数据处理方法：支持大小写转换、长度填补、顺序反转、字符串截取、增加前缀、增加后缀。（例如大小写转换，支持设置为"全转大写"，即编码中的小写字母全部转换成大写） **构件显示属性** 构件名称：默认为对象编码，支持修改 构件代码：由系统自动生成，系统唯一值 是否属于流水分组标识：是否开启编码生成的预览效果，默认开启 是否作为组装元素输出：是否使用该规则，默认开启                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 日期代码  | 时间代码属性：设置日期样式，选项如下 - 时间年月日时分秒yyyMddHHmmss  - 时间年月日yyyyMdd  - 时间年月yyyyMM  - 时间时分秒HHmmss  - 自选定组合   日期格式：设置年份显示样式 预览值：选定日期后，自动生成预览值 目标长度：预览值长度 初始值：根据"时间代码属性"生成的值，例如202406 构件代码：由系统自动生成，系统唯一值 构件名称：默认为日期代码，支持修改 是否属于流水分组标识：是否开启编码生成的预览效果，默认开启 是否作为组装元素输出：是否使用该规则，默认开启                                                                                                                                                                                        |
   | 流水序列  | 流水码类别：当前仅支持数字流水 目标长度：数字流水值的长度，取值范围1-10 最小值：根据目标长度和进制规则确认最小值 最大值：根据目标长度和进制规则确认最大值 增减方式：目前仅支持增量 间隔量(十进制)：默认为1 进制规则：十进制、可配置字符进制，其中34进制字符集不勾选O和I 周期重置模式：可选值从不、每日、每周、每月、每年 预览值：最小值经过进制转换后的最终数值 构件代码：由系统自动生成，系统唯一值 构件名称：默认为流水序号，支持修改 是否作为组装元素输出：是否使用该规则，默认开启 说明： 流水序列递增规则： 1. 如果纯数字，会从最小值递增到最大值，例如：最小值是1最大值是9999，则初始的第一个流水序列码是0001，然后往上递增加1，变为0002，0003。  2. 如果是数字加字母形式，会从最小值递增到最大值，例如，最小值是1，最大值是ZZZZ，在同一个位数上，先是数字递增，然后再到字母递增。则初始的第一个流水序列码是0001，然后往上递增加1，变为0002，0003，到了0009的时候再递增是000A，000B，000C，到了000Z后再递增是0010。   |
      
   
   
3. 设置完成后单击"操作"列表中的"发布"。 
   操作过程中您也可以进行重置、还原、复制等操作。
   
   
 
 #### 业务对象属性
添加编码构件后，需要创建业务对象，并设置业务对象属性。业务对象添加后可应用于编码当中，作为编码的组成部分。
**添加业务对象**
1. 进入"业务对象属性"页签。
2. 单击"添加"。
3. 在弹出的"添加业务对象"窗口中，设置如下信息： 
   - 应用名称：业务对象的应用名称。
   
   - 应用类名称：业务对象的应用类名称。
   
   - 应用类代码：业务对象的应用类代码，默认为"应用类名称"取值。
   
   - 应用类描述：业务对象的应用类描述。
   
   - 参考对象表：业务对象参考对象表。
   
   - 参考的数据源名称：业务对象参考的数据源名称。
   
   
   
   
4. 设置完成后，单击"保存"。
**添加业务对象属性**
1. 选择已添加的业务对象，单击"操作"列中的"添加"。
2. 在弹出的"添加业务对象属性"窗口中，设置如下信息： 
   - 业务对象：数据来源于业务对象。
   
   - 业务对象类属性代码：业务对象属性的代码，系统唯一值。
   
   - 业务对象类属性名称：业务对象属性的名称。
   
   - 数据类型：业务对象属性的数据类型。
   
   - 取值范围：varchar（字符）；number（数字）；date（日期）。
   
   - 默认值：业务对象属性的默认值。
   
   - 业务对象类属性描述：业务对象属性的描述。
   
   - 备注：业务对象属性的备注。
   
   
   
   
3. 设置完成后，单击"保存"。
 
#### 使用编码发生器
通过调用编码生成器[API接口](https://support.huaweicloud.com/api-craftartsipdcenter/ipdcenter_06_0125.html)，生成编码。
图2请求示例   
![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000001916765038.png "点击放大")
图3响应示例   
![](https://support.huaweicloud.com/usermanual-craftartsipdcenter/figure/zh-cn_image_0000001947365745.png "点击放大")
