diff --git a/src/main/java/com/alihealth/d2d/provtest/domain/MultySacnCodeRecord.java b/src/main/java/com/alihealth/d2d/provtest/domain/MultySacnCodeRecord.java index 30a05f7..82d1ada 100644 --- a/src/main/java/com/alihealth/d2d/provtest/domain/MultySacnCodeRecord.java +++ b/src/main/java/com/alihealth/d2d/provtest/domain/MultySacnCodeRecord.java @@ -1,13 +1,12 @@ 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 java.io.Serializable; -import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; import lombok.Getter; import lombok.Setter; +import java.io.Serializable; +import java.util.Date; + /** *

* 药品追溯码多次扫码记录 @@ -23,31 +22,29 @@ public class MultySacnCodeRecord implements Serializable { private static final long serialVersionUID = 1L; - /** - * 主键ID - */ - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** * 药品追溯码 */ + @TableId(value = "ypzsm", type = IdType.NONE) private String ypzsm; /** * 数据处理标识:1-已处理,0-未处理 */ + @TableField("handle_flag") private Integer handleFlag; /** * 创建时间 */ - private LocalDateTime createTime; + @TableField("create_time") + private Date createTime; /** * 更新时间 */ - private LocalDateTime updateTime; + @TableField(value = "update_time", update = "now()", fill = FieldFill.UPDATE) + private Date updateTime; /** * 是否删除(0-否 1-是) diff --git a/src/main/java/com/alihealth/d2d/provtest/service/handle/EventData2017Handler.java b/src/main/java/com/alihealth/d2d/provtest/service/handle/EventData2017Handler.java index a0de00a..b595722 100644 --- a/src/main/java/com/alihealth/d2d/provtest/service/handle/EventData2017Handler.java +++ b/src/main/java/com/alihealth/d2d/provtest/service/handle/EventData2017Handler.java @@ -1,21 +1,29 @@ package com.alihealth.d2d.provtest.service.handle; import com.alihealth.d2d.provtest.domain.DrugRetailAndUseApplyInfo; +import com.alihealth.d2d.provtest.domain.MultySacnCodeRecord; 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.entity.VTTSEventS; +import com.alihealth.d2d.provtest.service.IMultySacnCodeRecordService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; public abstract class EventData2017Handler implements EventDataHandler { + @Autowired + private IMultySacnCodeRecordService iMultySacnCodeRecordService; + protected final Logger log = LoggerFactory.getLogger(getClass()); protected abstract Class getEntityClass(); @@ -59,11 +67,20 @@ public abstract class EventData2017Handler implements EventDataHandler { if (!entities.isEmpty()) { //对2017 药品使用与销售数据集进行单独处理,如果出现重复的药品追溯码ypzsm,需要做记录 - List ypzsmList = entities.stream().map(entity -> entity.getYpzsm()).collect(Collectors.toList()); + Set ypzsmList = entities.stream().map(entity -> entity.getYpzsm()).collect(Collectors.toSet()); List existedList = getService().getBaseMapper().selectList(new QueryWrapper().lambda() .in(DrugRetailAndUseApplyInfo::getYpzsm, ypzsmList) ); - + if (!CollectionUtils.isEmpty(existedList)) { + List multySacnCodeRecordList = new ArrayList<>(existedList.size()); + for (DrugRetailAndUseApplyInfo itemInfo : existedList) { + MultySacnCodeRecord multySacnCodeRecord = new MultySacnCodeRecord(); + multySacnCodeRecord.setYpzsm(itemInfo.getYpzsm()); + multySacnCodeRecord.setHandleFlag(0); + multySacnCodeRecordList.add(multySacnCodeRecord); + } + iMultySacnCodeRecordService.saveOrUpdateBatch(multySacnCodeRecordList); + } getService().saveBatch(entities); } }