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