刘光辉
15 小时以前 34981c30a78e8bbd7791131059a9210f9928b62c
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package jnpf.limsService.support;
 
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
 
public class LimsSxtQuyangJihuaRenwuSchemaChecks {
 
    public static void main(String[] args) throws Exception {
        String renwu = read("jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/LimsSxtQuyangJihuaRenwuEntity.java");
        require(renwu, "@TableName(\"lims_sxt_quyang_jihua_renwu\")");
        require(renwu, "@TableField(\"renwu_zhuangtai\")");
        require(renwu, "private String renwuZhuangtai;");
        require(renwu, "@TableField(\"quyangdian_id\")");
        require(renwu, "@TableField(\"kuaizhao_haxi\")");
        require(renwu, "@TableField(\"qingyandan_zhuangtai\")");
 
        String qingyandan = read("jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/LimsQingyandanEntity.java");
        require(qingyandan, "@TableField(\"laiyuan_renwu_id\")");
        require(qingyandan, "@TableField(\"renwu_kuaizhao_haxi\")");
 
        String jianyan = read("jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/LimsJianyanXiangEntity.java");
        require(jianyan, "@TableField(\"laiyuan_renwu_id\")");
        require(jianyan, "@TableField(\"renwu_jianyan_xiang_kuaizhao_id\")");
        require(jianyan, "@TableField(\"biaozhun_shangxian\")");
        require(jianyan, "@TableField(\"biaozhun_xiaxian\")");
 
        String qingyandanService = read("jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/impl/LimsQingyandanServiceImpl.java");
        require(qingyandanService, "record.setBiaozhunShangxian(zixiang.getBiaozhunShangxian())");
        require(qingyandanService, "record.setBiaozhunXiaxian(zixiang.getBiaozhunXiaxian())");
        require(qingyandanService, "record.setBiaozhunShangxian(kuaizhao.getBiaozhunShangxian())");
        require(qingyandanService, "record.setBiaozhunXiaxian(kuaizhao.getBiaozhunXiaxian())");
 
        String qingyanZixiang = read("jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/LimsSxtQingyanXiangmuZixiangEntity.java");
        require(qingyanZixiang, "@TableField(\"xiangmu_id\")");
 
        String jihuaZixiang = read("jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/LimsSxtQuyangJihuaZixiangEntity.java");
        require(jihuaZixiang, "@TableField(\"quyangdian_id\")");
        require(jihuaZixiang, "private String quyangdianId;");
 
        String quyangdian = read("jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/LimsSxtQuyangdianEntity.java");
        require(quyangdian, "@TableField(value = \"f_creator_time\", fill = FieldFill.INSERT)");
        require(quyangdian, "private Date creatorTime;");
        require(quyangdian, "@TableField(value = \"f_creator_user_id\", fill = FieldFill.INSERT)");
        require(quyangdian, "private String creatorUserId;");
        require(quyangdian, "@TableField(value = \"f_last_modify_time\", fill = FieldFill.UPDATE)");
        require(quyangdian, "private Date lastModifyTime;");
        require(quyangdian, "@TableField(value = \"f_last_modify_user_id\", fill = FieldFill.UPDATE)");
        require(quyangdian, "private String lastModifyUserId;");
 
        String jianyanXiangmu = read("jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/JianyanXiangmuGuanliEntity.java");
        require(jianyanXiangmu, "@TableField(\"moren_danwei\")");
        require(jianyanXiangmu, "@TableField(\"lilun_shangxian\")");
        require(jianyanXiangmu, "@TableField(\"lilun_xiaxian\")");
        require(jianyanXiangmu, "@TableField(\"f_flow_id\")");
        require(jianyanXiangmu, "@TableField(\"f_delete_time\")");
 
        String jianyanKuaizhao = read("jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/LimsSxtQuyangJihuaRenwuJianyanXiangKuaizhaoEntity.java");
        require(jianyanKuaizhao, "@TableField(\"jianyan_xiangmu_jieguo_leixing\")");
        require(jianyanKuaizhao, "@TableField(\"lilun_shangxian\")");
        require(jianyanKuaizhao, "@TableField(\"lilun_xiaxian\")");
 
        String ddl = read("docs/pg-migration-ddl/alter_lims_sxt_quyang_jihua_renwu_jianyan_xiang_kuaizhao_20260724.sql");
        require(ddl, "ADD COLUMN IF NOT EXISTS jianyan_xiangmu_jieguo_leixing");
        require(ddl, "ADD COLUMN IF NOT EXISTS lilun_shangxian");
        require(ddl, "ADD COLUMN IF NOT EXISTS lilun_xiaxian");
 
        String quyangdianIdDdl = read("docs/pg-migration-ddl/update_lims_sxt_quyang_jihua_zixang_quyangdian_id_20260724.sql");
        require(quyangdianIdDdl, "ALTER TABLE public.lims_sxt_quyang_jihua_zixang");
        require(quyangdianIdDdl, "ADD COLUMN IF NOT EXISTS quyangdian_id varchar(50)");
 
        String fullDdl = read("docs/pg-migration-ddl/self_built_tables_pg.sql");
        require(fullDdl, "quyangdian_id varchar(50)");
        require(fullDdl, "lims_sxt_quyang_jihua_zixang.quyangdian_id");
    }
 
    private static String read(String path) throws Exception {
        Path root = Paths.get(System.getProperty("user.dir"));
        return new String(Files.readAllBytes(root.resolve(path)), StandardCharsets.UTF_8);
    }
 
    private static void require(String content, String expected) {
        if (!content.contains(expected)) {
            throw new AssertionError("missing: " + expected);
        }
    }
}