Browse Source

诊断依据导出

zhoutg 3 năm trước cách đây
mục cha
commit
657a55aac8

+ 5 - 5
src/main/java/com/diagbot/config/CacheDeleteInit.java

@@ -60,11 +60,11 @@ public class CacheDeleteInit implements CommandLineRunner {
         conceptInfoFacade.loadCustomDictionary();
         log.info("CDSS-CORE服务启动加载NLP分词字典成功!");
 
-        // cacheFacade.loadAllBaseDiagnoseCache();
-        // log.info("CDSS-CORE服务启动加载诊断依据缓存成功!");
-        //
-        // cacheFacade.loadAllRuleCache();
-        // log.info("CDSS-CORE服务启动加载医学知识库中的所有规则缓存成功!");
+        cacheFacade.loadAllBaseDiagnoseCache();
+        log.info("CDSS-CORE服务启动加载诊断依据缓存成功!");
+
+        cacheFacade.loadAllRuleCache();
+        log.info("CDSS-CORE服务启动加载医学知识库中的所有规则缓存成功!");
 
         log.info("CDSS-CORE初始化完成!");
     }

+ 21 - 9
src/main/java/com/diagbot/facade/KlDiagnoseDetailFacade.java

@@ -53,17 +53,29 @@ public class KlDiagnoseDetailFacade {
     KlDiagnoseRecordService klDiagnoseRecordService;
 
     /**
-     * 导出诊断依据【初版】
+     * 导出诊断依据【旧诊断依据】,从原detail导出
      */
-    public void exportDiagnose(HttpServletResponse response) {
-
+    public void exportDiagnoseDetail(HttpServletResponse response) {
         // 获取全部数据、分组
-//        List<KlDiagnoseDetail> klDiagnoseDetailList = klDiagnoseDetailService.list(new QueryWrapper<KlDiagnoseDetail>()
-////                .eq("dis_name", "急性化脓性扁桃体炎")
-//                .eq("is_deleted", IsDeleteEnum.N.getKey()));
-//        Map<String, List<KlDiagnoseDetail>> diagnoseDetailMap = EntityUtil.makeEntityListMap(klDiagnoseDetailList, "disName");
-//        Map<String, List<ExportDiagnoseDTO>> diagnoseDetails = processDiagnoseDetail(diagnoseDetailMap);
+       List<KlDiagnoseDetail> klDiagnoseDetailList = klDiagnoseDetailService.list(new QueryWrapper<KlDiagnoseDetail>()
+               .eq("is_deleted", IsDeleteEnum.N.getKey()));
+       Map<String, List<KlDiagnoseDetail>> diagnoseDetailMap = EntityUtil.makeEntityListMap(klDiagnoseDetailList, "disName");
+       Map<String, List<ExportDiagnoseDTO>> diagnoseDetails = processDiagnoseDetail(diagnoseDetailMap);
+       exportDiagnoseCommon(response, diagnoseDetails);
+    }
+
+    /**
+     * 导出诊断依据【新诊断依据】,从记录导出
+     */
+    public void exportDiagnoseRecord(HttpServletResponse response) {
         Map<String, List<ExportDiagnoseDTO>> diagnoseDetails = exportDiagnoseRecord();
+        exportDiagnoseCommon(response, diagnoseDetails);
+    }
+
+    /**
+     * 导出诊断依据【初版】
+     */
+    public void exportDiagnoseCommon(HttpServletResponse response, Map<String, List<ExportDiagnoseDTO>> diagnoseDetails) {
         List<ExportDiagnoseDTO> res = new ArrayList<>();
         for (String disName : diagnoseDetails.keySet()) {
             ExportDiagnoseDTO exportDiagnoseDTO = new ExportDiagnoseDTO();
@@ -112,7 +124,7 @@ public class KlDiagnoseDetailFacade {
     public Map<String, List<ExportDiagnoseDTO>> exportDiagnoseRecord() {
         List<DiagnoseRecordDTO> diagnoseRecord = klDiagnoseRecordService.getDiagnoseRecord();
         Map<String, List<DiagnoseRecordDTO>> diseaseRecordMap = EntityUtil.makeEntityListMap(diagnoseRecord, "diseaseName");
-        Map<String, List<ExportDiagnoseDTO>> diagnoseDetails = new HashMap<>();
+        Map<String, List<ExportDiagnoseDTO>> diagnoseDetails = new LinkedHashMap<>();
         diseaseRecordMap.forEach((x,y) -> diagnoseDetails.put(x,y.stream().map(z ->{
             ExportDiagnoseDTO exportDiagnoseDTO = new ExportDiagnoseDTO();
             BeanUtil.copyProperties(z,exportDiagnoseDTO);

+ 7 - 1
src/main/java/com/diagbot/web/KlDiagnoseImportController.java

@@ -44,7 +44,13 @@ public class KlDiagnoseImportController {
     @ApiOperation(value = "诊断依据导出API[zhoutg]")
     @PostMapping("/exportDiagnose")
     public void exportDiagnose(HttpServletResponse response) {
-        klDiagnoseDetailFacade.exportDiagnose(response);
+        klDiagnoseDetailFacade.exportDiagnoseDetail(response);
+    }
+
+    @ApiOperation(value = "【记录导出】诊断依据导出API[zhoutg]")
+    @PostMapping("/exportDiagnoseRecord")
+    public void exportDiagnoseRecord(HttpServletResponse response) {
+        klDiagnoseDetailFacade.exportDiagnoseRecord(response);
     }
 
 }

+ 41 - 40
src/main/resources/mapper/KlDiagnoseRecordMapper.xml

@@ -26,53 +26,54 @@
     </resultMap>
 
     <select id="getDiagnoseRecord" resultType="com.diagbot.dto.DiagnoseRecordDTO">
-        SELECT
-	k3.lib_name AS diseaseName,
-	kdr.type AS type,
-	kdr.`code` AS orderNo,
-	IFNULL(k2.rule, kdr.rule) AS rule,
-	kdr.description AS relation,
-	kdr.eq_value AS eq,
-	kdr.max_value AS max,
-	kdr.max_operator AS maxSymbol,
-	kdr.min_value AS min,
-	kdr.min_operator AS minSymbol,
-	kdr.unit AS unit
-FROM
-	kl_diagnose_record kdr
-LEFT JOIN (
-	SELECT
-		k1.diagnose_record_id,
-		GROUP_CONCAT(
+		SELECT
+			k3.lib_name AS diseaseName,
+			kdr.type AS type,
+			kdr.`code` AS orderNo,
+			IFNULL(k2.rule, kdr.rule) AS rule,
+			kdr.description AS relation,
+			kdr.eq_value AS eq,
+			kdr.max_value AS max,
+			kdr.max_operator AS maxSymbol,
+			kdr.min_value AS min,
+			kdr.min_operator AS minSymbol,
+			kdr.unit AS unit
+		FROM
+			kl_diagnose_record kdr
+			LEFT JOIN (
+			SELECT
+			k1.diagnose_record_id,
+			GROUP_CONCAT(
 			k1.lib_name
 			ORDER BY
-				order_no SEPARATOR '#'
-		) rule
-	FROM
-		(
+			order_no SEPARATOR '#'
+			) rule
+			FROM
+			(
 			SELECT
-				kdrd.diagnose_record_id,
-				kdrd.concept_id,
-				kc.lib_name,
-				kdrd.order_no
+			kdrd.diagnose_record_id,
+			kdrd.concept_id,
+			kc.lib_name,
+			kdrd.order_no
 			FROM
-				`kl_diagnose_record_detail` kdrd
+			`kl_diagnose_record_detail` kdrd
 			LEFT JOIN kl_concept kc ON kdrd.concept_id = kc.id
 			WHERE
-				kc.is_deleted = 'N'
+			kc.is_deleted = 'N'
 			AND kc.`status` = 1
-		) k1
-	GROUP BY
-		k1.diagnose_record_id
-) k2 ON kdr.id = k2.diagnose_record_id
-LEFT JOIN kl_diagnose kd ON kdr.diagnose_id = kd.id
-LEFT JOIN kl_concept k3 ON kd.concept_id = k3.id
-WHERE
-	k3.is_deleted = 'N'
-AND k3.`status` = 1
-AND kd. STATUS = 1
-ORDER BY
-	kdr.order_no;
+			) k1
+			GROUP BY
+			k1.diagnose_record_id
+			) k2 ON kdr.id = k2.diagnose_record_id
+			LEFT JOIN kl_diagnose kd ON kdr.diagnose_id = kd.id
+			LEFT JOIN kl_concept k3 ON kd.concept_id = k3.id
+		WHERE
+			k3.is_deleted = 'N'
+		  AND k3.`status` = 1
+		  AND kd. STATUS = 1
+		ORDER BY
+			kd.id,
+			kdr.order_no
     </select>
 
 </mapper>