diff --git a/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java b/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java index 92cc3f2..5cea5b1 100644 --- a/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java +++ b/src/main/java/com/alihealth/d2d/provtest/ProvTestClient.java @@ -41,6 +41,7 @@ public class ProvTestClient { * 请求url */ private static final String url = "http://localhost:1688/prov/test/receive"; + //private static final String url = "http://222.221.246.3:1688/prov/test/receive"; /** * 证书地址 */ @@ -60,7 +61,7 @@ public class ProvTestClient { public static void main(String[] args) throws Exception { //数据文件内容主业务类型 10:基础信息数据 20:应用信息数据 //subType数据文件内容子业务类型 详见:数据类型字典表 基本信息(1011-1019、9001-9002) 应用信息(2011-2020、2051-2053) - testProv("1015"); + testProv("1018"); } diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugBaseInfo.java b/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugBaseInfo.java new file mode 100644 index 0000000..d3a22bf --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/domain/DomesticDrugBaseInfo.java @@ -0,0 +1,198 @@ +package com.alihealth.d2d.provtest.domain; + +import com.alihealth.d2d.provtest.utils.LocalDateDeserializer; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 国产药品基本信息数据子集 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +@Getter +@Setter +@TableName("domestic_drug_base_info") +public class DomesticDrugBaseInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 事件流水号 + */ + private String eventId; + + /** + * 国家药品标识码 + */ + @JacksonXmlProperty(localName = "GJYPBSM") + private String gjypbsm; + + /** + * 药品通用名称 + */ + @JacksonXmlProperty(localName = "YPTYMC") + private String yptymc; + + /** + * 药品英文名称 + */ + @JacksonXmlProperty(localName = "YPYWMC") + private String ypywmc; + + /** + * 药品商品名称 + */ + @JacksonXmlProperty(localName = "YPSPMC") + private String ypspmc; + + /** + * 药品本位码 + */ + @JacksonXmlProperty(localName = "YPBWM") + private String ypbwm; + + /** + * 剂型 + */ + @JacksonXmlProperty(localName = "JX") + private String jx; + + /** + * 制剂规格 + */ + @JacksonXmlProperty(localName = "ZJGG") + private String zjgg; + + /** + * 包装规格 + */ + @JacksonXmlProperty(localName = "BZGG") + private String bzgg; + + /** + * 包装转换比 + */ + @JacksonXmlProperty(localName = "BZZHB") + private BigDecimal bzzhb; + + /** + * 包装规格标识 + */ + @JacksonXmlProperty(localName = "BZGGBS") + private String bzggbs; + + /** + * 药品有效期 + */ + @JacksonXmlProperty(localName = "YPYXQ") + private Integer ypyxq; + + /** + * 药品有效期单位 + */ + @JacksonXmlProperty(localName = "YPYXQDW") + private String ypyxqdw; + + /** + * 药品批准文号 + */ + @JacksonXmlProperty(localName = "YPPZWH") + private String yppzwh; + + /** + * 药品批准文号有效期 + */ + @JacksonXmlProperty(localName = "YPPZWHYXQ") + @JsonDeserialize(using = LocalDateDeserializer.class) + private LocalDate yppzwhyxq; + + /** + * 药品注册分类 + */ + @JacksonXmlProperty(localName = "YPZCFL") + private String ypzcfl; + + /** + * 国家基本药物标识 + */ + @JacksonXmlProperty(localName = "GJJBYWBS") + private String gjjbywbs; + + /** + * 特殊药品管理分类 + */ + @JacksonXmlProperty(localName = "TSYPGLFL") + private String tsypglfl; + + /** + * 处方药标识 + */ + @JacksonXmlProperty(localName = "CFYBS") + private String cfybs; + + /** + * 统一社会信用代码(境内药品生产企业) + */ + @JacksonXmlProperty(localName = "TYSHXYDMJNYPSCQY") + private String tyshxydmjnypscqy; + + /** + * 统一社会信用代码(境内药品上市许可持有人) + */ + @JacksonXmlProperty(localName = "TYSHXYDMJNYPSSXKCYR") + private String tyshxydmjnypssxkcyr; + + /** + * 暂无 + */ + @JacksonXmlProperty(localName = "SCZT") + private String sczt; + + /** + * 暂无 + */ + @JacksonXmlProperty(localName = "BZZHBDW") + private String bzzhbdw; + + /** + * 子集:bzbl-包装比例 、bzjb-包装级别 、ypbsm-药品标识码 + */ + @JacksonXmlProperty(localName = "BASQXQS") + private String basqxqs; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + /** + * 是否删除(0-否 1-是) + */ + private Integer isDeleted; + + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/DrugDeliveryCompanyBaseInfo.java b/src/main/java/com/alihealth/d2d/provtest/domain/DrugDeliveryCompanyBaseInfo.java new file mode 100644 index 0000000..f35c096 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/domain/DrugDeliveryCompanyBaseInfo.java @@ -0,0 +1,163 @@ +package com.alihealth.d2d.provtest.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 药品配送企业基本信息数据子集 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +@Getter +@Setter +@TableName("drug_delivery_company_base_info") +public class DrugDeliveryCompanyBaseInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 事件流水号 + */ + private String eventId; + + /** + * 统一社会信用代码 + */ + @JacksonXmlProperty(localName = "TYSHXYDM") + private String tyshxydm; + + /** + * 药品配送企业名称 + */ + @JacksonXmlProperty(localName = "YPPSQYMC") + private String yppsqymc; + + /** + * 药品配送企业地址 + */ + @JacksonXmlProperty(localName = "YPPSQYDZ") + private String yppsqydz; + + /** + * 药品配送企业地址- 国家(或地区) + */ + @JacksonXmlProperty(localName = "YPPSQYDZGJHDQ") + private String yppsqydzgjhdq; + + /** + * 药品配送企业地址- 省(直辖市/自治区) + */ + @JacksonXmlProperty(localName = "YPPSQYDZSZXSZZQ") + private String yppsqydzszxszzq; + + /** + * 药品配送企业地址- 市(区/ 自治州/盟) + */ + @JacksonXmlProperty(localName = "YPPSQYDZSQZZZM") + private String yppsqydzsqzzzm; + + /** + * 药品配送企业地址- 县(自治县/县级市) + */ + @JacksonXmlProperty(localName = "YPPSQYDZXZZXXJS") + private String yppsqydzxzzxxjs; + + /** + * 药品配送企业地址- 乡(镇/ 街道办事处) + */ + @JacksonXmlProperty(localName = "YPPSQYDZXZJDBSC") + private String yppsqydzxzjdbsc; + + /** + * 药品配送企业地址- 村(街/路/弄等) + */ + @JacksonXmlProperty(localName = "YPPSQYDZCJLLD") + private String yppsqydzcjlld; + + /** + * 药品配送企业地址- 门牌号码 + */ + @JacksonXmlProperty(localName = "YPPSQYDZMPHM") + private String yppsqydzmphm; + + /** + * 仓库地址 + */ + @JacksonXmlProperty(localName = "CKDZ") + private String ckdz; + + /** + * 单位负责人 + */ + @JacksonXmlProperty(localName = "DWFZR") + private String dwfzr; + + /** + * 固定电话号码 + */ + @JacksonXmlProperty(localName = "GDDHHM") + private String gddhhm; + + /** + * 传真号码 + */ + @JacksonXmlProperty(localName = "CZHM") + private String czhm; + + /** + * 电子信箱 + */ + @JacksonXmlProperty(localName = "DZXX") + private String dzxx; + + /** + * 药品配送企业网址 + */ + @JacksonXmlProperty(localName = "YPPSQYWZ") + private String yppsqywz; + + /** + * 联系人 + */ + @JacksonXmlProperty(localName = "LXR") + private String lxr; + + /** + * 联系电话 + */ + @JacksonXmlProperty(localName = "LXDH") + private String lxdh; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + /** + * 是否删除(0-否 1-是) + */ + private Integer isDeleted; + + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/DrugUsingUnitBaseInfo.java b/src/main/java/com/alihealth/d2d/provtest/domain/DrugUsingUnitBaseInfo.java new file mode 100644 index 0000000..71f1d3f --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/domain/DrugUsingUnitBaseInfo.java @@ -0,0 +1,181 @@ +package com.alihealth.d2d.provtest.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 药品使用单位基本信息数据子集 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +@Getter +@Setter +@TableName("drug_using_unit_base_info") +public class DrugUsingUnitBaseInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 事件流水号 + */ + private String eventId; + + /** + * 药品使用单位名称 + */ + @JacksonXmlProperty(localName = "YPSYDWMC") + private String ypsydwmc; + + /** + * 卫生机构代码 + */ + @JacksonXmlProperty(localName = "WSJGDM") + private String wsjgdm; + + /** + * 执业许可证登记号/诊所备案编号 + */ + @JacksonXmlProperty(localName = "ZYXKZDJH") + private String zyxkzdjh; + + /** + * 统一社会信用代码 + */ + @JacksonXmlProperty(localName = "TYSHXYDM") + private String tyshxydm; + + /** + * 药品使用单位类型 + */ + @JacksonXmlProperty(localName = "YPSYDWLX") + private String ypsydwlx; + + /** + * 药品使用单位地址 + */ + @JacksonXmlProperty(localName = "YPSYDWDZ") + private String ypsydwdz; + + /** + * 药品使用单位地址-国家(或地区) + */ + @JacksonXmlProperty(localName = "YPSYDWDZGJHDQ") + private String ypsydwdzgjhdq; + + /** + * 接种单位地 址-省(直辖 市/自治区) + */ + @JacksonXmlProperty(localName = "YPSYDWDZSZXSZZQ") + private String ypsydwdzszxszzq; + + /** + * 药品使用单位地址-市(区/自治州/盟) + */ + @JacksonXmlProperty(localName = "YPSYDWDZSQZZZM") + private String ypsydwdzsqzzzm; + + /** + * 药品使用单位地址-县(自治县/县级市) + */ + @JacksonXmlProperty(localName = "YPSYDWDZXZZXXJS") + private String ypsydwdzxzzxxjs; + + /** + * 药品使用单位地址-乡(镇/街道办事处) + */ + @JacksonXmlProperty(localName = "YPSYDWDZXZJDBSC") + private String ypsydwdzxzjdbsc; + + /** + * 药品使用单位地址-村(街/路/弄等) + */ + @JacksonXmlProperty(localName = "YPSYDWDZCJLLD") + private String ypsydwdzcjlld; + + /** + * 药品使用单位地址-门牌号码 + */ + @JacksonXmlProperty(localName = "YPSYDWDZMPHM") + private String ypsydwdzmphm; + + /** + * 固定电话号码 + */ + @JacksonXmlProperty(localName = "GDDHHM") + private String gddhhm; + + /** + * 传真号码 + */ + @JacksonXmlProperty(localName = "CZHM") + private String czhm; + + /** + * 电子信箱 + */ + @JacksonXmlProperty(localName = "DZXX") + private String dzxx; + + /** + * 联系人 + */ + @JacksonXmlProperty(localName = "LXR") + private String lxr; + + /** + * 联系电话 + */ + @JacksonXmlProperty(localName = "LXDH") + private String lxdh; + + /** + * 药品使用单位网址 + */ + @JacksonXmlProperty(localName = "YPSYDWWZ") + private String ypsydwwz; + + /** + * 企业类型 + */ + @JacksonXmlProperty(localName = "QYLX") + private String qylx; + + /** + * 企业小类 + */ + @JacksonXmlProperty(localName = "QYXL") + private String qyxl; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + /** + * 是否删除(0-否 1-是) + */ + private Integer isDeleted; + + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/entity/VTTSBasic.java b/src/main/java/com/alihealth/d2d/provtest/entity/VTTSBasic.java index a83025a..efb1654 100644 --- a/src/main/java/com/alihealth/d2d/provtest/entity/VTTSBasic.java +++ b/src/main/java/com/alihealth/d2d/provtest/entity/VTTSBasic.java @@ -1,5 +1,6 @@ package com.alihealth.d2d.provtest.entity; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; @@ -12,6 +13,7 @@ import java.util.List; * @date 2025年05月30日 11:45:00 */ @JacksonXmlRootElement(localName = "VTTSBasic") +@JsonIgnoreProperties(ignoreUnknown = true) public class VTTSBasic { @JacksonXmlProperty(localName = "datasetName") private String datasetName; diff --git a/src/main/java/com/alihealth/d2d/provtest/generator/CodeGenerator.java b/src/main/java/com/alihealth/d2d/provtest/generator/CodeGenerator.java index f9199f5..818d7e4 100644 --- a/src/main/java/com/alihealth/d2d/provtest/generator/CodeGenerator.java +++ b/src/main/java/com/alihealth/d2d/provtest/generator/CodeGenerator.java @@ -16,7 +16,7 @@ import java.nio.file.Paths; public class CodeGenerator { public static void main(String[] args) { - String tables="pharmaceutical_trading_license_base_info";// 生成多个指定表,逗号分隔 + String tables="domestic_drug_base_info";// 生成多个指定表,逗号分隔 FastAutoGenerator.create("jdbc:mysql://47.109.202.121:3306/supervisionx_trace_data", "root", "TCCT3.1415926") .globalConfig(builder -> builder .author("Jason") diff --git a/src/main/java/com/alihealth/d2d/provtest/mapper/DomesticDrugBaseInfoMapper.java b/src/main/java/com/alihealth/d2d/provtest/mapper/DomesticDrugBaseInfoMapper.java new file mode 100644 index 0000000..c6a00ce --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/mapper/DomesticDrugBaseInfoMapper.java @@ -0,0 +1,16 @@ +package com.alihealth.d2d.provtest.mapper; + +import com.alihealth.d2d.provtest.domain.DomesticDrugBaseInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 国产药品基本信息数据子集 Mapper 接口 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +public interface DomesticDrugBaseInfoMapper extends BaseMapper { + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/mapper/DrugDeliveryCompanyBaseInfoMapper.java b/src/main/java/com/alihealth/d2d/provtest/mapper/DrugDeliveryCompanyBaseInfoMapper.java new file mode 100644 index 0000000..5518a0d --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/mapper/DrugDeliveryCompanyBaseInfoMapper.java @@ -0,0 +1,16 @@ +package com.alihealth.d2d.provtest.mapper; + +import com.alihealth.d2d.provtest.domain.DrugDeliveryCompanyBaseInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 药品配送企业基本信息数据子集 Mapper 接口 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +public interface DrugDeliveryCompanyBaseInfoMapper extends BaseMapper { + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/mapper/DrugUsingUnitBaseInfoMapper.java b/src/main/java/com/alihealth/d2d/provtest/mapper/DrugUsingUnitBaseInfoMapper.java new file mode 100644 index 0000000..603fe37 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/mapper/DrugUsingUnitBaseInfoMapper.java @@ -0,0 +1,16 @@ +package com.alihealth.d2d.provtest.mapper; + +import com.alihealth.d2d.provtest.domain.DrugUsingUnitBaseInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 药品使用单位基本信息数据子集 Mapper 接口 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +public interface DrugUsingUnitBaseInfoMapper extends BaseMapper { + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/mapper/xml/DomesticDrugBaseInfoMapper.xml b/src/main/java/com/alihealth/d2d/provtest/mapper/xml/DomesticDrugBaseInfoMapper.xml new file mode 100644 index 0000000..96b13c2 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/mapper/xml/DomesticDrugBaseInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/alihealth/d2d/provtest/mapper/xml/DrugDeliveryCompanyBaseInfoMapper.xml b/src/main/java/com/alihealth/d2d/provtest/mapper/xml/DrugDeliveryCompanyBaseInfoMapper.xml new file mode 100644 index 0000000..a6b5cb0 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/mapper/xml/DrugDeliveryCompanyBaseInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/alihealth/d2d/provtest/mapper/xml/DrugUsingUnitBaseInfoMapper.xml b/src/main/java/com/alihealth/d2d/provtest/mapper/xml/DrugUsingUnitBaseInfoMapper.xml new file mode 100644 index 0000000..8149cb8 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/mapper/xml/DrugUsingUnitBaseInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/alihealth/d2d/provtest/service/IDomesticDrugBaseInfoService.java b/src/main/java/com/alihealth/d2d/provtest/service/IDomesticDrugBaseInfoService.java new file mode 100644 index 0000000..9c3b7d6 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/IDomesticDrugBaseInfoService.java @@ -0,0 +1,16 @@ +package com.alihealth.d2d.provtest.service; + +import com.alihealth.d2d.provtest.domain.DomesticDrugBaseInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 国产药品基本信息数据子集 服务类 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +public interface IDomesticDrugBaseInfoService extends IService { + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/IDrugDeliveryCompanyBaseInfoService.java b/src/main/java/com/alihealth/d2d/provtest/service/IDrugDeliveryCompanyBaseInfoService.java new file mode 100644 index 0000000..bd4eb48 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/IDrugDeliveryCompanyBaseInfoService.java @@ -0,0 +1,16 @@ +package com.alihealth.d2d.provtest.service; + +import com.alihealth.d2d.provtest.domain.DrugDeliveryCompanyBaseInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 药品配送企业基本信息数据子集 服务类 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +public interface IDrugDeliveryCompanyBaseInfoService extends IService { + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/IDrugUsingUnitBaseInfoService.java b/src/main/java/com/alihealth/d2d/provtest/service/IDrugUsingUnitBaseInfoService.java new file mode 100644 index 0000000..924c20f --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/IDrugUsingUnitBaseInfoService.java @@ -0,0 +1,16 @@ +package com.alihealth.d2d.provtest.service; + +import com.alihealth.d2d.provtest.domain.DrugUsingUnitBaseInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 药品使用单位基本信息数据子集 服务类 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +public interface IDrugUsingUnitBaseInfoService extends IService { + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1016Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1016Handler.java new file mode 100644 index 0000000..f528504 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1016Handler.java @@ -0,0 +1,73 @@ +package com.alihealth.d2d.provtest.service.handle.business; + +import com.alihealth.d2d.provtest.domain.DrugDeliveryCompanyBaseInfo; +import com.alihealth.d2d.provtest.domain.PharmaceuticalTradingLicenseBaseInfo; +import com.alihealth.d2d.provtest.entity.EventBody; +import com.alihealth.d2d.provtest.entity.InstanceDetail; +import com.alihealth.d2d.provtest.entity.ItemDetail; +import com.alihealth.d2d.provtest.entity.VTTSBasic; +import com.alihealth.d2d.provtest.service.IDrugDeliveryCompanyBaseInfoService; +import com.alihealth.d2d.provtest.service.IPharmaceuticalTradingLicenseBaseInfoService; +import com.alihealth.d2d.provtest.service.XmlParserService; +import com.alihealth.d2d.provtest.service.handle.AbstractEventDataHandler; +import com.alihealth.d2d.provtest.service.handle.EventSubType; +import com.baomidou.mybatisplus.extension.service.IService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author Jason 药品配送企业基本信息数据子集 + * @date 2025年06月05日 11:14:43 + */ +@Service +@EventSubType("1016") +public class SubType1016Handler extends AbstractEventDataHandler { + protected final Logger log = LoggerFactory.getLogger(getClass()); + + @Autowired + private IDrugDeliveryCompanyBaseInfoService service; + + @Autowired + private XmlParserService xmlParserService; + + @Override + protected Class getEntityClass() { + return DrugDeliveryCompanyBaseInfo.class; + } + + @Override + protected IService getService() { + return service; + } + + @Override + protected DrugDeliveryCompanyBaseInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) { + return null; + } + + @Override + public String getSubType() { + return "1016"; + } + + @Override + public void handleBase(String xml,String eventId) { + VTTSBasic result = xmlParserService.parseDataXml( + xml, + DrugDeliveryCompanyBaseInfo.class + ); + List list = result.getDataset(); + if(list!=null && !list.isEmpty()){ + list.stream() + .forEach(item -> { + item.setEventId(eventId); + }); + getService().saveBatch(list); + log.info("数据类型:"+getSubType()+",入库的数据条数:{}", list.size()); + } + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1017Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1017Handler.java new file mode 100644 index 0000000..e95ed69 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1017Handler.java @@ -0,0 +1,73 @@ +package com.alihealth.d2d.provtest.service.handle.business; + +import com.alihealth.d2d.provtest.domain.DrugDeliveryCompanyBaseInfo; +import com.alihealth.d2d.provtest.domain.DrugUsingUnitBaseInfo; +import com.alihealth.d2d.provtest.entity.EventBody; +import com.alihealth.d2d.provtest.entity.InstanceDetail; +import com.alihealth.d2d.provtest.entity.ItemDetail; +import com.alihealth.d2d.provtest.entity.VTTSBasic; +import com.alihealth.d2d.provtest.service.IDrugDeliveryCompanyBaseInfoService; +import com.alihealth.d2d.provtest.service.IDrugUsingUnitBaseInfoService; +import com.alihealth.d2d.provtest.service.XmlParserService; +import com.alihealth.d2d.provtest.service.handle.AbstractEventDataHandler; +import com.alihealth.d2d.provtest.service.handle.EventSubType; +import com.baomidou.mybatisplus.extension.service.IService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author Jason 药品使用单位基本信息数据子集 + * @date 2025年06月05日 11:14:43 + */ +@Service +@EventSubType("1017") +public class SubType1017Handler extends AbstractEventDataHandler { + protected final Logger log = LoggerFactory.getLogger(getClass()); + + @Autowired + private IDrugUsingUnitBaseInfoService service; + + @Autowired + private XmlParserService xmlParserService; + + @Override + protected Class getEntityClass() { + return DrugUsingUnitBaseInfo.class; + } + + @Override + protected IService getService() { + return service; + } + + @Override + protected DrugUsingUnitBaseInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) { + return null; + } + + @Override + public String getSubType() { + return "1017"; + } + + @Override + public void handleBase(String xml,String eventId) { + VTTSBasic result = xmlParserService.parseDataXml( + xml, + DrugUsingUnitBaseInfo.class + ); + List list = result.getDataset(); + if(list!=null && !list.isEmpty()){ + list.stream() + .forEach(item -> { + item.setEventId(eventId); + }); + getService().saveBatch(list); + log.info("数据类型:"+getSubType()+",入库的数据条数:{}", list.size()); + } + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1018Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1018Handler.java new file mode 100644 index 0000000..3e9c51e --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType1018Handler.java @@ -0,0 +1,73 @@ +package com.alihealth.d2d.provtest.service.handle.business; + +import com.alihealth.d2d.provtest.domain.DomesticDrugBaseInfo; +import com.alihealth.d2d.provtest.domain.DrugUsingUnitBaseInfo; +import com.alihealth.d2d.provtest.entity.EventBody; +import com.alihealth.d2d.provtest.entity.InstanceDetail; +import com.alihealth.d2d.provtest.entity.ItemDetail; +import com.alihealth.d2d.provtest.entity.VTTSBasic; +import com.alihealth.d2d.provtest.service.IDomesticDrugBaseInfoService; +import com.alihealth.d2d.provtest.service.IDrugUsingUnitBaseInfoService; +import com.alihealth.d2d.provtest.service.XmlParserService; +import com.alihealth.d2d.provtest.service.handle.AbstractEventDataHandler; +import com.alihealth.d2d.provtest.service.handle.EventSubType; +import com.baomidou.mybatisplus.extension.service.IService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author Jason 国产药品基本信息数据子集 + * @date 2025年06月05日 11:14:43 + */ +@Service +@EventSubType("1018") +public class SubType1018Handler extends AbstractEventDataHandler { + protected final Logger log = LoggerFactory.getLogger(getClass()); + + @Autowired + private IDomesticDrugBaseInfoService service; + + @Autowired + private XmlParserService xmlParserService; + + @Override + protected Class getEntityClass() { + return DomesticDrugBaseInfo.class; + } + + @Override + protected IService getService() { + return service; + } + + @Override + protected DomesticDrugBaseInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) { + return null; + } + + @Override + public String getSubType() { + return "1018"; + } + + @Override + public void handleBase(String xml,String eventId) { + VTTSBasic result = xmlParserService.parseDataXml( + xml, + DomesticDrugBaseInfo.class + ); + List list = result.getDataset(); + if(list!=null && !list.isEmpty()){ + list.stream() + .forEach(item -> { + item.setEventId(eventId); + }); + getService().saveBatch(list); + log.info("数据类型:"+getSubType()+",入库的数据条数:{}", list.size()); + } + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugBaseInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugBaseInfoServiceImpl.java new file mode 100644 index 0000000..04be624 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/DomesticDrugBaseInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.alihealth.d2d.provtest.service.impl; + +import com.alihealth.d2d.provtest.domain.DomesticDrugBaseInfo; +import com.alihealth.d2d.provtest.mapper.DomesticDrugBaseInfoMapper; +import com.alihealth.d2d.provtest.service.IDomesticDrugBaseInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 国产药品基本信息数据子集 服务实现类 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +@Service +public class DomesticDrugBaseInfoServiceImpl extends ServiceImpl implements IDomesticDrugBaseInfoService { + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugDeliveryCompanyBaseInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugDeliveryCompanyBaseInfoServiceImpl.java new file mode 100644 index 0000000..9e6712b --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugDeliveryCompanyBaseInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.alihealth.d2d.provtest.service.impl; + +import com.alihealth.d2d.provtest.domain.DrugDeliveryCompanyBaseInfo; +import com.alihealth.d2d.provtest.mapper.DrugDeliveryCompanyBaseInfoMapper; +import com.alihealth.d2d.provtest.service.IDrugDeliveryCompanyBaseInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 药品配送企业基本信息数据子集 服务实现类 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +@Service +public class DrugDeliveryCompanyBaseInfoServiceImpl extends ServiceImpl implements IDrugDeliveryCompanyBaseInfoService { + +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugUsingUnitBaseInfoServiceImpl.java b/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugUsingUnitBaseInfoServiceImpl.java new file mode 100644 index 0000000..ca40723 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/impl/DrugUsingUnitBaseInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.alihealth.d2d.provtest.service.impl; + +import com.alihealth.d2d.provtest.domain.DrugUsingUnitBaseInfo; +import com.alihealth.d2d.provtest.mapper.DrugUsingUnitBaseInfoMapper; +import com.alihealth.d2d.provtest.service.IDrugUsingUnitBaseInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 药品使用单位基本信息数据子集 服务实现类 + *

+ * + * @author Jason + * @since 2025-06-06 + */ +@Service +public class DrugUsingUnitBaseInfoServiceImpl extends ServiceImpl implements IDrugUsingUnitBaseInfoService { + +}