自增编号规则

    用函数设置自增编码规则

    实际场景:自增编号字段的逻辑比较复杂,需要在自定义函数中设置规则。

    配置方式:添加或者编辑<自增编号>类型的字段时,设置规则选择<函数编码>。

image-8-1-8自增编号规则.png

自增编号规则模板

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;
  }
}

results matching ""

    No results matching ""