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 0c1c6c3..d27f26e 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class and b/target/classes/com/alihealth/d2d/provtest/ProvTestClient.class differ diff --git a/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class b/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class index e7bdf62..284befe 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class and b/target/classes/com/alihealth/d2d/provtest/controller/ProvTestServerController.class differ diff --git a/target/classes/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.class b/target/classes/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.class index 8ec92ef..1058231 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.class and b/target/classes/com/alihealth/d2d/provtest/domain/DomesticPharmaBaseInfo.class differ diff --git a/target/classes/com/alihealth/d2d/provtest/entity/BaseEntity.class b/target/classes/com/alihealth/d2d/provtest/entity/BaseEntity.class index 7400de3..229057b 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/entity/BaseEntity.class and b/target/classes/com/alihealth/d2d/provtest/entity/BaseEntity.class differ diff --git a/target/classes/com/alihealth/d2d/provtest/entity/VTTSBasic.class b/target/classes/com/alihealth/d2d/provtest/entity/VTTSBasic.class index f484dfc..29d684b 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/entity/VTTSBasic.class and b/target/classes/com/alihealth/d2d/provtest/entity/VTTSBasic.class differ diff --git a/target/classes/com/alihealth/d2d/provtest/service/XmlParserService.class b/target/classes/com/alihealth/d2d/provtest/service/XmlParserService.class index e790179..dacdcf3 100644 Binary files a/target/classes/com/alihealth/d2d/provtest/service/XmlParserService.class and b/target/classes/com/alihealth/d2d/provtest/service/XmlParserService.class differ 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