Forráskód Böngészése

Merge branch 'develop' into innerDevelop

gaodm 4 éve
szülő
commit
8791ffc5fd
32 módosított fájl, 1375 hozzáadás és 35 törlés
  1. 39 17
      cdssman-service/src/main/java/com/diagbot/client/CdssCoreClient.java
  2. 52 17
      cdssman-service/src/main/java/com/diagbot/client/hystrix/CdssCoreHystrix.java
  3. 18 0
      cdssman-service/src/main/java/com/diagbot/dto/DiagnosesFindDTO.java
  4. 88 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseByIdDTO.java
  5. 33 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseGroupDTO.java
  6. 47 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseInfoDTO.java
  7. 28 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseTypeDTO.java
  8. 144 0
      cdssman-service/src/main/java/com/diagbot/entity/KlDiagnose.java
  9. 274 0
      cdssman-service/src/main/java/com/diagbot/entity/KlDiagnoseBase.java
  10. 10 0
      cdssman-service/src/main/java/com/diagbot/facade/CacheFacade.java
  11. 18 0
      cdssman-service/src/main/java/com/diagbot/facade/KlConceptFacade.java
  12. 15 0
      cdssman-service/src/main/java/com/diagbot/facade/KlDiagnoseBaseFacade.java
  13. 94 0
      cdssman-service/src/main/java/com/diagbot/facade/KlDiagnoseFacade.java
  14. 16 0
      cdssman-service/src/main/java/com/diagbot/mapper/KlDiagnoseBaseMapper.java
  15. 16 0
      cdssman-service/src/main/java/com/diagbot/mapper/KlDiagnoseMapper.java
  16. 16 0
      cdssman-service/src/main/java/com/diagbot/service/KlDiagnoseBaseService.java
  17. 16 0
      cdssman-service/src/main/java/com/diagbot/service/KlDiagnoseService.java
  18. 22 0
      cdssman-service/src/main/java/com/diagbot/service/impl/KlDiagnoseBaseServiceImpl.java
  19. 22 0
      cdssman-service/src/main/java/com/diagbot/service/impl/KlDiagnoseServiceImpl.java
  20. 20 0
      cdssman-service/src/main/java/com/diagbot/vo/DiagnosesFindVO.java
  21. 19 0
      cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseByIdVO.java
  22. 18 0
      cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseClearVO.java
  23. 63 0
      cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseDetailVO.java
  24. 32 0
      cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseGroupVO.java
  25. 26 0
      cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseInfoVO.java
  26. 19 0
      cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseSatarDisVO.java
  27. 31 0
      cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseSaveVO.java
  28. 28 0
      cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseTypeVO.java
  29. 10 1
      cdssman-service/src/main/java/com/diagbot/web/CacheController.java
  30. 95 0
      cdssman-service/src/main/java/com/diagbot/web/KlDiagnoseController.java
  31. 28 0
      cdssman-service/src/main/resources/mapper/KlDiagnoseBaseMapper.xml
  32. 18 0
      cdssman-service/src/main/resources/mapper/KlDiagnoseMapper.xml

+ 39 - 17
cdssman-service/src/main/java/com/diagbot/client/CdssCoreClient.java

@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.client.hystrix.CdssCoreHystrix;
+import com.diagbot.dto.DiagnosesFindDTO;
 import com.diagbot.dto.DictionaryInfoDTO;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.KlConceptStaticDTO;
+import com.diagbot.dto.KlDiagnoseInfoDTO;
+import com.diagbot.dto.KlDiagnoseTypeDTO;
 import com.diagbot.dto.KlRuleByIdParDTO;
 import com.diagbot.dto.KlRuleInfoDTO;
 import com.diagbot.dto.RespDTO;
@@ -15,23 +18,7 @@ import com.diagbot.dto.StaticKnowledgeDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
 import com.diagbot.entity.KlRuleMenuWrapper;
 import com.diagbot.enums.StatusEnum;
-import com.diagbot.vo.ChangeStatusVO;
-import com.diagbot.vo.ConceptVO;
-import com.diagbot.vo.DictionaryInfoVO;
-import com.diagbot.vo.HasStaticKnowledgeVO;
-import com.diagbot.vo.IdVO;
-import com.diagbot.vo.IndicationPushVO;
-import com.diagbot.vo.KlConceptStaticPageVO;
-import com.diagbot.vo.KlConceptStaticVO;
-import com.diagbot.vo.KlRuleByIdVO;
-import com.diagbot.vo.KlRuleInfoClearVO;
-import com.diagbot.vo.KlRuleInfoSaveVO;
-import com.diagbot.vo.KlRuleInfoVO;
-import com.diagbot.vo.KlRuleMenuVO;
-import com.diagbot.vo.KlRuleSatartOrdisaVO;
-import com.diagbot.vo.RetrievalVO;
-import com.diagbot.vo.StaticKnowledgeIndexVO;
-import com.diagbot.vo.StaticKnowledgeVO;
+import com.diagbot.vo.*;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.transaction.annotation.Transactional;
@@ -196,4 +183,39 @@ public interface CdssCoreClient {
 
     @PostMapping("/kl/dictionary/getDictionaryInfo")
     RespDTO<Map<Long, List<DictionaryInfoDTO>>> getDictionaryAll();
+
+    /**
+     * 重新加载医学知识库中的所有去重的基础诊断依据
+     * @return
+     */
+    @PostMapping("/cache/reloadDiagnose")
+    RespDTO<Boolean> reloadDiagnose();
+
+
+   //分页获取诊断依据维护列表
+    @PostMapping("/klDiagnose/getKlDiagnosePage")
+    public RespDTO<Page<KlDiagnoseInfoDTO>> getDiagnosePages(@RequestBody KlDiagnoseInfoVO klRuleInfoVO);
+
+    //"根据Id获取诊断依据详情[by:wangfeng]")
+    @PostMapping("/klDiagnose/getByIdDiagnose")
+    public RespDTO<List<KlDiagnoseTypeDTO>> getByIdDiagnoseAll(@RequestBody @Valid KlDiagnoseByIdVO klDiagnoseByIdVO);
+
+    //保存诊断依据详情[by:wangfeng]")
+    @PostMapping("/klDiagnose/saveDiagnose")
+    public RespDTO<Boolean> saveDiagnoseAll(@RequestBody @Valid KlDiagnoseSaveVO klDiagnoseSaveVO) ;
+
+    //刪除诊断依据详情[by:wangfeng]")
+    @PostMapping("/klDiagnose/clearDiagnose")
+    public RespDTO<Boolean> clearDiagnoseAll(@RequestBody @Valid KlDiagnoseClearVO klDiagnoseClearVO);
+
+    //停用诊断依据[by:wangfeng]")
+    @PostMapping("/klDiagnose/disableKlDiagnose")
+    public RespDTO<Boolean> disableDiagnoses(@RequestBody @Valid KlDiagnoseSatarDisVO klDiagnoseSatarDisVO);
+
+    //启用诊断依据[by:wangfeng]")
+    @PostMapping("/klDiagnose/startKlDiagnose")
+    public RespDTO<Boolean> startKlDiagnoses(@RequestBody @Valid KlDiagnoseSatarDisVO klDiagnoseSatarDisVO);
+
+    @PostMapping("/klDiagnose/findDiaName")
+    public RespDTO<List<DiagnosesFindDTO>> findDiaNameAll(@Valid @RequestBody DiagnosesFindVO diagnosesFindVO);
 }

+ 52 - 17
cdssman-service/src/main/java/com/diagbot/client/hystrix/CdssCoreHystrix.java

@@ -3,9 +3,12 @@ package com.diagbot.client.hystrix;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.CdssCoreClient;
+import com.diagbot.dto.DiagnosesFindDTO;
 import com.diagbot.dto.DictionaryInfoDTO;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.KlConceptStaticDTO;
+import com.diagbot.dto.KlDiagnoseInfoDTO;
+import com.diagbot.dto.KlDiagnoseTypeDTO;
 import com.diagbot.dto.KlRuleByIdParDTO;
 import com.diagbot.dto.KlRuleInfoDTO;
 import com.diagbot.dto.RespDTO;
@@ -13,23 +16,7 @@ import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.dto.StaticKnowledgeDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
 import com.diagbot.entity.KlRuleMenuWrapper;
-import com.diagbot.vo.ChangeStatusVO;
-import com.diagbot.vo.ConceptVO;
-import com.diagbot.vo.DictionaryInfoVO;
-import com.diagbot.vo.HasStaticKnowledgeVO;
-import com.diagbot.vo.IdVO;
-import com.diagbot.vo.IndicationPushVO;
-import com.diagbot.vo.KlConceptStaticPageVO;
-import com.diagbot.vo.KlConceptStaticVO;
-import com.diagbot.vo.KlRuleByIdVO;
-import com.diagbot.vo.KlRuleInfoClearVO;
-import com.diagbot.vo.KlRuleInfoSaveVO;
-import com.diagbot.vo.KlRuleInfoVO;
-import com.diagbot.vo.KlRuleMenuVO;
-import com.diagbot.vo.KlRuleSatartOrdisaVO;
-import com.diagbot.vo.RetrievalVO;
-import com.diagbot.vo.StaticKnowledgeIndexVO;
-import com.diagbot.vo.StaticKnowledgeVO;
+import com.diagbot.vo.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -249,4 +236,52 @@ public class CdssCoreHystrix implements CdssCoreClient {
         log.error("【hystrix】调用{}异常", "getDictionaryAll");
         return null;
     }
+
+    @Override
+    public RespDTO<Boolean> reloadDiagnose() {
+        log.error("【hystrix】调用{}异常", "reloadDiagnose");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Page<KlDiagnoseInfoDTO>> getDiagnosePages(KlDiagnoseInfoVO klRuleInfoVO) {
+        log.error("【hystrix】调用{}异常", "getDiagnosePages");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<KlDiagnoseTypeDTO>> getByIdDiagnoseAll(@Valid KlDiagnoseByIdVO klDiagnoseByIdVO) {
+        log.error("【hystrix】调用{}异常", "getByIdDiagnoseAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> saveDiagnoseAll(@Valid KlDiagnoseSaveVO klDiagnoseSaveVO) {
+        log.error("【hystrix】调用{}异常", "saveDiagnoseAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> clearDiagnoseAll(@Valid KlDiagnoseClearVO klDiagnoseClearVO) {
+        log.error("【hystrix】调用{}异常", "clearDiagnoseAll");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> disableDiagnoses(@Valid KlDiagnoseSatarDisVO klDiagnoseSatarDisVO) {
+        log.error("【hystrix】调用{}异常", "disableDiagnoses");
+        return null;
+    }
+
+    @Override
+    public RespDTO<Boolean> startKlDiagnoses(@Valid KlDiagnoseSatarDisVO klDiagnoseSatarDisVO) {
+        log.error("【hystrix】调用{}异常", "startKlDiagnoses");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<DiagnosesFindDTO>> findDiaNameAll(@Valid DiagnosesFindVO diagnosesFindVO) {
+        log.error("【hystrix】调用{}异常", "findDiaNameAll");
+        return null;
+    }
 }

+ 18 - 0
cdssman-service/src/main/java/com/diagbot/dto/DiagnosesFindDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-29 11:06
+ */
+@Setter
+@Getter
+public class DiagnosesFindDTO {
+
+    private Long conceptId;
+
+    private String conceptName;
+}

+ 88 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseByIdDTO.java

@@ -0,0 +1,88 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-19 15:26
+ */
+@Setter
+@Getter
+public class KlDiagnoseByIdDTO {
+    private Long id;
+    private String description;//规则名称
+    private Long conceptId;//提示概念id
+    private String libName;
+    private Integer libType;
+    private String lename;
+    private Integer status;//启用状态(0:禁用,1:启用)
+    /**
+     * 条件类型(1:基础条件;2:拟诊条件;3:确诊条件;4:警惕条件)
+     */
+    private Integer conditionType;
+
+    /**
+     * 规则组别(condition_type为2:拟诊条件;3:确诊条件;4:警惕条件有效)
+     */
+    private Integer conditionGroup;
+
+    /**
+     * 符合数量(condition_type为2:拟诊条件;3:确诊条件;4:警惕条件有效)
+     */
+    private Integer fitNo;
+    /**
+     * 基础规则组别(condition_type为1:基础条件;2:拟诊条件;3:确诊条件;4:警惕条件都有效)
+     */
+    private Integer baseGroup;
+    /**
+     * 描述
+     */
+    private String basDescription;
+    private Long basConceptId;
+    private String basLibName;
+    private Integer basLibType;
+    private String basLename;
+    /**
+     * 基础规则类型(1:等于术语本身;2:存在比较;3:不等于术语本身;)
+     */
+    private Integer basType;
+    /**
+     * 最小域比较符
+     */
+    private String minOperator;
+    /**
+     * 最小域值
+     */
+    private String minVal;
+
+    /**
+     * 最小域单位
+     */
+    private String minUnit;
+    /**
+     * 最大域比较符
+     */
+    private String maxOperator;
+    /**
+     * 最大域值
+     */
+    private String maxVal;
+    /**
+     * 最大域单位
+     */
+    private String maxUnit;
+    /**
+     * 等于域比较符
+     */
+    private String eqOperator;
+    /**
+     * 等于域值
+     */
+    private String eqValue;
+    /**
+     * 等于域单位
+     */
+    private String eqUnit;
+}

+ 33 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseGroupDTO.java

@@ -0,0 +1,33 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-22 10:33
+ */
+@Setter
+@Getter
+public class KlDiagnoseGroupDTO {
+    /**
+     * 基础规则组别(condition_type为1:基础条件;2:拟诊条件;3:确诊条件;4:警惕条件都有效)
+     */
+    private Integer baseGroup;
+    /**
+     * 满足的条件
+     */
+    private Integer fitNo;
+    /**
+     * 上一级的组别
+     */
+
+    /**
+     * 组别里的明细
+     */
+    List<KlDiagnoseByIdDTO>  klDiagnoseByIdDTO;
+
+}

+ 47 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseInfoDTO.java

@@ -0,0 +1,47 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-19 14:58
+ */
+@Setter
+@Getter
+public class KlDiagnoseInfoDTO {
+
+    private Long id;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    private String modifierName;
+
+    /**
+     * 疾病概念id
+     */
+    private Long conceptId;
+
+    private String conceptName;
+    /**
+     * 描述
+     */
+    private String description;
+
+    /**
+     * 启用状态(0:禁用,1:启用)
+     */
+    private Integer status;
+
+}

+ 28 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDiagnoseTypeDTO.java

@@ -0,0 +1,28 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-22 10:58
+ */
+@Setter
+@Getter
+public class KlDiagnoseTypeDTO {
+
+    /**
+     * 条件类型名
+     */
+    private String conditionTypeName;
+    /**
+     * 条件类型(1:基础条件;2:拟诊条件;3:确诊条件;4:警惕条件)
+     */
+    private Integer conditionType;
+    private Integer conditionGroup;
+
+    List<KlDiagnoseGroupDTO> byIdDTO;
+}

+ 144 - 0
cdssman-service/src/main/java/com/diagbot/entity/KlDiagnose.java

@@ -0,0 +1,144 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 诊断依据信息表
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2021-03-31
+ */
+public class KlDiagnose implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 疾病概念id
+     */
+    private Long conceptId;
+
+    /**
+     * 描述
+     */
+    private String description;
+
+    /**
+     * 启用状态(0:禁用,1:启用)
+     */
+    private Integer status;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public Long getConceptId() {
+        return conceptId;
+    }
+
+    public void setConceptId(Long conceptId) {
+        this.conceptId = conceptId;
+    }
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    @Override
+    public String toString() {
+        return "KlDiagnose{" +
+            "id=" + id +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", conceptId=" + conceptId +
+            ", description=" + description +
+            ", status=" + status +
+        "}";
+    }
+}

+ 274 - 0
cdssman-service/src/main/java/com/diagbot/entity/KlDiagnoseBase.java

@@ -0,0 +1,274 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 诊断依据基础表
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2021-03-31
+ */
+public class KlDiagnoseBase implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 提示概念id
+     */
+    private Long conceptId;
+
+    /**
+     * 描述
+     */
+    private String description;
+
+    /**
+     * 基础规则类型(1:等于术语本身;2:存在比较;3:主诉现病史正则;4:既往史正则)
+     */
+    private Integer type;
+
+    /**
+     * 最小域比较符
+     */
+    private String minOperator;
+
+    /**
+     * 最小域值
+     */
+    private String minValue;
+
+    /**
+     * 最小域单位
+     */
+    private String minUnit;
+
+    /**
+     * 最大域比较符
+     */
+    private String maxOperator;
+
+    /**
+     * 最大域值
+     */
+    private String maxValue;
+
+    /**
+     * 最大域单位
+     */
+    private String maxUnit;
+
+    /**
+     * 等于域比较符
+     */
+    private String eqOperator;
+
+    /**
+     * 等于域值
+     */
+    private String eqValue;
+
+    /**
+     * 等于域单位
+     */
+    private String eqUnit;
+
+    /**
+     * 启用状态(0:禁用,1:启用)
+     */
+    private Integer status;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public Long getConceptId() {
+        return conceptId;
+    }
+
+    public void setConceptId(Long conceptId) {
+        this.conceptId = conceptId;
+    }
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+    public String getMinOperator() {
+        return minOperator;
+    }
+
+    public void setMinOperator(String minOperator) {
+        this.minOperator = minOperator;
+    }
+    public String getMinValue() {
+        return minValue;
+    }
+
+    public void setMinValue(String minValue) {
+        this.minValue = minValue;
+    }
+    public String getMinUnit() {
+        return minUnit;
+    }
+
+    public void setMinUnit(String minUnit) {
+        this.minUnit = minUnit;
+    }
+    public String getMaxOperator() {
+        return maxOperator;
+    }
+
+    public void setMaxOperator(String maxOperator) {
+        this.maxOperator = maxOperator;
+    }
+    public String getMaxValue() {
+        return maxValue;
+    }
+
+    public void setMaxValue(String maxValue) {
+        this.maxValue = maxValue;
+    }
+    public String getMaxUnit() {
+        return maxUnit;
+    }
+
+    public void setMaxUnit(String maxUnit) {
+        this.maxUnit = maxUnit;
+    }
+    public String getEqOperator() {
+        return eqOperator;
+    }
+
+    public void setEqOperator(String eqOperator) {
+        this.eqOperator = eqOperator;
+    }
+    public String getEqValue() {
+        return eqValue;
+    }
+
+    public void setEqValue(String eqValue) {
+        this.eqValue = eqValue;
+    }
+    public String getEqUnit() {
+        return eqUnit;
+    }
+
+    public void setEqUnit(String eqUnit) {
+        this.eqUnit = eqUnit;
+    }
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    @Override
+    public String toString() {
+        return "KlDiagnoseBase{" +
+            "id=" + id +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", conceptId=" + conceptId +
+            ", description=" + description +
+            ", type=" + type +
+            ", minOperator=" + minOperator +
+            ", minValue=" + minValue +
+            ", minUnit=" + minUnit +
+            ", maxOperator=" + maxOperator +
+            ", maxValue=" + maxValue +
+            ", maxUnit=" + maxUnit +
+            ", eqOperator=" + eqOperator +
+            ", eqValue=" + eqValue +
+            ", eqUnit=" + eqUnit +
+            ", status=" + status +
+        "}";
+    }
+}

+ 10 - 0
cdssman-service/src/main/java/com/diagbot/facade/CacheFacade.java

@@ -36,6 +36,16 @@ public class CacheFacade {
 
     public boolean clearStandRuleDrugAll() {
         RespDTO<Boolean> resData =  cdssCoreClient.clearStandRuleDrugAll();
+        RespDTOUtil.respNGDealCover(resData, resData.msg);
+        return  resData.data;
+    }
+
+    /**
+     * 重新加载医学知识库中的所有去重的基础诊断依据
+     * @return
+     */
+    public boolean reloadDiagnose() {
+        RespDTO<Boolean> resData =  cdssCoreClient.reloadDiagnose();
         RespDTOUtil.respNGDeal(resData, "加载数据失败!");
         return  resData.data;
     }

+ 18 - 0
cdssman-service/src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -12,6 +12,8 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.KlConcept;
 import com.diagbot.entity.KlConceptCommon;
 import com.diagbot.entity.KlConceptStatic;
+import com.diagbot.entity.KlDiagnose;
+import com.diagbot.entity.KlDiagnoseBase;
 import com.diagbot.entity.KlLexicon;
 import com.diagbot.entity.KlLibraryInfo;
 import com.diagbot.entity.KlRelation;
@@ -76,6 +78,10 @@ public class KlConceptFacade extends KlConceptServiceImpl {
     KlRuleFacade klRuleFacade;
     @Autowired
     KlRuleBaseFacade klRuleBaseFacade;
+    @Autowired
+    KlDiagnoseFacade klDiagnoseFacade;
+    @Autowired
+    KlDiagnoseBaseFacade klDiagnoseBaseFacade;
 
 
     /**
@@ -445,6 +451,18 @@ public class KlConceptFacade extends KlConceptServiceImpl {
             if (ruleBasesum > 0) {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该医学标准术语与规则维护明细存在关系!");
             }
+            //kl_diagnose
+            int diagnosesum = klDiagnoseFacade.count(new QueryWrapper<KlDiagnose>().eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("concept_id", klConceptSatarOrdisaVO.getConceptId()));
+            if (diagnosesum > 0) {
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该医学标准术语与诊断依据维护存在关系!");
+            }
+            //kl_diagnose_base
+            int diagnoseBasesum = klDiagnoseBaseFacade.count(new QueryWrapper<KlDiagnoseBase>().eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("concept_id", klConceptSatarOrdisaVO.getConceptId()));
+            if (diagnoseBasesum > 0) {
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该医学标准术语与诊断依据维护明细存在关系!");
+            }
         }
         UpdateWrapper<KlConcept> klLibraryUpdate = new UpdateWrapper<>();
         klLibraryUpdate.eq("is_deleted", IsDeleteEnum.N.getKey())

+ 15 - 0
cdssman-service/src/main/java/com/diagbot/facade/KlDiagnoseBaseFacade.java

@@ -0,0 +1,15 @@
+package com.diagbot.facade;
+
+import com.diagbot.entity.KlDiagnoseBase;
+import com.diagbot.service.impl.KlDiagnoseBaseServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-31 15:36
+ */
+@Component
+public class KlDiagnoseBaseFacade extends KlDiagnoseBaseServiceImpl {
+
+}

+ 94 - 0
cdssman-service/src/main/java/com/diagbot/facade/KlDiagnoseFacade.java

@@ -0,0 +1,94 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.client.CdssCoreClient;
+import com.diagbot.client.UserServiceClient;
+import com.diagbot.dto.DiagnosesFindDTO;
+import com.diagbot.dto.KlDiagnoseInfoDTO;
+import com.diagbot.dto.KlDiagnoseTypeDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.KlDiagnose;
+import com.diagbot.service.impl.KlDiagnoseServiceImpl;
+import com.diagbot.util.RespDTOUtil;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.DiagnosesFindVO;
+import com.diagbot.vo.KlDiagnoseByIdVO;
+import com.diagbot.vo.KlDiagnoseClearVO;
+import com.diagbot.vo.KlDiagnoseInfoVO;
+import com.diagbot.vo.KlDiagnoseSatarDisVO;
+import com.diagbot.vo.KlDiagnoseSaveVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-23 16:54
+ */
+@Component
+public class KlDiagnoseFacade extends KlDiagnoseServiceImpl {
+    @Autowired
+    CdssCoreClient cdssCoreClient;
+    @Autowired
+    UserServiceClient userServiceClient;
+
+    public Page<KlDiagnoseInfoDTO> getKlDiagnoseInfoPage(KlDiagnoseInfoVO klDiagnoseInfoVO) {
+        RespDTO<Page<KlDiagnoseInfoDTO>> diagnosePages = cdssCoreClient.getDiagnosePages(klDiagnoseInfoVO);
+        RespDTOUtil.respNGDeal(diagnosePages, "获取分页获取诊断依据列表数据失败");
+        Page<KlDiagnoseInfoDTO> records = diagnosePages.data;
+        List<String> userIds = records.getRecords().stream()
+                .map(i -> i.getModifier()).distinct().collect(Collectors.toList());
+        RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(userIds);
+        RespDTOUtil.respNGDealCover(respDTO, "获取用户信息失败");
+        records.getRecords().forEach(i -> {
+            i.setModifierName(respDTO.data.get(i.getModifier()));
+        });
+        return records;
+
+    }
+
+    public List<KlDiagnoseTypeDTO> getByIdDiagnoseAll(KlDiagnoseByIdVO klDiagnoseByIdVO) {
+        RespDTO<List<KlDiagnoseTypeDTO>> byIdDiagnoseAll = cdssCoreClient.getByIdDiagnoseAll(klDiagnoseByIdVO);
+        RespDTOUtil.respNGDeal(byIdDiagnoseAll, "根据Id获取诊断依据详情数据失败");
+        return byIdDiagnoseAll.data;
+    }
+
+
+    public Boolean saveDiagnoseAll(KlDiagnoseSaveVO klDiagnoseSaveVO) {
+        klDiagnoseSaveVO.setModifier(UserUtils.getCurrentPrincipleID());
+        RespDTO<Boolean> booleanRespDTO = cdssCoreClient.saveDiagnoseAll(klDiagnoseSaveVO);
+        RespDTOUtil.respNGDeal(booleanRespDTO, "保存诊断依据数据失败");
+        return booleanRespDTO.data;
+    }
+
+    public Boolean clearDiagnoseAll(KlDiagnoseClearVO klDiagnoseClearVO) {
+        RespDTO<Boolean> booleanRespDTO = cdssCoreClient.clearDiagnoseAll(klDiagnoseClearVO);
+        RespDTOUtil.respNGDeal(booleanRespDTO, "删除诊断依据失败");
+        return booleanRespDTO.data;
+    }
+
+    public Boolean disableDiagnose(KlDiagnoseSatarDisVO klDiagnoseSatarDisVO) {
+        klDiagnoseSatarDisVO.setModifier(UserUtils.getCurrentPrincipleID());
+        RespDTO<Boolean> booleanRespDTO = cdssCoreClient.disableDiagnoses(klDiagnoseSatarDisVO);
+        RespDTOUtil.respNGDeal(booleanRespDTO, "停用诊断依据失败");
+        return booleanRespDTO.data;
+
+    }
+
+    public Boolean startKlDiagnoses(KlDiagnoseSatarDisVO klDiagnoseSatarDisVO) {
+        klDiagnoseSatarDisVO.setModifier(UserUtils.getCurrentPrincipleID());
+        RespDTO<Boolean> booleanRespDTO = cdssCoreClient.startKlDiagnoses(klDiagnoseSatarDisVO);
+        RespDTOUtil.respNGDeal(booleanRespDTO, "启用诊断依据失败");
+        return booleanRespDTO.data;
+    }
+
+    public List<DiagnosesFindDTO> findDiaNameAlls(DiagnosesFindVO diagnosesFindVO) {
+        RespDTO<List<DiagnosesFindDTO>> booleanRespDTO = cdssCoreClient.findDiaNameAll(diagnosesFindVO);
+        RespDTOUtil.respNGDeal(booleanRespDTO, "搜索未添加的诊断依据术语名失败");
+        return booleanRespDTO.data;
+    }
+}

+ 16 - 0
cdssman-service/src/main/java/com/diagbot/mapper/KlDiagnoseBaseMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.KlDiagnoseBase;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 诊断依据基础表 Mapper 接口
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2021-03-31
+ */
+public interface KlDiagnoseBaseMapper extends BaseMapper<KlDiagnoseBase> {
+
+}

+ 16 - 0
cdssman-service/src/main/java/com/diagbot/mapper/KlDiagnoseMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.KlDiagnose;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 诊断依据信息表 Mapper 接口
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2021-03-31
+ */
+public interface KlDiagnoseMapper extends BaseMapper<KlDiagnose> {
+
+}

+ 16 - 0
cdssman-service/src/main/java/com/diagbot/service/KlDiagnoseBaseService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.KlDiagnoseBase;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 诊断依据基础表 服务类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2021-03-31
+ */
+public interface KlDiagnoseBaseService extends IService<KlDiagnoseBase> {
+
+}

+ 16 - 0
cdssman-service/src/main/java/com/diagbot/service/KlDiagnoseService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.KlDiagnose;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 诊断依据信息表 服务类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2021-03-31
+ */
+public interface KlDiagnoseService extends IService<KlDiagnose> {
+
+}

+ 22 - 0
cdssman-service/src/main/java/com/diagbot/service/impl/KlDiagnoseBaseServiceImpl.java

@@ -0,0 +1,22 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.diagbot.entity.KlDiagnoseBase;
+import com.diagbot.mapper.KlDiagnoseBaseMapper;
+import com.diagbot.service.KlDiagnoseBaseService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 诊断依据基础表 服务实现类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2021-03-31
+ */
+@Service
+@DS("med")
+public class KlDiagnoseBaseServiceImpl extends ServiceImpl<KlDiagnoseBaseMapper, KlDiagnoseBase> implements KlDiagnoseBaseService {
+
+}

+ 22 - 0
cdssman-service/src/main/java/com/diagbot/service/impl/KlDiagnoseServiceImpl.java

@@ -0,0 +1,22 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.diagbot.entity.KlDiagnose;
+import com.diagbot.mapper.KlDiagnoseMapper;
+import com.diagbot.service.KlDiagnoseService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 诊断依据信息表 服务实现类
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2021-03-31
+ */
+@Service
+@DS("med")
+public class KlDiagnoseServiceImpl extends ServiceImpl<KlDiagnoseMapper, KlDiagnose> implements KlDiagnoseService {
+
+}

+ 20 - 0
cdssman-service/src/main/java/com/diagbot/vo/DiagnosesFindVO.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-29 11:05
+ */
+@Setter
+@Getter
+public class DiagnosesFindVO {
+    @ApiModelProperty(value="名称")
+    @NotBlank(message = "请输入搜索名称")
+    private String diseaseName;
+}

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseByIdVO.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-19 15:27
+ */
+@Setter
+@Getter
+public class KlDiagnoseByIdVO {
+
+    @NotNull(message = "请输入id")
+    private Long id;
+}

+ 18 - 0
cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseClearVO.java

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-19 17:03
+ */
+@Setter
+@Getter
+public class KlDiagnoseClearVO {
+    @NotNull(message = "请输id")
+    private Long id;
+}

+ 63 - 0
cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseDetailVO.java

@@ -0,0 +1,63 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-23 9:45
+ */
+@Setter
+@Getter
+public class KlDiagnoseDetailVO {
+    /**
+     * 描述
+     */
+    private String basDescription;
+    private Long basConceptId;
+    private String basLibName;
+    private Integer basLibType;
+    private String basLename;
+    /**
+     * 基础规则类型(1:等于术语本身;2:存在比较;3:不等于术语本身;)
+     */
+    private Integer basType;
+    /**
+     * 最小域比较符
+     */
+    private String minOperator;
+    /**
+     * 最小域值
+     */
+    private String minVal;
+
+    /**
+     * 最小域单位
+     */
+    private String minUnit;
+    /**
+     * 最大域比较符
+     */
+    private String maxOperator;
+    /**
+     * 最大域值
+     */
+    private String maxVal;
+    /**
+     * 最大域单位
+     */
+    private String maxUnit;
+    /**
+     * 等于域比较符
+     */
+    private String eqOperator;
+    /**
+     * 等于域值
+     */
+    private String eqValue;
+    /**
+     * 等于域单位
+     */
+    private String eqUnit;
+}

+ 32 - 0
cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseGroupVO.java

@@ -0,0 +1,32 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-23 9:43
+ */
+@Setter
+@Getter
+public class KlDiagnoseGroupVO {
+    /**
+     * 基础规则组别(condition_type为1:基础条件;2:拟诊条件;3:确诊条件;4:警惕条件都有效)
+     */
+    private Integer baseGroup;
+    /**
+     * 满足的条件
+     */
+    private Integer fitNo;
+    /**
+     * 上一级的组别
+     */
+    private Integer conditionGroup;
+    /**
+     * 组别里的明细
+     */
+    List<KlDiagnoseDetailVO> klDiagnoseDetail;
+}

+ 26 - 0
cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseInfoVO.java

@@ -0,0 +1,26 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-19 15:25
+ */
+@Setter
+@Getter
+public class KlDiagnoseInfoVO extends Page {
+    /**
+     * 描述
+     */
+    private String description;
+
+    /**
+     * 启用状态(0:禁用,1:启用)
+     */
+    private Integer status;
+
+    private String conceptName;
+}

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseSatarDisVO.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-19 17:02
+ */
+@Setter
+@Getter
+public class KlDiagnoseSatarDisVO {
+    @NotNull(message = "请输id")
+    private Long id;
+    private String modifier;
+}

+ 31 - 0
cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseSaveVO.java

@@ -0,0 +1,31 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-22 17:10
+ */
+@Setter
+@Getter
+public class KlDiagnoseSaveVO {
+    private Long id;
+    /**
+     * 疾病概念id
+     */
+    private Long conceptId;
+    /**
+     * 描述
+     */
+    private String description;
+
+    private String modifier;
+
+    List<KlDiagnoseTypeVO> klDiagnoseTypeVO;
+
+
+}

+ 28 - 0
cdssman-service/src/main/java/com/diagbot/vo/KlDiagnoseTypeVO.java

@@ -0,0 +1,28 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-23 9:41
+ */
+@Setter
+@Getter
+public class KlDiagnoseTypeVO {
+
+    /**
+     * 条件类型名
+     */
+    private String conditionTypeName;
+    /**
+     * 条件类型(1:基础条件;2:拟诊条件;3:确诊条件;4:警惕条件)
+     */
+    private Integer conditionType;
+
+    List<KlDiagnoseGroupVO> groupVO;
+
+}

+ 10 - 1
cdssman-service/src/main/java/com/diagbot/web/CacheController.java

@@ -54,7 +54,7 @@ public class CacheController {
         return RespDTO.onSuc(true);
     }
 
-    @ApiOperation(value = "重新加载标准词及规则、药物缓存[by:wangfeng]",
+    @ApiOperation(value = "重新加载标准词及规则、药物缓存、基础诊断依据[by:wangfeng]",
             notes = "")
     @PostMapping("/clearStandRuleDrug")
     @SysLogger("clearStandRuleDrug")
@@ -62,4 +62,13 @@ public class CacheController {
         cacheFacade.clearStandRuleDrugAll();
         return RespDTO.onSuc(true);
     }
+
+    @ApiOperation(value = "重新加载医学知识库中的所有去重的基础诊断依据[by:gaodm]",
+            notes = "")
+    @PostMapping("/reloadDiagnose")
+    @SysLogger("reloadDiagnose")
+    public RespDTO<Boolean> reloadDiagnose() {
+        cacheFacade.reloadDiagnose();
+        return RespDTO.onSuc(true);
+    }
 }

+ 95 - 0
cdssman-service/src/main/java/com/diagbot/web/KlDiagnoseController.java

@@ -0,0 +1,95 @@
+package com.diagbot.web;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.DiagnosesFindDTO;
+import com.diagbot.dto.KlDiagnoseInfoDTO;
+import com.diagbot.dto.KlDiagnoseTypeDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.enums.StatusEnum;
+import com.diagbot.facade.KlDiagnoseFacade;
+import com.diagbot.vo.DiagnosesFindVO;
+import com.diagbot.vo.KlDiagnoseByIdVO;
+import com.diagbot.vo.KlDiagnoseClearVO;
+import com.diagbot.vo.KlDiagnoseInfoVO;
+import com.diagbot.vo.KlDiagnoseSatarDisVO;
+import com.diagbot.vo.KlDiagnoseSaveVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-19 14:52
+ */
+@RestController
+@RequestMapping("/klDiagnose")
+@Api(value = "诊断依据维护相关API", tags = { "诊断依据维护相关API" })
+@SuppressWarnings("unchecked")
+public class KlDiagnoseController {
+    @Autowired
+    KlDiagnoseFacade klDiagnoseFacade;
+
+    @ApiOperation(value = "分页获取诊断依据维护列表[by:wangfeng]")
+    @PostMapping("/getDiagnosePage")
+    @SysLogger("getDiagnosePage")
+    public RespDTO<Page<KlDiagnoseInfoDTO>> getDiagnosePages(@RequestBody KlDiagnoseInfoVO klDiagnoseInfoVO) {
+        return RespDTO.onSuc(klDiagnoseFacade.getKlDiagnoseInfoPage(klDiagnoseInfoVO));
+    }
+
+    @ApiOperation(value = "根据Id获取诊断依据详情[by:wangfeng]")
+    @PostMapping("/getByIdDiagnoseAll")
+    @SysLogger("getByIdDiagnoseAll")
+    public RespDTO<List<KlDiagnoseTypeDTO>> getByIdDiagnoseAlls(@RequestBody @Valid KlDiagnoseByIdVO klDiagnoseByIdVO) {
+        return RespDTO.onSuc(klDiagnoseFacade.getByIdDiagnoseAll(klDiagnoseByIdVO));
+    }
+
+    @ApiOperation(value = "保存诊断依据详情[by:wangfeng]")
+    @PostMapping("/saveDiagnoseAll")
+    @SysLogger("saveDiagnoseAll")
+    @Transactional
+    public RespDTO<Boolean> saveDiagnoseAlls(@RequestBody @Valid KlDiagnoseSaveVO klDiagnoseSaveVO) {
+        return RespDTO.onSuc(klDiagnoseFacade.saveDiagnoseAll(klDiagnoseSaveVO));
+    }
+
+    @ApiOperation(value = "刪除诊断依据详情[by:wangfeng]")
+    @PostMapping("/clearDiagnoseAll")
+    @SysLogger("clearDiagnoseAll")
+    @Transactional
+    public RespDTO<Boolean> clearDiagnoseAlls(@RequestBody @Valid KlDiagnoseClearVO klDiagnoseClearVO) {
+        return RespDTO.onSuc(klDiagnoseFacade.clearDiagnoseAll(klDiagnoseClearVO));
+    }
+
+    @ApiOperation(value = "停用诊断依据[by:wangfeng]")
+    @PostMapping("/disableDiagnose")
+    @SysLogger("disableDiagnose")
+    public RespDTO<Boolean> disableDiagnoses(@RequestBody @Valid KlDiagnoseSatarDisVO klDiagnoseSatarDisVO) {
+        return RespDTO.onSuc(klDiagnoseFacade.disableDiagnose(klDiagnoseSatarDisVO));
+    }
+
+    @ApiOperation(value = "启用诊断依据[by:wangfeng]")
+    @PostMapping("/startDiagnose")
+    @SysLogger("startDiagnose")
+    public RespDTO<Boolean> startKlDiagnoses(@RequestBody @Valid KlDiagnoseSatarDisVO klDiagnoseSatarDisVO) {
+        return RespDTO.onSuc(klDiagnoseFacade.startKlDiagnoses(klDiagnoseSatarDisVO));
+    }
+
+    @ApiOperation(value = "搜索未添加的诊断依据术语名[by:wangfeng]",
+            notes = "diseaseName:疾病医学术语名称 <br>")
+    @PostMapping("/findDiaName")
+    @SysLogger("findDiaName")
+    public RespDTO<DiagnosesFindDTO> findDiaNames(@Valid @RequestBody DiagnosesFindVO diagnosesFindVO) {
+        List<DiagnosesFindDTO> klConcepts = klDiagnoseFacade.findDiaNameAlls(diagnosesFindVO);
+        return RespDTO.onSuc(klConcepts);
+    }
+}

+ 28 - 0
cdssman-service/src/main/resources/mapper/KlDiagnoseBaseMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.KlDiagnoseBaseMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.KlDiagnoseBase">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="concept_id" property="conceptId" />
+        <result column="description" property="description" />
+        <result column="type" property="type" />
+        <result column="min_operator" property="minOperator" />
+        <result column="min_value" property="minValue" />
+        <result column="min_unit" property="minUnit" />
+        <result column="max_operator" property="maxOperator" />
+        <result column="max_value" property="maxValue" />
+        <result column="max_unit" property="maxUnit" />
+        <result column="eq_operator" property="eqOperator" />
+        <result column="eq_value" property="eqValue" />
+        <result column="eq_unit" property="eqUnit" />
+        <result column="status" property="status" />
+    </resultMap>
+
+</mapper>

+ 18 - 0
cdssman-service/src/main/resources/mapper/KlDiagnoseMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.KlDiagnoseMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.KlDiagnose">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="concept_id" property="conceptId" />
+        <result column="description" property="description" />
+        <result column="status" property="status" />
+    </resultMap>
+
+</mapper>