|
@@ -1,42 +1,44 @@
|
|
|
package org.diagbot.nlp.common;
|
|
|
|
|
|
-import org.diagbot.common.dao.model.StandardInfo;
|
|
|
import org.diagbot.common.service.StandardInfoService;
|
|
|
import org.diagbot.nlp.util.NegativeEnum;
|
|
|
+import org.diagbot.nlp.util.NlpCache;
|
|
|
|
|
|
import javax.servlet.ServletContext;
|
|
|
import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
public class ApplicationCacheUtil {
|
|
|
|
|
|
public void putStandardInfoContext(ServletContext servletContext, StandardInfoService standardInfoService) {
|
|
|
- Map<String, Object> map = new HashMap<>(10, 0.8f);
|
|
|
- //推送症状名称缓存
|
|
|
- map.put("status", "1");
|
|
|
+ //推送词典库缓存
|
|
|
+ Map<String, String> standard_info_push_map = NlpCache.getStandard_info_push_map();
|
|
|
//症状名称缓存
|
|
|
- map.put("categoryId", NegativeEnum.SYMPTOM.toString());
|
|
|
- this.putStandardInfoNameContext(servletContext, standardInfoService, map, NlpWebConstants.standard_info_symptom_propel);
|
|
|
+ this.putStandardInfoNameContext(servletContext, standard_info_push_map, NegativeEnum.SYMPTOM.toString(), NlpWebConstants.standard_info_symptom_propel);
|
|
|
//推送诊断名称缓存
|
|
|
- map.put("categoryId", NegativeEnum.DISEASE.toString());
|
|
|
- this.putStandardInfoNameContext(servletContext, standardInfoService, map, NlpWebConstants.standard_info_diag_propel);
|
|
|
+ this.putStandardInfoNameContext(servletContext, standard_info_push_map, NegativeEnum.DISEASE.toString(), NlpWebConstants.standard_info_diag_propel);
|
|
|
//推送体征名称缓存
|
|
|
- map.put("categoryId", NegativeEnum.VITAL_RESULT.toString());
|
|
|
- this.putStandardInfoNameContext(servletContext, standardInfoService, map, NlpWebConstants.standard_info_vital_propel);
|
|
|
+ this.putStandardInfoNameContext(servletContext, standard_info_push_map, NegativeEnum.VITAL_RESULT.toString(), NlpWebConstants.standard_info_vital_propel);
|
|
|
//推送Lis名称缓存
|
|
|
- map.put("categoryId", NegativeEnum.LIS_NAME.toString());
|
|
|
- this.putStandardInfoNameContext(servletContext, standardInfoService, map, NlpWebConstants.standard_info_lis_propel);
|
|
|
+ this.putStandardInfoNameContext(servletContext, standard_info_push_map, NegativeEnum.LIS_NAME.toString(), NlpWebConstants.standard_info_lis_propel);
|
|
|
//推送Pacs名称缓存
|
|
|
- map.put("categoryId", NegativeEnum.PACS_NAME.toString());
|
|
|
- this.putStandardInfoNameContext(servletContext, standardInfoService, map, NlpWebConstants.standard_info_pacs_propel);
|
|
|
+ this.putStandardInfoNameContext(servletContext, standard_info_push_map, NegativeEnum.PACS_NAME.toString(), NlpWebConstants.standard_info_pacs_propel);
|
|
|
}
|
|
|
|
|
|
- public void putStandardInfoNameContext(ServletContext servletContext, StandardInfoService standardInfoService, Map<String, Object> map, String key) {
|
|
|
+ public void putStandardInfoNameContext(ServletContext servletContext, Map<String, String> standard_info_push_map, String categoryId, String key) {
|
|
|
Map<String, String> standardInfoMap = new HashMap<>(10, 0.8f);
|
|
|
- List<StandardInfo> list = standardInfoService.selectList(map);
|
|
|
- for (StandardInfo standardInfo : list) {
|
|
|
- standardInfoMap.put(standardInfo.getName(), standardInfo.getName());
|
|
|
+ String[] categoryIds = null;
|
|
|
+ for (Map.Entry<String, String> entry : standard_info_push_map.entrySet()) {
|
|
|
+ if (categoryId.equals(entry.getValue())) {
|
|
|
+ standardInfoMap.put(entry.getKey(), entry.getKey());
|
|
|
+ } else if (categoryId.indexOf(",") > -1) {
|
|
|
+ categoryIds = categoryId.split(",");
|
|
|
+ for (int i = 0; i < categoryIds.length; i++) {
|
|
|
+ if (categoryId.equals(categoryIds[i])) {
|
|
|
+ standardInfoMap.put(entry.getKey(), entry.getKey());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
servletContext.setAttribute(key, standardInfoMap);
|
|
|
}
|