瀏覽代碼

术语关联

zhaops 4 年之前
父節點
當前提交
21180d09fa

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/ConceptMappingDTO.java

@@ -25,4 +25,5 @@ public class ConceptMappingDTO {
     private Integer nurseNum = 0;
     private Integer tcmdiseaseNum = 0;
     private Integer tcmsyndromeNum = 0;
+    private Integer anesthesiaNum = 0;
 }

+ 47 - 0
cdssman-service/src/main/java/com/diagbot/entity/AnesthesiaConfig.java

@@ -0,0 +1,47 @@
+package com.diagbot.entity;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/6/10 19:16
+ */
+@Getter
+@Setter
+public class AnesthesiaConfig {
+    /**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 医院科室名称
+     */
+    @Excel(name = "医院麻醉名称", width = 40, orderNum = "1", isImportField = "true")
+    @NotBlank(message = "请输入医院麻醉名称")
+    private String hisName;
+
+    /**
+     * 标准科室名称
+     */
+    @Excel(name = "标准麻醉名称", width = 40, orderNum = "2", isImportField = "true")
+    @NotBlank(message = "请输入标准麻醉名称")
+    private String uniqueName;
+
+    /**
+     * 是否匹配(0-未匹配、1-已匹配)
+     */
+    @Excel(name = "是否匹配", width = 20, orderNum = "4", replace = { "未匹配_0", "已匹配_1" }, isImportField = "true")
+    private Integer isMatch;
+
+    /**
+     * 数据来源(1-标准词、2-同义词、3-编码、4-历史数据、5-相似词、99-数据迁移)
+     */
+    @Excel(name = "数据来源", width = 20, orderNum = "5", replace = { "标准词_1", "同义词_2", "编码_3", "历史数据_4", "相似词_5", "数据迁移_99", "_null" }, isImportField = "true")
+    private Integer source;
+}

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

@@ -8,13 +8,26 @@ import com.diagbot.client.CdssCoreClient;
 import com.diagbot.dto.DictionaryInfoDTO;
 import com.diagbot.dto.IndexBatchDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.AnesthesiaConfig;
+import com.diagbot.entity.DeptConfig;
+import com.diagbot.entity.DiseaseConfig;
+import com.diagbot.entity.DrugConfig;
+import com.diagbot.entity.LisConfig;
 import com.diagbot.entity.MappingConfig;
+import com.diagbot.entity.NurseConfig;
+import com.diagbot.entity.OperationConfig;
+import com.diagbot.entity.PacsConfig;
+import com.diagbot.entity.ScaleConfig;
+import com.diagbot.entity.TcmdiseaseConfig;
+import com.diagbot.entity.TcmsyndromeConfig;
+import com.diagbot.entity.TransfusionConfig;
 import com.diagbot.entity.wrapper.MappingConfigWrapper;
 import com.diagbot.enums.ConceptTypeEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.MatchSourceEnum;
 import com.diagbot.service.impl.MappingConfigServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.ExcelUtils;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
@@ -51,6 +64,81 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
     @Autowired
     private DictionaryFacade dictionaryFacade;
 
+    /**
+     * 导出文件
+     *
+     * @param response
+     * @param type
+     * @param extFileName
+     */
+    public void exportExcel(HttpServletResponse response, List<?> list, Integer type, String extFileName) {
+        String fileName = extFileName + ".xls";
+        switch (type) {
+            case 1:
+                fileName = "检验" + fileName;
+                List<LisConfig> lisConfigList = BeanUtil.listCopyTo(list, LisConfig.class);
+                ExcelUtils.exportExcel(lisConfigList, null, "sheet1", LisConfig.class, fileName, response, 12.8f);
+                break;
+            case 3:
+                fileName = "检查" + fileName;
+                List<PacsConfig> pacsConfigList = BeanUtil.listCopyTo(list, PacsConfig.class);
+                ExcelUtils.exportExcel(pacsConfigList, null, "sheet1", PacsConfig.class, fileName, response, 12.8f);
+                break;
+            case 4:
+                fileName = "诊断" + fileName;
+                List<DiseaseConfig> diseaseConfigList = BeanUtil.listCopyTo(list, DiseaseConfig.class);
+                ExcelUtils.exportExcel(diseaseConfigList, null, "sheet1", DiseaseConfig.class, fileName, response, 12.8f);
+                break;
+            case 5:
+                fileName = "药品" + fileName;
+                List<DrugConfig> drugConfigList = BeanUtil.listCopyTo(list, DrugConfig.class);
+                ExcelUtils.exportExcel(drugConfigList, getForm(), "sheet1", DrugConfig.class, fileName, response, 12.8f);
+                break;
+            case 6:
+                fileName = "手术和操作" + fileName;
+                List<OperationConfig> operationConfigList = BeanUtil.listCopyTo(list, OperationConfig.class);
+                ExcelUtils.exportExcel(operationConfigList, null, "sheet1", OperationConfig.class, fileName, response, 12.8f);
+                break;
+            case 7:
+                fileName = "科室" + fileName;
+                List<DeptConfig> deptConfigList = BeanUtil.listCopyTo(list, DeptConfig.class);
+                ExcelUtils.exportExcel(deptConfigList, null, "sheet1", DeptConfig.class, fileName, response, 12.8f);
+                break;
+            case 8:
+                fileName = "输血" + fileName;
+                List<TransfusionConfig> transfusionConfigList = BeanUtil.listCopyTo(list, TransfusionConfig.class);
+                ExcelUtils.exportExcel(transfusionConfigList, null, "sheet1", TransfusionConfig.class, fileName, response, 12.8f);
+                break;
+            case 10:
+                fileName = "量表" + fileName;
+                List<ScaleConfig> scaleConfigList = BeanUtil.listCopyTo(list, ScaleConfig.class);
+                ExcelUtils.exportExcel(scaleConfigList, null, "sheet1", ScaleConfig.class, fileName, response, 12.8f);
+                break;
+            case 11:
+                fileName = "护理" + fileName;
+                List<NurseConfig> nurseConfigList = BeanUtil.listCopyTo(list, NurseConfig.class);
+                ExcelUtils.exportExcel(nurseConfigList, null, "sheet1", NurseConfig.class, fileName, response, 12.8f);
+                break;
+            case 12:
+                fileName = "中医疾病" + fileName;
+                List<TcmdiseaseConfig> tcmdiseaseConfigList = BeanUtil.listCopyTo(list, TcmdiseaseConfig.class);
+                ExcelUtils.exportExcel(tcmdiseaseConfigList, null, "sheet1", TcmdiseaseConfig.class, fileName, response, 12.8f);
+                break;
+            case 13:
+                fileName = "中医证候" + fileName;
+                List<TcmsyndromeConfig> tcmsyndromeConfigList = BeanUtil.listCopyTo(list, TcmsyndromeConfig.class);
+                ExcelUtils.exportExcel(tcmsyndromeConfigList, null, "sheet1", TcmsyndromeConfig.class, fileName, response, 12.8f);
+                break;
+            case 14:
+                fileName = "麻醉" + fileName;
+                List<AnesthesiaConfig> anesthesiaConfigList = BeanUtil.listCopyTo(list, AnesthesiaConfig.class);
+                ExcelUtils.exportExcel(anesthesiaConfigList, null, "sheet1", AnesthesiaConfig.class, fileName, response, 12.8f);
+                break;
+            default:
+                break;
+        }
+    }
+
 
     /**
      * 剂型说明
@@ -97,7 +185,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
      * @param response
      */
     public void exportExcelModule(HttpServletResponse response, MappingConfigVO mappingConfigVO) {
-        cdssClient.exportExcelModule( mappingConfigVO);
+        exportExcel(response, new ArrayList<>(), mappingConfigVO.getType(), "导入模板");
     }
 
     /**
@@ -108,7 +196,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
     public void exportExcel(HttpServletResponse response, MappingConfigPageVO mappingConfigPageVO) {
         RespDTO<List<MappingConfigWrapper>> respDTO = cdssClient.exportExcel_remote(mappingConfigPageVO);
         if (RespDTOUtil.respIsOK(respDTO)) {
-
+            exportExcel(response, respDTO.data, mappingConfigPageVO.getType(), "映射");
         }
     }
 
@@ -124,7 +212,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
 
         RespDTO<List<MappingConfigWrapper>> respDTO = cdssClient.precDataMatch_remote(file, type);
         if (RespDTOUtil.respIsOK(respDTO)) {
-
+            exportExcel(response, respDTO.data, type, "关联数据(预匹配)");
         }
     }
 

+ 23 - 22
cdssman-service/src/main/resources/mapper/HospitalInfoMapper.xml

@@ -52,30 +52,31 @@
         a.`name`,
         a.id AS hospitalId,
         a.connect AS connect,
-        b.num AS lisNum,
-        c.num AS deptNum,
-        d.num AS drugNum,
-        e.num AS pacsNum,
-        f.num AS diseaseNum,
-        g.num AS operationNum,
-        h.num AS transfusionNum,
-        i.num AS scaleNum,
-        j.num AS nurseNum,
-        k.num AS tcmdiseaseNum,
-        l.num AS tcmsyndromeNum
+        b.*
         FROM
         tran_hospital_info a
-        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_lis_config WHERE is_deleted = 'N' GROUP BY hospital_id ) b ON a.id = b.hospital_id
-        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_dept_config WHERE is_deleted = 'N' GROUP BY hospital_id ) c ON a.id = c.hospital_id
-        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_drug_config WHERE is_deleted = 'N' GROUP BY hospital_id ) d ON a.id = d.hospital_id
-        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_pacs_config WHERE is_deleted = 'N' GROUP BY hospital_id ) e ON a.id = e.hospital_id
-        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_disease_config WHERE is_deleted = 'N' GROUP BY hospital_id ) f ON a.id = f.hospital_id
-        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_operation_config WHERE is_deleted = 'N' GROUP BY hospital_id ) g ON a.id = g.hospital_id
-        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_transfusion_config WHERE is_deleted = 'N' GROUP BY hospital_id ) h ON a.id = h.hospital_id
-        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_scale_config WHERE is_deleted = 'N' GROUP BY hospital_id ) i ON a.id = i.hospital_id
-        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_nurse_config WHERE is_deleted = 'N' GROUP BY hospital_id ) j ON a.id = j.hospital_id
-        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_tcmdisease_config WHERE is_deleted = 'N' GROUP BY hospital_id ) k ON a.id = k.hospital_id
-        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_tcmsyndrome_config WHERE is_deleted = 'N' GROUP BY hospital_id ) l ON a.id = l.hospital_id
+        LEFT JOIN (
+        SELECT
+        hospital_id,
+        sum( type = 1 ) AS lisNum,
+        sum( type = 3 ) AS pacsNum,
+        sum( type = 4 ) AS diseaseNum,
+        sum( type = 5 ) AS drugNum,
+        sum( type = 6 ) AS operationNum,
+        sum( type = 7 ) AS deptNum,
+        sum( type = 8 ) AS transfusionNum,
+        sum( type = 10 ) AS scaleNum,
+        sum( type = 11 ) AS nurseNum,
+        sum( type = 12 ) AS tcmdiseaseNum,
+        sum( type = 13 ) AS tcmsyndromeNum,
+        sum( type = 14 ) AS anesthesiaNum
+        FROM
+        tran_mapping_config
+        WHERE
+        is_deleted = 'N'
+        GROUP BY
+        hospital_id
+        ) b ON a.id = b.hospital_id
         WHERE
         a.is_deleted = 'N'
         <if test="hospitalInfoPageVO.name!=null and hospitalInfoPageVO.name!=''">