This commit is contained in:
huzhengkao 2025-06-12 17:05:21 +08:00
commit b3985ac62c
4 changed files with 323 additions and 77 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

@ -18,6 +18,7 @@ import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Date;
/** /**
* @author Jason * @author Jason
@ -43,39 +44,38 @@ public class SubType2012Handler extends AbstractEventDataHandler<DrugImportApply
@Override @Override
protected DrugImportApplyInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) { protected DrugImportApplyInfo convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail instance) {
EventBasic evtBasic = eventBody.getEvtBasic(); EventBasic evtBasic = eventBody.getEvtBasic();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //时间格式
String formattedDate = LocalDate.parse( SimpleDateFormat formatterDatetime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
item.getString("SCRQ"), //日期格式
DateTimeFormatter.ofPattern("yyyyMMdd") SimpleDateFormat formatterDate = new SimpleDateFormat("yyyyMMdd");
).format(DateTimeFormatter.ISO_LOCAL_DATE); //
try { try {
return DrugImportApplyInfo.builder() return DrugImportApplyInfo.builder()
.eventId(eventBody.getEventID()) .eventId(eventBody.getEventID())
.rksj(evtBasic.getDate("RKSJ"))
.recTime(formatter.parse(eventBody.getRecTime())) .rksj(evtBasic.getString("RKSJ") != null ? formatterDatetime.parse(evtBasic.getString("RKSJ")) : null)
.recTime(formatterDatetime.parse(eventBody.getRecTime()))
.rkdbh(evtBasic.getString("RKDBH")) .rkdbh(evtBasic.getString("RKDBH"))
.ypzsm(instance.getString("YPZSM")) .ypzsm(instance.getString("YPZSM"))
.syjbzypzsm(instance.getString("SYJBZYPZSM")) .syjbzypzsm(instance.getString("SYJBZYPZSM"))
.bzcj(instance.getString("BZCJ")) .bzcj(instance.getString("BZCJ"))
.ymzt(instance.getString("YMZT")) .ymzt(instance.getString("YMZT"))
.tyshxydmjkymdlqy(instance.getString("TYSHXYDMJKYMDLQY"))
.jkymdlqymc(instance.getString("JKYMDLQYMC")) .tyshxydmjkymdlqy(item.getString("TYSHXYDMJKYMDLQY"))
.jwypssxkcyrdm(instance.getString("JWYPPSSXKCYRDM")) .jkymdlqymc(item.getString("JKYMDLQYMC"))
.jwypssxkcyrmczw(instance.getString("JWYPPSSXKCYRMCZW")) .jwypssxkcyrdm(item.getString("JWYPSSXKCYRDM"))
.jwypscqydm(instance.getString("JWYPPSCQYDM")) .jwypssxkcyrmczw(item.getString("JWYPSSXKCYRMCZW"))
.jwypscqymczw(instance.getString("JWYPPSCQYMCZW")) .jwypscqydm(item.getString("JWYPSCQYDM"))
.jwypscqymczw(instance.getString("JWYPPSCQYMCZW")) .jwypscqymczw(item.getString("JWYPSCQYMCZW"))
.tyshxydmfbzc(instance.getString("TYSHXYDMFBZC")) .tyshxydmfbzc(item.getString("TYSHXYDMFBZC"))
.fbzcmc(instance.getString("FBZCMC")) .fbzcmc(item.getString("FBZCMC"))
.yptymc(instance.getString("YPTYMC")) .yptymc(item.getString("YPTYMC"))
.gjypbsm(instance.getString("GJYPBSM")) .gjypbsm(item.getString("GJYPBSM"))
.ymscph(instance.getString("YMSCPH")) .ymscph(item.getString("YMSCPH"))
.scrq(instance.getDate("SCRQ")) .scrq(formatterDate.parse(item.getString("SCRQ")))
.ymyxqjzrq(instance.getDate("YMYXQJZRQ")) .ymyxqjzrq(formatterDate.parse(item.getString("YMYXQJZRQ")))
.scsl(instance.getInt("SCSL"))
.createTime(instance.getDate("CREATETIME")) .scsl(item.getInt("SCSL"))
.updateTime(instance.getDate("UPDATETIME"))
.isDeleted(instance.getInt("ISDELETE"))
.build(); .build();
} catch (ParseException e) { } catch (ParseException e) {
throw new RuntimeException(e); throw new RuntimeException(e);

View File

@ -0,0 +1,133 @@
package com.alihealth.d2d.provtest.service.handle.business;
import com.alihealth.d2d.provtest.domain.DrugInvoiceApplyInfo;
import com.alihealth.d2d.provtest.domain.DrugSelfInspectionApplyInfo;
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.IDrugInvoiceApplyInfoService;
import com.alihealth.d2d.provtest.service.IDrugSelfInspectionApplyInfoService;
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.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
/**
* @author Jason
* @date 2025年06月05日 11:37:52
*/
@EventSubType("2015")
@Service
public class SubType2015Handler extends AbstractEventDataHandler<DrugInvoiceApplyInfo> {
@Autowired
private IDrugInvoiceApplyInfoService service;
@Override
protected Class<DrugInvoiceApplyInfo> getEntityClass() {
return DrugInvoiceApplyInfo.class;
}
@Override
protected IService<DrugInvoiceApplyInfo> getService() {
return service;
}
@Override
protected DrugInvoiceApplyInfo 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
DrugInvoiceApplyInfo.builder()
.eventId(eventBody.getEventID())
.recTime(formatterDatetime.parse(eventBody.getRecTime()))
.ypzsm(instance.getString("YPZSM"))
.syjbzypzsm(instance.getString("SYJBZYPZSM"))
.bzcj(instance.getString("BZCJ"))
.ymzt(instance.getString("YMZT"))
.tyshxydmscqy(item.getString("TYSHXYDMSCQY"))
.scqymc(item.getString("SCQYMC"))
.yptymc(item.getString("YPTYMC"))
.gjypbsm(item.getString("GJYPBSM"))
.ymscph(item.getString("YMSCPH"))
.tyshxydmjkymdlqy(item.getString("TYSHXYDMJKYMDLQY"))
.jkymdlqymc(item.getString("JKYMDLQYMC"))
.scrq(formatterDate.parse(item.getString("SCRQ")))
.ymyxqjzrq(formatterDate.parse(item.getString("YMYXQJZRQ")))
.fhsl(item.getInt("FHSL"))
.yppzwh(item.getString("YPPZWH"))
.yppzwhyxq(formatterDate.parse(item.getString("YPPZWHYXQ")))
.jx(item.getString("JX"))
.bzgg(item.getString("BZGG"))
.zjgg(item.getString("ZJGG"))
.bzzhb(item.getDouble("BZZHB"))
.bzzhbdw(item.getString("BZZHBDW"))
.ypzcfl(item.getString("YPZCFL"))
.tsypglfl(item.getString("TSYPGLFL"))
.yjbgqszt(item.getString("YJBGQSZT"))
.yjbggzzt(item.getString("YJBGGZZT"))
.fhdbh(evtBasic.getString("FHDBH"))
.dhdbh(evtBasic.getString("DHDBH"))
.tyshxydmfhjg(evtBasic.getString("TYSHXYDMFHJG"))
.jzdwbmfhjg(evtBasic.getString("JZDWBMFHJG"))
.fhjgmc(evtBasic.getString("FHJGMC"))
.fhdz(evtBasic.getString("FHDZ"))
.fhlx(evtBasic.getString("FHLX"))
.fhsj(formatterDatetime.parse(evtBasic.getString("FHSJ")))
.tyshxydmshjg(evtBasic.getString("TYSHXYDMSHJG"))
.jzdwbmshjg(evtBasic.getString("JZDWBMSHJG"))
.shdz(evtBasic.getString("SHDZ"))
.shjgmc(evtBasic.getString("SHJGMC"))
.tyshxydmympsdw(evtBasic.getString("TYSHXYDMYMPSDW"))
.ympsdwmc(evtBasic.getString("YMPSDWMC"))
.djyzzt(evtBasic.getString("DJYZZT"))
.djyzrq(formatterDate.parse(evtBasic.getString("DJYZRQ")))
.djyzwtgyy(evtBasic.getString("DJYZWTGYY"))
.fhdczr(evtBasic.getString("FHDCZR"))
.fhdscsj(formatterDate.parse(evtBasic.getString("FHDSCSJ")))
.fhr(evtBasic.getString("FHR"))
.fhjglx(evtBasic.getString("FHJGLX"))
.shjglx(evtBasic.getString("SHJGLX"))
.fhjgxl(evtBasic.getString("FHJGXL"))
.shjgxl(evtBasic.getString("SHJGXL"))
.wsjgdmshjg(evtBasic.getString("WSJGDMSHJG"))
.wsjgdmfhjg(evtBasic.getString("WSJGDMFHJG"))
.zyxkzdjhfhjg(evtBasic.getString("ZYXKZDJHFHJG"))
.zyxkzdjhshjg(evtBasic.getString("ZYXKZDJHSHJG"))
// .wtdwmc(evtBasic.getString("WTDWMC"))
// .wtdwtyshxydm(evtBasic.getString("WTDWTYSHXYDM"))
.jsbs(evtBasic.getString("JSBS"))
// .jsyy(evtBasic.getString("JSYY"))
// .jssj(evtBasic.getDate("JSSJ"))
.build();
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
@Override
public String getSubType() {
return "2015";
}
@Override
public void handleBase(String xml, String eventId) {
}
}

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