diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/PhysicalLocationManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/PhysicalLocationManageController.java new file mode 100644 index 00000000..e5dbd066 --- /dev/null +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/PhysicalLocationManageController.java @@ -0,0 +1,29 @@ +package com.supervision.manage.controller; + + +import com.supervision.manage.service.PhysicalLocationManageService; +import com.supervision.vo.manage.PhysicalLocationNode; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Api(tags = "身体位置管理") +@RestController +@RequestMapping("physicalLocation") +@RequiredArgsConstructor +public class PhysicalLocationManageController { + + private final PhysicalLocationManageService physicalLocationManageService; + @ApiOperation("查询身体部位树") + @GetMapping("/queryTree") + public List queryTree() { + + return physicalLocationManageService.queryTree(); + + } +} diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/PhysicalToolManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/PhysicalToolManageController.java index b744221b..b5300079 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/PhysicalToolManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/PhysicalToolManageController.java @@ -22,6 +22,7 @@ public class PhysicalToolManageController { @ApiOperation(value = "查询体格检查的工具列表") @GetMapping("queryPhysicalToolList") public List queryPhysicalToolList() { + return physicalToolManageService.queryPhysicalToolList(); } 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 16a566c3..a9483fdd 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 @@ -35,7 +35,7 @@ public class DiseaseTreatmentPlanManageController { @ApiOperation("批量保存处置信息") @PostMapping("/batchSave") - public boolean batchSaveTreatmentPlan(List diseaseTreatmentPlanList) { + public boolean batchSaveTreatmentPlan(@RequestBody List diseaseTreatmentPlanList) { diseaseTreatmentPlanManageService.batchSaveTreatmentPlan(diseaseTreatmentPlanList); return true; diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/PhysicalLocationManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/PhysicalLocationManageService.java new file mode 100644 index 00000000..3c2a8d3b --- /dev/null +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/PhysicalLocationManageService.java @@ -0,0 +1,12 @@ +package com.supervision.manage.service; + +import com.supervision.vo.manage.PhysicalLocationNode; + +import java.util.List; + +public interface PhysicalLocationManageService { + + + List queryTree(); + +} diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java index 9e7805c3..d17703fc 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java @@ -78,6 +78,8 @@ public class DiseasePhysicalManageServiceImpl implements DiseasePhysicalManageSe Assert.notNull(diseasePhysical.getExpectedDiagnosisResult(),"预期诊断结果不能为空"); + Assert.notNull(diseasePhysical.getLocationDiagnosisFlag(),"部位诊断结果不能为空"); + } } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java index 695d1c41..59450c28 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java @@ -67,8 +67,8 @@ public class DiseaseTreatmentPlanManageServiceImpl implements DiseaseTreatmentPl @Override public List queryDiseaseTreatmentPlanTree(Integer disposalMethod, String diseaseId) { - List treatmentPlanTreeNodes = configTreatmentPlanManageService.queryTree(disposalMethod); + List treatmentPlanTreeNodes = configTreatmentPlanManageService.queryTree(disposalMethod); if (CollUtil.isEmpty(treatmentPlanTreeNodes)){ return CollectionUtil.newArrayList(); } @@ -82,8 +82,6 @@ public class DiseaseTreatmentPlanManageServiceImpl implements DiseaseTreatmentPl rootNode.initFlag(diseaseTreatmentPlanResVos.stream().map(DiseaseTreatmentPlanResVo::getPlanId).collect(Collectors.toList())); } - - return rootNode.getChild(); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/PhysicalLocationManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/PhysicalLocationManageServiceImpl.java new file mode 100644 index 00000000..e4ff5433 --- /dev/null +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/PhysicalLocationManageServiceImpl.java @@ -0,0 +1,51 @@ +package com.supervision.manage.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.supervision.manage.service.PhysicalLocationManageService; +import com.supervision.model.ConfigPhysicalLocation; +import com.supervision.service.ConfigPhysicalLocationService; +import com.supervision.vo.manage.PhysicalLocationNode; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + + +@Service +@RequiredArgsConstructor +public class PhysicalLocationManageServiceImpl implements PhysicalLocationManageService { + + private final ConfigPhysicalLocationService configPhysicalLocationService; + @Override + public List queryTree() { + + List list = configPhysicalLocationService.list(); + if (CollUtil.isEmpty(list)) { + return CollectionUtil.newArrayList(); + } + + Map map = list.stream().collect( + Collectors.toMap(ConfigPhysicalLocation::getId, p -> BeanUtil.toBean(p, PhysicalLocationNode.class))); + + for (Map.Entry entry : map.entrySet()) { + PhysicalLocationNode value = entry.getValue(); + if (StrUtil.isNotEmpty(value.getParentId())) { + PhysicalLocationNode physicalLocationNode = map.get(value.getParentId()); + if (!Objects.isNull(physicalLocationNode)) { + List child = physicalLocationNode.getChild(); + if (null == child) { + child = new ArrayList<>(); + physicalLocationNode.setChild(child); + } + child.add(value); + } + } + } + + return map.values().stream().filter(n -> StrUtil.isEmpty(n.getParentId())).collect(Collectors.toList()); + } +} diff --git a/virtual-patient-manage/src/main/resources/application-test.yml b/virtual-patient-manage/src/main/resources/application-test.yml index 3e7741e4..fab0182b 100644 --- a/virtual-patient-manage/src/main/resources/application-test.yml +++ b/virtual-patient-manage/src/main/resources/application-test.yml @@ -1,6 +1,6 @@ #服务器端口 server: - port: 8891 + port: 8888 servlet: context-path: /virtual-patient-manage undertow: diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java b/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java index aa1bef83..0afe3b53 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java @@ -64,6 +64,9 @@ public class DiseasePhysical implements Serializable { @ApiModelProperty("是否预期诊断结果 0正常 1 不正常") private Integer expectedDiagnosisResult; + @ApiModelProperty("部位诊断结果 0正常 1 不正常") + private Integer locationDiagnosisFlag; + /** * 结果 */ diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigPhysicalToolServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigPhysicalToolServiceImpl.java index 4fbf2810..6db05fcd 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigPhysicalToolServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigPhysicalToolServiceImpl.java @@ -1,6 +1,7 @@ package com.supervision.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.UUID; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.ConfigPhysicalTool; import com.supervision.service.ConfigPhysicalToolService; @@ -28,6 +29,8 @@ public class ConfigPhysicalToolServiceImpl extends ServiceImpl{ ConfigPhysicalToolResVO tool = new ConfigPhysicalToolResVO(); tool.setToolType(e.getKey()); + tool.setToolName(e.getKey()); + tool.setId(UUID.fastUUID().toString()); int priority = 999; if (CollectionUtil.isNotEmpty(e.getValue()) && null != e.getValue().get(0).getTypePriority()) { priority = e.getValue().get(0).getTypePriority(); diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/ask/ConfigPhysicalToolResVO.java b/virtual-patient-model/src/main/java/com/supervision/vo/ask/ConfigPhysicalToolResVO.java index 4e4c1ccc..a95e3854 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/ask/ConfigPhysicalToolResVO.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/ask/ConfigPhysicalToolResVO.java @@ -8,8 +8,19 @@ import java.util.List; @Data public class ConfigPhysicalToolResVO { + + /** + * 无实际作用,供前端组件展示使用 + */ + private String id; + /** + * see @toolName + */ + @Deprecated private String toolType; + private String toolName; + /** * 优先级,排序 */ diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanTreeNode.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanTreeNode.java index 7b3fdaea..b938b2af 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanTreeNode.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanTreeNode.java @@ -19,8 +19,8 @@ public class DiseaseTreatmentPlanTreeNode { @ApiModelProperty("节点名称") private String name; - @ApiModelProperty("标识 0:未选择 1:已选择") - private int flag; + @ApiModelProperty("标识 true:已选择 false:未选择") + private boolean flag; @ApiModelProperty("子节点") private List child; @@ -53,7 +53,7 @@ public class DiseaseTreatmentPlanTreeNode { return; } if (StrUtil.isNotEmpty(this.getId())){ - this.setFlag(ids.stream().allMatch(i -> i.equals(this.getId())) ? 1 : 0); + this.setFlag(ids.stream().anyMatch(i -> i.equals(this.getId()))); } if (CollUtil.isNotEmpty(this.getChild())){ for (DiseaseTreatmentPlanTreeNode treatmentPlanTreeNode : this.getChild()) { diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/PhysicalLocationNode.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/PhysicalLocationNode.java new file mode 100644 index 00000000..4e489942 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/PhysicalLocationNode.java @@ -0,0 +1,15 @@ +package com.supervision.vo.manage; + +import com.supervision.model.ConfigPhysicalLocation; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +public class PhysicalLocationNode extends ConfigPhysicalLocation{ + + private List child; + +} diff --git a/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml index 3ed106aa..4fdbfc86 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml @@ -16,6 +16,7 @@ +