Commit 07f9ee05 by lijingjing

可能出现的样品接收记录为空的情况;

parent b368bd61
......@@ -393,28 +393,39 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
return false;
}
// 默认为:待接收
statusEnum = null == statusEnum ? EntrustSamplePrepareStatusEnum.RECEIVE : statusEnum;
EntrustSamplePrepareStatusEnum status = null == statusEnum ? EntrustSamplePrepareStatusEnum.RECEIVE : statusEnum;
// == 样品接收记录表
List<EntrustSamplePrepare> prepareList = list(Condition.create().in("entrust_sample_id", sampleIds).eq("deleted", 0));
// 将要新添加、修改的接收记录
List<EntrustSamplePrepare> insertList = new ArrayList<>();
// 判定是否为空,为空新建数据并设置状态保存,不为空更改状态更新
if (CollectionUtils.isEmpty(prepareList)) {
EntrustSamplePrepareStatusEnum finalStatusEnum = statusEnum;
prepareList = sampleList.stream().map(t -> {
EntrustSamplePrepare prepare = new EntrustSamplePrepare();
prepare.setEntrustSampleId(t.getId()).setStatus(finalStatusEnum)
//.setGroupId(1401433878527459329l).setGroupName("化验室")
.setProgress(finalStatusEnum)
.setCompanyId(t.getCompanyId()).setPrintNum(1).setMakeType("送检样");
return prepare;
}).collect(Collectors.toList());
saveBatch(prepareList);
insertList = sampleList.stream().map(t -> genPrepare(t.getId(), t.getCompanyId(), status)).collect(Collectors.toList());
} else {
List<Long> allSampleIds = Arrays.asList(sampleIds);
// 查询没有接收记录的样品IDS
List<Long> noPrepareIds = prepareList.stream().map(EntrustSamplePrepare::getEntrustSampleId).filter(id -> !allSampleIds.contains(id)).collect(Collectors.toList());
Long companyId = sampleList.get(0).getCompanyId();
// 对没有接收记录的样品添加接收记录
if (CollectionUtils.isNotEmpty(noPrepareIds)) {
insertList = noPrepareIds.stream().map(t -> genPrepare(t, companyId, status)).collect(Collectors.toList());
}
// 更新存在记录为:待接收
EntrustSamplePrepare prepare = new EntrustSamplePrepare();
prepare.setStatus(statusEnum).setStatus(statusEnum);
update(prepare, Condition.create().in("entrust_sample_id", sampleIds).eq("deleted", 0));
}
return false;
if (CollectionUtils.isNotEmpty(insertList)) {
super.saveBatch(insertList);
}
return true;
}
private EntrustSamplePrepare genPrepare(Long sampleId, Long companyId, EntrustSamplePrepareStatusEnum prepareStatusEnum) {
EntrustSamplePrepare prepare = new EntrustSamplePrepare();
prepare.setEntrustSampleId(sampleId).setStatus(prepareStatusEnum)
.setProgress(prepareStatusEnum).setCompanyId(companyId).setPrintNum(1).setMakeType("送检样");
return prepare;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment