2017 数据集测试成功OK,备注:药品有效期截止日期字段可能有误

This commit is contained in:
daichao 2025-06-12 16:43:21 +08:00
parent a0465b8435
commit e4f95dfe15
2 changed files with 165 additions and 52 deletions

View File

@ -1,11 +1,15 @@
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 lombok.Builder;
import lombok.Data;
import javax.persistence.Column;
import java.math.BigDecimal;
import java.util.Date;
/**
* 药品零售与药品使用信息数据子集(DrugRetailAndUseApplyInfo)表实体类
*
@ -17,148 +21,148 @@ import java.util.Date;
@Builder
@TableName("drug_retail_and_use_apply_info")
public class DrugRetailAndUseApplyInfo {
//主键ID
@Column(name = "id")
//主键ID
@TableId(value = "id", type = IdType.AUTO)
private Long id;
//事件流水号
//事件流水号
@Column(name = "event_id")
private String eventId;
//事件响应时间
//事件响应时间
@Column(name = "rec_time")
private Date recTime;
//药品追溯码
//药品追溯码
@Column(name = "ypzsm")
private String ypzsm;
//上一级包装药品追溯码
//上一级包装药品追溯码
@Column(name = "bzcj")
private String bzcj;
//包装层级
//包装层级
@Column(name = "syjbzypzsm")
private String syjbzypzsm;
//暂无
//暂无
@Column(name = "ymzt")
private String ymzt;
//统一社会信用代码境内药品生产企业
//统一社会信用代码境内药品生产企业
@Column(name = "tyshxydmjnypscqy")
private String tyshxydmjnypscqy;
//境内药品生产企业名称
//境内药品生产企业名称
@Column(name = "jnypscqymc")
private String jnypscqymc;
//境外药品生产企业代码
//境外药品生产企业代码
@Column(name = "jwypscqydm")
private String jwypscqydm;
//境外药品生产企业名称中文
//境外药品生产企业名称中文
@Column(name = "jwypscqymczw")
private String jwypscqymczw;
//药品通用名称
//药品通用名称
@Column(name = "yptymc")
private String yptymc;
//国家药品标识码
//国家药品标识码
@Column(name = "gjypbsm")
private String gjypbsm;
//药品批准文号
//药品批准文号
@Column(name = "yppzwh")
private String yppzwh;
//药品批准文号有效期
//药品批准文号有效期
@Column(name = "yppzwhyxq")
private Date yppzwhyxq;
//疫苗生产批号
//疫苗生产批号
@Column(name = "ymscph")
private String ymscph;
//生产日期
//生产日期
@Column(name = "scrq")
private Date scrq;
//药品有效期截止日期
@Column(name = "ypyxqjzrq")
private Date ypyxqjzrq;
//售药日期
//药品有效期截止日期
@Column(name = "ypqjzrq")
private Date ypqjzrq;
//售药日期
@Column(name = "syrq")
private Date syrq;
//统一社会信用代码进口疫苗代理企业
//统一社会信用代码进口疫苗代理企业
@Column(name = "tyshxydmjkymdlqy")
private String tyshxydmjkymdlqy;
//进口疫苗代理企业名称
//进口疫苗代理企业名称
@Column(name = "jkymdlqymc")
private String jkymdlqymc;
//售药数量
//售药数量
@Column(name = "sysl")
private Integer sysl;
//售出时间
//售出时间
@Column(name = "scsj")
private Date scsj;
//购买人身份信息
//购买人身份信息
@Column(name = "gmrsfxx")
private String gmrsfxx;
//购买人电话号码
//购买人电话号码
@Column(name = "gmrdhhm")
private String gmrdhhm;
//互联网订单标志
//互联网订单标志
@Column(name = "hlwddbz")
private String hlwddbz;
//剂型
//剂型
@Column(name = "jx")
private String jx;
//包装规格
//包装规格
@Column(name = "bzgg")
private String bzgg;
//制剂规格
//制剂规格
@Column(name = "zjgg")
private String zjgg;
//包装转换比
//包装转换比
@Column(name = "bzzhb")
private Double bzzhb;
//包装转换比单位
private BigDecimal bzzhb;
//包装转换比单位
@Column(name = "bzzhbdw")
private String bzzhbdw;
//药品注册分类
//药品注册分类
@Column(name = "ypzcfl")
private String ypzcfl;
//特殊药品管理分类
//特殊药品管理分类
@Column(name = "tsypglfl")
private String tsypglfl;
//统一社会信用代码零售药店
//统一社会信用代码零售药店
@Column(name = "tyshxydmlsyd")
private String tyshxydmlsyd;
//执业许可证登记号
//执业许可证登记号
@Column(name = "zyxkzdjh")
private String zyxkzdjh;
//零售药店名称
//零售药店名称
@Column(name = "lsydmc")
private String lsydmc;
//售药单位类型
//售药单位类型
@Column(name = "sydwlx")
private String sydwlx;
//售药单位类型小类
//售药单位类型小类
@Column(name = "sydwlxxl")
private String sydwlxxl;
//零售药店编号
//零售药店编号
@Column(name = "lsdjbh")
private String lsdjbh;
//经营许可证编号
//经营许可证编号
@Column(name = "jyxkzbh")
private String jyxkzbh;
//卫生机构代码
//卫生机构代码
@Column(name = "wsjgdm")
private String wsjgdm;
//开方医师
//开方医师
@Column(name = "kfys")
private String kfys;
//药品发药人
//药品发药人
@Column(name = "ypfyr")
private String ypfyr;
//药品使用者
//药品使用者
@Column(name = "ypsyz")
private String ypsyz;
//药品使用者代理人
//药品使用者代理人
@Column(name = "ypsyzdlr")
private String ypsyzdlr;
//创建时间
//创建时间
@Column(name = "create_time")
private Date createTime;
//更新时间
//更新时间
@Column(name = "update_time")
private Date updateTime;
//是否删除(0- 1-)
//是否删除(0- 1-)
@Column(name = "is_deleted")
private Integer isDeleted;

View File

@ -0,0 +1,109 @@
package com.alihealth.d2d.provtest.service.handle.business;
import com.alihealth.d2d.provtest.domain.DrugRetailAndUseApplyInfo;
import com.alihealth.d2d.provtest.entity.EventBasic;
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.service.IDrugRetailAndUseApplyInfoService;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@Service
@EventSubType("2017")
public class SubType2017Handler extends AbstractEventDataHandler<DrugRetailAndUseApplyInfo> {
@Autowired
private IDrugRetailAndUseApplyInfoService service;
@Override
protected Class<DrugRetailAndUseApplyInfo> getEntityClass() {
return DrugRetailAndUseApplyInfo.class;
}
@Override
protected IService<DrugRetailAndUseApplyInfo> getService() {
return service;
}
@Override
protected DrugRetailAndUseApplyInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) {
EventBasic evtBasic = eventBody.getEvtBasic();
//时间格式
SimpleDateFormat formatterDatetime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//日期格式
SimpleDateFormat formatterDate = new SimpleDateFormat("yyyyMMdd");
try {
return DrugRetailAndUseApplyInfo.builder()
.eventId(eventBody.getEventID())
.recTime(formatterDatetime.parse(eventBody.getRecTime()))
.ypzsm(instance.getString("YPZSM"))
.bzcj(instance.getString("BZCJ"))
.syjbzypzsm(instance.getString("SYJBZYPZSM"))
.ymzt(instance.getString(("YMZT")))
.tyshxydmjnypscqy(item.getString("TYSHXYDMJNYPSCQY"))
.jnypscqymc(item.getString("JNYPSCQYMC"))
.jwypscqydm(item.getString("JWYPSCQYDM"))
.jwypscqymczw(item.getString("JWYPSCQYMCZW"))
.yptymc(item.getString("YPTYMC"))
.gjypbsm(item.getString("GJYPBSM"))
.yppzwh(item.getString("YPPZWH"))
.yppzwhyxq(formatterDate.parse(item.getString("YPPZWHYXQ")))
.ymscph(item.getString("YMSCPH"))
.scrq(formatterDate.parse(item.getString("SCRQ")))
.ypqjzrq(formatterDate.parse(item.getString("YPQJZRQ")))
.syrq(formatterDate.parse(item.getString("SYRQ")))
.tyshxydmjkymdlqy(item.getString("TYSHXYDMJKYMDLQY"))
.jkymdlqymc(item.getString("JKYMDLQYMC"))
.sysl(item.getInt("SYSL"))
.scsj(formatterDatetime.parse(item.getString("SCSJ")))
.gmrsfxx(item.getString("GMRSFXX"))
.gmrdhhm(item.getString("GMRDHHM"))
.hlwddbz(item.getString("HLWDDBZ"))
.jx(item.getString("JX"))
.bzgg(item.getString("BZGG"))
.zjgg(item.getString("ZJGG"))
.bzzhb(new BigDecimal(item.getString("BZZHB")))
.bzzhbdw(item.getString("BZZHBDW"))
.ypzcfl(item.getString("YPZCFL"))
.tsypglfl(item.getString("TSYPGLFL"))
.tyshxydmlsyd(evtBasic.getString("TYSHXYDMLSYD"))
.zyxkzdjh(evtBasic.getString("ZYXKZDJH"))
.lsydmc(evtBasic.getString("LSYDMC"))
.sydwlx(evtBasic.getString("SYDWLX"))
.sydwlxxl(evtBasic.getString("SYDWLXXL"))
.lsdjbh(evtBasic.getString("LSDJBH"))
.jyxkzbh(evtBasic.getString("JYXKZBH"))
.wsjgdm(evtBasic.getString("WSJGDM"))
.kfys(evtBasic.getString("KFYS"))
.ypfyr(evtBasic.getString("YPFYR"))
.ypsyz(evtBasic.getString("YPSYZ"))
.ypsyzdlr(evtBasic.getString("YPSYZDLR"))
.build();
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
@Override
public String getSubType() {
return "2017";
}
@Override
public void handleBase(String xml, String eventId) {
}
}