From fd1999cd42f4795498783f3194242f0ca5985420 Mon Sep 17 00:00:00 2001 From: daichao <1438977546@qq.com> Date: Tue, 24 Jun 2025 17:29:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E7=8B=AC=E5=A4=84=E7=90=862017=20?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=EF=BC=8C=E5=9C=A8=E6=8E=A5=E6=94=B6?= =?UTF-8?q?=E7=A0=81=E4=B8=8A=E6=94=BE=E5=BF=83=E6=95=B0=E6=8D=AE=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=A6=82=E6=9E=9C=E5=AD=98=E5=9C=A8=E5=A4=9A=E6=AC=A1?= =?UTF-8?q?=E6=89=AB=E7=A0=81=E7=9A=84=E6=83=85=E5=86=B5=EF=BC=8C=E5=AF=B9?= =?UTF-8?q?=E8=AF=A5=E8=8D=AF=E5=93=81=E8=BF=BD=E6=BA=AF=E7=A0=81=E5=81=9A?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=EF=BC=8C=E5=B9=B6=E5=AF=B9=E5=A4=84=E7=90=86?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=81=9A=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provtest/domain/MultySacnCodeRecord.java | 23 ++++++++----------- .../service/handle/EventData2017Handler.java | 21 +++++++++++++++-- 2 files changed, 29 insertions(+), 15 deletions(-) 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); } }