添加2013,优化代码
This commit is contained in:
parent
b3985ac62c
commit
bd3a79da15
|
@ -5,6 +5,7 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
/**
|
||||
* 发货单信息数据子集(DrugInvoiceApplyInfo)表实体类
|
||||
|
@ -85,7 +86,7 @@ public class DrugInvoiceApplyInfo {
|
|||
private String zjgg;
|
||||
//包装转换比
|
||||
@Column(name = "bzzhb")
|
||||
private Double bzzhb;
|
||||
private BigDecimal bzzhb;
|
||||
//包装转换比单位
|
||||
@Column(name = "bzzhbdw")
|
||||
private String bzzhbdw;
|
||||
|
|
|
@ -5,6 +5,7 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
/**
|
||||
* 药品自检信息数据子集(DrugSelfInspectionApplyInfo)表实体类
|
||||
|
@ -55,7 +56,7 @@ public class DrugSelfInspectionApplyInfo {
|
|||
private String bzgg;
|
||||
//包装转换比
|
||||
@Column(name = "bzzhb")
|
||||
private Double bzzhb;
|
||||
private BigDecimal bzzhb;
|
||||
//药品有效期
|
||||
@Column(name = "ypyxq")
|
||||
private Integer ypyxq;
|
||||
|
|
|
@ -5,6 +5,7 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
/**
|
||||
* 进口药品基本信息数据子集(ImportedDrugBaseInfo)表实体类
|
||||
|
@ -49,7 +50,7 @@ public class ImportedDrugBaseInfo {
|
|||
private String bzgg;
|
||||
//包装转换比
|
||||
@Column(name = "bzzhb")
|
||||
private Double bzzhb;
|
||||
private BigDecimal bzzhb;
|
||||
//包装转换比单位
|
||||
@Column(name = "bzzhbdw")
|
||||
private String bzzhbdw;
|
||||
|
|
|
@ -5,6 +5,7 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
/**
|
||||
* 库存上报基本信息数据子集(可选)(WarehouseStockApplyInfo)表实体类
|
||||
|
@ -73,7 +74,7 @@ public class WarehouseStockApplyInfo {
|
|||
private String zjgg;
|
||||
//包装转换比
|
||||
@Column(name = "bzzhb")
|
||||
private Double bzzhb;
|
||||
private BigDecimal bzzhb;
|
||||
//包装转换比单位
|
||||
@Column(name = "bzzhbdw")
|
||||
private String bzzhbdw;
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.alihealth.d2d.provtest.entity;
|
|||
import com.fasterxml.jackson.annotation.*;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.LinkedHashMap;
|
||||
|
@ -72,4 +73,12 @@ public class DynamicFieldsEntity {
|
|||
// 实现日期转换逻辑
|
||||
return null;
|
||||
}
|
||||
public BigDecimal getBigDecimal(String name) {
|
||||
try {
|
||||
return new BigDecimal(getString(name));
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -16,12 +16,14 @@ import java.util.List;
|
|||
* @author Jason
|
||||
* @date 2025年06月05日 11:11:15
|
||||
*/
|
||||
public abstract class AbstractEventDataHandler <T> implements EventDataHandler {
|
||||
public abstract class AbstractEventDataHandler<T> implements EventDataHandler {
|
||||
|
||||
protected final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
protected abstract Class<T> getEntityClass();
|
||||
|
||||
protected abstract IService<T> getService();
|
||||
|
||||
protected abstract T convertToEntity(EventBody eventBody, ItemDetail item, InstanceDetail detail);
|
||||
|
||||
@Override
|
||||
|
@ -30,13 +32,22 @@ public abstract class AbstractEventDataHandler <T> implements EventDataHandler {
|
|||
|
||||
for (EventBody eventBody : eventS.getVttsEvent().getEventBodyList()) {
|
||||
for (ItemDetail item : eventBody.getItemList()) {
|
||||
for (InstanceDetail instance : item.getInstanceList()) {
|
||||
if (item.getInstanceList() != null) {
|
||||
for (InstanceDetail instance : item.getInstanceList()) {
|
||||
try {
|
||||
entities.add(convertToEntity(eventBody, item, instance));
|
||||
} catch (Exception e) {
|
||||
log.error("转换实体失败", e);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
entities.add(convertToEntity(eventBody, item, instance));
|
||||
entities.add(convertToEntity(eventBody, item, null));
|
||||
} catch (Exception e) {
|
||||
log.error("转换实体失败", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,11 +1,114 @@
|
|||
package com.alihealth.d2d.provtest.service.handle.business;
|
||||
|
||||
import com.alihealth.d2d.provtest.domain.DrugImportApplyInfo;
|
||||
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.IDrugImportApplyInfoService;
|
||||
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("2013")
|
||||
@Service
|
||||
public class SubType2013Handler {
|
||||
public class SubType2013Handler extends AbstractEventDataHandler<DrugSelfInspectionApplyInfo> {
|
||||
|
||||
@Autowired
|
||||
private IDrugSelfInspectionApplyInfoService service;
|
||||
|
||||
@Override
|
||||
protected Class<DrugSelfInspectionApplyInfo> getEntityClass() {
|
||||
return DrugSelfInspectionApplyInfo.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IService<DrugSelfInspectionApplyInfo> getService() {
|
||||
return service;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DrugSelfInspectionApplyInfo 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 DrugSelfInspectionApplyInfo.builder()
|
||||
.eventId(eventBody.getEventID())
|
||||
.recTime(formatterDatetime.parse(eventBody.getRecTime()))
|
||||
|
||||
.ypjybgsbh(evtBasic.getString("YPJYBGSBH"))
|
||||
.ymjyrq(formatterDate.parse(evtBasic.getString("YMJYRQ")))
|
||||
.ypjybgsmj(evtBasic.getString("YPJYBGSMJ"))
|
||||
|
||||
.gjypbsm(item.getString("GJYPBSM"))
|
||||
.gjjbywbs(item.getString("GJJBYWBS"))
|
||||
.yptymc(item.getString("YPTYMC"))
|
||||
.ypywmc(item.getString("YPYWMC"))
|
||||
.jkypzwym(item.getString("JKYPZWYM"))
|
||||
.jkyppjh(item.getString("JKYPPJH"))
|
||||
.jkyppjyxq(formatterDate.parse(item.getString("JKYPPJYXQ")))
|
||||
.ypspmc(item.getString("YPSPMC"))
|
||||
.ypbwm(item.getString("YPBWM"))
|
||||
.jx(item.getString("JX"))
|
||||
.zjgg(item.getString("ZJGG"))
|
||||
.bzgg(item.getString("BZGG"))
|
||||
.bzzhb(item.getBigDecimal("BZZHB"))
|
||||
.ypyxq(item.getInt("YPYXQ"))
|
||||
.ypyxqdw(item.getString("YPYXQDW"))
|
||||
.yppzwh(item.getString("YPPZWH"))
|
||||
.yppzwhyxq(formatterDate.parse(item.getString("YPPZWHYXQ")))
|
||||
.jkypzczh(item.getString("JKYPZCZH"))
|
||||
.jkypzczyxq(formatterDate.parse(item.getString("JKYPZCZYXQ")))
|
||||
.ypzcfl(item.getString("YPZCFL"))
|
||||
.gjjbywbs(item.getString("GJJBYWBS"))
|
||||
.tsypglfl(item.getString("TSYPGLFL"))
|
||||
.cfybs(item.getString("CFYBS"))
|
||||
.jnypssxkcyrmc(item.getString("JNYPSSXKCYRMC"))
|
||||
.tyshxydmjnypssxkcyr(item.getString("TYSHXYDMJNYPSSXKCYR"))
|
||||
.jwypssxkcyrmczw(item.getString("JWYPSSXKCYRMCZW"))
|
||||
.jwypssxkcyrmcyw(item.getString("JWYPSSXKCYRMCYW"))
|
||||
.jwypssxkcyrdm(item.getString("JWYPSSXKCYRDM"))
|
||||
.jnypscqymc(item.getString("JNYPSCQYMC"))
|
||||
.tyshxydmjnypscqy(item.getString("TYSHXYDMJNYPSCQY"))
|
||||
.jwypscqymczw(item.getString("JWYPSCQYMCZW"))
|
||||
.jwypscqymcyw(item.getString("JWYPSCQYMCYW"))
|
||||
.jwypscqydm(item.getString("JWYPSCQYDM"))
|
||||
.fbzcmc(item.getString("FBZCMC"))
|
||||
.tyshxydmfbzc(item.getString("TYSHXYDMFBZC"))
|
||||
.ypscrq(formatterDate.parse(item.getString("YPSCRQ")))
|
||||
// .ypyxqjzrq(formatterDate.parse(item.getString("YPYXQJZRQ"))) //值为暂无不保存
|
||||
.ypscph(item.getString("YPSCPH"))
|
||||
.bgrq(formatterDate.parse(item.getString("BGRQ")))
|
||||
.gzrq(formatterDatetime.parse(item.getString("GZRQ")))
|
||||
.build();
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSubType() {
|
||||
return "2013";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleBase(String xml, String eventId) {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@ public class SubType2015Handler extends AbstractEventDataHandler<DrugInvoiceAppl
|
|||
.jx(item.getString("JX"))
|
||||
.bzgg(item.getString("BZGG"))
|
||||
.zjgg(item.getString("ZJGG"))
|
||||
.bzzhb(item.getDouble("BZZHB"))
|
||||
.bzzhb(item.getBigDecimal("BZZHB"))
|
||||
.bzzhbdw(item.getString("BZZHBDW"))
|
||||
.ypzcfl(item.getString("YPZCFL"))
|
||||
.tsypglfl(item.getString("TSYPGLFL"))
|
||||
|
|
Loading…
Reference in New Issue