Browse Source

经典病例后台完整功能+相似病例

xiewei 11 months ago
parent
commit
93c43d2601

+ 2 - 0
src/main/java/com/diagbot/dto/PushDTO.java

@@ -40,6 +40,8 @@ public class PushDTO {
     private Map<String, List<PushBaseDTO>> dis = new LinkedHashMap<>();
     // 一般治疗
     private List<TreatDTO> treat = Lists.newArrayList();
+    //经典病例
+    private List<PushBaseDTO> classicCase = Lists.newArrayList();
 
     // 记录调试信息
     private Map<String, Object> debug = new LinkedHashMap<>();

+ 1 - 1
src/main/java/com/diagbot/enums/LexiconEnum.java

@@ -84,7 +84,7 @@ public enum LexiconEnum implements KeyedNamed {
     LisClassNode(408,"实验室检查类别根节点"),
     PacsClassNode(409,"辅助检查类别根节点"),
     Age(410,"年龄"),
-    ClassicCase(411,"经典病");
+    ClassicCase(411,"经典病");
 
 
     @Setter

+ 2 - 1
src/main/java/com/diagbot/enums/PushRelationTypeEnum.java

@@ -18,7 +18,8 @@ public enum PushRelationTypeEnum {
     OPERATION(507L, "疾病相关手术治疗"),
     DIFFDIAGNOSE(508L, "疾病相关鉴别诊断"),
     SCALE(509L, "疾病相关量表"),
-    NURSE(510L, "疾病相关护理");
+    NURSE(510L, "疾病相关护理"),
+    CLASSICCASE(516L, "经典病例");
 
     @Setter
     private long key;

+ 2 - 2
src/main/java/com/diagbot/facade/KlClassicCaseFacade.java

@@ -77,7 +77,7 @@ public class KlClassicCaseFacade extends KlClassicCaseServiceImpl {
         StaticKnowledgeDTO classicCaseDTO = new StaticKnowledgeDTO();
         Integer type = convertType(staticKnowledgeVO.getType(), 1);
         if (type == null) {
-            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "请输入正确类型(11-经典病)");
+            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "请输入正确类型(11-经典病)");
         }
         staticKnowledgeVO.setType(type);
 
@@ -129,7 +129,7 @@ public class KlClassicCaseFacade extends KlClassicCaseServiceImpl {
         //Map<String, List<StaticKnowledgeDetailDTO>> detailMap = new HashMap<>();
         Map<String, List<StaticKnowledgeDetailDTO>> detailMap = new HashMap<>();
         if (ListUtil.isNotEmpty(introduceList) && staticKnowledgeVO.getContentTypes().contains(1)) {
-            detailMap.put("经典病", introduceList);
+            detailMap.put("经典病", introduceList);
         }
 
         if (type.equals(LexiconEnum.Scale.getKey())) {

+ 24 - 6
src/main/java/com/diagbot/facade/KlConceptStaticFacade.java

@@ -5,11 +5,7 @@ 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.dto.*;
-import com.diagbot.entity.KlConcept;
-import com.diagbot.entity.KlConceptDetail;
-import com.diagbot.entity.KlConceptScale;
-import com.diagbot.entity.KlConceptStatic;
-import com.diagbot.entity.KlRelation;
+import com.diagbot.entity.*;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.LexiconEnum;
 import com.diagbot.enums.StatusEnum;
@@ -65,6 +61,10 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
     private KlDictionaryInfoFacade klDictionaryInfoFacade;
     @Autowired
     private KlScaleFacade klScaleFacade;
+    @Autowired
+    private KlClassicCaseFacade klClassicCaseFacade;
+    @Autowired
+    private KlCaseDetailFacade klCaseDetailFacade;
 
     @Autowired
     @Qualifier("klConceptDetailServiceImpl")
@@ -794,7 +794,15 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .eq("status", 1)
                     .in("concept_id", conceptIds));
-
+            List<KlClassicCase> caseList = klClassicCaseFacade.list(new QueryWrapper<KlClassicCase>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("status", 1)
+                    .in("concept_id", conceptIds));
+            for (KlClassicCase record : caseList) {
+                KlConceptStatic klConceptStatic = new KlConceptStatic();
+                BeanUtil.copyProperties(record,klConceptStatic);
+                staticList.add(klConceptStatic);
+            }
             if (ListUtil.isEmpty(staticList)) {
                 return retMap;
             }
@@ -813,6 +821,16 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
                 });
             }
             List<KlConceptDetail> conceptDetailList = klConceptDetailFacade.list(conceptDetailQueryWrapper);
+
+            QueryWrapper<KlCaseDetail> caseDetailQueryWrapper = new QueryWrapper<>();
+            caseDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("concept_id", conceptIds);
+            List<KlCaseDetail> caseDetailList = klCaseDetailFacade.list(caseDetailQueryWrapper);
+            for (KlCaseDetail caseDetail : caseDetailList) {
+                KlConceptDetail klConceptDetail = new KlConceptDetail();
+                BeanUtil.copyProperties(caseDetail,klConceptDetail);
+                conceptDetailList.add(klConceptDetail);
+            }
             Map<Long, List<KlConceptDetail>> detailMap
                     = EntityUtil.makeEntityListMap(conceptDetailList, "conceptId");
 

+ 7 - 0
src/main/java/com/diagbot/process/PushProcess.java

@@ -221,6 +221,13 @@ public class PushProcess {
                         return pushBaseDTO;
                     }).collect(Collectors.toList()));
                 }
+                if (ruleTypeList.contains("14") && ListUtil.isNotEmpty(items.get(PushRelationTypeEnum.CLASSICCASE.getKey()))) {
+                    pushDTO.setClassicCase(items.get(PushRelationTypeEnum.CLASSICCASE.getKey()).stream().map(x -> {
+                        PushBaseDTO pushBaseDTO = new PushBaseDTO();
+                        pushBaseDTO.setName(x);
+                        return pushBaseDTO;
+                    }).collect(Collectors.toList()));
+                }
             }
         }
         //        if (reverseInfoByDisName != null) {

+ 3 - 3
src/main/java/com/diagbot/web/KlConceptStaticController.java

@@ -50,8 +50,8 @@ public class KlConceptStaticController {
         return RespDTO.onSuc(data);
     }
 
-    @ApiOperation(value = "获取经典病",
-            notes = "type: 类型:11-经典病 <br>" +
+    @ApiOperation(value = "获取经典病",
+            notes = "type: 类型:11-经典病 <br>" +
                     "contentTypes: 内容类型:11-经典病历<br>" +
                     "name: 标准术语名称<br>")
     @PostMapping("/getClassicCaseInfo")
@@ -75,7 +75,7 @@ public class KlConceptStaticController {
         return RespDTO.onSuc(page);
     }
 
-    @ApiOperation(value = "获取经典病列表",
+    @ApiOperation(value = "获取经典病列表",
             notes = "type: 类型:11-经典病历  <br>" +
                     "name: 术语名称<br>" +
                     "status: 启用状态:1-启用、0-禁用<br>")

+ 3 - 3
src/main/resources/mapper/KlConceptStaticMapper.xml

@@ -116,7 +116,7 @@
         AND b.`status` = 1
         <if test="staticKnowledgeIndexPageVO.typeIds != null and staticKnowledgeIndexPageVO.typeIds.size > 0">
             <foreach item="typeId" collection="staticKnowledgeIndexPageVO.typeIds" open="and(" separator="or" close=")">
-                a.type_id =#{typeId}
+                    a.type_id = #{typeId}
             </foreach>
         </if>
         <if test="staticKnowledgeIndexPageVO.inputStr!=null and staticKnowledgeIndexPageVO.inputStr!=''">
@@ -158,7 +158,7 @@
         AND b.`status` = 1
         <if test="staticKnowledgeIndexPageVO.typeIds != null and staticKnowledgeIndexPageVO.typeIds.size > 0">
             <foreach item="typeId" collection="staticKnowledgeIndexPageVO.typeIds" open="and(" separator="or" close=")">
-                a.type_id =#{typeId}
+                a.type_id = #{typeId}
             </foreach>
         </if>
         <if test="staticKnowledgeIndexPageVO.inputStr!=null and staticKnowledgeIndexPageVO.inputStr!=''">
@@ -200,7 +200,7 @@
         AND b.`status` = 1
         <if test="staticKnowledgeIndexPageVO.typeIds != null and staticKnowledgeIndexPageVO.typeIds.size > 0">
             <foreach item="typeId" collection="staticKnowledgeIndexPageVO.typeIds" open="and(" separator="or" close=")">
-                a.type_id =#{typeId}
+                a.type_id = #{typeId}
             </foreach>
         </if>
         <if test="staticKnowledgeIndexPageVO.inputStr!=null and staticKnowledgeIndexPageVO.inputStr!=''">

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

@@ -103,7 +103,7 @@
                     AND t1.id = t2.start_id
                     AND t3.id = t2.end_id
                     AND t2.id = t4.t_relation_id
-                    AND t2.relation_id IN (501,502,503,504,505,506,507,508,509,510)
+                    AND t2.relation_id IN (501,502,503,504,505,506,507,508,509,510,516)
                     AND t1.lib_name = #{diseaseName}
                     AND t1.`status` = 1
                     AND t3.`status` = 1