diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2018Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2018Handler.java new file mode 100644 index 0000000..c47f4a6 --- /dev/null +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/business/SubType2018Handler.java @@ -0,0 +1,87 @@ +package com.alihealth.d2d.provtest.service.handle.business; + +import com.alihealth.d2d.provtest.domain.DrugRecallApplyInfo; +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.IDrugRecallApplyInfoService; +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; + +@Service +@EventSubType("2018") +public class SubType2018Handler extends AbstractEventDataHandler { + + @Autowired + private IDrugRecallApplyInfoService service; + + @Override + protected Class getEntityClass() { + return DrugRecallApplyInfo.class; + } + + @Override + protected IService getService() { + return service; + } + + @Override + protected DrugRecallApplyInfo 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 DrugRecallApplyInfo.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"))) + + .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"))) + .zhsl(item.getInt("ZHSL")) + .jhzhsl(item.getInt("JHZHSL")) + .dqsjzhsl(item.getInt("DQSJZHSL")) + + .tyshxydmzhjg(evtBasic.getString("TYSHXYDMZHJG")) + .zhjgmc(evtBasic.getString("ZHJGMC")) + .kstjsj(formatterDatetime.parse(evtBasic.getString("KSTJSJ"))) + .jstjsj(formatterDatetime.parse(evtBasic.getString("JSTJSJ"))) + + + .build(); + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + @Override + public String getSubType() { + return "2018"; + } + + @Override + public void handleBase(String xml, String eventId) { + + } +}