performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java
@@ -768,22 +768,34 @@
    public static String restorePersonCode(Object number) {
        // 1. 空值校验
        if (number == null) {
            throw new IllegalArgumentException("传入数字不能为空");
            return "";
        }
        String original = number.toString();
        try {
        // 2. 统一转换为字符串并去除首尾空格
        String numStr = number.toString().trim();
            String numStr = original.trim();
        // 3. 校验是否为纯数字(排除负数、非数字字符)
        if (!numStr.matches("\\d+")) {
            throw new IllegalArgumentException("传入的不是有效正整数:" + numStr);
        }
            String digitStr;
            if (numStr.matches("\\d+")) {
                digitStr = numStr;
            } else if (numStr.matches("(?i)^ZT\\d+$")) {
                digitStr = numStr.substring(2);
            } else if (numStr.matches("(?i)^ZT-\\d+$")) {
                digitStr = numStr.substring(3);
            } else {
                return original;
            }
        // 4. 补前置0到指定长度(6位),超出则保留原数字
        String paddedNum = String.format("%0" + DIGIT_LENGTH + "d", Long.parseLong(numStr));
            String paddedNum = StringUtils.leftPad(digitStr, DIGIT_LENGTH, '0');
        // 5. 拼接前缀返回
        return PREFIX + paddedNum;
            return PREFIX + paddedNum;
        } catch (Exception e) {
            return original;
        }
    }
}