Przeglądaj źródła

诊断依据修改

wangfeng 3 lat temu
rodzic
commit
5734ee0731

+ 7 - 2
src/main/java/com/diagbot/dto/KlDiagnoseByIdDTO.java

@@ -3,6 +3,8 @@ package com.diagbot.dto;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * @author wangfeng
  * @Description:
@@ -23,6 +25,7 @@ public class KlDiagnoseByIdDTO {
      */
     private Integer conditionType;
 
+    private Long basId;
     /**
      * 规则组别(condition_type为2:拟诊条件;3:确诊条件;4:警惕条件有效)
      */
@@ -40,9 +43,11 @@ public class KlDiagnoseByIdDTO {
      * 描述
      */
     private String basDescription;
-    private Long basConceptId;
-    private String basLibName;
+    /*  private Long basConceptId;
+      private String basLibName;*/
+    private List<KlDiagnoseLibNameDTO> libNameList;
     private Integer basLibType;
+
     private String basLename;
     /**
      * 基础规则类型(1:等于术语本身;2:存在比较;3:不等于术语本身;)

+ 19 - 0
src/main/java/com/diagbot/dto/KlDiagnoseLibNameDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-07-01 10:20
+ */
+@Setter
+@Getter
+public class KlDiagnoseLibNameDTO {
+    private Long basId;
+    private Long basConceptId;
+    private String basLibName;
+    private Integer basLibType;
+    private String basLename;
+}

+ 7 - 0
src/main/java/com/diagbot/facade/KlDiagnoseBaseRelationFacade.java

@@ -1,8 +1,11 @@
 package com.diagbot.facade;
 
+import com.diagbot.dto.KlDiagnoseLibNameDTO;
 import com.diagbot.service.impl.KlDiagnoseBaseRelationServiceImpl;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 /**
  * @Description:
  * @author: zhoutg
@@ -11,4 +14,8 @@ import org.springframework.stereotype.Component;
 @Component
 public class KlDiagnoseBaseRelationFacade extends KlDiagnoseBaseRelationServiceImpl {
 
+    public List<KlDiagnoseLibNameDTO> getLibNameLists(List<Long> basId) {
+        return getLibNameList(basId);
+    }
+
 }

+ 22 - 0
src/main/java/com/diagbot/facade/KlDiagnoseFacade.java

@@ -7,6 +7,7 @@ import com.diagbot.dto.DiagnosesFindDTO;
 import com.diagbot.dto.KlDiagnoseByIdDTO;
 import com.diagbot.dto.KlDiagnoseGroupDTO;
 import com.diagbot.dto.KlDiagnoseInfoDTO;
+import com.diagbot.dto.KlDiagnoseLibNameDTO;
 import com.diagbot.dto.KlDiagnoseTypeDTO;
 import com.diagbot.entity.KlDiagnose;
 import com.diagbot.entity.KlDiagnoseBase;
@@ -55,6 +56,8 @@ public class KlDiagnoseFacade extends KlDiagnoseServiceImpl {
     @Autowired
     @Qualifier("klDiagnoseBaseRelationServiceImpl")
     KlDiagnoseBaseRelationService klDiagnoseBaseRelationService;
+    @Autowired
+    KlDiagnoseBaseRelationFacade klDiagnoseBaseRelationFacade;
 
 
     public IPage<KlDiagnoseInfoDTO> getKlDiagnoseInfoPage(KlDiagnoseInfoVO klDiagnoseInfoVO) {
@@ -64,6 +67,25 @@ public class KlDiagnoseFacade extends KlDiagnoseServiceImpl {
 
     public List<KlDiagnoseTypeDTO> getByIdDiagnoseAll(KlDiagnoseByIdVO klDiagnoseByIdVO) {
         List<KlDiagnoseByIdDTO> byIdDiagnoses = this.getByIdDiagnoses(klDiagnoseByIdVO);
+        //查询明细便准词
+        List<Long> basId = byIdDiagnoses.stream().filter(i -> i.getBasId()!=null).map(ac -> ac.getBasId()).collect(Collectors.toList());
+        if (ListUtil.isNotEmpty(basId)) {
+            List<KlDiagnoseLibNameDTO> libNameList = klDiagnoseBaseRelationFacade.getLibNameLists(basId);
+            if (ListUtil.isNotEmpty(libNameList)) {
+                Map<Long, List<KlDiagnoseLibNameDTO>> lixExMap = libNameList.stream().collect(Collectors.groupingBy(KlDiagnoseLibNameDTO::getBasId));
+                for (KlDiagnoseByIdDTO data : byIdDiagnoses) {
+                    List<KlDiagnoseLibNameDTO> klDiagnoseLibName = lixExMap.get(data.getBasId());
+                    if (ListUtil.isNotEmpty(klDiagnoseLibName)) {
+                        data.setBasLibType(klDiagnoseLibName.get(0).getBasLibType());
+                        data.setBasLename(klDiagnoseLibName.get(0).getBasLename());
+                        data.setLibNameList(klDiagnoseLibName);
+                    }
+                }
+            }
+
+        }
+
+
         //基础条件
         Map<Integer, List<KlDiagnoseByIdDTO>> baseGroupMap = byIdDiagnoses.stream().filter(i -> i.getConditionType().equals(1)).collect(Collectors.groupingBy(KlDiagnoseByIdDTO::getBaseGroup));
         //根据ConditionType 和 getConditionGroup两个添加分组

+ 4 - 0
src/main/java/com/diagbot/mapper/KlDiagnoseBaseRelationMapper.java

@@ -1,8 +1,11 @@
 package com.diagbot.mapper;
 
+import com.diagbot.dto.KlDiagnoseLibNameDTO;
 import com.diagbot.entity.KlDiagnoseBaseRelation;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  * 基础规则关联表 Mapper 接口
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface KlDiagnoseBaseRelationMapper extends BaseMapper<KlDiagnoseBaseRelation> {
 
+    List<KlDiagnoseLibNameDTO> getLibNameList(List<Long> basId);
 }

+ 4 - 1
src/main/java/com/diagbot/service/KlDiagnoseBaseRelationService.java

@@ -1,8 +1,11 @@
 package com.diagbot.service;
 
+import com.diagbot.dto.KlDiagnoseLibNameDTO;
 import com.diagbot.entity.KlDiagnoseBaseRelation;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 基础规则关联表 服务类
@@ -12,5 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2021-06-30
  */
 public interface KlDiagnoseBaseRelationService extends IService<KlDiagnoseBaseRelation> {
-
+    List<KlDiagnoseLibNameDTO> getLibNameList(List<Long> basId);
 }

+ 7 - 2
src/main/java/com/diagbot/service/impl/KlDiagnoseBaseRelationServiceImpl.java

@@ -1,11 +1,14 @@
 package com.diagbot.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.KlDiagnoseLibNameDTO;
 import com.diagbot.entity.KlDiagnoseBaseRelation;
 import com.diagbot.mapper.KlDiagnoseBaseRelationMapper;
 import com.diagbot.service.KlDiagnoseBaseRelationService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 基础规则关联表 服务实现类
@@ -16,5 +19,7 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class KlDiagnoseBaseRelationServiceImpl extends ServiceImpl<KlDiagnoseBaseRelationMapper, KlDiagnoseBaseRelation> implements KlDiagnoseBaseRelationService {
-
+    public List<KlDiagnoseLibNameDTO> getLibNameList(List<Long> basId) {
+        return baseMapper.getLibNameList(basId);
+    }
 }

+ 29 - 9
src/main/resources/mapper/KlDiagnoseBaseRelationMapper.xml

@@ -4,15 +4,35 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.KlDiagnoseBaseRelation">
-        <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="diagnose_base_id" property="diagnoseBaseId" />
-        <result column="concept_id" property="conceptId" />
-        <result column="order_no" property="orderNo" />
+        <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="diagnose_base_id" property="diagnoseBaseId"/>
+        <result column="concept_id" property="conceptId"/>
+        <result column="order_no" property="orderNo"/>
     </resultMap>
+    <select id="getLibNameList" resultType="com.diagbot.dto.KlDiagnoseLibNameDTO">
+        SELECT
+        a.diagnose_base_id AS basId,
+        a.concept_id AS basConceptId,
+        d.lib_name AS basLibName,
+        f.name AS basLename,
+        d.lib_type AS basLibType
+        FROM
+        kl_diagnose_base_relation a
+        LEFT JOIN kl_concept d
+        ON a.concept_id = d.id
+        LEFT JOIN kl_lexicon f ON d.lib_type = f.code
+        WHERE
+        a.is_deleted = "N" and d.is_deleted = "N" and f.is_deleted = "N"
+        and a.diagnose_base_id IN
+        <foreach collection="list" open="(" close=")" separator="," item="basId">
+            #{basId}
+        </foreach>
 
+
+    </select>
 </mapper>

+ 1 - 1
src/main/resources/mapper/KlDiagnoseMapper.xml

@@ -149,7 +149,7 @@
         dico.base_group as baseGroup,
         dico.fit_no as fitNo,
         dico.condition_type as conditionType,
-        dibas.basid as basid,
+        dibas.basid as basId,
         dibas.basDescription as basDescription,
         dibas.basConceptId as basConceptId,
         dibas.basLibName as basLibName,