tuqin
19 小时以前 0ddbb4ec727ffce844ef672107e3410d84b1f11a
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/autocode/MesMdAutoCodeRecordServiceImpl.java
@@ -100,8 +100,15 @@
                                MesMdAutoCodeContext context) {
        // 需求:所有业务编码统一为「16 位纯数字」,且全系统唯一。
        // 因此不再按规则分段拼装(固定字符/日期段会带入字母),改为取全系统统一自增序列。
        Long no = stringRedisTemplate.opsForValue().increment(BizNoUtils.GLOBAL_SEQ_KEY);
        return BizNoUtils.format(no);
        // 随机生成 16 位纯数字编码,并用 Redis 集合查重,保证全系统唯一(不使用自增/顺序)
        for (int i = 0; i < BizNoUtils.MAX_RETRY; i++) {
            String code = BizNoUtils.randomCode();
            Long added = stringRedisTemplate.opsForSet().add(BizNoUtils.USED_SET_KEY, code);
            if (added != null && added > 0) {
                return code;
            }
        }
        throw new IllegalStateException("生成唯一业务编码失败,请重试");
    }
    /**