2051数据集解析成功;

解析代码加上忽略位置属性注解
This commit is contained in:
daichao 2025-06-13 11:32:04 +08:00
parent 2232763f8b
commit 77ae4f9b7b
14 changed files with 420 additions and 311 deletions

View File

@ -1,6 +1,8 @@
package com.alihealth.d2d.provtest.domain; package com.alihealth.d2d.provtest.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
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;
@ -21,7 +23,7 @@ import java.util.Date;
@TableName("drug_delivery_note_apply_info") @TableName("drug_delivery_note_apply_info")
public class DrugDeliveryNoteApplyInfo { public class DrugDeliveryNoteApplyInfo {
//主键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")

View File

@ -1,11 +1,14 @@
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.util.Date; import java.util.Date;
/** /**
* 药品进口信息数据子集(DrugImportApplyInfo)表实体类 * 药品进口信息数据子集(DrugImportApplyInfo)表实体类
* *
@ -18,7 +21,7 @@ import java.util.Date;
@TableName("drug_import_apply_info") @TableName("drug_import_apply_info")
public class DrugImportApplyInfo { public class DrugImportApplyInfo {
//主键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")

View File

@ -1,5 +1,7 @@
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;
@ -7,6 +9,7 @@ import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
* 发货单信息数据子集(DrugInvoiceApplyInfo)表实体类 * 发货单信息数据子集(DrugInvoiceApplyInfo)表实体类
* *
@ -19,7 +22,7 @@ import java.util.Date;
@TableName("drug_invoice_apply_info") @TableName("drug_invoice_apply_info")
public class DrugInvoiceApplyInfo { public class DrugInvoiceApplyInfo {
//主键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")

View File

@ -1,11 +1,14 @@
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.util.Date; import java.util.Date;
/** /**
* 药品召回信息数据子集(DrugRecallApplyInfo)表实体类 * 药品召回信息数据子集(DrugRecallApplyInfo)表实体类
* *
@ -18,7 +21,7 @@ import java.util.Date;
@TableName("drug_recall_apply_info") @TableName("drug_recall_apply_info")
public class DrugRecallApplyInfo { public class DrugRecallApplyInfo {
//主键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")

View File

@ -1,5 +1,7 @@
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;
@ -7,6 +9,7 @@ import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
* 药品自检信息数据子集(DrugSelfInspectionApplyInfo)表实体类 * 药品自检信息数据子集(DrugSelfInspectionApplyInfo)表实体类
* *
@ -19,7 +22,7 @@ import java.util.Date;
@TableName("drug_self_inspection_apply_info") @TableName("drug_self_inspection_apply_info")
public class DrugSelfInspectionApplyInfo { public class DrugSelfInspectionApplyInfo {
//主键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")

View File

@ -1,5 +1,7 @@
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;
@ -7,6 +9,7 @@ import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
* 进口药品基本信息数据子集(ImportedDrugBaseInfo)表实体类 * 进口药品基本信息数据子集(ImportedDrugBaseInfo)表实体类
* *
@ -19,7 +22,7 @@ import java.util.Date;
@TableName("imported_drug_base_info") @TableName("imported_drug_base_info")
public class ImportedDrugBaseInfo { public class ImportedDrugBaseInfo {
//主键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")

View File

@ -1,11 +1,14 @@
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.util.Date; import java.util.Date;
/** /**
* 药品经营企业基本信息数据子集(PharmaceuticalTradingEnterprisesBaseInfo)表实体类 * 药品经营企业基本信息数据子集(PharmaceuticalTradingEnterprisesBaseInfo)表实体类
* *
@ -18,7 +21,7 @@ import java.util.Date;
@TableName("pharmaceutical_trading_enterprises_base_info") @TableName("pharmaceutical_trading_enterprises_base_info")
public class PharmaceuticalTradingEnterprisesBaseInfo { public class PharmaceuticalTradingEnterprisesBaseInfo {
//主键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")

View File

@ -1,11 +1,14 @@
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.util.Date; import java.util.Date;
/** /**
* 温度信息子集-单据与存储设备关系信息(ReceiptAndStorageDeviceRelTemperatureApplyInfo)表实体类 * 温度信息子集-单据与存储设备关系信息(ReceiptAndStorageDeviceRelTemperatureApplyInfo)表实体类
* *
@ -18,7 +21,7 @@ import java.util.Date;
@TableName("receipt_and_storage_device_rel_temperature_apply_info") @TableName("receipt_and_storage_device_rel_temperature_apply_info")
public class ReceiptAndStorageDeviceRelTemperatureApplyInfo { public class ReceiptAndStorageDeviceRelTemperatureApplyInfo {
//主键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")

View File

@ -1,11 +1,14 @@
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.util.Date; import java.util.Date;
/** /**
* 温度信息子集-存储设备温度信息(StorageDeviceTemperatureApplyInfo)表实体类 * 温度信息子集-存储设备温度信息(StorageDeviceTemperatureApplyInfo)表实体类
* *
@ -18,7 +21,7 @@ import java.util.Date;
@TableName("storage_device_temperature_apply_info") @TableName("storage_device_temperature_apply_info")
public class StorageDeviceTemperatureApplyInfo { public class StorageDeviceTemperatureApplyInfo {
//主键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")

View File

@ -1,11 +1,14 @@
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.util.Date; import java.util.Date;
/** /**
* 温度信息子集-运输温度信息(TransportTemperatureApplyInfo)表实体类 * 温度信息子集-运输温度信息(TransportTemperatureApplyInfo)表实体类
* *
@ -18,7 +21,7 @@ import java.util.Date;
@TableName("transport_temperature_apply_info") @TableName("transport_temperature_apply_info")
public class TransportTemperatureApplyInfo { public class TransportTemperatureApplyInfo {
//主键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")

View File

@ -1,5 +1,7 @@
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;
@ -7,6 +9,7 @@ import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
* 库存上报基本信息数据子集(可选)(WarehouseStockApplyInfo)表实体类 * 库存上报基本信息数据子集(可选)(WarehouseStockApplyInfo)表实体类
* *
@ -19,7 +22,7 @@ import java.util.Date;
@TableName("warehouse_stock_apply_info") @TableName("warehouse_stock_apply_info")
public class WarehouseStockApplyInfo { public class WarehouseStockApplyInfo {
//主键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")

View File

@ -1,5 +1,6 @@
package com.alihealth.d2d.provtest.entity; package com.alihealth.d2d.provtest.entity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
@ -8,6 +9,7 @@ import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
* @date 2025年06月03日 16:34:49 * @date 2025年06月03日 16:34:49
*/ */
@JacksonXmlRootElement(localName = "VTTSEventS") @JacksonXmlRootElement(localName = "VTTSEventS")
@JsonIgnoreProperties(ignoreUnknown = true)
public class VTTSEventS { public class VTTSEventS {
@JacksonXmlProperty(localName = "VTTSEvent") @JacksonXmlProperty(localName = "VTTSEvent")

View File

@ -49,6 +49,12 @@ public abstract class AbstractEventDataHandler<T> implements EventDataHandler {
} }
} }
} else {
try {
entities.add(convertToEntity(eventBody, null, null));
} catch (Exception e) {
log.error("转换实体失败", e);
}
} }
} }

View File

@ -0,0 +1,69 @@
package com.alihealth.d2d.provtest.service.handle.business;
import com.alihealth.d2d.provtest.domain.ReceiptAndStorageDeviceRelTemperatureApplyInfo;
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.IReceiptAndStorageDeviceRelTemperatureApplyInfoService;
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("2051")
public class SubType2051Handler extends AbstractEventDataHandler<ReceiptAndStorageDeviceRelTemperatureApplyInfo> {
@Autowired
private IReceiptAndStorageDeviceRelTemperatureApplyInfoService service;
@Override
protected Class<ReceiptAndStorageDeviceRelTemperatureApplyInfo> getEntityClass() {
return ReceiptAndStorageDeviceRelTemperatureApplyInfo.class;
}
@Override
protected IService<ReceiptAndStorageDeviceRelTemperatureApplyInfo> getService() {
return service;
}
@Override
protected ReceiptAndStorageDeviceRelTemperatureApplyInfo 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 ReceiptAndStorageDeviceRelTemperatureApplyInfo.builder()
.eventId(eventBody.getEventID())
.recTime(formatterDatetime.parse(eventBody.getRecTime()))
.tyshxydm(evtBasic.getString("TYSHXYDM"))
.qymc(evtBasic.getString("QYMC"))
.djh(evtBasic.getString("DJH"))
.djlx(evtBasic.getString("DJLX"))
.ccsbbh(evtBasic.getString("CCSBBH"))
.build();
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
@Override
public String getSubType() {
return "2051";
}
@Override
public void handleBase(String xml, String eventId) {
}
}