From 3c2f6560d0da57cd30b77e9fd58c201e9a95998c Mon Sep 17 00:00:00 2001 From: huzhengkao <562572218@qq.com> Date: Thu, 5 Jun 2025 10:36:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/data.sql | 62 +++-- .../d2d/provtest/ProvTestClient.java | 223 +++--------------- .../controller/ProvTestServerController.java | 92 +++++++- .../DomesticDrugProductionApplyInfo.java | 85 +++++++ .../d2d/provtest/domain/ReceiveDataLog.java | 4 + .../d2d/provtest/entity/BaseEntity.java | 6 +- .../provtest/entity/DynamicFieldsEntity.java | 75 ++++++ .../d2d/provtest/entity/EventBasic.java | 8 + .../d2d/provtest/entity/EventBody.java | 28 +++ .../d2d/provtest/entity/InstanceDetail.java | 8 + .../d2d/provtest/entity/ItemDetail.java | 19 ++ .../d2d/provtest/entity/VTTSEvent.java | 23 ++ .../d2d/provtest/entity/VTTSEventS.java | 24 ++ .../d2d/provtest/enums/EventTypeEnum.java | 38 +++ .../d2d/provtest/enums/SubTypeEnum.java | 64 +++++ ...DomesticDrugProductionApplyInfoMapper.java | 8 + ...omesticDrugProductionApplyInfoService.java | 11 + .../provtest/service/XmlParserService.java | 13 +- ...ticDrugProductionApplyInfoServiceImpl.java | 20 ++ .../DomesticDrugProductionApplyInfoMapper.xml | 8 + .../d2d/provtest/ProvTestClient.class | Bin 8421 -> 7248 bytes .../controller/ProvTestServerController.class | Bin 9682 -> 14176 bytes .../domain/DomesticPharmaBaseInfo.class | Bin 15501 -> 15497 bytes .../d2d/provtest/entity/BaseEntity.class | Bin 4534 -> 4453 bytes .../d2d/provtest/entity/VTTSBasic.class | Bin 1617 -> 1617 bytes .../provtest/service/XmlParserService.class | Bin 8139 -> 8434 bytes .../compile/default-compile/createdFiles.lst | 18 +- .../compile/default-compile/inputFiles.lst | 18 +- 28 files changed, 634 insertions(+), 221 deletions(-) create mode 100644 src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugProductionApplyInfo.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/entity/DynamicFieldsEntity.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/entity/EventBasic.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/entity/EventBody.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/entity/InstanceDetail.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/entity/ItemDetail.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/entity/VTTSEvent.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/entity/VTTSEventS.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/enums/EventTypeEnum.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/enums/SubTypeEnum.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/mapper/DomesticDrugProductionApplyInfoMapper.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/service/IDomesticDrugProductionApplyInfoService.java create mode 100644 src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugProductionApplyInfoServiceImpl.java create mode 100644 src/main/resources/mapper/DomesticDrugProductionApplyInfoMapper.xml diff --git a/sql/data.sql b/sql/data.sql index 0387f3f..090a0fc 100644 --- a/sql/data.sql +++ b/sql/data.sql @@ -1,17 +1,20 @@ -CREATE TABLE receive_data_log ( - event_id VARCHAR(32) PRIMARY KEY COMMENT '事件流水号', - process_id VARCHAR(32) NOT NULL COMMENT '传输标记号', - event_type VARCHAR(100) NOT NULL COMMENT '数据文件内容主业务类型', - sub_type VARCHAR(50) NOT NULL COMMENT '数据文件内容子业务类型', - data TEXT COMMENT '数据文件内容', - ver VARCHAR(10) COMMENT 'API协议版本', - create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - is_deleted TINYINT DEFAULT 0 COMMENT '是否删除(0-否 1-是)', - INDEX idx_process_id (process_id), - INDEX idx_event_type (event_type), - INDEX idx_sub_type (sub_type) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='接收数据日志信息表'; +CREATE TABLE `receive_data_log` ( + `event_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '事件流水号', + `process_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '传输标记号', + `event_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '数据文件内容主业务类型', + `event_type_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '数据文件内容主业务类型名称', + `sub_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '数据文件内容子业务类型', + `sub_type_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '数据文件内容子业务类型名称', + `data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '数据文件内容', + `ver` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'API协议版本', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint DEFAULT '0' COMMENT '是否删除(0-否 1-是)', + PRIMARY KEY (`event_id`) USING BTREE, + KEY `idx_process_id` (`process_id`) USING BTREE, + KEY `idx_event_type` (`event_type`) USING BTREE, + KEY `idx_sub_type` (`sub_type`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='接收数据日志信息表'; CREATE TABLE domestic_pharma_base_info ( id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', @@ -45,4 +48,33 @@ CREATE TABLE domestic_pharma_base_info ( is_deleted TINYINT DEFAULT 0 COMMENT '是否删除(0-否 1-是)', INDEX idx_jnypscqymc (jnypscqymc), INDEX idx_zsdzszxszzq (zsdzszxszzq) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='境内药品生产企业基本信息数据表'; \ No newline at end of file +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='境内药品生产企业基本信息数据表'; + + +CREATE TABLE `domestic_drug_production_apply_info` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `event_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '事件流水号', + `rec_time` datetime NOT NULL COMMENT '事件响应时间', + `ypzsm` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '药品追溯码', + `syjbzypzsm` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '上一级包装药品追溯码', + `bzcj` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '包装层级', + `ymzt` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '暂无', + `tyshxydmscqy` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '统一社会信用代码', + `scqymc` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '境内药品生产企业名称', + `yptymc` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '药品通用名称', + `gjypbsm` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '国家药品标识码', + `ymscph` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '药品生产批号', + `scrq` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '药品生产日期', + `ymyxqjzrq` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '药品有效期截止日期', + `scsl` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '生产数量', + `scdz` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '生产地址', + `rkdbh` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '入库单编号', + `rksj` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '入库时间', + `rkdwmc` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '入库单位名称', + `rkdwtyshxydm` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '入库单位统一社会信用代码', + `rkdwlx` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '入库单位类型', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` tinyint DEFAULT '0' COMMENT '是否删除(0-否 1-是)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='国产药品生产信息数据子集'; \ No newline at end of file diff --git a/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java b/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java index c0147d9..63f3221 100644 --- a/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java +++ b/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java @@ -6,13 +6,19 @@ import com.alihealth.d2d.provtest.utils.Base64; import com.alihealth.d2d.provtest.utils.EventPojo; import com.alihealth.d2d.provtest.utils.KeyStoreUtil; import com.alihealth.d2d.provtest.utils.StreamUtil; +import org.springframework.util.ResourceUtils; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileNotFoundException; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.security.*; import java.security.interfaces.RSAPublicKey; import java.security.spec.InvalidKeySpecException; @@ -49,20 +55,26 @@ public class ProvTestClient { private static final String algorithm = "RSA"; + private static final String XML_DIRECTORY = "D:\\ynyp\\药品追溯\\省市对接(药品v0.19)-通用版\\省市对接(药品v0.19)-通用版\\数据报文示例\\"; + public static void main(String[] args) throws Exception { + //数据文件内容主业务类型 10:基础信息数据 20:应用信息数据 + //subType数据文件内容子业务类型 详见:数据类型字典表 基本信息(1011-1019、9001-9002) 应用信息(2011-2020、2051-2053) + testProv("2011"); + + } + + public static void testProv(String subType) throws Exception{ //入参 String fileName = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 20); - //需要同步的xml - String data = StreamUtil.getStreamContent(fileName, getData()); + //需要同步的xml(10-基本信息集 20-应用信息集) + String data = StreamUtil.getStreamContent(fileName, getData(subType)); //流水号 String processId = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 20); //事件编号 String eventId = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 20); - //数据文件内容主业务类型 10:基础信息数据 - //20:应用信息数据 - String eventType = "10"; - //数据文件内容子业务类型 详见:数据类型字典表 - String subType = "1011"; + //数据文件内容主业务类型 10:基础信息数据 20:应用信息数据 + //subType数据文件内容子业务类型 详见:数据类型字典表 //获取公钥 String publicKey = getPublicKey(); @@ -86,6 +98,10 @@ public class ProvTestClient { Map paramMap = new HashMap<>(); paramMap.put("process_id", processId); paramMap.put("event_id", eventId); + String eventType="10"; + if(subType.startsWith("20")){//20开头 + eventType="20"; + } paramMap.put("event_type", eventType); paramMap.put("event", JSONObject.toJSONString(eventPojo)); paramMap.put("timestamp", timestamp); @@ -97,7 +113,6 @@ public class ProvTestClient { System.out.println(body); - } /** @@ -178,191 +193,23 @@ public class ProvTestClient { return dateFormat.format(date); } + /** - * 获取用于传输的xml + * 动态获取文件内容 + * @param subType * @return + * @throws IOException */ -// private static String getData(){ -// return "\n" + -// "\n" + -// "\n" + -// "\n" + -// " 疫苗生产企业基本信息数据子集\n" + -// " \n" + -// " \n" + -// " 912101131181555503\n" + -// " 辽宁依生生物制药有限公司\n" + -// " 有限公司\n" + -// " 新城子区财落镇大辛二村\n" + -// " 156\n" + -// " 210000\n" + -// " 210100\n" + -// " 000044\n" + -// " 新城子区财落镇大辛二村\n" + -// " 新城子区财落镇大辛二村\n" + -// " 新城子区财落镇大辛二村\n" + -// " 张译\n" + -// " 4105.512万\n" + -// " 19190101\n" + -// " 2005-06-29至无固定期限\n" + -// " \n" + -// " 沈阳市沈北新区市场监督管理局\n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// "\n" + -// "\n" + -// " \n" + -// " 91120116681888972M\n" + -// " 康希诺生物股份公司\n" + -// " 股份有限公司(中外合资、上市)\n" + -// " 天津经济技术开发区西区南大街185号西区生物医药园四层401-420号\n" + -// " 156\n" + -// " 120000\n" + -// " 120000\n" + -// " 000035\n" + -// " 西区南大街185号西区生物医药园四层401-420号\n" + -// " 西区南大街185号西区生物医药园四层401-420号\n" + -// " 生物医药园四层401-420号\n" + -// " YU XUEFENG(宇学峰)\n" + -// " 77706.99万\n" + -// " 19910101\n" + -// " 2009-01-13至2059-01-12\n" + -// " \n" + -// " 天津市滨海新区市场和质量监督管理局\n" + -// " \n" + -// " \n" + -// " \n" + -// " www.cansinotech.com\n" + -// " \n" + -// " \n" + -// " \n" + -// "\n" + -// "\n" + -// "\n" + -// " \n" + -// " 9132129168412218X6\n" + -// " 江苏金迪克生物技术有限公司\n" + -// " 有限公司\n" + -// " 泰州市郁金路12号\n" + -// " 156\n" + -// " 320000\n" + -// " 321200\n" + -// " 000025\n" + -// " 郁金路12号\n" + -// " 郁金路12号\n" + -// " 郁金路12号\n" + -// " 余军\n" + -// " \n" + -// " 19900101\n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// "\n" + -// "\n" + -// " \n" + -// " 912200007307650053\n" + -// " 吉林亚泰生物药业股份有限公司\n" + -// " 股份有限公司\n" + -// " 吉林省长春市高新开发区北湖科技开发区高科技中心B区537-A室\n" + -// " 156\n" + -// " 220000\n" + -// " 220100\n" + -// " 000000\n" + -// " 高新开发区北湖科技开发区高科技中心B区537-A室\n" + -// " 高新开发区北湖科技开发区高科技中心B区537-A室\n" + -// " 高科技中心B区537-A室\n" + -// " 刘晓峰\n" + -// " 43564.770000万\n" + -// " 19940307\n" + -// " 2010-06-30至2020-12-31\n" + -// " 小容量注射剂(卡介菌多糖核酸注射液)、疫苗[人用狂犬病疫苗(地鼠肾细胞)]生产(药品生产许可证有效期至2020年12月31日)及技术咨询、技术服务、研究开发;医疗器械研发、生产和销售;第Ⅰ类、第Ⅱ类、第Ⅲ类体外诊断试剂研发、生产及销售;消毒产品(危险化学品除外)的研发、生产及销售。(依法须经批准的项目,经相关部门批准后方可开展经营活动)\n" + -// " 吉林省市场监督管理厅\n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n" + -// " \n"; -// } + private static String getData(String subType) throws IOException { + // 构建文件名 + String fileName = subType + ".xml"; + // 获取文件路径 + File file = ResourceUtils.getFile(XML_DIRECTORY + fileName); + Path path = Paths.get(file.getAbsolutePath()); + // 读取文件内容并返回 + return new String(Files.readAllBytes(path)); - private static String getData(){ - return "\n" + - "\n" + - " \n" + - "境内药品生产企业基本信息数据子集\n" + - "\n" + - "\n" + - "911100007635353107\n" + - "上海药业有限公司\n" + - "股份有限公司\n" + - "吉林省长春市高新开发区北湖科技开发区高科技中心B区537-A室 \n" + - "156\n" + - "220000\n" + - "220100\n" + - "000000\n" + - "高新开发区北湖科技开发区高科技中心B区537-A室 \n" + - "高新开发区北湖科技开发区高科技中心B区537-A室\n" + - "高科技中心B区537-A室\n" + - "刘晓峰\n" + - "43564.770000万\n" + - "19940307\n" + - "2010-06-30至2020-12-31\n" + - "小容量注射剂\n" + - "上海市闵行区向阳路888号\n" + - "0531-8291****\n" + - "0531-8291****\n" + - "***@dsyywl.com\n" + - "www.dsyywl.com.cn\n" + - "张三\n" + - "0531-8291****\n" + - "113.54,22.19\n" + - "\n" + - "\n" + - "911100007635353107\n" + - "上海药业有限公司\n" + - "股份有限公司\n" + - "吉林省长春市高新开发区北湖科技开发区高科技中心B区537-A室 \n" + - "156\n" + - "220000\n" + - "220100\n" + - "000000\n" + - "高新开发区北湖科技开发区高科技中心B区537-A室 \n" + - "高新开发区北湖科技开发区高科技中心B区537-A室\n" + - "高科技中心B区537-A室\n" + - "刘晓峰\n" + - "43564.770000万\n" + - "19940307\n" + - "2010-06-30至2020-12-31\n" + - "小容量注射剂\n" + - "上海市闵行区向阳路888号\n" + - "0531-8291****\n" + - "0531-8291****\n" + - "***@dsyywl.com\n" + - "www.dsyywl.com.cn\n" + - "张三\n" + - "0531-8291****\n" + - "113.54,22.19\n" + - "\n" + - "\n" + - " \n"; } diff --git a/src/main/java/com/alihealth/d2d/provtest/controller/ProvTestServerController.java b/src/main/java/com/alihealth/d2d/provtest/controller/ProvTestServerController.java index c00ab12..07f9652 100644 --- a/src/main/java/com/alihealth/d2d/provtest/controller/ProvTestServerController.java +++ b/src/main/java/com/alihealth/d2d/provtest/controller/ProvTestServerController.java @@ -1,10 +1,15 @@ package com.alihealth.d2d.provtest.controller; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; +import com.alihealth.d2d.provtest.domain.DomesticDrugProductionApplyInfo; import com.alihealth.d2d.provtest.domain.DomesticPharmaBaseInfo; import com.alihealth.d2d.provtest.domain.ReceiveDataLog; -import com.alihealth.d2d.provtest.entity.VTTSBasic; +import com.alihealth.d2d.provtest.entity.*; import com.alihealth.d2d.provtest.enums.BuzStatusEnum; +import com.alihealth.d2d.provtest.enums.EventTypeEnum; +import com.alihealth.d2d.provtest.enums.SubTypeEnum; +import com.alihealth.d2d.provtest.service.IDomesticDrugProductionApplyInfoService; import com.alihealth.d2d.provtest.service.IDomesticPharmaBaseInfoService; import com.alihealth.d2d.provtest.service.IReceiveDataLogService; import com.alihealth.d2d.provtest.service.XmlParserService; @@ -25,6 +30,11 @@ import java.security.*; import java.security.interfaces.RSAPrivateKey; import java.security.spec.InvalidKeySpecException; import java.security.spec.PKCS8EncodedKeySpec; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; @@ -62,6 +72,9 @@ public class ProvTestServerController { @Autowired private IReceiveDataLogService receiveDataLogService; + @Autowired + private IDomesticDrugProductionApplyInfoService domesticDrugProductionApplyInfoService; + @RequestMapping("/receive") public @ResponseBody Map receive(HttpServletRequest request) throws IOException { @@ -105,7 +118,9 @@ public class ProvTestServerController { log.setEventId(eventId); log.setProcessId(processId); log.setEventType(eventType); + log.setEventTypeName(EventTypeEnum.getNameByType(eventType)); log.setSubType(eventPojo.getSubType()); + log.setSubTypeName(SubTypeEnum.getNameByType(eventPojo.getSubType())); log.setData(eventPojo.getData()); log.setVer(ver); receiveDataLogService.save(log); @@ -122,19 +137,72 @@ public class ProvTestServerController { // xml, // DomesticPharmaBaseInfo.class // ); - VTTSBasic result = xmlParserService.parseDataXml( - xml, - DomesticPharmaBaseInfo.class - ); - List list = result.getDataset(); - if(list!=null && !list.isEmpty()){ - list.stream() - .forEach(item -> { - item.setEventId(eventId); + if(eventType.equals("10")){ + VTTSBasic result = xmlParserService.parseDataXml( + xml, + DomesticPharmaBaseInfo.class + ); + List list = result.getDataset(); + if(list!=null && !list.isEmpty()){ + list.stream() + .forEach(item -> { + item.setEventId(eventId); + }); + domesticPharmaBaseInfoService.saveBatch(list); + logger.info("入库的数据条数:{}", list.size()); + } + }else{ + List list=new ArrayList<>(); + VTTSEventS eventS = xmlParserService.parseAppDataXml(xml); + for (EventBody eventBody : eventS.getVttsEvent().getEventBodyList()) { + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + DomesticDrugProductionApplyInfo applyInfo=new DomesticDrugProductionApplyInfo(); + + applyInfo.setEventId(eventBody.getEventID()); + applyInfo.setRecTime(formatter.parse(eventBody.getRecTime())); + + + + EventBasic evtBasic = eventBody.getEvtBasic(); + applyInfo.setRkdbh(evtBasic.getString("RKDBH")); + applyInfo.setRksj(evtBasic.getString("RKSJ")); + applyInfo.setRkdwmc(evtBasic.getString("RKDWMC")); + applyInfo.setRkdwtyshxydm(evtBasic.getString("RKDWTYSHXYDM")); + applyInfo.setRkdwlx(evtBasic.getString("RKDWLX")); + + + for (ItemDetail item : eventBody.getItemList()) { + applyInfo.setTyshxydmscqy(item.getString("TYSHXYDMSCQY")); + applyInfo.setScqymc(item.getString("SCQYMC")); + applyInfo.setYptymc(item.getString("YPTYMC")); + applyInfo.setGjypbsm(item.getString("GJYPBSM")); + applyInfo.setYmscph(item.getString("YMSCPH")); + String formattedDate = LocalDate.parse( + item.getString("SCRQ"), + DateTimeFormatter.ofPattern("yyyyMMdd") + ).format(DateTimeFormatter.ISO_LOCAL_DATE); // 直接使用标准格式 + applyInfo.setScrq(formattedDate); + applyInfo.setYmyxqjzrq(item.getString("YMYXQJZRQ")); + applyInfo.setScsl(item.getString("SCSL")); + applyInfo.setScdz(item.getString("SCDZ")); + + + item.getInstanceList().forEach(instance -> { + applyInfo.setYpzsm(instance.getString("YPZSM")); + applyInfo.setSyjbzypzsm(instance.getString("SYJBZYPZSM")); + applyInfo.setBzcj(instance.getString("BZCJ")); + applyInfo.setYmzt(instance.getString("YMZT")); + list.add(applyInfo); }); - domesticPharmaBaseInfoService.saveBatch(list); + + } + } + if(!list.isEmpty()){ + domesticDrugProductionApplyInfoService.saveBatch(list); + } + } - logger.info("入库的数据条数:{}", list.size()); return ResponseBuilder.success(); }catch (Exception e){ diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugProductionApplyInfo.java b/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugProductionApplyInfo.java new file mode 100644 index 0000000..6023780 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugProductionApplyInfo.java @@ -0,0 +1,85 @@ +package com.alihealth.d2d.provtest.domain; + +import com.alihealth.d2d.provtest.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; +import lombok.Data; + +import javax.persistence.Column; +import java.util.Date; + +/** + * @author Jason 国产药品生产信息数据子集 + * @date 2025年06月04日 11:39:02 + */ +@Data +@TableName("domestic_drug_production_apply_info") +public class DomesticDrugProductionApplyInfo extends BaseEntity { + + //private String eventId; + @Column(name = "rec_time") + private Date recTime; + + @Column(name = "ypzsm") + private String ypzsm; + + @Column(name = "syjbzypzsm") + private String syjbzypzsm; + + @Column(name = "bzcj") + private String bzcj; + + @Column(name = "ymzt") + private String ymzt; + + @Column(name = "tyshxydmscqy") + private String tyshxydmscqy; + + @Column(name = "scqymc") + private String scqymc; + + @Column(name = "yptymc") + private String yptymc; + + @Column(name = "gjypbsm") + private String gjypbsm; + + @Column(name = "ymscph") + private String ymscph; + + @Column(name = "scrq") + private String scrq; + + @Column(name = "ymyxqjzrq") + private String ymyxqjzrq; + + @Column(name = "scsl") + private String scsl; + @Column(name = "scdz") + private String scdz; + + @Column(name = "rkdbh") + private String rkdbh; + + @Column(name = "rksj") + private String rksj; + + @Column(name = "rkdwmc") + private String rkdwmc; + + @Column(name = "rkdwtyshxydm") + private String rkdwtyshxydm; + + @Column(name = "rkdwlx") + private String rkdwlx; + + @Override + public Class getEntityClass() { + return DomesticDrugProductionApplyInfo.class; + } + + @Override + public String getDatasetName() { + return "国产药品生产信息数据子集"; + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/ReceiveDataLog.java b/src/main/java/com/alihealth/d2d/provtest/domain/ReceiveDataLog.java index a6482da..1cdfb47 100644 --- a/src/main/java/com/alihealth/d2d/provtest/domain/ReceiveDataLog.java +++ b/src/main/java/com/alihealth/d2d/provtest/domain/ReceiveDataLog.java @@ -26,11 +26,15 @@ public class ReceiveDataLog { @Column(name = "event_type") private String eventType; + @Column(name = "event_type_name") + private String eventTypeName; @Column(name = "sub_type") private String subType; + @Column(name = "sub_type_name") + private String subTypeName; @Column(name = "data") diff --git a/src/main/java/com/alihealth/d2d/provtest/entity/BaseEntity.java b/src/main/java/com/alihealth/d2d/provtest/entity/BaseEntity.java index 4386a7e..2f9e144 100644 --- a/src/main/java/com/alihealth/d2d/provtest/entity/BaseEntity.java +++ b/src/main/java/com/alihealth/d2d/provtest/entity/BaseEntity.java @@ -1,5 +1,7 @@ package com.alihealth.d2d.provtest.entity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import org.springframework.data.annotation.Id; @@ -12,11 +14,9 @@ import java.time.LocalDateTime; * @date 2025年05月30日 09:55:20 */ @MappedSuperclass -@XmlTransient @Data public abstract class BaseEntity> implements XmlEntity{ - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) + @TableId(type = IdType.AUTO) // 明确指定使用数据库自增 private Long id; @Column(name = "event_id") diff --git a/src/main/java/com/alihealth/d2d/provtest/entity/DynamicFieldsEntity.java b/src/main/java/com/alihealth/d2d/provtest/entity/DynamicFieldsEntity.java new file mode 100644 index 0000000..dd6a38e --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/entity/DynamicFieldsEntity.java @@ -0,0 +1,75 @@ +package com.alihealth.d2d.provtest.entity; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.databind.JsonNode; + +import java.util.Collections; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * @author Jason 动态字段基类 + * @date 2025年06月03日 16:49:21 + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class DynamicFieldsEntity { + + // 动态字段存储 + @JsonIgnore + protected final Map dynamicFields = new LinkedHashMap<>(); + + // 原始数据 + @JsonIgnore + protected JsonNode rawData; + + @JsonAnySetter + public void setDynamicField(String name, Object value) { + dynamicFields.put(name, value); + } + + public Object getDynamicField(String name) { + return dynamicFields.get(name); + } + + @JsonAnyGetter + public Map getDynamicFields() { + return Collections.unmodifiableMap(dynamicFields); + } + + @JsonProperty("value") + protected void unpackNested(JsonNode node) { + this.rawData = node; + if (node != null) { + node.fields().forEachRemaining(entry -> { + dynamicFields.put(entry.getKey(), + entry.getValue().isValueNode() ? + entry.getValue().asText() : + entry.getValue()); + }); + } + } + + // 实用方法 + public boolean hasField(String name) { + return dynamicFields.containsKey(name); + } + + public String getString(String name) { + Object val = dynamicFields.get(name); + return val != null ? val.toString() : null; + } + + public Integer getInt(String name) { + try { + return Integer.parseInt(getString(name)); + } catch (Exception e) { + return null; + } + } + + public Date getDate(String name) { + // 实现日期转换逻辑 + return null; + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/entity/EventBasic.java b/src/main/java/com/alihealth/d2d/provtest/entity/EventBasic.java new file mode 100644 index 0000000..3fe5c2d --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/entity/EventBasic.java @@ -0,0 +1,8 @@ +package com.alihealth.d2d.provtest.entity; + +/** + * @author Jason 事件基本信息 (动态字段) + * @date 2025年06月03日 16:51:24 + */ +public class EventBasic extends DynamicFieldsEntity{ +} diff --git a/src/main/java/com/alihealth/d2d/provtest/entity/EventBody.java b/src/main/java/com/alihealth/d2d/provtest/entity/EventBody.java new file mode 100644 index 0000000..7503e52 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/entity/EventBody.java @@ -0,0 +1,28 @@ +package com.alihealth.d2d.provtest.entity; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author Jason + * @date 2025年06月03日 16:37:33 + */ +@Data +public class EventBody { + + @JacksonXmlProperty(localName = "recTime") + private String recTime; + + @JacksonXmlProperty(localName = "eventID") + private String eventID; + + @JacksonXmlProperty(localName = "evtBasic") + private EventBasic evtBasic; + + @JacksonXmlElementWrapper(localName = "itemList") + @JacksonXmlProperty(localName = "itemDetail") + private List itemList; +} diff --git a/src/main/java/com/alihealth/d2d/provtest/entity/InstanceDetail.java b/src/main/java/com/alihealth/d2d/provtest/entity/InstanceDetail.java new file mode 100644 index 0000000..e82fb52 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/entity/InstanceDetail.java @@ -0,0 +1,8 @@ +package com.alihealth.d2d.provtest.entity; + +/** + * @author Jason + * @date 2025年06月03日 16:52:28 + */ +public class InstanceDetail extends DynamicFieldsEntity{ +} diff --git a/src/main/java/com/alihealth/d2d/provtest/entity/ItemDetail.java b/src/main/java/com/alihealth/d2d/provtest/entity/ItemDetail.java new file mode 100644 index 0000000..f8f21dc --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/entity/ItemDetail.java @@ -0,0 +1,19 @@ +package com.alihealth.d2d.provtest.entity; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author Jason + * @date 2025年06月03日 16:52:08 + */ +@Data +public class ItemDetail extends DynamicFieldsEntity { + + @JacksonXmlElementWrapper(localName = "instanceList") + @JacksonXmlProperty(localName = "instanceDetail") + private List instanceList; +} diff --git a/src/main/java/com/alihealth/d2d/provtest/entity/VTTSEvent.java b/src/main/java/com/alihealth/d2d/provtest/entity/VTTSEvent.java new file mode 100644 index 0000000..16fa99f --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/entity/VTTSEvent.java @@ -0,0 +1,23 @@ +package com.alihealth.d2d.provtest.entity; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author Jason 应用信息集主事件类 + * @date 2025年06月03日 16:36:06 + */ +@Data +public class VTTSEvent { + + @JacksonXmlProperty(localName = "datasetName") + private String datasetName; + + @JacksonXmlElementWrapper(localName = "eventBodyList") + @JacksonXmlProperty(localName = "eventBody") + private List eventBodyList; + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/entity/VTTSEventS.java b/src/main/java/com/alihealth/d2d/provtest/entity/VTTSEventS.java new file mode 100644 index 0000000..8b318ec --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/entity/VTTSEventS.java @@ -0,0 +1,24 @@ +package com.alihealth.d2d.provtest.entity; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; + +/** + * @author Jason 应用信息集根元素类 + * @date 2025年06月03日 16:34:49 + */ +@JacksonXmlRootElement(localName = "VTTSEventS") +public class VTTSEventS { + + @JacksonXmlProperty(localName = "VTTSEvent") + private VTTSEvent vttsEvent; + + // getter和setter + public VTTSEvent getVttsEvent() { + return vttsEvent; + } + + public void setVttsEvent(VTTSEvent vttsEvent) { + this.vttsEvent = vttsEvent; + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/enums/EventTypeEnum.java b/src/main/java/com/alihealth/d2d/provtest/enums/EventTypeEnum.java new file mode 100644 index 0000000..b36e790 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/enums/EventTypeEnum.java @@ -0,0 +1,38 @@ +package com.alihealth.d2d.provtest.enums; + +public enum EventTypeEnum { + EVENTTYPE_10("10", "基础信息数据"), + EVENTTYPE_20("20", "应用信息数据"); + + private final String type; + private final String name; + + EventTypeEnum(String type, String name) { + this.type = type; + this.name = name; + } + + public String getType() { + return type; + } + + public String getName() { + return name; + } + + // 根据类型获取枚举实例 + public static EventTypeEnum getByType(String type) { + for (EventTypeEnum typeEnum : values()) { + if (typeEnum.type.equals(type)) { + return typeEnum; + } + } + return null; + } + + // 根据类型获取名称 + public static String getNameByType(String type) { + EventTypeEnum typeEnum = getByType(type); + return typeEnum != null ? typeEnum.getName() : "未知类型"; + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/enums/SubTypeEnum.java b/src/main/java/com/alihealth/d2d/provtest/enums/SubTypeEnum.java new file mode 100644 index 0000000..673a117 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/enums/SubTypeEnum.java @@ -0,0 +1,64 @@ +package com.alihealth.d2d.provtest.enums; + +/** + * @author Jason 数据文件内容子业务类型 + * @date 2025年06月04日 11:08:40 + */ +public enum SubTypeEnum { + SUBTYPE_1011("1011", "境内药品生产企业基本信息数据子集"), + SUBTYPE_1012("1012", "境外药品生产企业基本信息数据子集"), + SUBTYPE_1013("1013", "药品生产许可证基本信息数据子集"), + SUBTYPE_1014("1014", "药品经营企业基本信息数据子集"), + SUBTYPE_1015("1015", "药品经营许可证基本信息数据子集"), + SUBTYPE_1016("1016", "药品配送企业基本信息数据子集"), + SUBTYPE_1017("1017", "药品使用单位基本信息数据子集"), + SUBTYPE_1018("1018", "国产药品基本信息数据子集"), + SUBTYPE_1019("1019", "进口药品基本信息数据子集"), + SUBTYPE_9001("9001", "药检报告基础信息数据子集"), + SUBTYPE_9002("9002", "药检报告概览回传基础信息数据子集"), + SUBTYPE_2011("2011", "国产药品生产信息数据子集"), + SUBTYPE_2012("2012", "药品进口信息数据子集"), + SUBTYPE_2013("2013", "药品自检信息数据子集"), + SUBTYPE_2015("2015", "发货单信息数据子集"), + SUBTYPE_2016("2016", "收货单信息数据子集"), + SUBTYPE_2017("2017", "药品零售与药品使用信息数据子集"), + SUBTYPE_2018("2018", "药品召回信息数据子集"), + SUBTYPE_2019("2019", "库存上报基本信息数据子集"), + SUBTYPE_2020("2020", "撤销单"), + SUBTYPE_2051("2051", "温度信息子集-单据与存储设备关系信息"), + SUBTYPE_2052("2052", "温度信息子集-存储设备温度信息"), + SUBTYPE_2053("2053", "温度信息子集-运输温度信息"); + + + private final String type; + private final String name; + + SubTypeEnum(String type, String name) { + this.type = type; + this.name = name; + } + + public String getType() { + return type; + } + + public String getName() { + return name; + } + + // 根据类型获取枚举实例 + public static SubTypeEnum getByType(String type) { + for (SubTypeEnum typeEnum : values()) { + if (typeEnum.type.equals(type)) { + return typeEnum; + } + } + return null; + } + + // 根据类型获取名称 + public static String getNameByType(String type) { + SubTypeEnum typeEnum = getByType(type); + return typeEnum != null ? typeEnum.getName() : "未知类型"; + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/mapper/DomesticDrugProductionApplyInfoMapper.java b/src/main/java/com/alihealth/d2d/provtest/mapper/DomesticDrugProductionApplyInfoMapper.java new file mode 100644 index 0000000..75a5713 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/mapper/DomesticDrugProductionApplyInfoMapper.java @@ -0,0 +1,8 @@ +package com.alihealth.d2d.provtest.mapper; + +import com.alihealth.d2d.provtest.domain.DomesticDrugProductionApplyInfo; +import com.alihealth.d2d.provtest.domain.DomesticPharmaBaseInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +public interface DomesticDrugProductionApplyInfoMapper extends BaseMapper { +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/IDomesticDrugProductionApplyInfoService.java b/src/main/java/com/alihealth/d2d/provtest/service/IDomesticDrugProductionApplyInfoService.java new file mode 100644 index 0000000..a90bcdc --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/IDomesticDrugProductionApplyInfoService.java @@ -0,0 +1,11 @@ +package com.alihealth.d2d.provtest.service; + +import com.alihealth.d2d.provtest.domain.DomesticDrugProductionApplyInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @author Jason + * @date 2025年06月04日 17:18:31 + */ +public interface IDomesticDrugProductionApplyInfoService extends IService { +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/XmlParserService.java b/src/main/java/com/alihealth/d2d/provtest/service/XmlParserService.java index 0934b48..df8d7fd 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/XmlParserService.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/XmlParserService.java @@ -2,6 +2,7 @@ package com.alihealth.d2d.provtest.service; import com.alihealth.d2d.provtest.domain.DomesticPharmaBaseInfo; import com.alihealth.d2d.provtest.entity.VTTSBasic; +import com.alihealth.d2d.provtest.entity.VTTSEventS; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import org.springframework.stereotype.Service; @@ -30,7 +31,7 @@ public class XmlParserService { /** - * 使用Jackson XML 解析xml + * 使用Jackson XML 解析基本信息xml * @param xml * @param dataType * @return @@ -45,6 +46,16 @@ public class XmlParserService { return xmlMapper.readValue(xml, type); } + /** + * 解析应用数据xml + * @param xml + * @return + * @throws Exception + */ + public static VTTSEventS parseAppDataXml(String xml) throws Exception { + return xmlMapper.readValue(xml, VTTSEventS.class); + } + /** * 解析包含多个data节点的XML diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugProductionApplyInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugProductionApplyInfoServiceImpl.java new file mode 100644 index 0000000..5b7434b --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugProductionApplyInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.alihealth.d2d.provtest.service.impl; + +import com.alihealth.d2d.provtest.domain.DomesticDrugProductionApplyInfo; +import com.alihealth.d2d.provtest.domain.DomesticPharmaBaseInfo; +import com.alihealth.d2d.provtest.mapper.DomesticDrugProductionApplyInfoMapper; +import com.alihealth.d2d.provtest.mapper.DomesticPharmaBaseInfoMapper; +import com.alihealth.d2d.provtest.service.IDomesticDrugProductionApplyInfoService; +import com.alihealth.d2d.provtest.service.IDomesticPharmaBaseInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * @author Jason + * @date 2025年06月04日 17:19:17 + */ +@Service +public class DomesticDrugProductionApplyInfoServiceImpl extends ServiceImpl implements IDomesticDrugProductionApplyInfoService { + + +} diff --git a/src/main/resources/mapper/DomesticDrugProductionApplyInfoMapper.xml b/src/main/resources/mapper/DomesticDrugProductionApplyInfoMapper.xml new file mode 100644 index 0000000..ca85ec7 --- /dev/null +++ b/src/main/resources/mapper/DomesticDrugProductionApplyInfoMapper.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class b/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class index 0c1c6c3091cff562d738796760b7fbd5ded173f0..d27f26e28c91c6c8f6f0a79b02b1bedb6646a51b 100644 GIT binary patch delta 3632 zcma)933yc175>j`_sz?j5GIK*$RZ$U5<(`30VXO20*Fa4By0f`1~LhOFbT;d61M?` z0t%>ouBa8O7P}~D>@W~eYu)QY7rQUEm7uLvyJ*#_^uIF!qHVvg-6m`(7;QDVw#d6mLWbvGEEsESsDz?5Wi%bk|Vi#ds>DJl58b|4GEa2ks%tK zZpctWhM6*KxQsC63>m3plqsX-OjE|lSbfvam7HZqWl^SYQB~!#^4T>rrq8>irp|sw z9vx@SSidsT8f$8awktVXkX03lt!k;S4!4EZMq-h+c7YL#w8yI3S~~5WIYT`iE9P~z zM(lP+f&I8+i|LJYMxwD4X^QjSLB85pc;%X^aO=GAislGCVV0ESb${#}O~-IEW5cj8 z7)tV$6et;|q)^FtB}Gbt-PLYOWUO75GiFk$z}3*y91&zzt`2vGi<(-BW^%9Tt>M@z zK~9<;<$-1_swTD6UhEk&s{xJVnh-25wh%*yl446H$T^lw#KQt96u^>maib+AGRZ;` z2b4^=!+GqtBNMluWhcLUdU8j+W18ZENZb$08Mxu8@VDxY5p4 zvxb-PT&AIe{-)gRh&44Am6OfFW9YW8PKGLv4JB{ihz zi_}^&PZla!WWkm?ir3VZDOqgE5?N}u82LtnTx!W>vdq5E$agN0<@T$_U?VImELkb_ z_PfTY5fN#yq*1f2LZc;3Qg6v>X;!klhztQ_^lpOzM>|9-R_p zMCEcN>+Q|nV7x&GsSDlA&iM6fn+5C3Lrc4&U9C&s+OhYjz45Il5BDD2yY$%I8;>Th zJ-YWm@6HF`JG3=@))^dMJmtMZ+X~;_u(yjjz@a0zu>{%+qN8g z;NY82+^|&16_#8nS1GyLl52Ecvr>6$4o4e{YGZ9p(MBb4OE$yn{NQ|itGl9fv`coavcndo0`*YhT!;3pSU9og<68Gjrc?l?cYR zv^5sBvzVfd4Z7PdZ)saolq#E=NPA01+sep%)({&|HAZ5(^aZ1+VaP?NI>GAS8G-?1 zEL+ju(%cb?=xz{Xrx?D_B2?%kpP-b=vh6ZQjvaJ);$PrllYL22+oz<}775pvH8)S| z;!qF_KKsA*VBV5x7|9WQ8D9f8hF}?%LlEZ9fgtxQ`t2{~ekJ$u6ATq3)c0eU%zdQa zejyAhV}}#2qRJw!>}R<1_d^~{*=Qp4q=;j&nz)r_z#24j=fzq?;Y=X9*!pkex(M$kXpQ zS08&$9tYgxk~l4-`f&`>9Q3JAK@Z}CsW=ca0){3J2^jeaoZf?>qz+4Bc*yG?5i)yl z2KOUF8G#J{sKNsn?ZiT&X9iqp+&?B{<@?7baMqnr{;?s8hi3<@lZ<%*BZ>Tz+k$}i zBpx3ZFw+}tMD0gm$QSVW#|JXfRQew9QJA;&2a_o7+e{dE7GrTv0uvKBH4L6)iAlW*o66rZ^r_B1B+T4XL-r5Woa#*)wlct^Sz z&`Etjj)ZY}s-lOfgHYYL{U}Y~yr*#f91?Ls$Q5w83KO`nAc3-wJK%nz#N#Yc&Jv>s(^!ks z?MH?UkC%tcJ;)BY0`6Ru>&aF136K=<2FwIzY%(OPBiC3}qV^m=9PlPEQ-fI{w%|pY zVYV*keRRi}DwqYxCBBJa-ONwPEf|fh$mhL+4E?#-fyul`DX&tFn^1|bvTE!&OX5~0 z_jYFH4rby`itS?X?jqaWxDEF(7hg*i!cInfB@Nw#o0+3d4D7=g3#wX9!y3~i!LJ0$ z+vIbk+_;4noOEUb_1(_e2y*n?!BaP#ibrX37mH&uN8DY+6g^x;)4Qmooa6T%n)g!B zhkH|ocT?4F8p%jyxB#x>WHV2s@jivGE8MSepYS6V4*(-S#Q<(UL3S#+Sv2qWadU{uK zcBdbOg(R>|^hi%)QPsEv>YRtMIEf{5da$^zFo~u6ap|der@efIqwzHq;0Px1SC*bu z`Dt4xrWIe<^t3AA53Pf|m4loXZ+4horFy-XS4futpF-X24(K0(4m>FfxcZ5G#Gg3x M;pG_nP}acvZx2ln%K!iX literal 8421 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 diff --git a/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class b/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class index e7bdf629b7d76173cdea6ce1f1c185cef2e00b88..284befeba21b7f698be798a5562b5e205f85962c 100644 GIT binary patch literal 14176 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 delta 3001 zcmZWr2Y6If7XJUq%-lC`UXsa#07DT00m-02LBOC0NUv(>2pAzsXbB`Bh&UivkYag& zbO99vlolKkf>;4%6&qXJ;_AA6*R8t6Rq?-(1wKq>&O7(qbI4!8`|lbuiz--wgh4HU44nPiy0IHzhA$IQW-~#`w3Z z#eZD<7hgK~pTSoyT3SRc@wFx2SaL>+ggDZYfF&7%%3zcshAn3d9hVWhE~E6K%w(1& z*>Qk*QPyVztJN^d1RFUiHny8hTsGw;E}QXE!{!cK2qjxaco|z+VQZIdc)82A%r{Ir zZ0GU{UTIk1q7U2K#Z`t^yBNq0h8^wm8pBR523z<8*;yRBSaPi;g@#>~AGUXRU2BKe zyX?jrEa@I)5B79yi^o%G@*$$8mzlET2_6r?|3YV9C6~`3pQw#|aNR zvCB|^%UJGLqToU8$dfXr510Emb zLxxK|KFnnvN^pnaa*r#x(%%zr(twZfQNzb z5aez?=O^no&*k&n<8iN5+-Hlsp9lO2^?SErmB)j8LFr}M@Q}x99x$x&c$l>wPV$K1 zi$p8`olq;kph28T|Efz{`&%NR93pE<@top<*_EZ!3I>%{R93y#U_j6>ZqmrFZ8F2Z zy6JlV%ci3;d6X~dmh)xe`pf;Ca1+0K_9a#8F1eCyZ!=!?>1E}?Ov6_^zRF`B-o`2a z?Y12QJmF{Le;D8!{zv(PQa5VY07hRmqG%)BhGG!6iw|J9))OySkI;J31?yhYQ5~dz zr}V>mPOdwrx_?im#<)l(eFwS`5|{bMlFd7p>#!@6KpOp&#TVRQs)a7_R@*2#)He`g{X?_yWi64fZIK`cYh zuBm;6Vd(|q*C)a?=$3&4xS<-|_X%xEnl{&2|eWJ>IrfPhS5-RU04e?Uu=)yI` zR5rsjw$&)@dc$H|`Q=WVtiuiqnfo_UDO<$Vy|}ja0Epx0;!lFJV+DKfpa$pz@u@Dcmbr zrqI5Cl(;Nm-h+kWvITlA7U4d`1aAlyV+nEuvM=t(1BeS!J;nZzAgIh|TflNl@v!n5 z;a)7may3jAccrjG1~c?Z+oTvCQL;O72_6*}!edH!K7wamJbuoFkN8>rRp<0qNq@EU z$0Kk?>B%)%WAKE*T7z{4>+3#ZF8XXRsq>yo>#kE=+%rB9do_CGr@N!);CQcU^sYsp z(d`bQZyNnxM*ksJHlQ$=2!^gmV~|vnY4j`%B|=9#g)=&tj80B129G|3A^!Fbm!^gm zx;v1Y2qr>#CNG?4CZ!=!B9d^^xM_)_{#uylOzvcMoH?9`q;az)w-mayC>ot`4`J9o z;mN3L^IKFpC^SbgHBlTbv0XLTi4MZw1-sD|&!HQhSE=`?+4o@#_G4-aRqCG?)DLNO zz#)~iMkPF~g4ALoj?}g05_QsKIoT}(uC(K4IVD2oisjUDd&E)BH)F5#0)p_cob1=R zmg=$t@)H!43LMmKNPuR@YZ|Gra7~rtw0gap+*FHmgmHp^99H%>%4KbxW7{K11kY&G z{eL?gF?iA7sKF6ZHGTT> zlkt=1j2G#wowVnTS7U5yP_hQMUSvH>NrNu5gLjqs_v$><*V*$PGG+M(cuPLc`HH#r zg(EE+NVl`T!pZzJ#_gBnLfrSO01td;b*47#d&CYK`xlnmcV*Vz5M}AESPbvPY&7pl u5WxHA?#TyQpT8@oxkYQ;AN|T~!zVQ;UgL4Tjs$hszERZ28H_WR^}Yq-0Zy9$ diff --git a/target/classes/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.class b/target/classes/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.class index 8ec92ef742bb01c185a01936b1c35f84d1f8e975..1058231173239d5e317fd34afb80d187f1bb5e58 100644 GIT binary patch delta 266 zcmW;AyAAUP5lBJqZ zj?z$`dP4;&6H!v6Jg7w7pvqrIQ%Q}h0o5T_TI?6PO{Jqsy3_>fQCFx>eW3y6T1tl0 X0UA+H$fHuWk~uYo7JvB{`w{;EW4cZK delta 268 zcmW;9y$-=(7{&2CiP*Zev?|dilGk9Uq(cXTh)OL6kr*rnLwyVeOJlGw7)s>55xlO2 z?k)p~$2r5v?|(?rw!#r(eptor!H~OATNk&9vepfCGK@N0hRiQ7d z26YR9>d=YhK^e=3+@hcWnzNdaVzrvJ1d75}ZYt6fQ}SaF_e(vr4@+Oi$BDHM>Mki<<>Q#(mxC$!;_uBFA=L|UoR z%57+&w7klzGkj`?8NQMkCLbU}T?S?t_)=#0n<(XX_O7IrESDr>>)vzk`Q7tA_wK*{ z``5n%_#)oRpovx*CSJ{;fVNN_83Gx)Cblx1Uz6c=0o)SmdosKs!<(}AeG@;(U;=Fm zZ^`^a8Q!+=j)fmt__2kb$i`1i{LI9=8WLVrLw@Ckv*ncPj=x!2Y5JQB8VZ-Ye&99S zt6s<3sJmx;zZp1z*YrCY=2t4sMrp%oHoR)HTWZ|eAg9x+cRMAgk1MS^Jhxn>EIqi@ zay87|)3N31I?;0K%$4=)>29m)1maMVi2~(> z8TJ*53wtGe3JeQoFxk@vZnpG|)Ry^Om&~0qE?Jzdtk!Zc@v^^0WZR$bIV~~%B z(Q@iu&2{QQtyDcxEw$Rst-$RBB}T*xZk5hD9rs*F(&B@|!WhIz;M4adX>omh;S|L^ zJSMQ0dY+NLXVVRo?xniZp~3s6XJQEoHwjCxd7HiyblVKT;hl({Hj&2Y)1Tl%n6v#u z*nYZGi=OWVr!*Xi>T}uO8dIT@EA?h$qj|G*-u2x!Qz2z&P)ArtL!zU4&xkv{O3QJv z6f2Y?y%S?gMbIkYs;mq;A$s;r$KnyHkz&ZNx(r@iNdCo*8*U|7n7O7wYYul<#A4W*LCtNm5v4Atq=~F> zCnW7~v)`gQ#p$mnLUz38@(K~(QXthsDuNLxzV+1o6>(8YIJXu!m7A+hD{KVbp1kyE zeZ}$5Niay(oK8(OCp&eSzFxY#yn2qoAf0Nvoo+o~6Dy~u`d($H;^t?k;&xg=QzcEq z8;k4Z`?ET1y;HHOiIQ*+QeJA*RX6rJDznz?wkz&)UR|!9!A)^ou6hkqW7?aMYPr?5 zF7MKc^z?#>pWFBa&e@p5w2f0J*?2;zBRFc~F+9#oU7mt_y`^ltf=f2e;H-^{LM`E> zjb}x{b22#C&~Rw*7O6;{?Rxd9RN$V07t>yqCx3}w$?$8o(A=>oJtvv>xnqL_sr4X5 zTx&BnZh%C7ph`tr!|ea}ryuH`tvg$gMdLSLV+~0}eYVW}xUP;RddO3j?hwA$rMu$w zNBQ~}_$)mH9SO+}>4*7Hh9s)g%5&=(A+4Gz=&Q|d+&^|=sPo$H0ierWxP`63#CrH@}ho||?1AJ*{ z=NYcV^b|2)26PQy!BumQlP;8m}p~%XxZ5*nq4qPbZS)e zp$8Dn-WnrX9~FJ%0YtN7$B0ghihkq)M4x9ZCBvFpp$e&;RB`r07=xUuVDAlOA5@4a z*pf5V0E40rQh(L| zSmBaH`obKCvOfPWWDEMo*n1oHd_mtvriaLu4MMWzRKXBT>SIjaMy_BKQZbNSHVLxJ zR>2gI6@kox6$9nUX@YX)Od&0xOaw|7GCh!fhgR$14HgehOL^0;x4U=|m)ZOW@H?#W zMoaKseGlv0OQMK(afOtQ^SFttqzop)#WzT$Q0KGv5-AgH-ZC$fvhW+;)7MC)@jeUn zo1`+~4XLX9ZdA!i*SDza+qCf+OqkYxu*bxAKEXi~*ZFU0pWv_})4Py}`r*ZqD5D_p7!*tI+Kcq9jp)t<8 literal 4534 zcmbVO>vI!T6hE8nW;e-(hVqP{qEsz?5Jg2zO9e`mN?VY|3i!ZnvNTJR-LTmd@cn*2 zKj}E*SDA76po|npXB_>4GyY8~{?6V_vPn}EW|F<<-t*h@KIiVA|NQ(b5j{YkC+G~h zaZ;(4pbU9T)%mf+kFzSBOJF_Ej~5y65>qep;}w3q%4e^s^m>AN$kXTzUf<-$TN=Hs z(K{NwtI>OW@V-hPsPv&k5vwRsdg`>XWMs>Ry^x)9?1d4DGDqvSXI0EOt7grY&3(4* zc!p;=c1@!GDaT#N)~c>$FPw6Xih0&?7qdmfGqOe#mz^v^%$>gEbJ?ot)~uRm+66QF zxM`cN;hDubqg*!u(rO;>7tUW758e6mRUbcjU}7denLjR(YA%_!HwhnlLq5!UY#Jor z(nbBaQ?6HRFl8I2L%T2HB*!69a7`GJhu?^R5XeD5Pzpx*K)}MQNdY{`Oo`(4Dm#xb zMUh5=9RDDYlN6fArylm89@VfpTp#=GdfW>F61>5lIF5KO`64B7c(hz<4 ztWEym`O{{>8`*I}BFSm*uz-cIIbO+h(TH4^ecVKv zf8vw6f7oo%l;AY?Jw7|!b7_GH9|@4?ArZj<6h6A|#)^1=OE@*_8HL4Zqv|&TW-CS_ ztS=b$1P23T$*7e?bD~ox;p>s3lhYFj2I!b;*6L*sO)Q-5YkHOJ3!9(p3)`uAj!2qB zFOBANH)gfpdSjug36k(Xq#Uc1MK?A&DlzNS-Gcd;#e=4&H7R!TMIcdMm-a@as%CMv zj!|CVo<;~ok)6w)tCX|zmR$^wf2hp6hF!BTjYd@ZNT-kKF`b5Khfa^uy*l+XwS~6o zw4M4S8oH5zrjtQW>a?H6bvnY-0UFb3f)zZ@k9jIcw5fHeiJzbCs{Z?_0 zPM^@H{P+yrHnc6s?L@xNSHV2mMW1Hi3b1MpJrAXwyx|})R*m? zMY(bCZFJXgw*e5Ui8fD>qBeY^p;yJrci=N3gB$D?k}1O30evg(w6)mXhV^#rx0!SY z-H8L_Enp|H-i80&HM$23q&8rreMW>C12lMohQLJ$1l-VTJBguLx)*@^py(i039B~n z6G@jT@&o87?ZPtw4ne;P{r7{?1rDE24`R2w?c^cs*!&nU4-?4}JwiFqBRGrDDE513 z479{08EDQ2n)QJz6cyU#miAr*hG46VFewO75^Ku}eT5Z#!dC3XpRL%3RpP=8wC%%= z{Zs~iB;|V$!bye_tq+M-R*2@4m7>uJT|~z^MQ^$Z(de%(qUBD}TW&%$y0(kxNT=xA zZbI}ynnX~!rlz2RYbQ1^c$t(|PDQZOzU++x5d@oaCYqpCSFs@MPe77_PYo2qUKWas ziR2!FqAm(!|5u@Ct5p?lU!icCX1Xa1RqgdX6z#gI!u}Ns4|i7>YSQZ~6cb=og~KZp zV#W&(rLT~mB*J}ZaNt`~kvcszuuPi21reVa!XqaS|3S%&e3jN- zAbmI^FH@p{NahqklDSw$VNC2Q^EVM>~=y^Hm*`=OH-84XAL|I3D3)7w*5t zumcoP;CQr(r7`vbefbW35?}t%f`<2tMTMGbdSq1Ip``~ekUG3fYhK{< zWKL#AMh-X{mx*BMImKt8Lj0GsjM8AGaxtG3YqC%`cx!9-R3AiYU`vqdC{?J4Hwrq%^d`{Dw7K)*5XB`v74`-hXq6P7bl#-V;3J`o SJn_eZ?SDw{$A^P`mFQm=40(P4 diff --git a/target/classes/com/alihealth/d2d/provtest/entity/VTTSBasic.class b/target/classes/com/alihealth/d2d/provtest/entity/VTTSBasic.class index f484dfc38697fd646e86d1a9cc0a06e681e3d1fd..29d684b0deec47b03dcb81fd8a128c9a84c36f81 100644 GIT binary patch delta 53 zcmcb}bCG95ISZ#G0}F#N13!c0+@HhB%J(PTMR JnaRIc!vR-x4Wg_cjnDwW*A`L;RZ%U7zki6=nzGTpfPF}Y!lKZacrnc2v8sz8{^a@ z#_S8PCQTc=*;Jcu7}^1(Mw>RaO}g)POSiO1_nPi)LcaUn2(-WaQGW35x%Zy!JKN=% z=Ci9aPrrQp2>=apiGho8ID{5_$iON*s__>{t@gUA{f#hBiY2XS0s!a%X+jN>z5oWK(XPU2L?fDfP5H%}^j z&cIxJ-k=LlDV#P?jxT7=FY3>iwDzYJo(ba1VJyP9!dDDb;;`O)Ra0Lx@O6A6PB7mK ztwl!7SF;!u-?(FOtY;RKd^T-R{cF%n3dX}Mete$147#d<%cv0amPSpQ8k`8S4 z%JX(Mv^%yQmzr3IOHBL?e-|X}e3i7jjKau2O#Bo7GVyQxM^MeC|O7D6}*{yjKc5fsx6zLt=A88S39P%Yc#-oS4-X^)o?kK2{6(a`<4vM!$R@(E5 zUWzrFvP#yN(#lZdU3l28PArwR_SVFUzIB3y_P*k|_MwEb_ZBbM-ol~-JSf#pvG&@W z-CFLMT+#;5m}`DFa97J!xcaL`A;%onjr<0j!%}P_ZMqD24PMJ#2(QEI*-IO2qoh8g zc?}u^s!)jY9sV+Sxi3RIHgna~8}LTzD5R##a5=d(^ zPx&o>yudq#!YqnNCUWEiiaU~{C`kn*r7XV{$ihkmEuR&P`^Hh~MJi;4vY2%WzLa6n z;_Ot|3a3mfa2n;7I*np2GUo^iQ+bxM^0JtB1VQJ_zRH@Nac-i#iO#sOA}8U;-RzTh za@Jjjn>klx_lsl8FGfn9V(uqEU9%}Z`p<(n=vzKl?hPR=gjyGgzdH{n&tIJ9kpKI)T z8gotTqzPBa6;!f|^qnvwp-J2bj-MM8b}PJH;YNi$3O6b2Rmdp3Lt&r7%?h{h7s9i! zZ<6xC{}Jh$l5v>Uk#Q0Q;6QtI%{0#+a^-YR)xKMlx!Ug`kK4Jo636~r%cW<{%9L%a zX2or)nLv4mE-f~0$tdRQS~`!l)M|D>kyRZihs zz!7i{ycr5caWC$pL%K^`SX%Vq^*uXixl*9DGs^gs9WLW0q@$zY;ZWixhiQUWLb03OuKmR8i za!|UiHp1p015Xn;=uCy_H$>k($h&hXNu3++HV@nQ=RxM7n4#ZIlG^iYiNMP>pPomD zH%_3bBYsi!C{~W^tTwU)b54 xnRDs+`*`lb`|$zS2tG)*i%Iigm(|iHEwJ!S?seq8MOVL#@0j>*j{G@(@d_C+>skN+ delta 2832 zcma)8d3;<|75>i5o4GS@-Yl8SO!AVZO}dheG;K=KX-V2*Ybc~rQ-!Fg!D3sMrnIpO zV4s#&v~&?4D!5hD+Jal!(Mj4^Qcrb1Qha-A8s&G#T z_nI*A858aJtR6mRB7x5wMXO&A!Zz`>Ul zPMMg3`%E4^rf}NCG<-#C-mizRYVTiDcp!u`5zItR;p-;m;E-N?L(d*G@em$PGKohb z_#VEmhaZISLlZy3qk8d}!dacyk9CGWNkZ`R2!4TID*Q^#z~c(P4&gT@7UH)GzcaBI zhZKIVbLRIC3V+PiOP5dn62{8^!!eUwy z5zCS&E*6x#k7UZZ6O*`w{W#!WVl}0^C7}(<^pLcqTv7tteS5j>9=2MYv}7!)z;j9} zEwQCakXSY_Ft}xKbN{BEs|VK)tlbh1N_9e}!~;^3kg1kTlUgNpmQ0r!mdun{0=Zeq zY)j_Id6v{m1ASc6zqP;Ry8eypT6zaJZ`iob!ZKWBNuxB;TXRCr*KS&rgy&k)D)R(Y z?$hCN*9j|kd-O_wx6F4Ri;lYY#0Fe9mdRDdmr3r9#6iEmO%}MbQ_aQ&f?4iU>B`(d z>PGP|k#_fq^b3g&OBTw7mUQY8-+}kL&u13M61Sz|S!1a-7^|ppFRE;EmXIZY4^=uW zlI0cNYB|?Lkn=G22q?#uT($5k{016^A;&z`OE?C-O&gbTZWR>JgH>FG@hV(K_G{xo z>iPMtJq}+U{-j}?g8O7;m7`sli~*=e3eBFI+JY)p5jlF#D2` zVOV2%Y8^p#Cz&_kg_@}U1yKuDl)xe#?{dj=uqsTezV7hP` zh7~B|xCk*ehDvskdMqdCE6_$Vbdd-vsdYKAeKXO$p7q^Ecy(jjBjm!+ARuip`L^Euo zK(ry+`aNuuEERZW8E-*`_n?I+Xq?&#{!3S_1HBGwEmWN2)!Ik(>0YgM)x!k)D!S6O z&agZTt$6rTk{%-FOfD4h`dE{%s6s z0zGZIyJR}KkCxE8mEsBX_R$5ORGk&~_p=z91nmtYXgrA~@DES3kHh(bWXlNVo0ML$ucrRCVT;J|B zhKWZ&%ic%XI3yk3?FtCD$8VP7CQSVnGF~0|wah@jM`esWI@B|Yg?-6v(=Zl|c^$_f zz8%G@6Y~`Ja_2U}vCj)h_n9F3$_Ma4uK;Dm;OG!{diO{789t5674Gtaarh)1OeAn; z0&IvMD!r<$o;{Er#bT1-!W`z0qLZ_(9DKSri+6tuPh>UwW(_0%F!z1<2tHak1RtZ? hV$My7WTi_M!Nxba)|LAfL;W_sW8u5S=}+;qmjEt2&>#Q+ diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index e6c29a3..b50a431 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,17 +1,30 @@ com\alihealth\d2d\provtest\entity\BaseEntity.class +com\alihealth\d2d\provtest\enums\SubTypeEnum.class +com\alihealth\d2d\provtest\entity\DynamicFieldsEntity.class com\alihealth\d2d\provtest\factory\EntityFactoryManager.class +com\alihealth\d2d\provtest\mapper\DomesticDrugProductionApplyInfoMapper.class com\alihealth\d2d\provtest\utils\XmlStringParser.class +com\alihealth\d2d\provtest\service\IReceiveDataLogService.class +com\alihealth\d2d\provtest\entity\VTTSEvent.class com\alihealth\d2d\provtest\service\impl\DomesticPharmaBaseInfoServiceImpl.class -com\alihealth\d2d\provtest\domain\Test.class +com\alihealth\d2d\provtest\domain\ReceiveDataLog.class com\alihealth\d2d\provtest\service\XmlParserService.class +com\alihealth\d2d\provtest\entity\ItemDetail.class com\alihealth\d2d\provtest\mapper\DomesticPharmaBaseInfoMapper.class +com\alihealth\d2d\provtest\service\IDomesticDrugProductionApplyInfoService.class com\alihealth\d2d\provtest\service\IDomesticPharmaBaseInfoService.class +com\alihealth\d2d\provtest\domain\DomesticDrugProductionApplyInfo.class com\alihealth\d2d\provtest\utils\RequestWrapper$1.class com\alihealth\d2d\provtest\utils\RequestWrapper.class com\alihealth\d2d\provtest\domain\DomesticPharmaBaseInfo.class +com\alihealth\d2d\provtest\service\impl\DomesticDrugProductionApplyInfoServiceImpl.class com\alihealth\d2d\provtest\utils\BouncyCastlePFXGenerator.class +com\alihealth\d2d\provtest\entity\EventBasic.class com\alihealth\d2d\provtest\utils\EventPojo.class +com\alihealth\d2d\provtest\mapper\ReceiveDataLogMapper.class +com\alihealth\d2d\provtest\entity\InstanceDetail.class com\alihealth\d2d\provtest\factory\DomesticPharmaBaseInfoFactory.class +com\alihealth\d2d\provtest\entity\EventBody.class com\alihealth\d2d\provtest\utils\Base64.class com\alihealth\d2d\provtest\utils\StreamUtil.class com\alihealth\d2d\provtest\controller\ProvTestServerController.class @@ -20,6 +33,9 @@ com\alihealth\d2d\provtest\utils\EntityProcessor.class com\alihealth\d2d\provtest\entity\XmlEntity.class com\alihealth\d2d\provtest\utils\KeyStoreUtil.class com\alihealth\d2d\provtest\enums\BuzStatusEnum.class +com\alihealth\d2d\provtest\enums\EventTypeEnum.class +com\alihealth\d2d\provtest\entity\VTTSEventS.class +com\alihealth\d2d\provtest\service\impl\ReceiveDataLogServiceImpl.class com\alihealth\d2d\provtest\enums\StatusEnum.class com\alihealth\d2d\provtest\ProvtestApplication.class com\alihealth\d2d\provtest\entity\VTTSBasic.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 9d73f30..82876a0 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,26 +1,42 @@ +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\VTTSEventS.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\XmlEntity.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\domain\ReceiveDataLog.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\RequestWrapper.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\ItemDetail.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\enums\BuzStatusEnum.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\IDomesticDrugProductionApplyInfoService.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\enums\StatusEnum.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\mapper\DomesticPharmaBaseInfoMapper.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\ProvTestClient.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\ProvtestApplication.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\IReceiveDataLogService.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\StreamUtil.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\controller\ProvTestServerController.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\factory\DomesticPharmaBaseInfoFactory.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\XmlStringParser.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\EventPojo.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\impl\ReceiveDataLogServiceImpl.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\impl\DomesticPharmaBaseInfoServiceImpl.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\BouncyCastlePFXGenerator.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\mapper\ReceiveDataLogMapper.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\DynamicFieldsEntity.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\EntityProcessor.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\EventBody.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\XmlParserService.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\enums\EventTypeEnum.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\enums\SubTypeEnum.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\KeyStoreUtil.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\IDomesticPharmaBaseInfoService.java -D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\domain\Test.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\domain\DomesticDrugProductionApplyInfo.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\Base64.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\utils\ResponseBuilder.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\mapper\DomesticDrugProductionApplyInfoMapper.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\domain\DomesticPharmaBaseInfo.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\EventBasic.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\factory\EntityFactoryManager.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\BaseEntity.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\InstanceDetail.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\factory\EntityFactory.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\service\impl\DomesticDrugProductionApplyInfoServiceImpl.java D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\VTTSBasic.java +D:\work-tcct\provtest\src\main\java\com\alihealth\d2d\provtest\entity\VTTSEvent.java