单独处理2017 数据集,在接收码上放心数据时,如果存在多次扫码的情况,对该药品追溯码做记录,并对处理状态做更新
This commit is contained in:
parent
de104ebfe0
commit
fd1999cd42
|
@ -1,13 +1,12 @@
|
||||||
package com.alihealth.d2d.provtest.domain;
|
package com.alihealth.d2d.provtest.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 药品追溯码多次扫码记录
|
* 药品追溯码多次扫码记录
|
||||||
|
@ -23,31 +22,29 @@ public class MultySacnCodeRecord implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
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;
|
private String ypzsm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据处理标识:1-已处理,0-未处理
|
* 数据处理标识:1-已处理,0-未处理
|
||||||
*/
|
*/
|
||||||
|
@TableField("handle_flag")
|
||||||
private Integer handleFlag;
|
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-是)
|
* 是否删除(0-否 1-是)
|
||||||
|
|
|
@ -1,21 +1,29 @@
|
||||||
package com.alihealth.d2d.provtest.service.handle;
|
package com.alihealth.d2d.provtest.service.handle;
|
||||||
|
|
||||||
import com.alihealth.d2d.provtest.domain.DrugRetailAndUseApplyInfo;
|
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.EventBody;
|
||||||
import com.alihealth.d2d.provtest.entity.InstanceDetail;
|
import com.alihealth.d2d.provtest.entity.InstanceDetail;
|
||||||
import com.alihealth.d2d.provtest.entity.ItemDetail;
|
import com.alihealth.d2d.provtest.entity.ItemDetail;
|
||||||
import com.alihealth.d2d.provtest.entity.VTTSEventS;
|
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.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public abstract class EventData2017Handler implements EventDataHandler {
|
public abstract class EventData2017Handler implements EventDataHandler {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IMultySacnCodeRecordService iMultySacnCodeRecordService;
|
||||||
|
|
||||||
protected final Logger log = LoggerFactory.getLogger(getClass());
|
protected final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
protected abstract Class<DrugRetailAndUseApplyInfo> getEntityClass();
|
protected abstract Class<DrugRetailAndUseApplyInfo> getEntityClass();
|
||||||
|
@ -59,11 +67,20 @@ public abstract class EventData2017Handler implements EventDataHandler {
|
||||||
|
|
||||||
if (!entities.isEmpty()) {
|
if (!entities.isEmpty()) {
|
||||||
//对2017 药品使用与销售数据集进行单独处理,如果出现重复的药品追溯码ypzsm,需要做记录
|
//对2017 药品使用与销售数据集进行单独处理,如果出现重复的药品追溯码ypzsm,需要做记录
|
||||||
List<String> ypzsmList = entities.stream().map(entity -> entity.getYpzsm()).collect(Collectors.toList());
|
Set<String> ypzsmList = entities.stream().map(entity -> entity.getYpzsm()).collect(Collectors.toSet());
|
||||||
List<DrugRetailAndUseApplyInfo> existedList = getService().getBaseMapper().selectList(new QueryWrapper<DrugRetailAndUseApplyInfo>().lambda()
|
List<DrugRetailAndUseApplyInfo> existedList = getService().getBaseMapper().selectList(new QueryWrapper<DrugRetailAndUseApplyInfo>().lambda()
|
||||||
.in(DrugRetailAndUseApplyInfo::getYpzsm, ypzsmList)
|
.in(DrugRetailAndUseApplyInfo::getYpzsm, ypzsmList)
|
||||||
);
|
);
|
||||||
|
if (!CollectionUtils.isEmpty(existedList)) {
|
||||||
|
List<MultySacnCodeRecord> 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);
|
getService().saveBatch(entities);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue