fuliqi
2024-11-27 e4e164666e4f2ad7ab2229242055e143a79c80bc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.ycl.common.utils;
 
import java.util.Random;
 
/**
 * 项目代码生成工具类
 *
 * @Author: ljx
 * @CreateTime: 2024-11-04 15:06
 */
 
public class ProjectCodeGenerator {
 
    private static final String PROJECT_PREFIX = "SHXM-"; // 项目编号前缀
    private static final String ENGINEERING_PREFIX = "SHGC-";
    private static final Random RANDOM = new Random();
 
    /**
     * 根据当前时间戳和特定代码生成项目编号
     * @return 生成的项目编号
     */
    public static String generateProjectCode() {
        // 获取当前时间的时间戳
        long timestamp = System.currentTimeMillis();
        // 生成随机数,增加唯一性
        int randomNum = RANDOM.nextInt(1000);
        // 拼接前缀、时间戳和随机数生成项目编号
        return PROJECT_PREFIX + timestamp + String.format("%03d", randomNum);
    }
 
    /**
     * 生成工程编码
     * @return 生成工程编号
     */
    public static String generateEngineeringCode() {
        // 获取当前时间的时间戳
        long timestamp = System.currentTimeMillis();
        // 生成随机数,增加唯一性
        int randomNum = RANDOM.nextInt(1000);
        // 拼接前缀、时间戳和随机数生成工程编号
        return ENGINEERING_PREFIX + timestamp + String.format("%03d", randomNum);
    }
 
    public static void main(String[] args) {
        // 测试生成项目编号
        String projectCode = generateEngineeringCode();
        System.out.println("Generated Project Code: " + projectCode);
    }
}