zhoutg преди 4 години
родител
ревизия
a3b37d1fcf
променени са 17 файла, в които са добавени 1118 реда и са изтрити 106 реда
  1. 19 0
      cdssman-service/src/main/java/com/diagbot/entity/CommonParam.java
  2. 282 26
      cdssman-service/src/main/java/com/diagbot/entity/KlDisease.java
  3. 144 0
      cdssman-service/src/main/java/com/diagbot/entity/KlDrugMapping.java
  4. 300 0
      cdssman-service/src/main/java/com/diagbot/entity/KlDrugRegister.java
  5. 25 11
      cdssman-service/src/main/java/com/diagbot/facade/KlConceptFacade.java
  6. 22 57
      cdssman-service/src/main/java/com/diagbot/facade/KlDiseaseFacade.java
  7. 16 0
      cdssman-service/src/main/java/com/diagbot/mapper/KlDrugMappingMapper.java
  8. 16 0
      cdssman-service/src/main/java/com/diagbot/mapper/KlDrugRegisterMapper.java
  9. 16 0
      cdssman-service/src/main/java/com/diagbot/service/KlDrugMappingService.java
  10. 16 0
      cdssman-service/src/main/java/com/diagbot/service/KlDrugRegisterService.java
  11. 20 0
      cdssman-service/src/main/java/com/diagbot/service/impl/KlDrugMappingServiceImpl.java
  12. 20 0
      cdssman-service/src/main/java/com/diagbot/service/impl/KlDrugRegisterServiceImpl.java
  13. 3 2
      cdssman-service/src/main/java/com/diagbot/vo/KlConceptSaveVO.java
  14. 140 0
      cdssman-service/src/main/java/com/diagbot/vo/KlDiseaseVO.java
  15. 31 10
      cdssman-service/src/main/resources/mapper/KlDiseaseMapper.xml
  16. 18 0
      cdssman-service/src/main/resources/mapper/KlDrugMappingMapper.xml
  17. 30 0
      cdssman-service/src/main/resources/mapper/KlDrugRegisterMapper.xml

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/entity/CommonParam.java

@@ -0,0 +1,19 @@
+package com.diagbot.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @Author: ztg
+ * @Date: 2018/12/14 14:15
+ */
+@Getter
+@Setter
+public class CommonParam {
+    private String person;     //操作人
+    private Date now;          //当前时间
+    private Long conceptId;    //conceptId
+}

+ 282 - 26
cdssman-service/src/main/java/com/diagbot/entity/KlDisease.java

@@ -11,8 +11,8 @@ import java.util.Date;
  * 疾病表
  * </p>
  *
- * @author wangfeng
- * @since 2021-03-01
+ * @author zhoutg
+ * @since 2021-05-11
  */
 public class KlDisease implements Serializable {
 
@@ -54,24 +54,120 @@ public class KlDisease implements Serializable {
      */
     private Long conceptId;
 
+    /**
+     * 科室概念id
+     */
     private Long deptId;
+
     /**
      * ICD10编号
      */
     private String icd10Code;
 
     /**
-     * 备注
+     * 病程
      */
-    private String remark;
+    private String course;
 
-    public Long getDeptId() {
-        return deptId;
-    }
+    /**
+     * 诱因
+     */
+    private String inducement;
 
-    public void setDeptId(Long deptId) {
-        this.deptId = deptId;
-    }
+    /**
+     * 饮食禁忌
+     */
+    private String foodProhibition;
+
+    /**
+     * 危险因素
+     */
+    private String hazard;
+
+    /**
+     * 治愈性
+     */
+    private String healing;
+
+    /**
+     * 危害性
+     */
+    private String pernicious;
+
+    /**
+     * 临床分类
+     */
+    private String clinicType;
+
+    /**
+     * 好发地区
+     */
+    private String vulArea;
+
+    /**
+     * 好发人群
+     */
+    private String vulCrowd;
+
+    /**
+     * 发病率
+     */
+    private Double incidence;
+
+    /**
+     * 是否传染(0:否,1:是)
+     */
+    private Integer isInfect;
+
+    /**
+     * 并发症
+     */
+    private String complication;
+
+    /**
+     * 病因
+     */
+    private String pathogeny;
+
+    /**
+     * 疾病分型
+     */
+    private String disType;
+
+    /**
+     * 中西医疾病(0:通用,1:西,2:中)
+     */
+    private Integer chWestern;
+
+    /**
+     * 是否常见病(0:否,1:是)
+     */
+    private Integer isCommonDis;
+
+    /**
+     * 是否遗传(0:否,1:是)
+     */
+    private Integer isHeredity;
+
+    /**
+     * 简称
+     */
+    private String nameSimple;
+
+    /**
+     * 英文简称
+     */
+    private String enNameSimple;
+
+    /**
+     * 英文名称
+     */
+    private String enName;
+
+    /**
+     * 备注
+     */
+    private String remark;
 
     public Long getId() {
         return id;
@@ -80,7 +176,6 @@ public class KlDisease implements Serializable {
     public void setId(Long id) {
         this.id = id;
     }
-
     public String getIsDeleted() {
         return isDeleted;
     }
@@ -88,7 +183,6 @@ public class KlDisease implements Serializable {
     public void setIsDeleted(String isDeleted) {
         this.isDeleted = isDeleted;
     }
-
     public Date getGmtCreate() {
         return gmtCreate;
     }
@@ -96,7 +190,6 @@ public class KlDisease implements Serializable {
     public void setGmtCreate(Date gmtCreate) {
         this.gmtCreate = gmtCreate;
     }
-
     public Date getGmtModified() {
         return gmtModified;
     }
@@ -104,7 +197,6 @@ public class KlDisease implements Serializable {
     public void setGmtModified(Date gmtModified) {
         this.gmtModified = gmtModified;
     }
-
     public String getCreator() {
         return creator;
     }
@@ -112,7 +204,6 @@ public class KlDisease implements Serializable {
     public void setCreator(String creator) {
         this.creator = creator;
     }
-
     public String getModifier() {
         return modifier;
     }
@@ -120,7 +211,6 @@ public class KlDisease implements Serializable {
     public void setModifier(String modifier) {
         this.modifier = modifier;
     }
-
     public Long getConceptId() {
         return conceptId;
     }
@@ -128,7 +218,13 @@ public class KlDisease implements Serializable {
     public void setConceptId(Long conceptId) {
         this.conceptId = conceptId;
     }
+    public Long getDeptId() {
+        return deptId;
+    }
 
+    public void setDeptId(Long deptId) {
+        this.deptId = deptId;
+    }
     public String getIcd10Code() {
         return icd10Code;
     }
@@ -136,7 +232,146 @@ public class KlDisease implements Serializable {
     public void setIcd10Code(String icd10Code) {
         this.icd10Code = icd10Code;
     }
+    public String getCourse() {
+        return course;
+    }
+
+    public void setCourse(String course) {
+        this.course = course;
+    }
+    public String getInducement() {
+        return inducement;
+    }
+
+    public void setInducement(String inducement) {
+        this.inducement = inducement;
+    }
+    public String getFoodProhibition() {
+        return foodProhibition;
+    }
+
+    public void setFoodProhibition(String foodProhibition) {
+        this.foodProhibition = foodProhibition;
+    }
+    public String getHazard() {
+        return hazard;
+    }
+
+    public void setHazard(String hazard) {
+        this.hazard = hazard;
+    }
+    public String getHealing() {
+        return healing;
+    }
+
+    public void setHealing(String healing) {
+        this.healing = healing;
+    }
+    public String getPernicious() {
+        return pernicious;
+    }
 
+    public void setPernicious(String pernicious) {
+        this.pernicious = pernicious;
+    }
+    public String getClinicType() {
+        return clinicType;
+    }
+
+    public void setClinicType(String clinicType) {
+        this.clinicType = clinicType;
+    }
+    public String getVulArea() {
+        return vulArea;
+    }
+
+    public void setVulArea(String vulArea) {
+        this.vulArea = vulArea;
+    }
+    public String getVulCrowd() {
+        return vulCrowd;
+    }
+
+    public void setVulCrowd(String vulCrowd) {
+        this.vulCrowd = vulCrowd;
+    }
+    public Double getIncidence() {
+        return incidence;
+    }
+
+    public void setIncidence(Double incidence) {
+        this.incidence = incidence;
+    }
+    public Integer getIsInfect() {
+        return isInfect;
+    }
+
+    public void setIsInfect(Integer isInfect) {
+        this.isInfect = isInfect;
+    }
+    public String getComplication() {
+        return complication;
+    }
+
+    public void setComplication(String complication) {
+        this.complication = complication;
+    }
+    public String getPathogeny() {
+        return pathogeny;
+    }
+
+    public void setPathogeny(String pathogeny) {
+        this.pathogeny = pathogeny;
+    }
+    public String getDisType() {
+        return disType;
+    }
+
+    public void setDisType(String disType) {
+        this.disType = disType;
+    }
+    public Integer getChWestern() {
+        return chWestern;
+    }
+
+    public void setChWestern(Integer chWestern) {
+        this.chWestern = chWestern;
+    }
+    public Integer getIsCommonDis() {
+        return isCommonDis;
+    }
+
+    public void setIsCommonDis(Integer isCommonDis) {
+        this.isCommonDis = isCommonDis;
+    }
+    public Integer getIsHeredity() {
+        return isHeredity;
+    }
+
+    public void setIsHeredity(Integer isHeredity) {
+        this.isHeredity = isHeredity;
+    }
+    public String getNameSimple() {
+        return nameSimple;
+    }
+
+    public void setNameSimple(String nameSimple) {
+        this.nameSimple = nameSimple;
+    }
+    public String getEnNameSimple() {
+        return enNameSimple;
+    }
+
+    public void setEnNameSimple(String enNameSimple) {
+        this.enNameSimple = enNameSimple;
+    }
+    public String getEnName() {
+        return enName;
+    }
+
+    public void setEnName(String enName) {
+        this.enName = enName;
+    }
     public String getRemark() {
         return remark;
     }
@@ -148,15 +383,36 @@ public class KlDisease implements Serializable {
     @Override
     public String toString() {
         return "KlDisease{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", conceptId=" + conceptId +
-                ", icd10Code=" + icd10Code +
-                ", remark=" + remark +
-                "}";
+            "id=" + id +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", conceptId=" + conceptId +
+            ", deptId=" + deptId +
+            ", icd10Code=" + icd10Code +
+            ", course=" + course +
+            ", inducement=" + inducement +
+            ", foodProhibition=" + foodProhibition +
+            ", hazard=" + hazard +
+            ", healing=" + healing +
+            ", pernicious=" + pernicious +
+            ", clinicType=" + clinicType +
+            ", vulArea=" + vulArea +
+            ", vulCrowd=" + vulCrowd +
+            ", incidence=" + incidence +
+            ", isInfect=" + isInfect +
+            ", complication=" + complication +
+            ", pathogeny=" + pathogeny +
+            ", disType=" + disType +
+            ", chWestern=" + chWestern +
+            ", isCommonDis=" + isCommonDis +
+            ", isHeredity=" + isHeredity +
+            ", nameSimple=" + nameSimple +
+            ", enNameSimple=" + enNameSimple +
+            ", enName=" + enName +
+            ", remark=" + remark +
+        "}";
     }
 }

+ 144 - 0
cdssman-service/src/main/java/com/diagbot/entity/KlDrugMapping.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 zhoutg
+ * @since 2021-05-11
+ */
+public class KlDrugMapping 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;
+
+    /**
+     * 药品通用名conceptId
+     */
+    private Long drugConcept;
+
+    /**
+     * 药品注册名Id
+     */
+    private Long registerId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    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 getDrugConcept() {
+        return drugConcept;
+    }
+
+    public void setDrugConcept(Long drugConcept) {
+        this.drugConcept = drugConcept;
+    }
+    public Long getRegisterId() {
+        return registerId;
+    }
+
+    public void setRegisterId(Long registerId) {
+        this.registerId = registerId;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "KlDrugMapping{" +
+            "id=" + id +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", drugConcept=" + drugConcept +
+            ", registerId=" + registerId +
+            ", remark=" + remark +
+        "}";
+    }
+}

+ 300 - 0
cdssman-service/src/main/java/com/diagbot/entity/KlDrugRegister.java

@@ -0,0 +1,300 @@
+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 zhoutg
+ * @since 2021-05-11
+ */
+public class KlDrugRegister 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;
+
+    /**
+     * 药品代码
+     */
+    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;
+
+    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 String getDrugCode() {
+        return drugCode;
+    }
+
+    public void setDrugCode(String drugCode) {
+        this.drugCode = drugCode;
+    }
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    public String getEnName() {
+        return enName;
+    }
+
+    public void setEnName(String enName) {
+        this.enName = enName;
+    }
+    public String getTradeName() {
+        return tradeName;
+    }
+
+    public void setTradeName(String tradeName) {
+        this.tradeName = tradeName;
+    }
+    public String getForm() {
+        return form;
+    }
+
+    public void setForm(String form) {
+        this.form = form;
+    }
+    public String getSpecification() {
+        return specification;
+    }
+
+    public void setSpecification(String specification) {
+        this.specification = specification;
+    }
+    public String getMinPackQuantity() {
+        return minPackQuantity;
+    }
+
+    public void setMinPackQuantity(String minPackQuantity) {
+        this.minPackQuantity = minPackQuantity;
+    }
+    public String getMinPackUnit() {
+        return minPackUnit;
+    }
+
+    public void setMinPackUnit(String minPackUnit) {
+        this.minPackUnit = minPackUnit;
+    }
+    public String getCompany() {
+        return company;
+    }
+
+    public void setCompany(String company) {
+        this.company = company;
+    }
+    public String getApproval() {
+        return approval;
+    }
+
+    public void setApproval(String approval) {
+        this.approval = approval;
+    }
+    public String getStandardCode() {
+        return standardCode;
+    }
+
+    public void setStandardCode(String standardCode) {
+        this.standardCode = standardCode;
+    }
+    public String getInsuranceType() {
+        return insuranceType;
+    }
+
+    public void setInsuranceType(String insuranceType) {
+        this.insuranceType = insuranceType;
+    }
+    public String getInsuranceRemrk() {
+        return insuranceRemrk;
+    }
+
+    public void setInsuranceRemrk(String insuranceRemrk) {
+        this.insuranceRemrk = insuranceRemrk;
+    }
+    public String getDrugType() {
+        return drugType;
+    }
+
+    public void setDrugType(String drugType) {
+        this.drugType = drugType;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "KlDrugRegister{" +
+            "id=" + id +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", drugCode=" + drugCode +
+            ", name=" + name +
+            ", enName=" + enName +
+            ", tradeName=" + tradeName +
+            ", form=" + form +
+            ", specification=" + specification +
+            ", minPackQuantity=" + minPackQuantity +
+            ", minPackUnit=" + minPackUnit +
+            ", company=" + company +
+            ", approval=" + approval +
+            ", standardCode=" + standardCode +
+            ", insuranceType=" + insuranceType +
+            ", insuranceRemrk=" + insuranceRemrk +
+            ", drugType=" + drugType +
+            ", remark=" + remark +
+        "}";
+    }
+}

+ 25 - 11
cdssman-service/src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -9,6 +9,7 @@ import com.diagbot.dto.KlConceptAllDTO;
 import com.diagbot.dto.KlConceptAllSubDTO;
 import com.diagbot.dto.KlConceptInfoDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.CommonParam;
 import com.diagbot.entity.KlConcept;
 import com.diagbot.entity.KlConceptCommon;
 import com.diagbot.entity.KlConceptStatic;
@@ -179,6 +180,8 @@ public class KlConceptFacade extends KlConceptServiceImpl {
      */
     public Boolean saveConceptInfo(KlConceptSaveVO klConceptSaveVO) {
         Date now = DateUtil.now();
+
+        CommonParam commonParam = initCommonParam();
         boolean res = false;
         // 校验名称是否相同
         checkConcept(klConceptSaveVO);
@@ -191,6 +194,7 @@ public class KlConceptFacade extends KlConceptServiceImpl {
         klLibraryInfoFacade.checkLibraryInfoData(paesubVO);
         //先判断是新加的,还是修改
         if (null != klConceptSaveVO.getConceptId() && null != klConceptSaveVO.getLibId()) {
+            commonParam.setConceptId(klConceptSaveVO.getConceptId());
             //更新标准词
             res = updateAll(klConceptSaveVO);
             //更新同义词
@@ -237,11 +241,12 @@ public class KlConceptFacade extends KlConceptServiceImpl {
             klConceptPare.setGmtCreate(now);
             klConceptPare.setGmtModified(now);
             res = save(klConceptPare);
+            commonParam.setConceptId(klConceptPare.getId()); // 赋值conceptId
             if (res) {
                 //2.再把标准词d的conceptId保存到kl_library_info表 生成libId,
                 Long conceptId = klConceptPare.getId();
                 KlLibraryInfo klLibraryInfoSub = new KlLibraryInfo();
-                klLibraryInfoSub.setConceptId(conceptId);
+                klLibraryInfoSub.setConceptId(commonParam.getConceptId());
                 klLibraryInfoSub.setName(klConceptSaveVO.getLibName());
                 klLibraryInfoSub.setSpell(klConceptSaveVO.getSpell());
                 klLibraryInfoSub.setTypeId(klConceptSaveVO.getLibType());
@@ -274,10 +279,6 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                 conceptCommon.setGmtModified(now);
                 klConceptCommonFacade.save(conceptCommon);
             }
-            //更新kl_disease
-            if (null != klConceptSaveVO.getIcdCode()) {
-                res = klDiseaseFacade.saveAll(klConceptPare, klConceptSaveVO);
-            }
 
             //更新kl_lis
             if (null != klConceptSaveVO.getScopeType()) {
@@ -298,9 +299,14 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                     }
                 }
             }
+        }
 
-
+        // 更新疾病扩展表 kl_disease
+        if (LexiconEnum.Disease.getKey() == klConceptSaveVO.getLibType().intValue()) {
+            res = klDiseaseFacade.saveAll(commonParam, klConceptSaveVO.getKlDiseaseVO());
         }
+
+
         return res;
     }
 
@@ -330,11 +336,6 @@ public class KlConceptFacade extends KlConceptServiceImpl {
             //当是疾病的时候才保存性别和年龄大小的数据
             res = klConceptCommonFacade.saveOrUpdateAll(klConceptSaveVO);
         }
-        //更新kl_disease
-        if (null != klConceptSaveVO.getIcdCode()) {
-            //当icd10编码不为空
-            res = klDiseaseFacade.saveOrUpdateAll(klConceptSaveVO);
-        }
         //更新kl_lis
         if (null != klConceptSaveVO.getScopeType()) {
             res = klLisFacade.saveOrUpdateAll(klConceptSaveVO);
@@ -526,4 +527,17 @@ public class KlConceptFacade extends KlConceptServiceImpl {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "医学标准术语名称已存在同义词");
         }
     }
+
+    /**
+     * 初始化参数
+     *
+     * @return
+     */
+    public CommonParam initCommonParam() {
+        CommonParam param = new CommonParam();
+        String person = UserUtils.getCurrentPrincipleID();
+        param.setNow(DateUtil.now());
+        param.setPerson(person);
+        return param;
+    }
 }

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

@@ -1,7 +1,6 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.DiseaseAllDetailDTO;
@@ -10,6 +9,7 @@ import com.diagbot.dto.DiseasePageDTO;
 import com.diagbot.dto.DiseaseSubDetailDTO;
 import com.diagbot.dto.DiseaseTreeDetailDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.CommonParam;
 import com.diagbot.entity.KlConcept;
 import com.diagbot.entity.KlDisease;
 import com.diagbot.entity.KlLexiconRelationship;
@@ -17,16 +17,15 @@ import com.diagbot.enums.DiseaseRelationTypeEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.RelationLibTypeEnum;
 import com.diagbot.service.impl.KlDiseaseServiceImpl;
-import com.diagbot.util.DateUtil;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
-import com.diagbot.util.UserUtils;
 import com.diagbot.vo.DiseaseDeleteVO;
 import com.diagbot.vo.DiseasePageVO;
 import com.diagbot.vo.GetDiseaseDetailVO;
-import com.diagbot.vo.KlConceptSaveVO;
+import com.diagbot.vo.KlDiseaseVO;
 import com.google.common.collect.Maps;
 import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.compress.utils.Lists;
@@ -35,7 +34,6 @@ import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -172,58 +170,25 @@ public class KlDiseaseFacade extends KlDiseaseServiceImpl {
         return diseaseTreeDetailDTO;
     }
 
-
-    public boolean saveOrUpdateAll(KlConceptSaveVO klConceptSaveVO) {
-        Date now = DateUtil.now();
-        boolean res = false;
-        if (null != klConceptSaveVO.getConceptId()) {
-            //校验
-            int countLis = this.count(new QueryWrapper<KlDisease>()
-                    .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("concept_id", klConceptSaveVO.getConceptId()));
-            if (countLis > 0) {
-                UpdateWrapper<KlDisease> klDiseaseQuerySub = new UpdateWrapper<>();
-                klDiseaseQuerySub.eq("is_deleted", IsDeleteEnum.N.getKey())
-                        .eq("concept_id", klConceptSaveVO.getConceptId())
-                        .set("gmt_modified", now)
-                        .set("modifier", UserUtils.getCurrentPrincipleID())
-                        .set("dept_id", klConceptSaveVO.getDeptId())
-                        .set(StringUtil.isNotBlank(klConceptSaveVO.getIcdCode()), "icd10_code", klConceptSaveVO.getIcdCode());
-                res = this.update(new KlDisease(), klDiseaseQuerySub);
-            } else {
-                KlDisease kllDiseaseSub = new KlDisease();
-                kllDiseaseSub.setConceptId(klConceptSaveVO.getConceptId());
-                kllDiseaseSub.setGmtModified(now);
-                kllDiseaseSub.setDeptId(klConceptSaveVO.getDeptId());
-                kllDiseaseSub.setModifier(UserUtils.getCurrentPrincipleID());
-                kllDiseaseSub.setIcd10Code(klConceptSaveVO.getIcdCode());
-                res = this.save(kllDiseaseSub);
-            }
-
-        } else {
-            KlDisease kllDiseaseSub = new KlDisease();
-            kllDiseaseSub.setConceptId(klConceptSaveVO.getConceptId());
-            kllDiseaseSub.setGmtModified(now);
-            kllDiseaseSub.setDeptId(klConceptSaveVO.getDeptId());
-            kllDiseaseSub.setModifier(UserUtils.getCurrentPrincipleID());
-            kllDiseaseSub.setIcd10Code(klConceptSaveVO.getIcdCode());
-            res = this.save(kllDiseaseSub);
-        }
-        return res;
-    }
-
-    public boolean saveAll(KlConcept klConceptPare, KlConceptSaveVO klConceptSaveVO) {
-        Date now = DateUtil.now();
-        KlDisease kllDiseaseSub = new KlDisease();
-        kllDiseaseSub.setConceptId(klConceptPare.getId());
-        kllDiseaseSub.setGmtModified(now);
-        kllDiseaseSub.setDeptId(klConceptSaveVO.getDeptId());
-        kllDiseaseSub.setIcd10Code(klConceptSaveVO.getIcdCode());
-        kllDiseaseSub.setCreator(UserUtils.getCurrentPrincipleID());
-        kllDiseaseSub.setModifier(UserUtils.getCurrentPrincipleID());
-        kllDiseaseSub.setGmtCreate(now);
-        kllDiseaseSub.setGmtModified(now);
-        return this.save(kllDiseaseSub);
+    /**
+     * 保存疾病扩展表
+     *
+     * @param commonParam
+     * @param klDiseaseVO
+     * @return
+     */
+    public boolean saveAll(CommonParam commonParam, KlDiseaseVO klDiseaseVO) {
+        // 先删除疾病扩展表
+        this.remove(new QueryWrapper<KlDisease>().eq("concept_id", commonParam.getConceptId()));
+        // 重新插入扩展表
+        KlDisease klDisease = new KlDisease();
+        BeanUtil.copyProperties(klDiseaseVO, klDisease);
+        klDisease.setConceptId(commonParam.getConceptId());
+        klDisease.setGmtModified(commonParam.getNow());
+        klDisease.setGmtCreate(commonParam.getNow());
+        klDisease.setCreator(commonParam.getPerson());
+        klDisease.setModifier(commonParam.getPerson());
+        return this.save(klDisease);
     }
 }
 

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

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.KlDrugMapping;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 药品通用名和注册名映射表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+public interface KlDrugMappingMapper extends BaseMapper<KlDrugMapping> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.KlDrugRegister;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 药品注册表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+public interface KlDrugRegisterMapper extends BaseMapper<KlDrugRegister> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.KlDrugMapping;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 药品通用名和注册名映射表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+public interface KlDrugMappingService extends IService<KlDrugMapping> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.KlDrugRegister;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 药品注册表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+public interface KlDrugRegisterService extends IService<KlDrugRegister> {
+
+}

+ 20 - 0
cdssman-service/src/main/java/com/diagbot/service/impl/KlDrugMappingServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.KlDrugMapping;
+import com.diagbot.mapper.KlDrugMappingMapper;
+import com.diagbot.service.KlDrugMappingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 药品通用名和注册名映射表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Service
+public class KlDrugMappingServiceImpl extends ServiceImpl<KlDrugMappingMapper, KlDrugMapping> implements KlDrugMappingService {
+
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.KlDrugRegister;
+import com.diagbot.mapper.KlDrugRegisterMapper;
+import com.diagbot.service.KlDrugRegisterService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 药品注册表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Service
+public class KlDrugRegisterServiceImpl extends ServiceImpl<KlDrugRegisterMapper, KlDrugRegister> implements KlDrugRegisterService {
+
+}

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

@@ -37,9 +37,10 @@ public class KlConceptSaveVO {
     private Double maxVal;
     private String unit;
     private Integer scopeType;
-    private String icdCode;
     private String remark;
     private Integer drug;
-    private Long deptId;
     private List<KlConceptSaveSubVO> klConceptSub;
+
+    // 疾病扩展信息
+    private KlDiseaseVO klDiseaseVO;
 }

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

@@ -0,0 +1,140 @@
+package com.diagbot.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 疾病表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-05-11
+ */
+@Data
+public class KlDiseaseVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 术语概念id
+     */
+    private Long conceptId;
+
+    /**
+     * 科室概念id
+     */
+    private Long deptId;
+
+    /**
+     * ICD10编号
+     */
+    private String icd10Code;
+
+    /**
+     * 病程
+     */
+    private String course;
+
+    /**
+     * 诱因
+     */
+    private String inducement;
+
+    /**
+     * 饮食禁忌
+     */
+    private String foodProhibition;
+
+    /**
+     * 危险因素
+     */
+    private String hazard;
+
+    /**
+     * 治愈性
+     */
+    private String healing;
+
+    /**
+     * 危害性
+     */
+    private String pernicious;
+
+    /**
+     * 临床分类
+     */
+    private String clinicType;
+
+    /**
+     * 好发地区
+     */
+    private String vulArea;
+
+    /**
+     * 好发人群
+     */
+    private String vulCrowd;
+
+    /**
+     * 发病率
+     */
+    private Double incidence;
+
+    /**
+     * 是否传染(0:否,1:是)
+     */
+    private Integer isInfect;
+
+    /**
+     * 并发症
+     */
+    private String complication;
+
+    /**
+     * 病因
+     */
+    private String pathogeny;
+
+    /**
+     * 疾病分型
+     */
+    private String disType;
+
+    /**
+     * 中西医疾病(0:通用,1:西,2:中)
+     */
+    private Integer chWestern;
+
+    /**
+     * 是否常见病(0:否,1:是)
+     */
+    private Integer isCommonDis;
+
+    /**
+     * 是否遗传(0:否,1:是)
+     */
+    private Integer isHeredity;
+
+    /**
+     * 简称
+     */
+    private String nameSimple;
+
+    /**
+     * 英文简称
+     */
+    private String enNameSimple;
+
+    /**
+     * 英文名称
+     */
+    private String enName;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 31 - 10
cdssman-service/src/main/resources/mapper/KlDiseaseMapper.xml

@@ -4,17 +4,38 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.KlDisease">
-        <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="dept_id" property="deptId"/>
-        <result column="icd10_code" property="icd10Code"/>
-        <result column="remark" property="remark"/>
+        <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="dept_id" property="deptId" />
+        <result column="icd10_code" property="icd10Code" />
+        <result column="course" property="course" />
+        <result column="inducement" property="inducement" />
+        <result column="food_prohibition" property="foodProhibition" />
+        <result column="hazard" property="hazard" />
+        <result column="healing" property="healing" />
+        <result column="pernicious" property="pernicious" />
+        <result column="clinic_type" property="clinicType" />
+        <result column="vul_area" property="vulArea" />
+        <result column="vul_crowd" property="vulCrowd" />
+        <result column="incidence" property="incidence" />
+        <result column="is_infect" property="isInfect" />
+        <result column="complication" property="complication" />
+        <result column="pathogeny" property="pathogeny" />
+        <result column="dis_type" property="disType" />
+        <result column="ch_western" property="chWestern" />
+        <result column="is_common_dis" property="isCommonDis" />
+        <result column="is_heredity" property="isHeredity" />
+        <result column="name_simple" property="nameSimple" />
+        <result column="en_name_simple" property="enNameSimple" />
+        <result column="en_name" property="enName" />
+        <result column="remark" property="remark" />
     </resultMap>
+
     <select id="getDiseasePage" resultType="com.diagbot.dto.DiseasePageDTO">
         SELECT
         a.id,

+ 18 - 0
cdssman-service/src/main/resources/mapper/KlDrugMappingMapper.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.KlDrugMappingMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.KlDrugMapping">
+        <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="drug_concept" property="drugConcept" />
+        <result column="register_id" property="registerId" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 30 - 0
cdssman-service/src/main/resources/mapper/KlDrugRegisterMapper.xml

@@ -0,0 +1,30 @@
+<?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.KlDrugRegisterMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.KlDrugRegister">
+        <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="drug_code" property="drugCode" />
+        <result column="name" property="name" />
+        <result column="en_name" property="enName" />
+        <result column="trade_name" property="tradeName" />
+        <result column="form" property="form" />
+        <result column="specification" property="specification" />
+        <result column="min_pack_quantity" property="minPackQuantity" />
+        <result column="min_pack_unit" property="minPackUnit" />
+        <result column="company" property="company" />
+        <result column="approval" property="approval" />
+        <result column="standard_code" property="standardCode" />
+        <result column="insurance_type" property="insuranceType" />
+        <result column="insurance_remrk" property="insuranceRemrk" />
+        <result column="drug_type" property="drugType" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>