From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsSxtQuyangJihuaRenwuServiceChecks.java | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 161 insertions(+), 0 deletions(-)
diff --git a/jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsSxtQuyangJihuaRenwuServiceChecks.java b/jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsSxtQuyangJihuaRenwuServiceChecks.java
new file mode 100644
index 0000000..bf071be
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-biz/src/test/java/jnpf/limsService/support/LimsSxtQuyangJihuaRenwuServiceChecks.java
@@ -0,0 +1,161 @@
+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 LimsSxtQuyangJihuaRenwuServiceChecks {
+
+ public static void main(String[] args) throws Exception {
+ String contract = read("jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/LimsSxtQuyangJihuaRenwuService.java");
+ require(contract, "wuhuaYishenpiJihua");
+ require(contract, "shengchengDaishengchengQingyandan");
+ require(contract, "quxiaoWeishengchengRenwuByJihua");
+ require(contract, "tihuanWeishengchengRenwuPeizhi");
+
+ String service = read("jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/impl/LimsSxtQuyangJihuaRenwuServiceImpl.java");
+ require(service, "markBlockedPeizhiWuxiao");
+ require(service, "peizhi_wuxiao_zuduan");
+ require(service, "sxtRenwuKuaizhaoAutoSubmit");
+ require(service, "item.setRenwuId(renwu.getId())");
+ require(service, "\"jianyan_xiangmu\", xiangmu.getId()");
+ require(service, "璇烽獙閰嶇疆妫�楠岄」鐩湭缁存姢璐ㄩ噺鏍囧噯");
+ require(service, "xiangmuMap.get(peizhiItem.getXiangmuId())");
+ require(service, "wrapper.in(\"bianma\", xiangmuBianhaoSet)");
+ require(service, "anBianmaChaxunJieguo.get(item.getXiangmuBianhao())");
+ require(service, "xiangmuMap.put(item.getXiangmuId(), xiangmu)");
+ require(service, "璇烽獙閰嶇疆瀛愰」鏈淮鎶よ川閲忔爣鍑嗗瓙椤笽D锛�");
+ require(service, "璇烽獙閰嶇疆瀛愰」鏈淮鎶ゆ楠岄」鐩紪鐮侊細");
+ require(service, "璇烽獙閰嶇疆寮曠敤鐨勬楠岄」鐩笉瀛樺湪鎴栧凡鍒犻櫎");
+ require(service, "kuaizhao.setJianyanXiangmuId(xiangmu.getId())");
+ require(service, "zixiang.getQuyangdianId()");
+ require(service, "鍙栨牱璁″垝瀛愰」鏈繚瀛樺彇鏍风偣ID锛�");
+ require(service, "鍙栨牱鐐规牱鍝佺被鍨嬩笌璁″垝涓嶄竴鑷达細");
+ require(service, "鍙栨牱鐐规墍灞炶溅闂翠笌璁″垝涓嶄竴鑷达細");
+ require(service, "Objects.equals(zixiang.getSuoshuChejian(), quyangdian.getChejianMingchengName())");
+ require(service, "renwu.setSuoshuChejian(quyangdian.getChejianMingchengName())");
+ require(service, "if (hasText(quyangdian.getFuzeGangwei())) {");
+ require(service, "baocunRenyuanKuaizhao(renwu, \"quyang_fuze_gangwei\", null, quyangdian.getFuzeGangwei(), now);");
+ require(service, "peizhiKuaizhaoYizhi(kuaizhao, dangqian)");
+ require(service, "LimsSxtQuyangdianKuaizhaoModel dongjie = JSON.parseObject(");
+ require(service, "kuaizhao.getKuaizhaoShuju(), LimsSxtQuyangdianKuaizhaoModel.class);");
+ require(service, "private Object dangqianPeizhi(String leixing, String id, String tenantId)");
+ require(service, "quyangdianMapper.selectForTaskSnapshot(tenantId, id)");
+ reject(service, "if (\"quyangdian\".equals(leixing)) return quyangdianMapper.selectById(id);");
+ reject(service, "wrapper.in(\"f_id\", xiangmuIds)");
+ reject(service, "璇烽獙閰嶇疆妫�楠岄」鐩甀D宸插彉鍖�");
+ reject(service, "Objects.equals(zixiang.getSuoshuChejian(), quyangdian.getChejianMingcheng())");
+ reject(service, "zixiang.getQuyangdianBianhao(), zixiang.getSuoshuChejian()");
+ reject(service, "ConcurrentHashMap");
+ reject(service, "lims_sxt_quyang_jihua_task");
+
+ String pointMapper = read("jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsMapper/LimsSxtQuyangdianMapper.java");
+ require(pointMapper, "List<LimsSxtQuyangdianVO> selectByLeixingAndChejian(");
+ require(pointMapper, "LimsSxtQuyangdianKuaizhaoModel selectForTaskSnapshot(");
+ require(pointMapper, "@Param(\"quyangdianId\") String quyangdianId");
+ reject(pointMapper, "LimsSxtQuyangdianVO selectForTaskSnapshot(");
+
+ String pointSnapshot = read("jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsModel/LimsSxtQuyangdianKuaizhaoModel.java");
+ require(pointSnapshot, "private String id;");
+ require(pointSnapshot, "private String tenantId;");
+ require(pointSnapshot, "private String quyangdianBianhao;");
+ require(pointSnapshot, "private String quyangDidian;");
+ require(pointSnapshot, "private String chejianMingcheng;");
+ require(pointSnapshot, "private String chejianMingchengName;");
+ require(pointSnapshot, "private String lururen;");
+ require(pointSnapshot, "private String leiXing;");
+ require(pointSnapshot, "private Date luruShijian;");
+ require(pointSnapshot, "private String bizEnabled;");
+ require(pointSnapshot, "private String fuzeGangwei;");
+ require(pointSnapshot, "private String bizSign;");
+ reject(pointSnapshot, "flowTaskId");
+ reject(pointSnapshot, "version");
+ reject(pointSnapshot, "creatorTime");
+ reject(pointSnapshot, "lastModifyTime");
+
+ String pointMapperXml = read("jnpf-lims/jnpf-lims-biz/src/main/resources/mapper/LimsSxtQuyangdianMapper.xml");
+ require(pointMapperXml, "<select id=\"selectByLeixingAndChejian\" resultMap=\"quyangdianVOMap\">");
+ require(pointMapperXml, "<resultMap id=\"quyangdianKuaizhaoMap\" type=\"jnpf.limsModel.LimsSxtQuyangdianKuaizhaoModel\">");
+ String pointSnapshotQuery = section(pointMapperXml, "<select id=\"selectForTaskSnapshot\"", "</select>");
+ require(pointSnapshotQuery, "resultMap=\"quyangdianKuaizhaoMap\"");
+ require(pointSnapshotQuery, "p.f_id");
+ require(pointSnapshotQuery, "p.chejian_mingcheng_name");
+ require(pointMapperXml, "p.f_id = #{quyangdianId}");
+ require(pointMapperXml, "INNER JOIN lims_sxt_chejian c");
+ reject(pointSnapshotQuery, "SELECT p.*");
+ reject(pointSnapshotQuery, "p.f_flow_id");
+ reject(pointSnapshotQuery, "p.f_version");
+ reject(pointSnapshotQuery, "p.f_creator_time");
+ reject(pointSnapshotQuery, "p.f_last_modify_time");
+ reject(pointMapperXml, "p.quyangdian_bianhao = #{quyangdianBianhao}");
+ reject(pointMapperXml, "c.mingcheng = #{suoshuChejian}");
+
+ String mapper = read("jnpf-lims/jnpf-lims-biz/src/main/resources/mapper/LimsSxtQuyangJihuaRenwuMapper.xml");
+ require(mapper, "lims_sxt_quyang_jihua_renwu");
+ require(mapper, "FOR UPDATE SKIP LOCKED");
+ require(mapper, "blocked_config_invalid");
+ require(mapper, "<resultMap id=\"BaseResultMap\" type=\"jnpf.limsEntity.LimsSxtQuyangJihuaRenwuEntity\">");
+ require(mapper, "<id column=\"f_id\" property=\"id\"/>");
+ require(mapper, "<result column=\"f_tenant_id\" property=\"fTenantId\"/>");
+ require(mapper, "<result column=\"jihua_riqi\" property=\"jihuaRiqi\"/>");
+ require(mapper, "<result column=\"qingyandan_zhuangtai_tongbu_shijian\" property=\"qingyandanZhuangtaiTongbuShijian\"/>");
+ requireOccurrences(mapper, "resultMap=\"BaseResultMap\"", 4);
+ reject(mapper, "resultType=\"jnpf.limsEntity.LimsSxtQuyangJihuaRenwuEntity\"");
+ requireMappedFields(mapper, read("jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/LimsSxtQuyangJihuaRenwuEntity.java"));
+ reject(mapper, "lims_sxt_quyang_jihua_task");
+ }
+
+ 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);
+ }
+ }
+
+ private static void reject(String content, String unexpected) {
+ if (content.contains(unexpected)) {
+ throw new AssertionError("unexpected: " + unexpected);
+ }
+ }
+
+ private static String section(String content, String start, String end) {
+ int startIndex = content.indexOf(start);
+ if (startIndex < 0) {
+ throw new AssertionError("missing: " + start);
+ }
+ int endIndex = content.indexOf(end, startIndex);
+ if (endIndex < 0) {
+ throw new AssertionError("missing: " + end);
+ }
+ return content.substring(startIndex, endIndex + end.length());
+ }
+
+ private static void requireOccurrences(String content, String expected, int count) {
+ int actual = 0;
+ int index = 0;
+ while ((index = content.indexOf(expected, index)) >= 0) {
+ actual++;
+ index += expected.length();
+ }
+ if (actual != count) {
+ throw new AssertionError("expected " + count + " occurrences of " + expected + ", got " + actual);
+ }
+ }
+
+ private static void requireMappedFields(String mapper, String entity) {
+ for (String sourceLine : entity.split("\\R")) {
+ String line = sourceLine.trim();
+ if (!line.startsWith("private ") || !line.endsWith(";")) {
+ continue;
+ }
+ String declaration = line.substring(0, line.length() - 1);
+ String field = declaration.substring(declaration.lastIndexOf(' ') + 1);
+ require(mapper, "property=\"" + field + "\"");
+ }
+ }
+}
--
Gitblit v1.8.0