diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/TreatmentPlanManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/TreatmentPlanManageController.java index 02652f01..b31d886c 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/TreatmentPlanManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/TreatmentPlanManageController.java @@ -30,14 +30,14 @@ public class TreatmentPlanManageController { } - /* @ApiOperation("查询一级处置计划") + @ApiOperation("查询一级处置计划") @GetMapping("/queryFirstMeasures") public List<ConfigTreatmentPlan> queryFirstMeasures(@ApiParam("处置方式")@RequestParam(required = false) Integer disposalMethod, @ApiParam("处置计划id")@RequestParam(required = false) String disposalPlanId) { - return configTreatmentPlanManageService.queryFirstMeasures(disposalMethod); + return configTreatmentPlanManageService.queryFirstMeasures(disposalMethod,disposalPlanId); - }*/ + } @ApiOperation("根据id查询处置计划详情") diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseTreatmentPlanManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseTreatmentPlanManageController.java index 90f89ebe..bf791799 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseTreatmentPlanManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseTreatmentPlanManageController.java @@ -27,6 +27,7 @@ public class DiseaseTreatmentPlanManageController { @PostMapping("/save") public String saveTreatmentPlan(@RequestBody DiseaseTreatmentPlanReqVo diseaseTreatmentPlan) { + diseaseTreatmentPlan.setTreatmentPlanId(diseaseTreatmentPlan.getFirstMeasuresId()); DiseaseTreatmentPlan result = diseaseTreatmentPlanManageService.saveTreatmentPlan(diseaseTreatmentPlan); return result.getId(); } @@ -44,7 +45,11 @@ public class DiseaseTreatmentPlanManageController { @GetMapping("/queryListByDiseaseId") public List<DiseaseTreatmentPlanResVo> queryListByDiseaseId(String diseaseId) { - return diseaseTreatmentPlanManageService.queryListByDiseaseId(diseaseId); + List<DiseaseTreatmentPlanResVo> diseaseTreatmentPlanResVos = diseaseTreatmentPlanManageService.queryListByDiseaseId(diseaseId); + // 前端大哥强烈要求把treatmentPlanId 转换为 firstMeasuresId + diseaseTreatmentPlanResVos.forEach(vo -> vo.setFirstMeasuresId(vo.getTreatmentPlanId())); + + return diseaseTreatmentPlanResVos; } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/ConfigTreatmentPlanManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/ConfigTreatmentPlanManageService.java index 992aee5f..c2a64d6b 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/ConfigTreatmentPlanManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/ConfigTreatmentPlanManageService.java @@ -14,9 +14,11 @@ public interface ConfigTreatmentPlanManageService { IPage<? extends ConfigTreatmentPlan> queryPageList(Integer pageNum, Integer pageSize, Integer disposalMethod); - ConfigTreatmentPlan saveTreatmentPlan(ConfigTreatmentPlan configDrug); + ConfigTreatmentPlan saveTreatmentPlan(ConfigTreatmentPlan configTreatmentPlan); boolean deleteTreatmentPlan(String id); boolean updateTreatmentPlan(ConfigTreatmentPlan configDrug); + + List<ConfigTreatmentPlan> queryFirstMeasures(Integer disposalMethod,String disposalPlanId); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java index f45cac8c..2ec55d99 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java @@ -1,5 +1,6 @@ package com.supervision.manage.service.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -17,6 +18,10 @@ import org.springframework.stereotype.Service; import java.util.List; import java.util.Objects; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; @Service @RequiredArgsConstructor @@ -45,19 +50,19 @@ public class ConfigTreatmentPlanManageServiceImpl implements ConfigTreatmentPlan public IPage<? extends ConfigTreatmentPlan> queryPageList(Integer pageNum, Integer pageSize, Integer disposalMethod) { LambdaQueryChainWrapper<ConfigTreatmentPlan> wrapper = configTreatmentPlanService.lambdaQuery() .eq(Objects.nonNull(disposalMethod), ConfigTreatmentPlan::getDisposalMethod, disposalMethod) - .orderByAsc(ConfigTreatmentPlan::getCreateTime); + .orderByDesc(ConfigTreatmentPlan::getCreateTime); return configTreatmentPlanService.page(new Page<>(pageNum, pageSize), wrapper.getWrapper()); } @Override - public ConfigTreatmentPlan saveTreatmentPlan(ConfigTreatmentPlan treatmentPlan) { + public ConfigTreatmentPlan saveTreatmentPlan(ConfigTreatmentPlan configTreatmentPlan) { - saveAssert(treatmentPlan); + saveAssert(configTreatmentPlan); - configTreatmentPlanService.save(treatmentPlan); + configTreatmentPlanService.save(configTreatmentPlan); - return treatmentPlan; + return configTreatmentPlan; } @Override @@ -88,6 +93,27 @@ public class ConfigTreatmentPlanManageServiceImpl implements ConfigTreatmentPlan return configTreatmentPlanService.updateById(configDrug); } + @Override + public List<ConfigTreatmentPlan> queryFirstMeasures(Integer disposalMethod,String disposalPlanId) { + List<ConfigTreatmentPlan> list = configTreatmentPlanService.lambdaQuery() + .eq(Objects.nonNull(disposalMethod), ConfigTreatmentPlan::getDisposalMethod, disposalMethod) + .eq(StrUtil.isNotEmpty(disposalPlanId), ConfigTreatmentPlan::getDisposalPlanId, disposalPlanId) + .list(); + if (CollectionUtil.isEmpty(list)){ + return list; + } + + return list.stream().filter(distinctPredicate(item->StrUtil.join(",", + item.getDisposalMethod(),item.getDisposalPlanId(),item.getFirstMeasuresId()))) + .collect(Collectors.toList()); + } + + public static <K> Predicate<K> distinctPredicate(Function<K,Object> function){ + ConcurrentHashMap<Object, Boolean> map = new ConcurrentHashMap<>(); + return (t)-> null == map.putIfAbsent(function.apply(t),true); + + } + public void saveAssert(ConfigTreatmentPlan configDrug){ Assert.isTrue(StrUtil.isEmpty(configDrug.getId()),"id 不为空"); Assert.notNull(configDrug.getDisposalMethod(),"处置方式不允许为空"); diff --git a/virtual-patient-model/src/main/java/com/supervision/model/ConfigTreatmentPlan.java b/virtual-patient-model/src/main/java/com/supervision/model/ConfigTreatmentPlan.java index 6cda54e0..61740c3f 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/ConfigTreatmentPlan.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/ConfigTreatmentPlan.java @@ -72,6 +72,7 @@ public class ConfigTreatmentPlan implements Serializable { /** * 创建时间 */ + @TableField private Date createTime; /** @@ -82,6 +83,7 @@ public class ConfigTreatmentPlan implements Serializable { /** * 更新时间 */ + @TableField private Date updateTime; @TableField(exist = false) diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigConfigTreatmentPlanServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigConfigTreatmentPlanServiceImpl.java index 005354c6..c6c4dbbf 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigConfigTreatmentPlanServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigConfigTreatmentPlanServiceImpl.java @@ -50,7 +50,7 @@ public class ConfigConfigTreatmentPlanServiceImpl extends ServiceImpl<ConfigTrea root.getOrDefaultChild().add(disposalPlanNode); } - // 二级节点 + // 二级节点 todo:需要新增药物节点 if (StrUtil.isEmpty(firstMeasuresId)){ continue; } diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanReqVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanReqVo.java index 90a43cc8..b1047b46 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanReqVo.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanReqVo.java @@ -13,4 +13,7 @@ public class DiseaseTreatmentPlanReqVo extends DiseaseTreatmentPlan { @ApiModelProperty("药物列表") private List<String> drugIds; + + @ApiModelProperty("一级措施id") + private String firstMeasuresId; }