소스 검색

公共代码

zhoutg 4 년 전
부모
커밋
0488aa71e6
24개의 변경된 파일528개의 추가작업 그리고 184개의 파일을 삭제
  1. 5 14
      cdssman-service/src/main/java/com/diagbot/dto/KlConceptAllDTO.java
  2. 26 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDrugDTO.java
  3. 95 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDrugMappingDTO.java
  4. 4 0
      cdssman-service/src/main/java/com/diagbot/dto/KlDrugRegisterDTO.java
  5. 94 0
      cdssman-service/src/main/java/com/diagbot/dto/KlSymptomDTO.java
  6. 13 35
      cdssman-service/src/main/java/com/diagbot/facade/KlConceptFacade.java
  7. 3 3
      cdssman-service/src/main/java/com/diagbot/facade/KlDiseaseFacade.java
  8. 47 49
      cdssman-service/src/main/java/com/diagbot/facade/KlDrugFacade.java
  9. 29 34
      cdssman-service/src/main/java/com/diagbot/facade/KlDrugMappingFacade.java
  10. 44 17
      cdssman-service/src/main/java/com/diagbot/facade/KlDrugRegisterFacade.java
  11. 55 0
      cdssman-service/src/main/java/com/diagbot/facade/KlSymptomFacade.java
  12. 9 0
      cdssman-service/src/main/java/com/diagbot/mapper/KlDrugRegisterMapper.java
  13. 9 0
      cdssman-service/src/main/java/com/diagbot/service/KlDrugRegisterService.java
  14. 15 0
      cdssman-service/src/main/java/com/diagbot/service/impl/KlDrugRegisterServiceImpl.java
  15. 2 7
      cdssman-service/src/main/java/com/diagbot/vo/KlConceptSaveVO.java
  16. 0 5
      cdssman-service/src/main/java/com/diagbot/vo/KlDiseaseVO.java
  17. 29 0
      cdssman-service/src/main/java/com/diagbot/vo/KlDrugMappingGetVO.java
  18. 2 2
      cdssman-service/src/main/java/com/diagbot/vo/KlDrugRegisterPageVO.java
  19. 5 0
      cdssman-service/src/main/java/com/diagbot/vo/KlDrugRegisterSaveVO.java
  20. 6 5
      cdssman-service/src/main/java/com/diagbot/vo/KlDrugMappingVO.java
  21. 0 5
      cdssman-service/src/main/java/com/diagbot/vo/KlSymptomVO.java
  22. 0 7
      cdssman-service/src/main/resources/mapper/KlConceptMapper.xml
  23. 34 1
      cdssman-service/src/main/resources/mapper/KlDrugRegisterMapper.xml
  24. 2 0
      docs/041.20210511知识库扩展/knowledgeExt_init.sql

+ 5 - 14
cdssman-service/src/main/java/com/diagbot/dto/KlConceptAllDTO.java

@@ -1,6 +1,5 @@
 package com.diagbot.dto;
 
-import com.diagbot.facade.KlVitalResFacade;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -27,25 +26,17 @@ public class KlConceptAllDTO {
     private Integer isHasCommon;
     private Double minAge;
     private Double maxAge;
-//    private Double minVal;
-//    private Double maxVal;
-//    private String unit;
-//    private Integer scopeType;
-    private String icdCode;
     private String remark;
-    private Integer drug;
-    private Long deptId;
-    private String deptName;
     private List<KlConceptAllSubDTO> klConceptSub;
 
     // 疾病扩展信息
     private KlDiseaseDTO klDiseaseDTO;
 
-    // // 药品通用名与注册名扩展信息
-    // private KlDrugMappingVO klDrugMappingVO;
-    //
-    // // 症状扩展信息
-    // private KlSymptomVO klSymptomVO;
+    // 药品扩展信息
+    private KlDrugDTO klDrugDTO;
+
+    // 症状扩展信息
+    private KlSymptomDTO klSymptomDTO;
 
     //化验扩展信息
     private KlLisDTO klLisDTO;

+ 26 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDrugDTO.java

@@ -0,0 +1,26 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 药品
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Data
+public class KlDrugDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    // 药品类别(0:西药,1:中成药)
+    private Integer drug;
+
+    // 通用药品名关联注册药品
+    // private List<KlDrugMappingDTO> klDrugMappingDTOList = Lists.newLinkedList();
+
+}

+ 95 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDrugMappingDTO.java

@@ -0,0 +1,95 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 药品注册表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Data
+public class KlDrugMappingDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 药品代码
+     */
+    private String drugCode;
+
+    /**
+     * 注册名称
+     */
+    private String name;
+
+    /**
+     * 英文名称
+     */
+    private String enName;
+
+    /**
+     * 商品名称
+     */
+    private String tradeName;
+
+    /**
+     * 药品剂型
+     */
+    private String form;
+
+    /**
+     * 注册规格
+     */
+    private String specification;
+
+    /**
+     * 最小包装数量
+     */
+    private String minPackQuantity;
+
+    /**
+     * 最小包装单位
+     */
+    private String minPackUnit;
+
+    /**
+     * 药品企业
+     */
+    private String company;
+
+    /**
+     * 批准文号
+     */
+    private String approval;
+
+    /**
+     * 药品本位码
+     */
+    private String standardCode;
+
+    /**
+     * 医保类型
+     */
+    private String insuranceType;
+
+    /**
+     * 医保备注
+     */
+    private String insuranceRemrk;
+
+    /**
+     * 药品类别
+     */
+    private String drugType;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 4 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlDrugRegisterDTO.java

@@ -123,4 +123,8 @@ public class KlDrugRegisterDTO implements Serializable {
      */
     private String remark;
 
+    /**
+     * 药品通用名
+     */
+    private String commonName;
 }

+ 94 - 0
cdssman-service/src/main/java/com/diagbot/dto/KlSymptomDTO.java

@@ -0,0 +1,94 @@
+package com.diagbot.dto;
+
+import com.google.common.collect.Lists;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * <p>
+ * 症状扩展表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-12
+ */
+@Data
+public class KlSymptomDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 术语概念id
+     */
+    private Long conceptId;
+
+    /**
+     * 英文名称
+     */
+    private String enName;
+
+    /**
+     * 定义
+     */
+    private String definition;
+
+    /**
+     * 中西医症状(0:通用,1:西,2:中)
+     */
+    private Integer chWestern;
+
+    /**
+     * 缓解因素
+     */
+    private String mitigatingFac;
+
+    /**
+     * 加重因素
+     */
+    private String aggravateFac;
+
+    /**
+     * 症状起因
+     */
+    private String cause;
+
+    /**
+     * 常见疾病
+     */
+    private String commonDis;
+
+    /**
+     * 预防措施
+     */
+    private String preMeasures;
+
+    /**
+     * 饮食禁忌
+     */
+    private String foodProhibition;
+
+    /**
+     * 通俗解释
+     */
+    private String commonExplain;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    // 科室列表
+    private List<KlConceptSimDTO> deptList = Lists.newLinkedList();
+
+    // 部位列表
+    private List<KlConceptSimDTO> partList = Lists.newLinkedList();
+
+    // 常见伴随症状列表
+    private List<KlConceptSimDTO> conSymptomList = Lists.newLinkedList();
+
+    // 性质列表
+    private List<KlConceptSimDTO> natureList = Lists.newLinkedList();
+
+}

+ 13 - 35
cdssman-service/src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -52,7 +52,6 @@ import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
@@ -162,21 +161,14 @@ public class KlConceptFacade extends KlConceptServiceImpl {
      * @return
      */
     public KlConceptAllDTO getConceptAlls(KlConceptAllVO klConceptAllVO) {
-        //获取科室;
-        QueryWrapper<KlConcept> klConceptQuer = new QueryWrapper<>();
-        klConceptQuer.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("lib_type", LexiconEnum.Dept.getKey());
-        List<KlConcept> klConceptsDept = list(klConceptQuer);
-        Map<Long, String> deptMap = klConceptsDept.stream().collect(HashMap::new,
-                (m, v) -> m.put(v.getId(), v.getLibName()), HashMap::putAll);
+        Long conceptId = klConceptAllVO.getConceptId();
         List<KlConceptAllDTO> conceptAll = getConceptAll(klConceptAllVO);
+
         KlConceptAllDTO klConceptAll = new KlConceptAllDTO();
         List<KlConceptAllSubDTO> klConceptSub = new ArrayList<>();
         if (ListUtil.isNotEmpty(conceptAll)) {
             for (KlConceptAllDTO data : conceptAll) {
                 if (data.getIsConcept().equals(1)) {
-                    if (null != data.getDeptId()) {
-                        data.setDeptName(deptMap.get(data.getDeptId()));
-                    }
                     BeanUtil.copyProperties(data, klConceptAll);
                 } else {
                     KlConceptAllSubDTO klConceptAllSubDTO = new KlConceptAllSubDTO();
@@ -190,28 +182,30 @@ public class KlConceptFacade extends KlConceptServiceImpl {
         LexiconEnum lexiconEnum = LexiconEnum.getEnum(klConceptAllVO.getLibType());
         if (lexiconEnum != null) {
             ConceptRelationVO conceptRelationVO = new ConceptRelationVO();
-            conceptRelationVO.setConceptId(klConceptAllVO.getConceptId());
+            conceptRelationVO.setConceptId(conceptId);
             switch (lexiconEnum) {
                 case Disease: // 疾病扩展 kl_disease, kl_relation,kl_relation_order
-                    klDiseaseFacade.getKlDisease(klConceptAllVO.getConceptId(), klConceptAll);
+                    klDiseaseFacade.getKlDisease(conceptId, klConceptAll);
                     break;
                 case Symptom: // 症状扩展 kl_symptom, kl_relation,kl_relation_order
+                    klSymptomFacade.getKlSymptom(conceptId, klConceptAll);
                     break;
-                case Medicine: //  药品通用名和注册名映射表 kl_drug_mapping
+                case Medicine: // 药品扩展 kl_drug
+                    klDrugFacade.getKlDrug(conceptId, klConceptAll);
                     break;
                 case LisName:
                 case LisSubName: // 化验扩展 kl_lis
-                    klLisFacade.getKlLis(klConceptAllVO.getConceptId(), klConceptAll);
+                    klLisFacade.getKlLis(conceptId, klConceptAll);
                     break;
                 case PacsName:
                 case PacsSubName: // 辅检扩展 kl_pacs
-                    klPacsFacade.getKlPacs(klConceptAllVO.getConceptId(), klConceptAll);
+                    klPacsFacade.getKlPacs(conceptId, klConceptAll);
                     break;
                 case Operation: // 手术扩展 kl_operation
-                    klOperationFacade.getKlOperation(klConceptAllVO.getConceptId(), klConceptAll);
+                    klOperationFacade.getKlOperation(conceptId, klConceptAll);
                     break;
                 case VitalResult: //体征结果扩展 kl_vital_result, kl_relation,kl_relation_order
-                    klVitalResFacade.getKlVitalResult(klConceptAllVO.getConceptId(), klConceptAll);
+                    klVitalResFacade.getKlVitalResult(conceptId, klConceptAll);
                     break;
             }
         }
@@ -323,14 +317,6 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                 conceptCommon.setGmtModified(now);
                 klConceptCommonFacade.save(conceptCommon);
             }
-
-            //更新kl_lis
-            /*if (null != klConceptSaveVO.getScopeType()) {
-                res = klLisFacade.saveAll(klConceptPare, klConceptSaveVO);
-            }*/
-            if (null != klConceptSaveVO.getDrug()) {
-                res = klDrugFacade.saveAll(klConceptPare, klConceptSaveVO);
-            }
             //增加同义词
             List<KlConceptSaveSubVO> klConceptSub = klConceptSaveVO.getKlConceptSub();
             if (ListUtil.isNotEmpty(klConceptSub)) {
@@ -354,8 +340,8 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                     klSymptomFacade.saveAll(commonParam, klConceptSaveVO.getKlSymptomVO());
                     klRelationFacade.saveKlSymptom(commonParam, klConceptSaveVO.getKlSymptomVO());
                     break;
-                case Medicine: //  药品通用名和注册名映射表 kl_drug_mapping
-                    klDrugMappingFacade.saveAll(commonParam, klConceptSaveVO.getKlDrugMappingVO());
+                case Medicine: //  药品通用名扩展 kl_drug
+                    klDrugFacade.saveKlDrug(commonParam, klConceptSaveVO.getKlDrugVO());
                     break;
                 case LisName:
                 case LisSubName:
@@ -371,7 +357,6 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                 case VitalResult:
                     klRelationFacade.saveKlVitalRes(commonParam, klConceptSaveVO.getKlVitalResultVO());
                     break;
-
             }
         }
         return res;
@@ -403,13 +388,6 @@ public class KlConceptFacade extends KlConceptServiceImpl {
             //当是疾病的时候才保存性别和年龄大小的数据
             res = klConceptCommonFacade.saveOrUpdateAll(klConceptSaveVO);
         }
-        //更新kl_lis
-        /*if (null != klConceptSaveVO.getScopeType()) {
-            res = klLisFacade.saveOrUpdateAll(klConceptSaveVO);
-        }*/
-        if (null != klConceptSaveVO.getDrug()) {
-            klDrugFacade.saveOrUpdateAll(klConceptSaveVO);
-        }
         return res;
     }
 

+ 3 - 3
cdssman-service/src/main/java/com/diagbot/facade/KlDiseaseFacade.java

@@ -221,13 +221,13 @@ public class KlDiseaseFacade extends KlDiseaseServiceImpl {
         conceptRelationVO.setConceptId(conceptId);
         conceptRelationVO.setRelationList(relationIdList);
         Map<Integer, List<KlConceptSimDTO>> map = klConceptFacade.getRelationConceptFac(conceptRelationVO);
-        if (map.get(LexiconEnum.Part.getKey()) != null) {
+        if (map.get(LexiconEnum.Part.getKey()) != null) { // 关联部位
             klDiseaseDTO.setPartList(map.get(LexiconEnum.Part.getKey()));
         }
-        if (map.get(LexiconEnum.Dept.getKey()) != null) {
+        if (map.get(LexiconEnum.Dept.getKey()) != null) { // 关联部位
             klDiseaseDTO.setDeptList(map.get(LexiconEnum.Dept.getKey()));
         }
-        if (map.get(LexiconEnum.DisSysType.getKey()) != null) {
+        if (map.get(LexiconEnum.DisSysType.getKey()) != null) { // 关联诊断系统分类
             klDiseaseDTO.setSystemTypeList(map.get(LexiconEnum.DisSysType.getKey()));
         }
         klConceptAllDTO.setKlDiseaseDTO(klDiseaseDTO);

+ 47 - 49
cdssman-service/src/main/java/com/diagbot/facade/KlDrugFacade.java

@@ -1,18 +1,16 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.diagbot.entity.KlConcept;
+import com.diagbot.dto.KlConceptAllDTO;
+import com.diagbot.dto.KlDrugDTO;
+import com.diagbot.entity.CommonParam;
 import com.diagbot.entity.KlDrug;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.KlDrugServiceImpl;
-import com.diagbot.util.DateUtil;
-import com.diagbot.util.UserUtils;
-import com.diagbot.vo.KlConceptSaveVO;
+import com.diagbot.vo.KlDrugVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.util.Date;
-
 /**
  * @author wangfeng
  * @Description:
@@ -21,55 +19,55 @@ import java.util.Date;
 @Component
 public class KlDrugFacade extends KlDrugServiceImpl {
 
+    @Autowired
+    KlDrugRegisterFacade klDrugRegisterFacade;
 
-    public boolean saveOrUpdateAll(KlConceptSaveVO klConceptSaveVO) {
+    /**
+     * 疾病扩展获取
+     *
+     * @param conceptId
+     * @param klConceptAllDTO
+     */
+    public void getKlDrug(Long conceptId, KlConceptAllDTO klConceptAllDTO) {
+        KlDrugDTO klDrugDTO = new KlDrugDTO();
 
-        Date now = DateUtil.now();
-        boolean res = false;
-        if (null != klConceptSaveVO.getConceptId()) {
-            //校验
-            int countLis = this.count(new QueryWrapper<KlDrug>()
-                    .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("concept_id", klConceptSaveVO.getConceptId()));
-            if (countLis > 0) {
-                UpdateWrapper<KlDrug> klDrugUpdate = new UpdateWrapper<>();
-                klDrugUpdate.eq("is_deleted", IsDeleteEnum.N.getKey())
-                        .eq("concept_id", klConceptSaveVO.getConceptId())
-                        .set("gmt_modified", now)
-                        .set("modifier", UserUtils.getCurrentPrincipleID())
-                        .set("drug", klConceptSaveVO.getDrug());
-                res = this.update(klDrugUpdate);
-            } else {
-                KlDrug klDrug = new KlDrug();
-                klDrug.setConceptId(klConceptSaveVO.getConceptId());
-                klDrug.setDrug(klConceptSaveVO.getDrug());
-                klDrug.setGmtModified(now);
-                klDrug.setModifier(UserUtils.getCurrentPrincipleID());
-                res = this.save(klDrug);
-            }
-        } else {
-            KlDrug klDrug = new KlDrug();
-            klDrug.setConceptId(klConceptSaveVO.getConceptId());
-            klDrug.setDrug(klConceptSaveVO.getDrug());
-            klDrug.setGmtModified(now);
-            klDrug.setModifier(UserUtils.getCurrentPrincipleID());
-            res = this.save(klDrug);
+        // 获取药品类别(0:西药,1:中成药)
+        KlDrug klDrug = this.getOne(new QueryWrapper<KlDrug>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("concept_id", conceptId), false);
+        if (klDrug != null) {
+            klDrugDTO.setDrug(klDrug.getDrug());
         }
 
-        return res;
+        // 获取关联注册药品信息(这里先不展示关联的注册药品)
+        // KlDrugMappingGetVO klDrugMappingGetVO = new KlDrugMappingGetVO();
+        // klDrugMappingGetVO.setDrugConcept(conceptId);
+        // List<KlDrugMappingDTO> klDrugMappingDTOList = klDrugRegisterFacade.getMappingRegister(klDrugMappingGetVO);
+        // klDrugDTO.setKlDrugMappingDTOList(klDrugMappingDTOList);
 
+        klConceptAllDTO.setKlDrugDTO(klDrugDTO);
     }
 
-    public boolean saveAll(KlConcept klConceptPare, KlConceptSaveVO klConceptSaveVO) {
-        Date now = DateUtil.now();
-        KlDrug klDrug = new KlDrug();
-        klDrug.setConceptId(klConceptPare.getId());
-        klDrug.setDrug(klConceptSaveVO.getDrug());
-        klDrug.setCreator(UserUtils.getCurrentPrincipleID());
-        klDrug.setModifier(UserUtils.getCurrentPrincipleID());
-        klDrug.setGmtCreate(now);
-        klDrug.setGmtModified(now);
-        return this.save(klDrug);
+    /**
+     *
+     * @param commonParam
+     * @param klDrugVO
+     */
+    public void saveKlDrug(CommonParam commonParam, KlDrugVO klDrugVO) {
+        // 先删除
+        this.remove(new QueryWrapper<KlDrug>().eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("concept_id", commonParam.getConceptId()));
+
+        if (klDrugVO != null) {
+            KlDrug klDrug = new KlDrug();
+            klDrug.setConceptId(commonParam.getConceptId());
+            klDrug.setDrug(klDrugVO.getDrug());
+            klDrug.setCreator(commonParam.getPerson());
+            klDrug.setModifier(commonParam.getPerson());
+            klDrug.setGmtCreate(commonParam.getNow());
+            klDrug.setGmtModified(commonParam.getNow());
+            this.save(klDrug);
+        }
     }
 
 }

+ 29 - 34
cdssman-service/src/main/java/com/diagbot/facade/KlDrugMappingFacade.java

@@ -1,18 +1,11 @@
 package com.diagbot.facade;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.diagbot.entity.CommonParam;
-import com.diagbot.entity.KlDrugMapping;
 import com.diagbot.service.KlDrugMappingService;
 import com.diagbot.service.impl.KlDrugMappingServiceImpl;
-import com.diagbot.vo.KlDrugMappingVO;
-import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
-
 /**
  * @author zhoutg
  * @Description:
@@ -25,32 +18,34 @@ public class KlDrugMappingFacade extends KlDrugMappingServiceImpl {
     @Qualifier("klDrugMappingServiceImpl")
     KlDrugMappingService klDrugMappingService;
 
-    /**
-     * 保存药品通用名称和注册名称扩展表
-     *
-     * @param commonParam
-     * @param klDrugMappingVO
-     * @return
-     */
-    public void saveAll(CommonParam commonParam, KlDrugMappingVO klDrugMappingVO) {
-        // 先删除药品通用名和注册名关联扩展表
-        this.remove(new QueryWrapper<KlDrugMapping>().eq("drug_concept", commonParam.getConceptId()));
-
-        // 新增关联
-        List<KlDrugMapping> klDrugMappingList = Lists.newLinkedList();
-        if (klDrugMappingVO != null) {
-            for (Long registerId : klDrugMappingVO.getRegisterIdList()) {
-                KlDrugMapping klDrugMapping = new KlDrugMapping();
-                klDrugMapping.setDrugConcept(commonParam.getConceptId());
-                klDrugMapping.setRegisterId(registerId);
-                klDrugMapping.setGmtModified(commonParam.getNow());
-                klDrugMapping.setGmtCreate(commonParam.getNow());
-                klDrugMapping.setCreator(commonParam.getPerson());
-                klDrugMapping.setModifier(commonParam.getPerson());
-                klDrugMappingList.add(klDrugMapping);
-            }
-            klDrugMappingService.saveBatch(klDrugMappingList);
-        }
-    }
+    // /**
+    //  * 保存药品通用名称和注册名称扩展表
+    //  *
+    //  * @param commonParam
+    //  * @param klDrugVO
+    //  * @return
+    //  */
+    // public void saveAll(CommonParam commonParam, KlDrugVO klDrugVO) {
+    //     // 先删除药品通用名和注册名关联扩展表
+    //     this.remove(new QueryWrapper<KlDrugMapping>().eq("drug_concept", commonParam.getConceptId()));
+    //
+    //     // 新增关联
+    //     List<KlDrugMapping> klDrugMappingList = Lists.newLinkedList();
+    //     if (klDrugVO != null) {
+    //         int i = 1;
+    //         for (Long registerId : klDrugVO.getRegisterIdList()) {
+    //             KlDrugMapping klDrugMapping = new KlDrugMapping();
+    //             klDrugMapping.setDrugConcept(commonParam.getConceptId());
+    //             klDrugMapping.setRegisterId(registerId);
+    //             klDrugMapping.setOrderNo(i++);
+    //             klDrugMapping.setGmtModified(commonParam.getNow());
+    //             klDrugMapping.setGmtCreate(commonParam.getNow());
+    //             klDrugMapping.setCreator(commonParam.getPerson());
+    //             klDrugMapping.setModifier(commonParam.getPerson());
+    //             klDrugMappingList.add(klDrugMapping);
+    //         }
+    //         klDrugMappingService.saveBatch(klDrugMappingList);
+    //     }
+    // }
 
 }

+ 44 - 17
cdssman-service/src/main/java/com/diagbot/facade/KlDrugRegisterFacade.java

@@ -2,9 +2,9 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.KlConceptSimDTO;
 import com.diagbot.dto.KlDrugRegisterDTO;
 import com.diagbot.entity.CommonParam;
-import com.diagbot.entity.KlConcept;
 import com.diagbot.entity.KlDrugMapping;
 import com.diagbot.entity.KlDrugRegister;
 import com.diagbot.enums.InsertOrUpdateEnum;
@@ -15,14 +15,15 @@ import com.diagbot.service.impl.KlDrugRegisterServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
-import com.diagbot.util.StringUtil;
 import com.diagbot.util.UserUtils;
+import com.diagbot.vo.KlDrugMappingGetVO;
 import com.diagbot.vo.KlDrugRegisterDelVO;
 import com.diagbot.vo.KlDrugRegisterGetVO;
 import com.diagbot.vo.KlDrugRegisterPageVO;
 import com.diagbot.vo.KlDrugRegisterSaveVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -37,6 +38,8 @@ public class KlDrugRegisterFacade extends KlDrugRegisterServiceImpl {
     @Autowired
     KlDrugMappingFacade klDrugMappingFacade;
     @Autowired
+    KlDrugRegisterFacade klDrugRegisterFacade;
+    @Autowired
     KlConceptFacade klConceptFacade;
     @Autowired
     UserFacade userFacade;
@@ -60,13 +63,13 @@ public class KlDrugRegisterFacade extends KlDrugRegisterServiceImpl {
         }
         BeanUtil.copyProperties(klDrugRegisterSaveVO, klDrugRegister);
         // 重复校验
-        int count = this.count(new QueryWrapper<KlDrugRegister>()
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("drug_code", klDrugRegisterSaveVO.getDrugCode())
-                .ne("id", klDrugRegisterSaveVO.getId() == null ? -1 : klDrugRegisterSaveVO.getId()));
-        if (count > 0) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "药品代码已存在");
-        }
+        // int count = this.count(new QueryWrapper<KlDrugRegister>()
+        //         .eq("is_deleted", IsDeleteEnum.N.getKey())
+        //         .eq("drug_code", klDrugRegisterSaveVO.getDrugCode())
+        //         .ne("id", klDrugRegisterSaveVO.getId() == null ? -1 : klDrugRegisterSaveVO.getId()));
+        // if (count > 0) {
+        //     throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "药品代码已存在");
+        // }
         if (InsertOrUpdateEnum.Insert.getKey() == param.getInsertOrUpdate()) {
             klDrugRegister.setCreator(param.getPerson()); //创建人
             klDrugRegister.setGmtCreate(param.getNow());//创建时间
@@ -74,6 +77,20 @@ public class KlDrugRegisterFacade extends KlDrugRegisterServiceImpl {
         klDrugRegister.setGmtModified(param.getNow());//修改时间
         klDrugRegister.setModifier(param.getPerson());//修改人
         this.saveOrUpdate(klDrugRegister);
+
+        // 保存药品通用名和注册名映射关系
+        klDrugMappingFacade.remove(new QueryWrapper<KlDrugMapping>()
+                .eq("register_id", klDrugRegister.getId()));
+
+        // 保存药品通用
+        KlDrugMapping klDrugMapping = new KlDrugMapping();
+        klDrugMapping.setRegisterId(klDrugRegister.getId());
+        klDrugMapping.setDrugConcept(klDrugRegisterSaveVO.getDrugConceptId());
+        klDrugMapping.setCreator(param.getPerson());
+        klDrugMapping.setModifier(param.getPerson());
+        klDrugMapping.setGmtModified(param.getNow());
+        klDrugMapping.setGmtCreate(param.getNow());
+        klDrugMappingFacade.save(klDrugMapping);
     }
 
     /**
@@ -113,14 +130,16 @@ public class KlDrugRegisterFacade extends KlDrugRegisterServiceImpl {
                 .eq("register_id", klDrugRegisterDelVO.getId()));
         if (ListUtil.isNotEmpty(klDrugMappingList)) {
             List<Long> idList = klDrugMappingList.stream().map(r -> r.getDrugConcept()).collect(Collectors.toList());
-            List<KlConcept> klConceptList = klConceptFacade.list(new QueryWrapper<KlConcept>()
-                    .eq("is_deleted", IsDeleteEnum.N.getKey()).in("id", idList));
-            if (ListUtil.isNotEmpty(klConceptList)) {
-                String errMsg = klConceptList.stream().map(r -> r.getLibName()).distinct().collect(Collectors.joining(","));
-                if (StringUtil.isNotBlank(errMsg)) {
-                    throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "已关联药品通用名:" + errMsg);
-                }
-            }
+            klDrugMappingFacade.remove(new QueryWrapper<KlDrugMapping>().in("register_id", idList));
+            // 校验是否有关联
+            // List<KlConcept> klConceptList = klConceptFacade.list(new QueryWrapper<KlConcept>()
+            //         .eq("is_deleted", IsDeleteEnum.N.getKey()).in("id", idList));
+            // if (ListUtil.isNotEmpty(klConceptList)) {
+            //     String errMsg = klConceptList.stream().map(r -> r.getLibName()).distinct().collect(Collectors.joining(","));
+            //     if (StringUtil.isNotBlank(errMsg)) {
+            //         throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "已关联药品通用名:" + errMsg);
+            //     }
+            // }
         }
         this.remove(new QueryWrapper<KlDrugRegister>().eq("id", klDrugRegisterDelVO.getId()));
     }
@@ -139,6 +158,14 @@ public class KlDrugRegisterFacade extends KlDrugRegisterServiceImpl {
         if (klDrugRegister != null) {
             BeanUtil.copyProperties(klDrugRegister, klDrugRegisterDTO);
         }
+
+        // 获取注册对应的药品通用名
+        KlDrugMappingGetVO klDrugMappingGetVO = new KlDrugMappingGetVO();
+        klDrugMappingGetVO.setRegisterId(klDrugRegister.getId());
+        List<KlConceptSimDTO> klConceptSimDTOList = klDrugRegisterFacade.getMappingDrug(klDrugMappingGetVO);
+        if (ListUtil.isNotEmpty(klConceptSimDTOList)) {
+            klDrugRegisterDTO.setCommonName(klConceptSimDTOList.get(0).getLibName());
+        }
         return klDrugRegisterDTO;
     }
 }

+ 55 - 0
cdssman-service/src/main/java/com/diagbot/facade/KlSymptomFacade.java

@@ -1,13 +1,25 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.KlConceptAllDTO;
+import com.diagbot.dto.KlConceptSimDTO;
+import com.diagbot.dto.KlSymptomDTO;
 import com.diagbot.entity.CommonParam;
 import com.diagbot.entity.KlSymptom;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.LexiconEnum;
+import com.diagbot.enums.RelationLibTypeEnum;
 import com.diagbot.service.impl.KlSymptomServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.vo.ConceptRelationVO;
 import com.diagbot.vo.KlSymptomVO;
+import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * @author zhoutg
  * @Description:
@@ -16,6 +28,9 @@ import org.springframework.stereotype.Component;
 @Component
 public class KlSymptomFacade extends KlSymptomServiceImpl {
 
+    @Autowired
+    KlConceptFacade klConceptFacade;
+
     /**
      * 保存症状扩展表
      *
@@ -37,4 +52,44 @@ public class KlSymptomFacade extends KlSymptomServiceImpl {
         return this.save(klSymptom);
     }
 
+    /**
+     * 疾病扩展获取
+     *
+     * @param conceptId
+     * @param klConceptAllDTO
+     */
+    public void getKlSymptom(Long conceptId, KlConceptAllDTO klConceptAllDTO) {
+        KlSymptom klSymptom = this.getOne(new QueryWrapper<KlSymptom>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("concept_id", conceptId), false);
+        if (klSymptom == null) {
+            return;
+        }
+        KlSymptomDTO klSymptomDTO = new KlSymptomDTO();
+        BeanUtil.copyProperties(klSymptom, klSymptomDTO);
+
+        List<Integer> relationIdList = Lists.newArrayList(
+                RelationLibTypeEnum.relationDept.getKey(),
+                RelationLibTypeEnum.relationPart.getKey(),
+                RelationLibTypeEnum.relationAccSymptom.getKey(),
+                RelationLibTypeEnum.relationNature.getKey()
+        );
+        ConceptRelationVO conceptRelationVO = new ConceptRelationVO();
+        conceptRelationVO.setConceptId(conceptId);
+        conceptRelationVO.setRelationList(relationIdList);
+        Map<Integer, List<KlConceptSimDTO>> map = klConceptFacade.getRelationConceptFac(conceptRelationVO);
+        if (map.get(LexiconEnum.Part.getKey()) != null) { // 关联部位
+            klSymptomDTO.setPartList(map.get(LexiconEnum.Part.getKey()));
+        }
+        if (map.get(LexiconEnum.Dept.getKey()) != null) { // 关联科室
+            klSymptomDTO.setDeptList(map.get(LexiconEnum.Dept.getKey()));
+        }
+        if (map.get(LexiconEnum.Symptom.getKey()) != null) { // 关联伴随症状
+            klSymptomDTO.setConSymptomList(map.get(LexiconEnum.Symptom.getKey()));
+        }
+        if (map.get(LexiconEnum.Nature.getKey()) != null) { // 关联性质
+            klSymptomDTO.setNatureList(map.get(LexiconEnum.Nature.getKey()));
+        }
+        klConceptAllDTO.setKlSymptomDTO(klSymptomDTO);
+    }
 }

+ 9 - 0
cdssman-service/src/main/java/com/diagbot/mapper/KlDrugRegisterMapper.java

@@ -2,10 +2,15 @@ package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.KlConceptSimDTO;
+import com.diagbot.dto.KlDrugMappingDTO;
 import com.diagbot.dto.KlDrugRegisterDTO;
 import com.diagbot.entity.KlDrugRegister;
+import com.diagbot.vo.KlDrugMappingGetVO;
 import com.diagbot.vo.KlDrugRegisterPageVO;
 
+import java.util.List;
+
 /**
  * <p>
  * 药品注册表 Mapper 接口
@@ -17,4 +22,8 @@ import com.diagbot.vo.KlDrugRegisterPageVO;
 public interface KlDrugRegisterMapper extends BaseMapper<KlDrugRegister> {
 
     IPage<KlDrugRegisterDTO> getPage(KlDrugRegisterPageVO klDrugRegisterPageVO);
+
+    List<KlDrugMappingDTO> getMappingRegister(KlDrugMappingGetVO klDrugMappingGetVO);
+
+    List<KlConceptSimDTO> getMappingDrug(KlDrugMappingGetVO klDrugMappingGetVO);
 }

+ 9 - 0
cdssman-service/src/main/java/com/diagbot/service/KlDrugRegisterService.java

@@ -2,10 +2,15 @@ package com.diagbot.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.KlConceptSimDTO;
+import com.diagbot.dto.KlDrugMappingDTO;
 import com.diagbot.dto.KlDrugRegisterDTO;
 import com.diagbot.entity.KlDrugRegister;
+import com.diagbot.vo.KlDrugMappingGetVO;
 import com.diagbot.vo.KlDrugRegisterPageVO;
 
+import java.util.List;
+
 /**
  * <p>
  * 药品注册表 服务类
@@ -17,4 +22,8 @@ import com.diagbot.vo.KlDrugRegisterPageVO;
 public interface KlDrugRegisterService extends IService<KlDrugRegister> {
 
     IPage<KlDrugRegisterDTO> getPage(KlDrugRegisterPageVO klDrugRegisterPageVO);
+
+    List<KlDrugMappingDTO> getMappingRegister(KlDrugMappingGetVO klDrugMappingGetVO);
+
+    List<KlConceptSimDTO> getMappingDrug(KlDrugMappingGetVO klDrugMappingGetVO);
 }

+ 15 - 0
cdssman-service/src/main/java/com/diagbot/service/impl/KlDrugRegisterServiceImpl.java

@@ -3,13 +3,18 @@ package com.diagbot.service.impl;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.KlConceptSimDTO;
+import com.diagbot.dto.KlDrugMappingDTO;
 import com.diagbot.dto.KlDrugRegisterDTO;
 import com.diagbot.entity.KlDrugRegister;
 import com.diagbot.mapper.KlDrugRegisterMapper;
 import com.diagbot.service.KlDrugRegisterService;
+import com.diagbot.vo.KlDrugMappingGetVO;
 import com.diagbot.vo.KlDrugRegisterPageVO;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 药品注册表 服务实现类
@@ -26,4 +31,14 @@ public class KlDrugRegisterServiceImpl extends ServiceImpl<KlDrugRegisterMapper,
     public IPage<KlDrugRegisterDTO> getPage(KlDrugRegisterPageVO klDrugRegisterPageVO) {
         return baseMapper.getPage(klDrugRegisterPageVO);
     }
+
+    @Override
+    public List<KlDrugMappingDTO> getMappingRegister(KlDrugMappingGetVO klDrugMappingGetVO) {
+        return baseMapper.getMappingRegister(klDrugMappingGetVO);
+    }
+
+    @Override
+    public List<KlConceptSimDTO> getMappingDrug(KlDrugMappingGetVO klDrugMappingGetVO) {
+        return baseMapper.getMappingDrug(klDrugMappingGetVO);
+    }
 }

+ 2 - 7
cdssman-service/src/main/java/com/diagbot/vo/KlConceptSaveVO.java

@@ -33,19 +33,14 @@ public class KlConceptSaveVO {
     private Integer isHasCommon;
     private Double minAge;
     private Double maxAge;
-//    private Double minVal;
-//    private Double maxVal;
-//    private String unit;
-//    private Integer scopeType;
     private String remark;
-    private Integer drug;
     private List<KlConceptSaveSubVO> klConceptSub;
 
     // 疾病扩展信息
     private KlDiseaseVO klDiseaseVO;
 
-    // 药品通用名与注册名扩展信息
-    private KlDrugMappingVO klDrugMappingVO;
+    // 药品通用名扩展
+    private KlDrugVO klDrugVO;
 
     // 症状扩展信息
     private KlSymptomVO klSymptomVO;

+ 0 - 5
cdssman-service/src/main/java/com/diagbot/vo/KlDiseaseVO.java

@@ -19,11 +19,6 @@ public class KlDiseaseVO implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    /**
-     * 术语概念id
-     */
-    private Long conceptId;
-
     /**
      * 科室概念id
      */

+ 29 - 0
cdssman-service/src/main/java/com/diagbot/vo/KlDrugMappingGetVO.java

@@ -0,0 +1,29 @@
+package com.diagbot.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 药品通用名和注册药品关联表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Data
+public class KlDrugMappingGetVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 药品通用名conceptId
+     */
+    private Long drugConcept;
+
+    /**
+     * 注册药品Id
+     */
+    private Long registerId;
+}

+ 2 - 2
cdssman-service/src/main/java/com/diagbot/vo/KlDrugRegisterPageVO.java

@@ -87,8 +87,8 @@ public class KlDrugRegisterPageVO extends Page {
     private String insuranceRemrk;
 
     /**
-     * 药品类别
+     * 药品通用名
      */
-    private String drugType;
+    private String commonName;
 
 }

+ 5 - 0
cdssman-service/src/main/java/com/diagbot/vo/KlDrugRegisterSaveVO.java

@@ -96,4 +96,9 @@ public class KlDrugRegisterSaveVO implements Serializable {
      * 备注
      */
     private String remark;
+
+    /**
+     * 药品通用名
+     */
+    private Long drugConceptId;
 }

+ 6 - 5
cdssman-service/src/main/java/com/diagbot/vo/KlDrugMappingVO.java

@@ -1,10 +1,8 @@
 package com.diagbot.vo;
 
-import com.google.common.collect.Lists;
 import lombok.Data;
 
 import java.io.Serializable;
-import java.util.List;
 
 /**
  * <p>
@@ -15,11 +13,14 @@ import java.util.List;
  * @since 2021-05-11
  */
 @Data
-public class KlDrugMappingVO implements Serializable {
+public class KlDrugVO implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    // 药品注册名Id列表
-    private List<Long> registerIdList = Lists.newLinkedList();
+    // 药品类别(0:西药,1:中成药)
+    private Integer drug;
+
+    // // 药品注册名Id列表
+    // private List<Long> registerIdList = Lists.newLinkedList();
 
 }

+ 0 - 5
cdssman-service/src/main/java/com/diagbot/vo/KlSymptomVO.java

@@ -19,11 +19,6 @@ public class KlSymptomVO implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    /**
-     * 术语概念id
-     */
-    private Long conceptId;
-
     /**
      * 英文名称
      */

+ 0 - 7
cdssman-service/src/main/resources/mapper/KlConceptMapper.xml

@@ -72,21 +72,14 @@
         f.sex_type AS sexType,
         f.min_age AS minAge,
         f.max_age AS maxAge,
-        h.dept_id AS deptId,
-        h.icd10_code AS icdCode,
-        dr.drug ,
         a.remark
         FROM
         kl_library_info a
         INNER JOIN kl_concept b
         ON b.id = a.concept_id
-        INNER JOIN kl_concept c
-        ON c.id = a.concept_id
         INNER JOIN kl_lexicon d
         ON b.lib_type = d.code
         LEFT JOIN kl_concept_common f ON f.concept_id = a.concept_id
-        LEFT JOIN kl_disease h ON h.concept_id = a.concept_id
-        LEFT JOIN kl_drug  dr ON dr.concept_id = a.concept_id
         WHERE a.is_deleted = 'N'
         AND b.is_deleted = 'N'
         AND d.is_deleted = 'N'

+ 34 - 1
cdssman-service/src/main/resources/mapper/KlDrugRegisterMapper.xml

@@ -28,8 +28,13 @@
     </resultMap>
 
     <select id="getPage" resultType="com.diagbot.dto.KlDrugRegisterDTO">
-        SELECT a.* FROM `kl_drug_register` a
+        SELECT a.*, c.lib_name commonName FROM `kl_drug_register` a
+        left join kl_drug_mapping b on b.register_id = a.id
+        left join kl_concept c on c.id = b.drug_concept and c.status = 1
         WHERE a.is_deleted = 'N'
+        <if test="commonName != null and commonName != ''">
+            AND c.lib_name like concat ('%', #{commonName}, '%')
+        </if>
         <if test="drugCode != null and drugCode != ''">
             AND a.drug_code like concat ('%', #{drugCode}, '%')
         </if>
@@ -61,4 +66,32 @@
         </if>
         order by a.gmt_modified desc
     </select>
+
+    <select id="getMappingRegister" resultType="com.diagbot.dto.KlDrugMappingDTO" parameterType="com.diagbot.vo.KlDrugMappingGetVO">
+        SELECT
+            b.*
+        FROM
+            `kl_drug_mapping` a,
+            kl_drug_register b
+        WHERE
+            a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        and a.register_id = b.id
+        and a.drug_concept = #{drugConcept}
+        order by a.order_no
+    </select>
+
+    <select id="getMappingDrug" resultType="com.diagbot.dto.KlConceptSimDTO" parameterType="com.diagbot.vo.KlDrugMappingGetVO">
+        SELECT
+            b.*
+        FROM
+            `kl_drug_mapping` a,
+            kl_concept b
+        WHERE
+            a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        and a.drug_concept = b.id
+        and a.register_id = #{registerId}
+        order by a.order_no
+    </select>
 </mapper>

+ 2 - 0
docs/041.20210511知识库扩展/knowledgeExt_init.sql

@@ -7,6 +7,8 @@ INSERT INTO `kl_lexicon_relationship` (`id`, `is_deleted`, `gmt_create`, `gmt_mo
 INSERT INTO `kl_lexicon_relationship` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `name`, `code`, `remark`) VALUES ('13', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '关联部位', '512', '');
 INSERT INTO `kl_lexicon_relationship` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `name`, `code`, `remark`) VALUES ('14', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '关联系统分类', '513', '');
 INSERT INTO `kl_lexicon_relationship` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `name`, `code`, `remark`) VALUES ('15', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '关联伴随症状', '514', '');
+INSERT INTO `kl_lexicon_relationship` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `name`, `code`, `remark`) VALUES ('16', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '关联性质', '515', '');
+
 
 ALTER TABLE `kl_disease` add COLUMN `en_name` varchar(255) not null DEFAULT '' COMMENT '英文名称' AFTER `icd10_code`;
 ALTER TABLE `kl_disease` add COLUMN `en_name_simple` varchar(255) not null DEFAULT '' COMMENT '英文简称' AFTER `icd10_code`;