diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/DrugRetailAndUseApplyInfo.java b/src/main/java/com/alihealth/d2d/provtest/domain/DrugRetailAndUseApplyInfo.java index 02caf3a..4781c48 100644 --- a/src/main/java/com/alihealth/d2d/provtest/domain/DrugRetailAndUseApplyInfo.java +++ b/src/main/java/com/alihealth/d2d/provtest/domain/DrugRetailAndUseApplyInfo.java @@ -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; diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2012Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2012Handler.java index 12a9363..4cdec44 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2012Handler.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2012Handler.java @@ -18,6 +18,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.Date; /** * @author Jason @@ -43,39 +44,38 @@ public class SubType2012Handler extends AbstractEventDataHandler { + + @Autowired + private IDrugInvoiceApplyInfoService service; + + @Override + protected Class getEntityClass() { + return DrugInvoiceApplyInfo.class; + } + + @Override + protected IService 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) { + + } +} diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2017Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2017Handler.java new file mode 100644 index 0000000..fbe9831 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2017Handler.java @@ -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 { + + @Autowired + private IDrugRetailAndUseApplyInfoService service; + + @Override + protected Class getEntityClass() { + return DrugRetailAndUseApplyInfo.class; + } + + @Override + protected IService 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) { + + } +}