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; 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 com.baomidou.mybatisplus.annotation.TableName;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
* 药品零售与药品使用信息数据子集(DrugRetailAndUseApplyInfo)表实体类 * 药品零售与药品使用信息数据子集(DrugRetailAndUseApplyInfo)表实体类
* *
@ -18,7 +22,7 @@ import java.util.Date;
@TableName("drug_retail_and_use_apply_info") @TableName("drug_retail_and_use_apply_info")
public class DrugRetailAndUseApplyInfo { public class DrugRetailAndUseApplyInfo {
//主键ID //主键ID
@Column(name = "id") @TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
//事件流水号 //事件流水号
@Column(name = "event_id") @Column(name = "event_id")
@ -69,8 +73,8 @@ public class DrugRetailAndUseApplyInfo {
@Column(name = "scrq") @Column(name = "scrq")
private Date scrq; private Date scrq;
//药品有效期截止日期 //药品有效期截止日期
@Column(name = "ypyxqjzrq") @Column(name = "ypqjzrq")
private Date ypyxqjzrq; private Date ypqjzrq;
//售药日期 //售药日期
@Column(name = "syrq") @Column(name = "syrq")
private Date syrq; private Date syrq;
@ -106,7 +110,7 @@ public class DrugRetailAndUseApplyInfo {
private String zjgg; private String zjgg;
//包装转换比 //包装转换比
@Column(name = "bzzhb") @Column(name = "bzzhb")
private Double bzzhb; private BigDecimal bzzhb;
//包装转换比单位 //包装转换比单位
@Column(name = "bzzhbdw") @Column(name = "bzzhbdw")
private String bzzhbdw; private String bzzhbdw;

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) {
}
}