From be90a13cd6a82d32991397fe897891ba11028690 Mon Sep 17 00:00:00 2001 From: chenqi Date: Fri, 19 Jun 2026 08:06:38 +0800 Subject: [PATCH] =?UTF-8?q?feat(kg):=20=E5=85=B3=E7=B3=BB=E7=AE=A1?= =?UTF-8?q?=E7=90=86+=E7=9F=A5=E8=AF=86=E5=9B=BE=E8=B0=B1=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appservice/IKgRelationAppService.java | 18 +++ .../impl/KgRelationAppServiceImpl.java | 146 ++++++++++++++++++ .../controller/KgRelationController.java | 79 ++++++++++ .../his/web/clinical/dto/KgPathwayDto.java | 13 ++ .../his/common/enums/KgEntityType.java | 28 ++++ .../his/common/enums/KgRelationType.java | 32 ++++ .../clinical/domain/KgClinicalPathway.java | 22 +++ .../his/clinical/domain/KgEntityRelation.java | 24 +++ .../his/clinical/domain/KgPathwayStep.java | 20 +++ .../mapper/KgClinicalPathwayMapper.java | 9 ++ .../mapper/KgEntityRelationMapper.java | 9 ++ .../clinical/mapper/KgPathwayStepMapper.java | 9 ++ .../service/IKgClinicalPathwayService.java | 7 + .../service/IKgEntityRelationService.java | 7 + .../service/IKgPathwayStepService.java | 7 + .../impl/KgClinicalPathwayServiceImpl.java | 11 ++ .../impl/KgEntityRelationServiceImpl.java | 11 ++ .../impl/KgPathwayStepServiceImpl.java | 11 ++ .../clinical/KgClinicalPathwayMapper.xml | 6 + .../clinical/KgEntityRelationMapper.xml | 6 + .../mapper/clinical/KgPathwayStepMapper.xml | 6 + .../src/views/knowledgegraph/PathwayEdit.vue | 22 ++- .../src/views/knowledgegraph/RelationForm.vue | 15 +- 23 files changed, 508 insertions(+), 10 deletions(-) create mode 100644 healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/appservice/IKgRelationAppService.java create mode 100644 healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/appservice/impl/KgRelationAppServiceImpl.java create mode 100644 healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/controller/KgRelationController.java create mode 100644 healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/dto/KgPathwayDto.java create mode 100644 healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/enums/KgEntityType.java create mode 100644 healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/enums/KgRelationType.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgClinicalPathway.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgEntityRelation.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgPathwayStep.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgClinicalPathwayMapper.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgEntityRelationMapper.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgPathwayStepMapper.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgClinicalPathwayService.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgEntityRelationService.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgPathwayStepService.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgClinicalPathwayServiceImpl.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgEntityRelationServiceImpl.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgPathwayStepServiceImpl.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgClinicalPathwayMapper.xml create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgEntityRelationMapper.xml create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgPathwayStepMapper.xml diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/appservice/IKgRelationAppService.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/appservice/IKgRelationAppService.java new file mode 100644 index 000000000..4b8154225 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/appservice/IKgRelationAppService.java @@ -0,0 +1,18 @@ +package com.healthlink.his.web.clinical.appservice; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.healthlink.his.clinical.domain.KgClinicalPathway; +import com.healthlink.his.clinical.domain.KgEntityRelation; +import com.healthlink.his.clinical.domain.KgPathwayStep; + +import java.util.List; +import java.util.Map; + +public interface IKgRelationAppService { + void createRelation(KgEntityRelation relation); + IPage pageRelations(String sourceType, String targetType, String relationType, Integer pageNo, Integer pageSize); + Map getRelationGraph(String entityType, String entityId); + void createPathway(KgClinicalPathway pathway, List steps); + IPage pagePathways(String keyword, Integer pageNo, Integer pageSize); + List getPathwaySteps(Long pathwayId); +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/appservice/impl/KgRelationAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/appservice/impl/KgRelationAppServiceImpl.java new file mode 100644 index 000000000..4eac09a18 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/appservice/impl/KgRelationAppServiceImpl.java @@ -0,0 +1,146 @@ +package com.healthlink.his.web.clinical.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.clinical.domain.KgClinicalPathway; +import com.healthlink.his.clinical.domain.KgEntityRelation; +import com.healthlink.his.clinical.domain.KgPathwayStep; +import com.healthlink.his.clinical.service.IKgClinicalPathwayService; +import com.healthlink.his.clinical.service.IKgEntityRelationService; +import com.healthlink.his.clinical.service.IKgPathwayStepService; +import com.healthlink.his.web.clinical.appservice.IKgRelationAppService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class KgRelationAppServiceImpl implements IKgRelationAppService { + + @Autowired + private IKgEntityRelationService relationService; + + @Autowired + private IKgClinicalPathwayService pathwayService; + + @Autowired + private IKgPathwayStepService stepService; + + @Override + @Transactional(rollbackFor = Exception.class) + public void createRelation(KgEntityRelation relation) { + if (relation.getRelationStrength() == null) { + relation.setRelationStrength(BigDecimal.ONE); + } + relation.setCreateTime(new Date()); + relationService.save(relation); + } + + @Override + public IPage pageRelations(String sourceType, String targetType, String relationType, Integer pageNo, Integer pageSize) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.eq(StringUtils.hasText(sourceType), KgEntityRelation::getSourceType, sourceType) + .eq(StringUtils.hasText(targetType), KgEntityRelation::getTargetType, targetType) + .eq(StringUtils.hasText(relationType), KgEntityRelation::getRelationType, relationType) + .orderByDesc(KgEntityRelation::getCreateTime); + return relationService.page(new Page<>(pageNo, pageSize), w); + } + + @Override + public Map getRelationGraph(String entityType, String entityId) { + Set nodeKeys = new LinkedHashSet<>(); + List> nodes = new ArrayList<>(); + List> edges = new ArrayList<>(); + + // Find all relations where this entity is source or target + LambdaQueryWrapper w1 = new LambdaQueryWrapper<>(); + w1.eq(KgEntityRelation::getSourceType, entityType) + .eq(KgEntityRelation::getSourceId, entityId); + List outgoing = relationService.list(w1); + + LambdaQueryWrapper w2 = new LambdaQueryWrapper<>(); + w2.eq(KgEntityRelation::getTargetType, entityType) + .eq(KgEntityRelation::getTargetId, entityId); + List incoming = relationService.list(w2); + + List all = new ArrayList<>(); + all.addAll(outgoing); + all.addAll(incoming); + + for (KgEntityRelation rel : all) { + String srcKey = rel.getSourceType() + ":" + rel.getSourceId(); + String tgtKey = rel.getTargetType() + ":" + rel.getTargetId(); + + if (nodeKeys.add(srcKey)) { + nodes.add(buildNode(srcKey, rel.getSourceType(), rel.getSourceId())); + } + if (nodeKeys.add(tgtKey)) { + nodes.add(buildNode(tgtKey, rel.getTargetType(), rel.getTargetId())); + } + + Map edge = new LinkedHashMap<>(); + edge.put("source", srcKey); + edge.put("target", tgtKey); + edge.put("relationType", rel.getRelationType()); + edge.put("relationStrength", rel.getRelationStrength()); + edge.put("description", rel.getDescription()); + edges.add(edge); + } + + Map result = new LinkedHashMap<>(); + result.put("nodes", nodes); + result.put("edges", edges); + return result; + } + + private Map buildNode(String key, String type, String id) { + Map node = new LinkedHashMap<>(); + node.put("id", key); + node.put("entityType", type); + node.put("entityId", id); + return node; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void createPathway(KgClinicalPathway pathway, List steps) { + pathway.setStatus("ACTIVE"); + pathway.setCreateTime(new Date()); + pathwayService.save(pathway); + + if (steps != null) { + for (int i = 0; i < steps.size(); i++) { + KgPathwayStep step = steps.get(i); + step.setPathwayId(pathway.getId()); + step.setStepOrder(i + 1); + step.setCreateTime(new Date()); + } + stepService.saveBatch(steps); + } + } + + @Override + public IPage pagePathways(String keyword, Integer pageNo, Integer pageSize) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.eq(KgClinicalPathway::getStatus, "ACTIVE") + .and(StringUtils.hasText(keyword), q -> q + .like(KgClinicalPathway::getPathwayName, keyword) + .or().like(KgClinicalPathway::getDiseaseName, keyword) + .or().like(KgClinicalPathway::getPathwayCode, keyword)) + .orderByDesc(KgClinicalPathway::getCreateTime); + return pathwayService.page(new Page<>(pageNo, pageSize), w); + } + + @Override + public List getPathwaySteps(Long pathwayId) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.eq(KgPathwayStep::getPathwayId, pathwayId) + .orderByAsc(KgPathwayStep::getStepOrder); + return stepService.list(w); + } +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/controller/KgRelationController.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/controller/KgRelationController.java new file mode 100644 index 000000000..843fbc300 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/controller/KgRelationController.java @@ -0,0 +1,79 @@ +package com.healthlink.his.web.clinical.controller; + +import com.core.common.core.domain.AjaxResult; +import com.core.common.core.domain.R; +import com.healthlink.his.clinical.domain.KgClinicalPathway; +import com.healthlink.his.clinical.domain.KgEntityRelation; +import com.healthlink.his.clinical.domain.KgPathwayStep; +import com.healthlink.his.web.clinical.appservice.IKgRelationAppService; +import com.healthlink.his.web.clinical.dto.KgPathwayDto; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "知识图谱管理") +@RestController +@RequestMapping("/knowledgegraph") +@Slf4j +@AllArgsConstructor +public class KgRelationController { + + private final IKgRelationAppService kgRelationAppService; + + @Operation(summary = "创建关系") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @PostMapping("/relation") + public AjaxResult createRelation(@RequestBody KgEntityRelation relation) { + kgRelationAppService.createRelation(relation); + return AjaxResult.success(); + } + + @Operation(summary = "关系分页查询") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/relation/page") + public R pageRelations( + @RequestParam(value = "sourceType", required = false) String sourceType, + @RequestParam(value = "targetType", required = false) String targetType, + @RequestParam(value = "relationType", required = false) String relationType, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize) { + return R.ok(kgRelationAppService.pageRelations(sourceType, targetType, relationType, pageNo, pageSize)); + } + + @Operation(summary = "查询实体关系图") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/relation/graph/{entityType}/{entityId}") + public R getRelationGraph(@PathVariable String entityType, @PathVariable String entityId) { + return R.ok(kgRelationAppService.getRelationGraph(entityType, entityId)); + } + + @Operation(summary = "创建临床路径") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:edit')") + @PostMapping("/pathway") + public AjaxResult createPathway(@RequestBody KgPathwayDto dto) { + kgRelationAppService.createPathway(dto.getPathway(), dto.getSteps()); + return AjaxResult.success(); + } + + @Operation(summary = "路径分页查询") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/pathway/page") + public R pagePathways( + @RequestParam(value = "keyword", required = false) String keyword, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize) { + return R.ok(kgRelationAppService.pagePathways(keyword, pageNo, pageSize)); + } + + @Operation(summary = "查询路径步骤") + @PreAuthorize("@ss.hasPermi('system:knowledgegraph:list')") + @GetMapping("/pathway/{id}/steps") + public R getPathwaySteps(@PathVariable Long id) { + return R.ok(kgRelationAppService.getPathwaySteps(id)); + } +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/dto/KgPathwayDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/dto/KgPathwayDto.java new file mode 100644 index 000000000..857404027 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/dto/KgPathwayDto.java @@ -0,0 +1,13 @@ +package com.healthlink.his.web.clinical.dto; + +import com.healthlink.his.clinical.domain.KgClinicalPathway; +import com.healthlink.his.clinical.domain.KgPathwayStep; +import lombok.Data; + +import java.util.List; + +@Data +public class KgPathwayDto { + private KgClinicalPathway pathway; + private List steps; +} diff --git a/healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/enums/KgEntityType.java b/healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/enums/KgEntityType.java new file mode 100644 index 000000000..5e6976726 --- /dev/null +++ b/healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/enums/KgEntityType.java @@ -0,0 +1,28 @@ +package com.healthlink.his.common.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum KgEntityType implements HisEnumInterface { + + DISEASE(1, "disease", "疾病"), + SYMPTOM(2, "symptom", "症状"), + DRUG(3, "drug", "药物"), + EXAM(4, "exam", "检查"); + + @EnumValue + private final Integer value; + private final String code; + private final String info; + + public static KgEntityType getByCode(String code) { + if (code == null) return null; + for (KgEntityType e : values()) { + if (e.getCode().equals(code)) return e; + } + return null; + } +} diff --git a/healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/enums/KgRelationType.java b/healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/enums/KgRelationType.java new file mode 100644 index 000000000..9c118937b --- /dev/null +++ b/healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/enums/KgRelationType.java @@ -0,0 +1,32 @@ +package com.healthlink.his.common.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum KgRelationType implements HisEnumInterface { + + CAUSES(1, "CAUSES", "导致"), + TREATS(2, "TREATS", "治疗"), + CONTRAINDICATES(3, "CONTRAINDICATES", "禁忌"), + INTERACTS_WITH(4, "INTERACTS_WITH", "相互作用"), + REQUIRES_EXAM(5, "REQUIRES_EXAM", "需要检查"), + HAS_SYMPTOM(6, "HAS_SYMPTOM", "具有症状"), + SIDE_EFFECT(7, "SIDE_EFFECT", "副作用"), + ALTERNATIVE(8, "ALTERNATIVE", "替代"); + + @EnumValue + private final Integer value; + private final String code; + private final String info; + + public static KgRelationType getByCode(String code) { + if (code == null) return null; + for (KgRelationType e : values()) { + if (e.getCode().equals(code)) return e; + } + return null; + } +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgClinicalPathway.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgClinicalPathway.java new file mode 100644 index 000000000..988aa7f6e --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgClinicalPathway.java @@ -0,0 +1,22 @@ +package com.healthlink.his.clinical.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("kg_clinical_pathway") +public class KgClinicalPathway extends HisBaseEntity { + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Long id; + @TableField("pathway_code") private String pathwayCode; + @TableField("pathway_name") private String pathwayName; + @TableField("disease_code") private String diseaseCode; + @TableField("disease_name") private String diseaseName; + @TableField("department") private String department; + @TableField("standard_days") private Integer standardDays; + @TableField("description") private String description; + @TableField("status") private String status; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgEntityRelation.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgEntityRelation.java new file mode 100644 index 000000000..4a72ae10c --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgEntityRelation.java @@ -0,0 +1,24 @@ +package com.healthlink.his.clinical.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("kg_entity_relation") +public class KgEntityRelation extends HisBaseEntity { + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Long id; + @TableField("source_type") private String sourceType; + @TableField("source_id") private String sourceId; + @TableField("target_type") private String targetType; + @TableField("target_id") private String targetId; + @TableField("relation_type") private String relationType; + @TableField("relation_strength") private BigDecimal relationStrength; + @TableField("description") private String description; + @TableField("evidence_source") private String evidenceSource; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgPathwayStep.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgPathwayStep.java new file mode 100644 index 000000000..9735ba0d9 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/KgPathwayStep.java @@ -0,0 +1,20 @@ +package com.healthlink.his.clinical.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("kg_pathway_step") +public class KgPathwayStep extends HisBaseEntity { + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Long id; + @TableField("pathway_id") private Long pathwayId; + @TableField("step_order") private Integer stepOrder; + @TableField("day_number") private Integer dayNumber; + @TableField("step_type") private String stepType; + @TableField("step_content") private String stepContent; + @TableField("required") private String required; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgClinicalPathwayMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgClinicalPathwayMapper.java new file mode 100644 index 000000000..7d9451861 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgClinicalPathwayMapper.java @@ -0,0 +1,9 @@ +package com.healthlink.his.clinical.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.clinical.domain.KgClinicalPathway; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface KgClinicalPathwayMapper extends BaseMapper { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgEntityRelationMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgEntityRelationMapper.java new file mode 100644 index 000000000..e858d863f --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgEntityRelationMapper.java @@ -0,0 +1,9 @@ +package com.healthlink.his.clinical.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.clinical.domain.KgEntityRelation; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface KgEntityRelationMapper extends BaseMapper { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgPathwayStepMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgPathwayStepMapper.java new file mode 100644 index 000000000..2c7ff3b8a --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/KgPathwayStepMapper.java @@ -0,0 +1,9 @@ +package com.healthlink.his.clinical.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.clinical.domain.KgPathwayStep; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface KgPathwayStepMapper extends BaseMapper { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgClinicalPathwayService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgClinicalPathwayService.java new file mode 100644 index 000000000..3d1a5e676 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgClinicalPathwayService.java @@ -0,0 +1,7 @@ +package com.healthlink.his.clinical.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.clinical.domain.KgClinicalPathway; + +public interface IKgClinicalPathwayService extends IService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgEntityRelationService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgEntityRelationService.java new file mode 100644 index 000000000..2880d8bfe --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgEntityRelationService.java @@ -0,0 +1,7 @@ +package com.healthlink.his.clinical.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.clinical.domain.KgEntityRelation; + +public interface IKgEntityRelationService extends IService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgPathwayStepService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgPathwayStepService.java new file mode 100644 index 000000000..50b4f2816 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IKgPathwayStepService.java @@ -0,0 +1,7 @@ +package com.healthlink.his.clinical.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.clinical.domain.KgPathwayStep; + +public interface IKgPathwayStepService extends IService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgClinicalPathwayServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgClinicalPathwayServiceImpl.java new file mode 100644 index 000000000..e2221d480 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgClinicalPathwayServiceImpl.java @@ -0,0 +1,11 @@ +package com.healthlink.his.clinical.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.clinical.domain.KgClinicalPathway; +import com.healthlink.his.clinical.mapper.KgClinicalPathwayMapper; +import com.healthlink.his.clinical.service.IKgClinicalPathwayService; +import org.springframework.stereotype.Service; + +@Service +public class KgClinicalPathwayServiceImpl extends ServiceImpl implements IKgClinicalPathwayService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgEntityRelationServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgEntityRelationServiceImpl.java new file mode 100644 index 000000000..950fcacf3 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgEntityRelationServiceImpl.java @@ -0,0 +1,11 @@ +package com.healthlink.his.clinical.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.clinical.domain.KgEntityRelation; +import com.healthlink.his.clinical.mapper.KgEntityRelationMapper; +import com.healthlink.his.clinical.service.IKgEntityRelationService; +import org.springframework.stereotype.Service; + +@Service +public class KgEntityRelationServiceImpl extends ServiceImpl implements IKgEntityRelationService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgPathwayStepServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgPathwayStepServiceImpl.java new file mode 100644 index 000000000..5f9a60c32 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/KgPathwayStepServiceImpl.java @@ -0,0 +1,11 @@ +package com.healthlink.his.clinical.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.clinical.domain.KgPathwayStep; +import com.healthlink.his.clinical.mapper.KgPathwayStepMapper; +import com.healthlink.his.clinical.service.IKgPathwayStepService; +import org.springframework.stereotype.Service; + +@Service +public class KgPathwayStepServiceImpl extends ServiceImpl implements IKgPathwayStepService { +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgClinicalPathwayMapper.xml b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgClinicalPathwayMapper.xml new file mode 100644 index 000000000..0bbb116d1 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgClinicalPathwayMapper.xml @@ -0,0 +1,6 @@ + + + + diff --git a/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgEntityRelationMapper.xml b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgEntityRelationMapper.xml new file mode 100644 index 000000000..554208b96 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgEntityRelationMapper.xml @@ -0,0 +1,6 @@ + + + + diff --git a/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgPathwayStepMapper.xml b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgPathwayStepMapper.xml new file mode 100644 index 000000000..2b6155bc3 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/resources/mapper/clinical/KgPathwayStepMapper.xml @@ -0,0 +1,6 @@ + + + + diff --git a/healthlink-his-ui/src/views/knowledgegraph/PathwayEdit.vue b/healthlink-his-ui/src/views/knowledgegraph/PathwayEdit.vue index b28673f6f..508934db0 100644 --- a/healthlink-his-ui/src/views/knowledgegraph/PathwayEdit.vue +++ b/healthlink-his-ui/src/views/knowledgegraph/PathwayEdit.vue @@ -1,5 +1,5 @@