1019基本数据集有遗漏,补充完整

This commit is contained in:
daichao 2025-06-21 15:27:57 +08:00
parent 0caee3d7ef
commit 4a1e06ef37
5 changed files with 190 additions and 49 deletions

View File

@ -188,6 +188,12 @@ public class DomesticDrugBaseInfo implements Serializable {
@JacksonXmlProperty(localName = "BASQXQ")
private List<BASQXQ> basqxqList;
@JacksonXmlProperty(localName = "JNYPSCQYMC")
private String jnypscqymc;
@JacksonXmlProperty(localName = "JNYPSSXKCYRMC")
private String jnypssxkcyrmc;
/**
* 创建时间
*/

View File

@ -1,14 +1,19 @@
package com.alihealth.d2d.provtest.domain;
import com.alihealth.d2d.provtest.domain.eto.BASQXQ;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import lombok.Builder;
import lombok.Data;
import javax.persistence.Column;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 进口药品基本信息数据子集(ImportedDrugBaseInfo)表实体类
@ -25,113 +30,179 @@ public class ImportedDrugBaseInfo {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
//事件流水号
@Column(name = "event_id")
private String eventId;
//国家药品标识码
@Column(name = "gjypbsm")
@JacksonXmlProperty(localName = "GJYPBSM")
private String gjypbsm;
//药品英文名称
@Column(name = "ypywmc")
@JacksonXmlProperty(localName = "YPYWMC")
private String ypywmc;
//进口药品中文译名
@Column(name = "jkypzwym")
@JacksonXmlProperty(localName = "JKYPZWYM")
private String jkypzwym;
//药品商品名称
@Column(name = "ypspmc")
@JacksonXmlProperty(localName = "YPSPMC")
private String ypspmc;
//药品本位码
@Column(name = "ypbwm")
@JacksonXmlProperty(localName = "YPBWM")
private String ypbwm;
//剂型
@Column(name = "jx")
@JacksonXmlProperty(localName = "JX")
private String jx;
//制剂规格
@Column(name = "zjgg")
@JacksonXmlProperty(localName = "ZJGG")
private String zjgg;
//包装规格
@Column(name = "bzgg")
@JacksonXmlProperty(localName = "BZGG")
private String bzgg;
//包装转换比
@Column(name = "bzzhb")
@JacksonXmlProperty(localName = "BZZHB")
private Integer bzzhb;
//包装转换比单位
@Column(name = "bzzhbdw")
@JacksonXmlProperty(localName = "BZZHBDW")
private String bzzhbdw;
//药品有效期
@Column(name = "ypyxq")
@JacksonXmlProperty(localName = "YPYXQ")
private Integer ypyxq;
//药品有效期单位
@Column(name = "ypyxqdw")
@JacksonXmlProperty(localName = "YPYXQDW")
private String ypyxqdw;
//药品批准文号
@Column(name = "yppzwh")
@JacksonXmlProperty(localName = "YPPZWH")
private String yppzwh;
//药品批准文号有效期
@Column(name = "yppzwhyxq")
@JacksonXmlProperty(localName = "YPPZWHYXQ")
private Date yppzwhyxq;
//进口药品注册证号
@Column(name = "jkypzczh")
@JacksonXmlProperty(localName = "JKYPZCZH")
private String jkypzczh;
//进口药品注册证有效期
@Column(name = "jkypzczyxq")
@JacksonXmlProperty(localName = "JKYPZCZYXQ")
private Date jkypzczyxq;
//进口药品批件号
@Column(name = "jkyppjh")
@JacksonXmlProperty(localName = "JKYPPJH")
private String jkyppjh;
//进口药品批件有效期
@Column(name = "jkyppjyxq")
@JacksonXmlProperty(localName = "JKYPPJYXQ")
private Date jkyppjyxq;
//药品注册分类
@Column(name = "ypzcfl")
@JacksonXmlProperty(localName = "YPZCFL")
private String ypzcfl;
//国家基本药物标识
@Column(name = "gjjbywbs")
@JacksonXmlProperty(localName = "GJJBYWBSM")
private String gjjbywbs;
//特殊药品管理分类
@Column(name = "tsypglfl")
@JacksonXmlProperty(localName = "TSYPGLFL")
private String tsypglfl;
//处方药标识
@Column(name = "cfybs")
@JacksonXmlProperty(localName = "CFYBS")
private String cfybs;
//境外药品上市许可持有人代码
@Column(name = "jwypssxkcyrdm")
@JacksonXmlProperty(localName = "JWYPSSXKCYRDM")
private String jwypssxkcyrdm;
//境外药品生产企业代码
@Column(name = "jwypscqydm")
@JacksonXmlProperty(localName = "JWYPSCQYDM")
private String jwypscqydm;
//分包装厂名称
@Column(name = "fbzcmc")
@JacksonXmlProperty(localName = "FBZCMC")
private String fbzcmc;
//统一社会信用代码分包装厂
@Column(name = "tyshxydmfbzc")
@JacksonXmlProperty(localName = "TYSHXYDMFBZC")
private String tyshxydmfbzc;
//分包装厂地址
@Column(name = "fbzcdz")
@JacksonXmlProperty(localName = "FBZCDZ")
private String fbzcdz;
//进口药品代理企业名称
@Column(name = "jkypdlqymc")
@JacksonXmlProperty(localName = "JKYPDLQYMC")
private String jkypdlqymc;
//统一社会信用代码(进口药品代理企业)
@Column(name = "tyshxydmjkypdlqy")
@JacksonXmlProperty(localName = "TYSHXYDMJKYPDLQY")
private String tyshxydmjkypdlqy;
//暂无
@Column(name = "sczt")
@JacksonXmlProperty(localName = "SCZT")
//生产状态1-有效2-无效
private String sczt;
//包装规格标识
@Column(name = "bzggbs")
@JacksonXmlProperty(localName = "BZGGBS")
private String bzggbs;
//子集bzbl-包装比例 bzjb-包装级别 ypbsm-药品标识码
@Column(name = "basqxqs")
private String basqxqs;
// XML映射字段不直接存入数据库
@TableField(exist = false)
@JacksonXmlElementWrapper(localName = "BASQXQS")
@JacksonXmlProperty(localName = "BASQXQ")
private List<BASQXQ> basqxqList;
@JacksonXmlProperty(localName = "JWYPSSXKCYRMCZW")
private String jwypssxkcyrmczw;
@JacksonXmlProperty(localName = "JWYPSSXKCYRMCYW")
private String jwypssxkcyrmcyw;
@JacksonXmlProperty(localName = "JWYPSSXKCYRDZZW")
private String jwypssxkcyrdzzw;
@JacksonXmlProperty(localName = "JWYPSCQYMCZW")
private String jwypscqymczw;
@JacksonXmlProperty(localName = "JWYPSCQYMCYW")
private String jwypscqymcyw;
@JacksonXmlProperty(localName = "JWYPSCQYDZZW")
private String jwypscqydzzw;
@JacksonXmlProperty(localName = "JWYPSCQYDZYW")
private String jwypscqydzyw;
//创建时间
@Column(name = "create_time")
private Date createTime;
//更新时间
@Column(name = "update_time")
private Date updateTime;
//是否删除(0- 1-)
@Column(name = "is_deleted")
private Integer isDeleted;
// 在setter方法中完成转换
public void setBasqxqList(List<BASQXQ> basqxqList) {
this.basqxqList = basqxqList;
try {
this.basqxqs = new ObjectMapper().writeValueAsString(basqxqList);
} catch (JsonProcessingException e) {
throw new RuntimeException("转换BASQXQS为JSON失败", e);
}
}
}

View File

@ -134,8 +134,8 @@ public class PharmaceuticalProductionLicenseBaseInfo implements Serializable {
/**
* 投诉举报电话
*/
@JacksonXmlProperty(localName = "SCJBDH")
private String scjbdh;
@JacksonXmlProperty(localName = "TSJBDH")
private String tsjbdh;
/**
* 创建时间

View File

@ -7,14 +7,11 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import lombok.Builder;
import lombok.Data;
import javax.persistence.Column;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
/**
* 药品经营企业基本信息数据子集(PharmaceuticalTradingEnterprisesBaseInfo)表实体类
@ -185,11 +182,6 @@ public class PharmaceuticalTradingEnterprisesBaseInfo implements Serializable {
@JacksonXmlProperty(localName = "LXDH")
private String lxdh;
/**
* 暂无
*/
@JacksonXmlProperty(localName = "ZSGPS")
private String zsgps;
/**
* 创建时间

View File

@ -0,0 +1,72 @@
package com.alihealth.d2d.provtest.service.handle.business;
import com.alihealth.d2d.provtest.domain.ImportedDrugBaseInfo;
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.ImportedDrugBaseInfoService;
import com.alihealth.d2d.provtest.service.handle.AbstractEventDataHandler;
import com.alihealth.d2d.provtest.service.handle.EventSubType;
import com.alihealth.d2d.provtest.service.impl.XmlParserServiceImpl;
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("1019")
public class SubType1019Handler extends AbstractEventDataHandler<ImportedDrugBaseInfo> {
protected final Logger log = LoggerFactory.getLogger(getClass());
@Autowired
private ImportedDrugBaseInfoService service;
@Autowired
private XmlParserServiceImpl xmlParserServiceImpl;
@Override
protected Class<ImportedDrugBaseInfo> getEntityClass() {
return ImportedDrugBaseInfo.class;
}
@Override
protected IService<ImportedDrugBaseInfo> getService() {
return service;
}
@Override
protected ImportedDrugBaseInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance, String eventId) {
return null;
}
@Override
public String getSubType() {
return "1019";
}
@Override
public void handleBase(String xml,String eventId) {
VTTSBasic<ImportedDrugBaseInfo> result = xmlParserServiceImpl.parseDataXml(
xml,
ImportedDrugBaseInfo.class
);
List<ImportedDrugBaseInfo> list = result.getDataset();
if(list!=null && !list.isEmpty()){
list.stream()
.forEach(item -> {
item.setEventId(eventId);
});
getService().saveBatch(list);
log.info("数据类型:"+getSubType()+",入库的数据条数:{}", list.size());
}
}
}