Просмотр исходного кода

多线程初始化后台数据

0027005599 2 лет назад
Родитель
Сommit
990234c54c

+ 70 - 30
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/projectcache/HisMedicalProjectCache.java

@@ -24,7 +24,9 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.PostConstruct;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 医保和医院项目编码映射
@@ -119,13 +121,21 @@ public class HisMedicalProjectCache {
     public void asyncSetDrugs(Integer pageIndex){
         IPage page = new Page(pageIndex, 1000);
         List<MedicalInsuranceDrugs> medicalInsuranceDrugsList = medicalInsuranceDrugsService.lambdaQuery().isNotNull(MedicalInsuranceDrugs::getItemIdHosp).isNotNull(MedicalInsuranceDrugs::getMedicineCode).page(page).getRecords();
+        Map<String,String> itemIdHospAndCodeMap = new HashMap<>();
+        Map<String,String> medCodeAndNameMap = new HashMap<>();
+        try {
         for (MedicalInsuranceDrugs medicalInsuranceDrugs : medicalInsuranceDrugsList) {
-            try {
-                redisTemplate.opsForHash().put(Constant.HIS_MEDICAL_DICT_KEY, medicalInsuranceDrugs.getItemIdHosp(), medicalInsuranceDrugs.getMedicineCode());
-                redisTemplate.opsForHash().put(Constant.MEDICAL_CODE_NAME_KEY, medicalInsuranceDrugs.getMedicineCode(), medicalInsuranceDrugs.getMedicineName());
-            } catch (Exception e) {
-                log.error(e.getMessage(), e);
-            }
+
+                itemIdHospAndCodeMap.put(medicalInsuranceDrugs.getItemIdHosp(), medicalInsuranceDrugs.getMedicineCode());
+                medCodeAndNameMap.put(medicalInsuranceDrugs.getMedicineCode(), medicalInsuranceDrugs.getMedicineName());
+//                redisTemplate.opsForHash().put(Constant.HIS_MEDICAL_DICT_KEY, medicalInsuranceDrugs.getItemIdHosp(), medicalInsuranceDrugs.getMedicineCode());
+//                redisTemplate.opsForHash().put(Constant.MEDICAL_CODE_NAME_KEY, medicalInsuranceDrugs.getMedicineCode(), medicalInsuranceDrugs.getMedicineName());
+
+        }
+        redisTemplate.opsForHash().putAll(Constant.HIS_MEDICAL_DICT_KEY, itemIdHospAndCodeMap);
+        redisTemplate.opsForHash().putAll(Constant.MEDICAL_CODE_NAME_KEY, medCodeAndNameMap);
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
         }
     }
 
@@ -133,13 +143,21 @@ public class HisMedicalProjectCache {
     public void asyncTreatmentItems(Integer pageIndex){
         IPage page = new Page(pageIndex, 1000);
         List<TreatmentItems> treatmentItemsList = treatmentItemsService.lambdaQuery().isNotNull(TreatmentItems::getItemIdHosp).isNotNull(TreatmentItems::getItemId).page(page).getRecords();
+        Map<String,String> itemIdHospAndCodeMap = new HashMap<>();
+        Map<String,String> medCodeAndNameMap = new HashMap<>();
+        try {
         for (TreatmentItems treatmentItems : treatmentItemsList) {
-            try {
-                redisTemplate.opsForHash().put(Constant.HIS_MEDICAL_DICT_KEY, treatmentItems.getItemIdHosp(), treatmentItems.getItemId());
-                redisTemplate.opsForHash().put(Constant.MEDICAL_CODE_NAME_KEY, treatmentItems.getItemId(), treatmentItems.getItemName());
-            } catch (Exception e) {
-                log.error(e.getMessage(), e);
-            }
+
+//                redisTemplate.opsForHash().put(Constant.HIS_MEDICAL_DICT_KEY, treatmentItems.getItemIdHosp(), treatmentItems.getItemId());
+//                redisTemplate.opsForHash().put(Constant.MEDICAL_CODE_NAME_KEY, treatmentItems.getItemId(), treatmentItems.getItemName());
+            itemIdHospAndCodeMap.put(treatmentItems.getItemIdHosp(), treatmentItems.getItemId());
+            medCodeAndNameMap.put(treatmentItems.getItemId(), treatmentItems.getItemName());
+
+        }
+            redisTemplate.opsForHash().putAll(Constant.HIS_MEDICAL_DICT_KEY, itemIdHospAndCodeMap);
+            redisTemplate.opsForHash().putAll(Constant.MEDICAL_CODE_NAME_KEY, medCodeAndNameMap);
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
         }
     }
 
@@ -147,13 +165,21 @@ public class HisMedicalProjectCache {
     public void asyncMaterialItems(Integer pageIndex){
         IPage page = new Page(pageIndex, 1000);
         List<MaterialItems> materialItemsList = materialItemsService.lambdaQuery().isNotNull(MaterialItems::getItemIdHosp).isNotNull(MaterialItems::getItemId).page(page).getRecords();
+
+        Map<String,String> itemIdHospAndCodeMap = new HashMap<>();
+        Map<String,String> medCodeAndNameMap = new HashMap<>();
+        try {
         for (MaterialItems materialItem : materialItemsList) {
-            try {
-                redisTemplate.opsForHash().put(Constant.HIS_MEDICAL_DICT_KEY, materialItem.getItemIdHosp(), materialItem.getItemId());
-                redisTemplate.opsForHash().put(Constant.MEDICAL_CODE_NAME_KEY, materialItem.getItemId(), materialItem.getItemName());
-            } catch (Exception e) {
-                log.error(e.getMessage(), e);
-            }
+
+//                redisTemplate.opsForHash().put(Constant.HIS_MEDICAL_DICT_KEY, materialItem.getItemIdHosp(), materialItem.getItemId());
+//                redisTemplate.opsForHash().put(Constant.MEDICAL_CODE_NAME_KEY, materialItem.getItemId(), materialItem.getItemName());
+            itemIdHospAndCodeMap.put(materialItem.getItemIdHosp(), materialItem.getItemId());
+            medCodeAndNameMap.put(materialItem.getItemId(), materialItem.getItemName());
+        }
+            redisTemplate.opsForHash().putAll(Constant.HIS_MEDICAL_DICT_KEY, itemIdHospAndCodeMap);
+            redisTemplate.opsForHash().putAll(Constant.MEDICAL_CODE_NAME_KEY, medCodeAndNameMap);
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
         }
     }
 
@@ -161,14 +187,21 @@ public class HisMedicalProjectCache {
     public void asyncDiagnoseItems(Integer pageIndex){
         IPage page = new Page(pageIndex, 1000);
         List<DiagnoseItems> diagnoseItemsList = diagnoseItemsService.lambdaQuery().isNotNull(DiagnoseItems::getDiagnoseCode).isNotNull(DiagnoseItems::getMedicalDiagnoseCode).page(page).getRecords();
+        Map<String,String> itemIdHospAndCodeMap = new HashMap<>();
+        Map<String,String> medCodeAndNameMap = new HashMap<>();
+        try {
         for (DiagnoseItems diagnoseItems : diagnoseItemsList) {
 
-            try {
-                redisTemplate.opsForHash().put(Constant.HIS_MEDICAL_DICT_KEY, diagnoseItems.getDiagnoseCode(), diagnoseItems.getMedicalDiagnoseCode());
-                redisTemplate.opsForHash().put(Constant.MEDICAL_CODE_NAME_KEY, diagnoseItems.getMedicalDiagnoseCode(), diagnoseItems.getMedicalDiagnoseName());
-            } catch (Exception e) {
-                log.error(e.getMessage(), e);
-            }
+
+//                redisTemplate.opsForHash().put(Constant.HIS_MEDICAL_DICT_KEY, diagnoseItems.getDiagnoseCode(), diagnoseItems.getMedicalDiagnoseCode());
+//                redisTemplate.opsForHash().put(Constant.MEDICAL_CODE_NAME_KEY, diagnoseItems.getMedicalDiagnoseCode(), diagnoseItems.getMedicalDiagnoseName());
+            itemIdHospAndCodeMap.put(diagnoseItems.getDiagnoseCode(), diagnoseItems.getMedicalDiagnoseCode());
+            medCodeAndNameMap.put(diagnoseItems.getMedicalDiagnoseCode(), diagnoseItems.getMedicalDiagnoseName());
+        }
+            redisTemplate.opsForHash().putAll(Constant.HIS_MEDICAL_DICT_KEY, itemIdHospAndCodeMap);
+            redisTemplate.opsForHash().putAll(Constant.MEDICAL_CODE_NAME_KEY, medCodeAndNameMap);
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
         }
     }
 
@@ -176,15 +209,22 @@ public class HisMedicalProjectCache {
     public void asyncOperativeItems(Integer pageIndex){
         IPage page = new Page(pageIndex, 1000);
         List<OperativeItems> operativeItemsList = operativeItemsService.lambdaQuery().isNotNull(OperativeItems::getOperativeCode).isNotNull(OperativeItems::getMedicalOperativeCode).page(page).getRecords();
+        Map<String,String> itemIdHospAndCodeMap = new HashMap<>();
+        Map<String,String> medCodeAndNameMap = new HashMap<>();
+        try {
         for(OperativeItems operativeItem : operativeItemsList){
 
-            try {
-                redisTemplate.opsForHash().put(Constant.HIS_MEDICAL_DICT_KEY, operativeItem.getOperativeCode(), operativeItem.getMedicalOperativeCode());
-                redisTemplate.opsForHash().put(Constant.MEDICAL_CODE_NAME_KEY, operativeItem.getMedicalOperativeCode(), operativeItem.getMedicalOperativeName());
-            } catch (Exception e) {
-                log.error(e.getMessage(), e);
-            }
 
+//                redisTemplate.opsForHash().put(Constant.HIS_MEDICAL_DICT_KEY, operativeItem.getOperativeCode(), operativeItem.getMedicalOperativeCode());
+//                redisTemplate.opsForHash().put(Constant.MEDICAL_CODE_NAME_KEY, operativeItem.getMedicalOperativeCode(), operativeItem.getMedicalOperativeName());
+            itemIdHospAndCodeMap.put(operativeItem.getOperativeCode(), operativeItem.getMedicalOperativeCode());
+            medCodeAndNameMap.put(operativeItem.getMedicalOperativeCode(), operativeItem.getMedicalOperativeName());
+
+        }
+            redisTemplate.opsForHash().putAll(Constant.HIS_MEDICAL_DICT_KEY, itemIdHospAndCodeMap);
+            redisTemplate.opsForHash().putAll(Constant.MEDICAL_CODE_NAME_KEY, medCodeAndNameMap);
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
         }
     }
 }