diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/appservice/IKgEntityAppService.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/appservice/IKgEntityAppService.java new file mode 100644 index 000000000..eb971e4c1 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/appservice/IKgEntityAppService.java @@ -0,0 +1,47 @@ +package com.healthlink.his.web.knowledgegraph.appservice; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.healthlink.his.web.knowledgegraph.dto.*; + +public interface IKgEntityAppService { + + Boolean addDisease(KgDiseaseDto dto); + + Boolean updateDisease(KgDiseaseDto dto); + + Boolean deleteDisease(Long id); + + KgDiseaseDto getDiseaseById(Long id); + + IPage pageDisease(String keyword, String category, Integer pageNo, Integer pageSize); + + Boolean addSymptom(KgSymptomDto dto); + + Boolean updateSymptom(KgSymptomDto dto); + + Boolean deleteSymptom(Long id); + + KgSymptomDto getSymptomById(Long id); + + IPage pageSymptom(String keyword, String symptomType, Integer pageNo, Integer pageSize); + + Boolean addDrug(KgDrugDto dto); + + Boolean updateDrug(KgDrugDto dto); + + Boolean deleteDrug(Long id); + + KgDrugDto getDrugById(Long id); + + IPage pageDrug(String keyword, String category, Integer pageNo, Integer pageSize); + + Boolean addExamination(KgExaminationDto dto); + + Boolean updateExamination(KgExaminationDto dto); + + Boolean deleteExamination(Long id); + + KgExaminationDto getExaminationById(Long id); + + IPage pageExamination(String keyword, String examType, Integer pageNo, Integer pageSize); +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/appservice/impl/KgEntityAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/appservice/impl/KgEntityAppServiceImpl.java new file mode 100644 index 000000000..6213c97e5 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/appservice/impl/KgEntityAppServiceImpl.java @@ -0,0 +1,256 @@ +package com.healthlink.his.web.knowledgegraph.appservice.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.healthlink.his.knowledgegraph.domain.*; +import com.healthlink.his.knowledgegraph.service.*; +import com.healthlink.his.web.knowledgegraph.appservice.IKgEntityAppService; +import com.healthlink.his.web.knowledgegraph.dto.*; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; + +@Service +public class KgEntityAppServiceImpl implements IKgEntityAppService { + + private final IKgDiseaseService kgDiseaseService; + private final IKgSymptomService kgSymptomService; + private final IKgDrugService kgDrugService; + private final IKgExaminationService kgExaminationService; + + public KgEntityAppServiceImpl(IKgDiseaseService kgDiseaseService, + IKgSymptomService kgSymptomService, + IKgDrugService kgDrugService, + IKgExaminationService kgExaminationService) { + this.kgDiseaseService = kgDiseaseService; + this.kgSymptomService = kgSymptomService; + this.kgDrugService = kgDrugService; + this.kgExaminationService = kgExaminationService; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean addDisease(KgDiseaseDto dto) { + KgDisease entity = new KgDisease(); + BeanUtils.copyProperties(dto, entity); + return kgDiseaseService.save(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateDisease(KgDiseaseDto dto) { + if (dto.getId() == null) { + return false; + } + KgDisease entity = new KgDisease(); + BeanUtils.copyProperties(dto, entity); + return kgDiseaseService.updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteDisease(Long id) { + return kgDiseaseService.removeById(id); + } + + @Override + public KgDiseaseDto getDiseaseById(Long id) { + KgDisease entity = kgDiseaseService.getById(id); + if (entity == null) { + return null; + } + KgDiseaseDto dto = new KgDiseaseDto(); + BeanUtils.copyProperties(entity, dto); + return dto; + } + + @Override + public IPage pageDisease(String keyword, String category, Integer pageNo, Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (StringUtils.hasText(keyword)) { + wrapper.and(w -> w.like(KgDisease::getDiseaseName, keyword) + .or().like(KgDisease::getDiseaseCode, keyword)); + } + if (StringUtils.hasText(category)) { + wrapper.eq(KgDisease::getCategory, category); + } + wrapper.orderByDesc(KgDisease::getCreateTime); + Page result = kgDiseaseService.page(page, wrapper); + return result.convert(entity -> { + KgDiseaseDto dto = new KgDiseaseDto(); + BeanUtils.copyProperties(entity, dto); + return dto; + }); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean addSymptom(KgSymptomDto dto) { + KgSymptom entity = new KgSymptom(); + BeanUtils.copyProperties(dto, entity); + return kgSymptomService.save(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateSymptom(KgSymptomDto dto) { + if (dto.getId() == null) { + return false; + } + KgSymptom entity = new KgSymptom(); + BeanUtils.copyProperties(dto, entity); + return kgSymptomService.updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteSymptom(Long id) { + return kgSymptomService.removeById(id); + } + + @Override + public KgSymptomDto getSymptomById(Long id) { + KgSymptom entity = kgSymptomService.getById(id); + if (entity == null) { + return null; + } + KgSymptomDto dto = new KgSymptomDto(); + BeanUtils.copyProperties(entity, dto); + return dto; + } + + @Override + public IPage pageSymptom(String keyword, String symptomType, Integer pageNo, Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (StringUtils.hasText(keyword)) { + wrapper.and(w -> w.like(KgSymptom::getSymptomName, keyword) + .or().like(KgSymptom::getSymptomCode, keyword)); + } + if (StringUtils.hasText(symptomType)) { + wrapper.eq(KgSymptom::getSymptomType, symptomType); + } + wrapper.orderByDesc(KgSymptom::getCreateTime); + Page result = kgSymptomService.page(page, wrapper); + return result.convert(entity -> { + KgSymptomDto dto = new KgSymptomDto(); + BeanUtils.copyProperties(entity, dto); + return dto; + }); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean addDrug(KgDrugDto dto) { + KgDrug entity = new KgDrug(); + BeanUtils.copyProperties(dto, entity); + return kgDrugService.save(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateDrug(KgDrugDto dto) { + if (dto.getId() == null) { + return false; + } + KgDrug entity = new KgDrug(); + BeanUtils.copyProperties(dto, entity); + return kgDrugService.updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteDrug(Long id) { + return kgDrugService.removeById(id); + } + + @Override + public KgDrugDto getDrugById(Long id) { + KgDrug entity = kgDrugService.getById(id); + if (entity == null) { + return null; + } + KgDrugDto dto = new KgDrugDto(); + BeanUtils.copyProperties(entity, dto); + return dto; + } + + @Override + public IPage pageDrug(String keyword, String category, Integer pageNo, Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (StringUtils.hasText(keyword)) { + wrapper.and(w -> w.like(KgDrug::getDrugName, keyword) + .or().like(KgDrug::getDrugCode, keyword)); + } + if (StringUtils.hasText(category)) { + wrapper.eq(KgDrug::getCategory, category); + } + wrapper.orderByDesc(KgDrug::getCreateTime); + Page result = kgDrugService.page(page, wrapper); + return result.convert(entity -> { + KgDrugDto dto = new KgDrugDto(); + BeanUtils.copyProperties(entity, dto); + return dto; + }); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean addExamination(KgExaminationDto dto) { + KgExamination entity = new KgExamination(); + BeanUtils.copyProperties(dto, entity); + return kgExaminationService.save(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateExamination(KgExaminationDto dto) { + if (dto.getId() == null) { + return false; + } + KgExamination entity = new KgExamination(); + BeanUtils.copyProperties(dto, entity); + return kgExaminationService.updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteExamination(Long id) { + return kgExaminationService.removeById(id); + } + + @Override + public KgExaminationDto getExaminationById(Long id) { + KgExamination entity = kgExaminationService.getById(id); + if (entity == null) { + return null; + } + KgExaminationDto dto = new KgExaminationDto(); + BeanUtils.copyProperties(entity, dto); + return dto; + } + + @Override + public IPage pageExamination(String keyword, String examType, Integer pageNo, Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (StringUtils.hasText(keyword)) { + wrapper.and(w -> w.like(KgExamination::getExamName, keyword) + .or().like(KgExamination::getExamCode, keyword)); + } + if (StringUtils.hasText(examType)) { + wrapper.eq(KgExamination::getExamType, examType); + } + wrapper.orderByDesc(KgExamination::getCreateTime); + Page result = kgExaminationService.page(page, wrapper); + return result.convert(entity -> { + KgExaminationDto dto = new KgExaminationDto(); + BeanUtils.copyProperties(entity, dto); + return dto; + }); + } +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/controller/KgEntityController.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/controller/KgEntityController.java new file mode 100644 index 000000000..46e040ec8 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/controller/KgEntityController.java @@ -0,0 +1,301 @@ +package com.healthlink.his.web.knowledgegraph.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.core.common.core.domain.R; +import com.healthlink.his.web.knowledgegraph.appservice.IKgEntityAppService; +import com.healthlink.his.web.knowledgegraph.dto.*; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +@Slf4j +@Tag(name = "知识图谱-实体管理") +@RestController +@RequestMapping("/knowledgegraph") +public class KgEntityController { + + private final IKgEntityAppService kgEntityAppService; + + public KgEntityController(IKgEntityAppService kgEntityAppService) { + this.kgEntityAppService = kgEntityAppService; + } + + @Operation(summary = "创建疾病") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @PostMapping("/disease") + public R addDisease(@RequestBody KgDiseaseDto dto) { + try { + Boolean result = kgEntityAppService.addDisease(dto); + return result ? R.ok("创建成功") : R.fail("创建失败"); + } catch (Exception e) { + log.error("创建疾病失败", e); + return R.fail("创建疾病失败: " + e.getMessage()); + } + } + + @Operation(summary = "疾病分页查询") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/disease/page") + public R> pageDisease( + @Parameter(description = "关键词") @RequestParam(required = false) String keyword, + @Parameter(description = "分类") @RequestParam(required = false) String category, + @Parameter(description = "页码") @RequestParam(defaultValue = "1") Integer pageNo, + @Parameter(description = "每页数量") @RequestParam(defaultValue = "10") Integer pageSize) { + try { + IPage page = kgEntityAppService.pageDisease(keyword, category, pageNo, pageSize); + return R.ok(page); + } catch (Exception e) { + log.error("查询疾病列表失败", e); + return R.fail("查询疾病列表失败: " + e.getMessage()); + } + } + + @Operation(summary = "更新疾病") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @PutMapping("/disease") + public R updateDisease(@RequestBody KgDiseaseDto dto) { + try { + Boolean result = kgEntityAppService.updateDisease(dto); + return result ? R.ok("更新成功") : R.fail("更新失败"); + } catch (Exception e) { + log.error("更新疾病失败", e); + return R.fail("更新疾病失败: " + e.getMessage()); + } + } + + @Operation(summary = "删除疾病") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @DeleteMapping("/disease/{id}") + public R deleteDisease(@PathVariable Long id) { + try { + Boolean result = kgEntityAppService.deleteDisease(id); + return result ? R.ok("删除成功") : R.fail("删除失败"); + } catch (Exception e) { + log.error("删除疾病失败", e); + return R.fail("删除疾病失败: " + e.getMessage()); + } + } + + @Operation(summary = "疾病详情") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/disease/{id}") + public R getDiseaseById(@PathVariable Long id) { + try { + KgDiseaseDto dto = kgEntityAppService.getDiseaseById(id); + return dto != null ? R.ok(dto) : R.fail("未找到疾病信息"); + } catch (Exception e) { + log.error("获取疾病详情失败", e); + return R.fail("获取疾病详情失败: " + e.getMessage()); + } + } + + @Operation(summary = "创建症状") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @PostMapping("/symptom") + public R addSymptom(@RequestBody KgSymptomDto dto) { + try { + Boolean result = kgEntityAppService.addSymptom(dto); + return result ? R.ok("创建成功") : R.fail("创建失败"); + } catch (Exception e) { + log.error("创建症状失败", e); + return R.fail("创建症状失败: " + e.getMessage()); + } + } + + @Operation(summary = "症状分页查询") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/symptom/page") + public R> pageSymptom( + @Parameter(description = "关键词") @RequestParam(required = false) String keyword, + @Parameter(description = "症状类型") @RequestParam(required = false) String symptomType, + @Parameter(description = "页码") @RequestParam(defaultValue = "1") Integer pageNo, + @Parameter(description = "每页数量") @RequestParam(defaultValue = "10") Integer pageSize) { + try { + IPage page = kgEntityAppService.pageSymptom(keyword, symptomType, pageNo, pageSize); + return R.ok(page); + } catch (Exception e) { + log.error("查询症状列表失败", e); + return R.fail("查询症状列表失败: " + e.getMessage()); + } + } + + @Operation(summary = "更新症状") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @PutMapping("/symptom") + public R updateSymptom(@RequestBody KgSymptomDto dto) { + try { + Boolean result = kgEntityAppService.updateSymptom(dto); + return result ? R.ok("更新成功") : R.fail("更新失败"); + } catch (Exception e) { + log.error("更新症状失败", e); + return R.fail("更新症状失败: " + e.getMessage()); + } + } + + @Operation(summary = "删除症状") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @DeleteMapping("/symptom/{id}") + public R deleteSymptom(@PathVariable Long id) { + try { + Boolean result = kgEntityAppService.deleteSymptom(id); + return result ? R.ok("删除成功") : R.fail("删除失败"); + } catch (Exception e) { + log.error("删除症状失败", e); + return R.fail("删除症状失败: " + e.getMessage()); + } + } + + @Operation(summary = "症状详情") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/symptom/{id}") + public R getSymptomById(@PathVariable Long id) { + try { + KgSymptomDto dto = kgEntityAppService.getSymptomById(id); + return dto != null ? R.ok(dto) : R.fail("未找到症状信息"); + } catch (Exception e) { + log.error("获取症状详情失败", e); + return R.fail("获取症状详情失败: " + e.getMessage()); + } + } + + @Operation(summary = "创建药物") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @PostMapping("/drug") + public R addDrug(@RequestBody KgDrugDto dto) { + try { + Boolean result = kgEntityAppService.addDrug(dto); + return result ? R.ok("创建成功") : R.fail("创建失败"); + } catch (Exception e) { + log.error("创建药物失败", e); + return R.fail("创建药物失败: " + e.getMessage()); + } + } + + @Operation(summary = "药物分页查询") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/drug/page") + public R> pageDrug( + @Parameter(description = "关键词") @RequestParam(required = false) String keyword, + @Parameter(description = "分类") @RequestParam(required = false) String category, + @Parameter(description = "页码") @RequestParam(defaultValue = "1") Integer pageNo, + @Parameter(description = "每页数量") @RequestParam(defaultValue = "10") Integer pageSize) { + try { + IPage page = kgEntityAppService.pageDrug(keyword, category, pageNo, pageSize); + return R.ok(page); + } catch (Exception e) { + log.error("查询药物列表失败", e); + return R.fail("查询药物列表失败: " + e.getMessage()); + } + } + + @Operation(summary = "更新药物") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @PutMapping("/drug") + public R updateDrug(@RequestBody KgDrugDto dto) { + try { + Boolean result = kgEntityAppService.updateDrug(dto); + return result ? R.ok("更新成功") : R.fail("更新失败"); + } catch (Exception e) { + log.error("更新药物失败", e); + return R.fail("更新药物失败: " + e.getMessage()); + } + } + + @Operation(summary = "删除药物") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @DeleteMapping("/drug/{id}") + public R deleteDrug(@PathVariable Long id) { + try { + Boolean result = kgEntityAppService.deleteDrug(id); + return result ? R.ok("删除成功") : R.fail("删除失败"); + } catch (Exception e) { + log.error("删除药物失败", e); + return R.fail("删除药物失败: " + e.getMessage()); + } + } + + @Operation(summary = "药物详情") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/drug/{id}") + public R getDrugById(@PathVariable Long id) { + try { + KgDrugDto dto = kgEntityAppService.getDrugById(id); + return dto != null ? R.ok(dto) : R.fail("未找到药物信息"); + } catch (Exception e) { + log.error("获取药物详情失败", e); + return R.fail("获取药物详情失败: " + e.getMessage()); + } + } + + @Operation(summary = "创建检查") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @PostMapping("/examination") + public R addExamination(@RequestBody KgExaminationDto dto) { + try { + Boolean result = kgEntityAppService.addExamination(dto); + return result ? R.ok("创建成功") : R.fail("创建失败"); + } catch (Exception e) { + log.error("创建检查失败", e); + return R.fail("创建检查失败: " + e.getMessage()); + } + } + + @Operation(summary = "检查分页查询") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/examination/page") + public R> pageExamination( + @Parameter(description = "关键词") @RequestParam(required = false) String keyword, + @Parameter(description = "检查类型") @RequestParam(required = false) String examType, + @Parameter(description = "页码") @RequestParam(defaultValue = "1") Integer pageNo, + @Parameter(description = "每页数量") @RequestParam(defaultValue = "10") Integer pageSize) { + try { + IPage page = kgEntityAppService.pageExamination(keyword, examType, pageNo, pageSize); + return R.ok(page); + } catch (Exception e) { + log.error("查询检查列表失败", e); + return R.fail("查询检查列表失败: " + e.getMessage()); + } + } + + @Operation(summary = "更新检查") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @PutMapping("/examination") + public R updateExamination(@RequestBody KgExaminationDto dto) { + try { + Boolean result = kgEntityAppService.updateExamination(dto); + return result ? R.ok("更新成功") : R.fail("更新失败"); + } catch (Exception e) { + log.error("更新检查失败", e); + return R.fail("更新检查失败: " + e.getMessage()); + } + } + + @Operation(summary = "删除检查") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @DeleteMapping("/examination/{id}") + public R deleteExamination(@PathVariable Long id) { + try { + Boolean result = kgEntityAppService.deleteExamination(id); + return result ? R.ok("删除成功") : R.fail("删除失败"); + } catch (Exception e) { + log.error("删除检查失败", e); + return R.fail("删除检查失败: " + e.getMessage()); + } + } + + @Operation(summary = "检查详情") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/examination/{id}") + public R getExaminationById(@PathVariable Long id) { + try { + KgExaminationDto dto = kgEntityAppService.getExaminationById(id); + return dto != null ? R.ok(dto) : R.fail("未找到检查信息"); + } catch (Exception e) { + log.error("获取检查详情失败", e); + return R.fail("获取检查详情失败: " + e.getMessage()); + } + } +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDiseaseDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDiseaseDto.java new file mode 100644 index 000000000..86c728731 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDiseaseDto.java @@ -0,0 +1,27 @@ +package com.healthlink.his.web.knowledgegraph.dto; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; + +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +public class KgDiseaseDto implements Serializable { + private static final long serialVersionUID = 1L; + + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + private String diseaseCode; + + private String diseaseName; + + private String category; + + private String department; + + private String severityLevel; +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDrugDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDrugDto.java new file mode 100644 index 000000000..dc2de755d --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgDrugDto.java @@ -0,0 +1,29 @@ +package com.healthlink.his.web.knowledgegraph.dto; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; + +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +public class KgDrugDto implements Serializable { + private static final long serialVersionUID = 1L; + + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + private String drugCode; + + private String drugName; + + private String genericName; + + private String category; + + private String dosageForm; + + private String contraindications; +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgExaminationDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgExaminationDto.java new file mode 100644 index 000000000..c79663d5d --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgExaminationDto.java @@ -0,0 +1,27 @@ +package com.healthlink.his.web.knowledgegraph.dto; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; + +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +public class KgExaminationDto implements Serializable { + private static final long serialVersionUID = 1L; + + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + private String examCode; + + private String examName; + + private String examType; + + private String department; + + private String referenceRange; +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgSymptomDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgSymptomDto.java new file mode 100644 index 000000000..3cbbf5440 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/KgSymptomDto.java @@ -0,0 +1,25 @@ +package com.healthlink.his.web.knowledgegraph.dto; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; + +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +public class KgSymptomDto implements Serializable { + private static final long serialVersionUID = 1L; + + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + private String symptomCode; + + private String symptomName; + + private String bodyPart; + + private String symptomType; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDisease.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDisease.java new file mode 100644 index 000000000..118de459f --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDisease.java @@ -0,0 +1,32 @@ +package com.healthlink.his.knowledgegraph.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("kg_disease") +public class KgDisease extends HisBaseEntity { + + @TableId(type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + private String diseaseCode; + + private String diseaseName; + + private String category; + + private String department; + + private String severityLevel; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDrug.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDrug.java new file mode 100644 index 000000000..c1a7ae21a --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgDrug.java @@ -0,0 +1,34 @@ +package com.healthlink.his.knowledgegraph.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("kg_drug") +public class KgDrug extends HisBaseEntity { + + @TableId(type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + private String drugCode; + + private String drugName; + + private String genericName; + + private String category; + + private String dosageForm; + + private String contraindications; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgExamination.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgExamination.java new file mode 100644 index 000000000..8aba928a9 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgExamination.java @@ -0,0 +1,32 @@ +package com.healthlink.his.knowledgegraph.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("kg_examination") +public class KgExamination extends HisBaseEntity { + + @TableId(type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + private String examCode; + + private String examName; + + private String examType; + + private String department; + + private String referenceRange; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgSymptom.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgSymptom.java new file mode 100644 index 000000000..24bc07bf3 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/domain/KgSymptom.java @@ -0,0 +1,30 @@ +package com.healthlink.his.knowledgegraph.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("kg_symptom") +public class KgSymptom extends HisBaseEntity { + + @TableId(type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + private String symptomCode; + + private String symptomName; + + private String bodyPart; + + private String symptomType; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgDiseaseMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgDiseaseMapper.java new file mode 100644 index 000000000..66015d9cb --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgDiseaseMapper.java @@ -0,0 +1,9 @@ +package com.healthlink.his.knowledgegraph.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.knowledgegraph.domain.KgDisease; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface KgDiseaseMapper extends BaseMapper { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgDrugMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgDrugMapper.java new file mode 100644 index 000000000..0952e6a7a --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgDrugMapper.java @@ -0,0 +1,9 @@ +package com.healthlink.his.knowledgegraph.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.knowledgegraph.domain.KgDrug; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface KgDrugMapper extends BaseMapper { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgExaminationMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgExaminationMapper.java new file mode 100644 index 000000000..7e209ed34 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgExaminationMapper.java @@ -0,0 +1,9 @@ +package com.healthlink.his.knowledgegraph.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.knowledgegraph.domain.KgExamination; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface KgExaminationMapper extends BaseMapper { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgSymptomMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgSymptomMapper.java new file mode 100644 index 000000000..869d6bbb0 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/mapper/KgSymptomMapper.java @@ -0,0 +1,9 @@ +package com.healthlink.his.knowledgegraph.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.knowledgegraph.domain.KgSymptom; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface KgSymptomMapper extends BaseMapper { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgDiseaseService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgDiseaseService.java new file mode 100644 index 000000000..ea8cb55cd --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgDiseaseService.java @@ -0,0 +1,7 @@ +package com.healthlink.his.knowledgegraph.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.knowledgegraph.domain.KgDisease; + +public interface IKgDiseaseService extends IService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgDrugService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgDrugService.java new file mode 100644 index 000000000..60753bc34 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgDrugService.java @@ -0,0 +1,7 @@ +package com.healthlink.his.knowledgegraph.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.knowledgegraph.domain.KgDrug; + +public interface IKgDrugService extends IService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgExaminationService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgExaminationService.java new file mode 100644 index 000000000..96fc9c490 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgExaminationService.java @@ -0,0 +1,7 @@ +package com.healthlink.his.knowledgegraph.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.knowledgegraph.domain.KgExamination; + +public interface IKgExaminationService extends IService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgSymptomService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgSymptomService.java new file mode 100644 index 000000000..4ecb02441 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/IKgSymptomService.java @@ -0,0 +1,7 @@ +package com.healthlink.his.knowledgegraph.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.knowledgegraph.domain.KgSymptom; + +public interface IKgSymptomService extends IService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgDiseaseServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgDiseaseServiceImpl.java new file mode 100644 index 000000000..55da16944 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgDiseaseServiceImpl.java @@ -0,0 +1,11 @@ +package com.healthlink.his.knowledgegraph.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.knowledgegraph.domain.KgDisease; +import com.healthlink.his.knowledgegraph.mapper.KgDiseaseMapper; +import com.healthlink.his.knowledgegraph.service.IKgDiseaseService; +import org.springframework.stereotype.Service; + +@Service +public class KgDiseaseServiceImpl extends ServiceImpl implements IKgDiseaseService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgDrugServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgDrugServiceImpl.java new file mode 100644 index 000000000..41dcfa917 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgDrugServiceImpl.java @@ -0,0 +1,11 @@ +package com.healthlink.his.knowledgegraph.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.knowledgegraph.domain.KgDrug; +import com.healthlink.his.knowledgegraph.mapper.KgDrugMapper; +import com.healthlink.his.knowledgegraph.service.IKgDrugService; +import org.springframework.stereotype.Service; + +@Service +public class KgDrugServiceImpl extends ServiceImpl implements IKgDrugService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgExaminationServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgExaminationServiceImpl.java new file mode 100644 index 000000000..a180b3b0f --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgExaminationServiceImpl.java @@ -0,0 +1,11 @@ +package com.healthlink.his.knowledgegraph.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.knowledgegraph.domain.KgExamination; +import com.healthlink.his.knowledgegraph.mapper.KgExaminationMapper; +import com.healthlink.his.knowledgegraph.service.IKgExaminationService; +import org.springframework.stereotype.Service; + +@Service +public class KgExaminationServiceImpl extends ServiceImpl implements IKgExaminationService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgSymptomServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgSymptomServiceImpl.java new file mode 100644 index 000000000..2b43d4ace --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/knowledgegraph/service/impl/KgSymptomServiceImpl.java @@ -0,0 +1,11 @@ +package com.healthlink.his.knowledgegraph.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.knowledgegraph.domain.KgSymptom; +import com.healthlink.his.knowledgegraph.mapper.KgSymptomMapper; +import com.healthlink.his.knowledgegraph.service.IKgSymptomService; +import org.springframework.stereotype.Service; + +@Service +public class KgSymptomServiceImpl extends ServiceImpl implements IKgSymptomService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgDiseaseMapper.xml b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgDiseaseMapper.xml new file mode 100644 index 000000000..e22c95609 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgDiseaseMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgDrugMapper.xml b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgDrugMapper.xml new file mode 100644 index 000000000..621c2438f --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgDrugMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgExaminationMapper.xml b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgExaminationMapper.xml new file mode 100644 index 000000000..8f892b05b --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgExaminationMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgSymptomMapper.xml b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgSymptomMapper.xml new file mode 100644 index 000000000..0513b3064 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/knowledgegraph/KgSymptomMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/healthlink-his-ui/src/api/knowledgegraph/api.js b/healthlink-his-ui/src/api/knowledgegraph/api.js new file mode 100644 index 000000000..1c8da3dbc --- /dev/null +++ b/healthlink-his-ui/src/api/knowledgegraph/api.js @@ -0,0 +1,105 @@ +import request from '@/utils/request' + +export function addDisease(data) { + return request({ url: '/knowledgegraph/disease', method: 'post', data }) +} + +export function getDiseasePage(params) { + return request({ url: '/knowledgegraph/disease/page', method: 'get', params }) +} + +export function getDiseaseById(id) { + return request({ url: '/knowledgegraph/disease/' + id, method: 'get' }) +} + +export function updateDisease(data) { + return request({ url: '/knowledgegraph/disease', method: 'put', data }) +} + +export function deleteDisease(id) { + return request({ url: '/knowledgegraph/disease/' + id, method: 'delete' }) +} + +export function addSymptom(data) { + return request({ url: '/knowledgegraph/symptom', method: 'post', data }) +} + +export function getSymptomPage(params) { + return request({ url: '/knowledgegraph/symptom/page', method: 'get', params }) +} + +export function getSymptomById(id) { + return request({ url: '/knowledgegraph/symptom/' + id, method: 'get' }) +} + +export function updateSymptom(data) { + return request({ url: '/knowledgegraph/symptom', method: 'put', data }) +} + +export function deleteSymptom(id) { + return request({ url: '/knowledgegraph/symptom/' + id, method: 'delete' }) +} + +export function addDrug(data) { + return request({ url: '/knowledgegraph/drug', method: 'post', data }) +} + +export function getDrugPage(params) { + return request({ url: '/knowledgegraph/drug/page', method: 'get', params }) +} + +export function getDrugById(id) { + return request({ url: '/knowledgegraph/drug/' + id, method: 'get' }) +} + +export function updateDrug(data) { + return request({ url: '/knowledgegraph/drug', method: 'put', data }) +} + +export function deleteDrug(id) { + return request({ url: '/knowledgegraph/drug/' + id, method: 'delete' }) +} + +export function addExamination(data) { + return request({ url: '/knowledgegraph/examination', method: 'post', data }) +} + +export function getExaminationPage(params) { + return request({ url: '/knowledgegraph/examination/page', method: 'get', params }) +} + +export function getExaminationById(id) { + return request({ url: '/knowledgegraph/examination/' + id, method: 'get' }) +} + +export function updateExamination(data) { + return request({ url: '/knowledgegraph/examination', method: 'put', data }) +} + +export function deleteExamination(id) { + return request({ url: '/knowledgegraph/examination/' + id, method: 'delete' }) +} + +export function createRelation(data) { + return request({ url: '/knowledgegraph/relation', method: 'post', data }) +} + +export function getRelationPage(params) { + return request({ url: '/knowledgegraph/relation/page', method: 'get', params }) +} + +export function getRelationGraph(entityType, entityId) { + return request({ url: `/knowledgegraph/relation/graph/${entityType}/${entityId}`, method: 'get' }) +} + +export function createPathway(data) { + return request({ url: '/knowledgegraph/pathway', method: 'post', data }) +} + +export function getPathwayPage(params) { + return request({ url: '/knowledgegraph/pathway/page', method: 'get', params }) +} + +export function getPathwaySteps(id) { + return request({ url: `/knowledgegraph/pathway/${id}/steps`, method: 'get' }) +} diff --git a/healthlink-his-ui/src/views/knowledgegraph/DiseaseForm.vue b/healthlink-his-ui/src/views/knowledgegraph/DiseaseForm.vue new file mode 100644 index 000000000..7f116e76c --- /dev/null +++ b/healthlink-his-ui/src/views/knowledgegraph/DiseaseForm.vue @@ -0,0 +1,94 @@ + + + diff --git a/healthlink-his-ui/src/views/knowledgegraph/DiseaseList.vue b/healthlink-his-ui/src/views/knowledgegraph/DiseaseList.vue new file mode 100644 index 000000000..35568693b --- /dev/null +++ b/healthlink-his-ui/src/views/knowledgegraph/DiseaseList.vue @@ -0,0 +1,121 @@ + + + diff --git a/healthlink-his-ui/src/views/knowledgegraph/DrugList.vue b/healthlink-his-ui/src/views/knowledgegraph/DrugList.vue new file mode 100644 index 000000000..16b233aa7 --- /dev/null +++ b/healthlink-his-ui/src/views/knowledgegraph/DrugList.vue @@ -0,0 +1,146 @@ + + + diff --git a/healthlink-his-ui/src/views/knowledgegraph/ExaminationList.vue b/healthlink-his-ui/src/views/knowledgegraph/ExaminationList.vue new file mode 100644 index 000000000..1b1bdee86 --- /dev/null +++ b/healthlink-his-ui/src/views/knowledgegraph/ExaminationList.vue @@ -0,0 +1,143 @@ + + + diff --git a/healthlink-his-ui/src/views/knowledgegraph/KnowledgeGraph.vue b/healthlink-his-ui/src/views/knowledgegraph/KnowledgeGraph.vue new file mode 100644 index 000000000..2af04cab1 --- /dev/null +++ b/healthlink-his-ui/src/views/knowledgegraph/KnowledgeGraph.vue @@ -0,0 +1,178 @@ + + + diff --git a/healthlink-his-ui/src/views/knowledgegraph/PathwayEdit.vue b/healthlink-his-ui/src/views/knowledgegraph/PathwayEdit.vue new file mode 100644 index 000000000..b28673f6f --- /dev/null +++ b/healthlink-his-ui/src/views/knowledgegraph/PathwayEdit.vue @@ -0,0 +1,120 @@ + + + diff --git a/healthlink-his-ui/src/views/knowledgegraph/PathwayList.vue b/healthlink-his-ui/src/views/knowledgegraph/PathwayList.vue new file mode 100644 index 000000000..7b528fbe5 --- /dev/null +++ b/healthlink-his-ui/src/views/knowledgegraph/PathwayList.vue @@ -0,0 +1,119 @@ + + + diff --git a/healthlink-his-ui/src/views/knowledgegraph/RelationForm.vue b/healthlink-his-ui/src/views/knowledgegraph/RelationForm.vue new file mode 100644 index 000000000..9586dc07a --- /dev/null +++ b/healthlink-his-ui/src/views/knowledgegraph/RelationForm.vue @@ -0,0 +1,102 @@ + + + diff --git a/healthlink-his-ui/src/views/knowledgegraph/RelationList.vue b/healthlink-his-ui/src/views/knowledgegraph/RelationList.vue new file mode 100644 index 000000000..576983dbd --- /dev/null +++ b/healthlink-his-ui/src/views/knowledgegraph/RelationList.vue @@ -0,0 +1,136 @@ + + + diff --git a/healthlink-his-ui/src/views/knowledgegraph/SymptomList.vue b/healthlink-his-ui/src/views/knowledgegraph/SymptomList.vue new file mode 100644 index 000000000..5b27ca94c --- /dev/null +++ b/healthlink-his-ui/src/views/knowledgegraph/SymptomList.vue @@ -0,0 +1,139 @@ + + +