自增编号规则

用函数设置自增编码规则
实际场景:自增编号字段的逻辑比较复杂,需要在自定义函数中设置规则。
配置方式:添加或者编辑<自增编号>类型的字段时,设置规则选择<函数编码>。

自增编号规则模板:

Groovy:

IncrementNumber rule = IncrementNumber.builder()
.counter('testCounter1') // 计数器的key,递增的自增编码需要保证key唯一,同理,更换counter可以重计自增编号
.condition('MONTH')      // 按年、月、日重计 `YEAR`  `MONTH`  `DAY`  `NONE`
.postfix('-postfix')     // 编码后缀
.prefix('prefix-')       // 编码前缀
.serialNumber(4)         // 自增编码位数
.initialValue(1)         // 编号起始值不能小于 0,且默认为 1
.steppingNumber(2)       // 步进器默认为1,且不能小于1
.buildRule()
log.info(rule)

Java:

import java.util.List;
import java.util.Map;

public class Increment implements IAutoNumberAction {

/**
 * 自增编号函数的运行方法
 */
@Override
public IncrementNumber execute(FunctionContext context, Map<String, Object> args) {
  IncrementNumber rule = IncrementNumber
    .builder()
    .counter("testCounter1")// 计数器的key,递增的自增编码需要保证key唯一,同理,更换counter可以重计自增编号
    .condition("MONTH")     // 按年、月、日重计 `YEAR`  `MONTH`  `DAY`  `NONE`
    .postfix("-postfix")    // 编码后缀
    .prefix("prefix-")      // 编码前缀
    .serialNumber(4)        // 自增编码位数
    .initialValue(1)        // 编号起始值不能小于 0,且默认为 1
    .steppingNumber(2)      // 步进器默认为1,且不能小于1
    .buildRule();
  return rule;
}
}
2022-08-09
0 0