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

自增编号规则模板:
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;
  }
}