manage: 修改 根据疾病id查询疾病处置信息列表 接口

dev_2.1.0
xueqingkun 1 year ago
parent 94b99f54a9
commit bacad0f2e6

@ -3,11 +3,17 @@ package com.supervision.manage.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.Pair;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.supervision.manage.service.ConfigTreatmentPlanManageService;
import com.supervision.manage.service.DiseaseTreatmentPlanManageService;
import com.supervision.model.CommonDic;
import com.supervision.model.ConfigDrug;
import com.supervision.model.DiseaseTreatmentPlan;
import com.supervision.model.DiseaseTreatmentPlanDrug;
import com.supervision.service.CommonDicService;
import com.supervision.service.ConfigDrugService;
import com.supervision.service.DiseaseTreatmentPlanDrugService;
import com.supervision.service.DiseaseTreatmentPlanService;
import com.supervision.vo.manage.DiseaseTreatmentPlanReqVo;
@ -18,6 +24,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@ -31,7 +38,11 @@ public class DiseaseTreatmentPlanManageServiceImpl implements DiseaseTreatmentPl
private final ConfigTreatmentPlanManageService configTreatmentPlanManageService;
private final DiseaseTreatmentPlanDrugService diseaseTreatmentPlanDrugService;;
private final DiseaseTreatmentPlanDrugService diseaseTreatmentPlanDrugService;
private final ConfigDrugService configDrugService;
private final CommonDicService commonDicService;
@Override
public List<DiseaseTreatmentPlanResVo> queryListByDiseaseId(String diseaseId) {
@ -50,11 +61,40 @@ public class DiseaseTreatmentPlanManageServiceImpl implements DiseaseTreatmentPl
.in(DiseaseTreatmentPlanDrug::getTreatmentPlanId, treatmentPlanIdList)
.eq(DiseaseTreatmentPlanDrug::getDiseaseId, diseaseId).list();
// 翻译处置计划 **处置计划对应于药物中的剂型**
List<String> drugIds = diseaseTreatmentPlanDrugList.stream()
.map(DiseaseTreatmentPlanDrug::getDrugId).filter(StrUtil::isNotEmpty).collect(Collectors.toList());
Map<String, Pair<String,String>> drugIdMapDose = new HashMap<>();
if (CollUtil.isNotEmpty(drugIds)){
List<ConfigDrug> configDrugs = configDrugService.listByIds(drugIds);
if (CollUtil.isNotEmpty(configDrugs)){
Map<String, String> doseDic = commonDicService.lambdaQuery().eq(CommonDic::getGroupCode, "DOSE").list()
.stream().collect(Collectors.toMap(CommonDic::getCode, CommonDic::getNameZh));
// 组合药物id与剂型之间的映射关系
drugIdMapDose = configDrugs.stream().collect(Collectors.toMap(ConfigDrug::getId, drug -> {
if (StrUtil.isNotEmpty(drug.getDosageForm())) {
return Pair.of(drug.getDosageForm(),doseDic.getOrDefault(drug.getDosageForm(),StrUtil.EMPTY));
}
return Pair.of(StrUtil.EMPTY,StrUtil.EMPTY);
}));
}
}
Map<String, List<DiseaseTreatmentPlanDrug>> group = diseaseTreatmentPlanDrugList.stream().collect(Collectors.groupingBy(DiseaseTreatmentPlanDrug::getTreatmentPlanId));
diseaseTreatmentPlanResVos.forEach(item->item.setDrugIds(
group.getOrDefault(item.getTreatmentPlanId(), CollUtil.newArrayList())
.stream().map(DiseaseTreatmentPlanDrug::getDrugId).collect(Collectors.toList())));
for (DiseaseTreatmentPlanResVo item : diseaseTreatmentPlanResVos) {
// 设置处置药物id集合
item.setDrugIds(
group.getOrDefault(item.getTreatmentPlanId(), CollUtil.newArrayList())
.stream().map(DiseaseTreatmentPlanDrug::getDrugId).collect(Collectors.toList()));
// 设置处置药物剂型与剂型的翻译数据
String drugId = CollUtil.getFirst(item.getDrugIds());
String fistMeasuresId = StrUtil.isNotEmpty(drugId) ? drugIdMapDose.getOrDefault(drugId,
Pair.of(StrUtil.EMPTY,StrUtil.EMPTY)).getKey() : StrUtil.EMPTY;
String fistMeasures = StrUtil.isNotEmpty(drugId) ? drugIdMapDose.getOrDefault(drugId, Pair.of(StrUtil.EMPTY, StrUtil.EMPTY)).getValue() : StrUtil.EMPTY;
item.setFirstMeasuresId(fistMeasuresId);
item.setFirstMeasures(fistMeasures);
}
return diseaseTreatmentPlanResVos;
}

Loading…
Cancel
Save