ApplicationCacheUtil.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package org.diagbot.bigdata.common;
  2. import org.diagbot.bigdata.dao.model.ResultMappingFilter;
  3. import org.diagbot.bigdata.util.BigDataConstants;
  4. import org.diagbot.nlp.participle.cfg.Configuration;
  5. import org.diagbot.nlp.participle.cfg.DefaultConfig;
  6. import org.diagbot.nlp.util.NlpCache;
  7. import org.diagbot.pub.utils.security.EncrypDES;
  8. import javax.servlet.ServletContext;
  9. import java.util.*;
  10. public class ApplicationCacheUtil {
  11. //词库同义词定义
  12. public static Map<String, String> standard_info_synonym_map = null;
  13. //词库大小类定义
  14. public static Map<String, String> standard_info_classify_map = null;
  15. //树形结构存储大小类
  16. public static Map<String, NlpCache.Node> standard_info_type_tree_map = null;
  17. //体征衍射
  18. public static Map<String, String> doc_result_mapping_vital_map = null;
  19. //诊断科室衍射
  20. public static Map<String, String> doc_result_mapping_diag_map = null;
  21. //特征性别 年龄过滤等
  22. public static Map<String, Map<String, ResultMappingFilter>> doc_result_mapping_filter_map = null;
  23. public static Map<String, String> getStandard_info_synonym_map() {
  24. if (standard_info_synonym_map == null) {
  25. standard_info_synonym_map = NlpCache.getStandard_info_synonym_map();
  26. }
  27. return standard_info_synonym_map;
  28. }
  29. public static Map<String, String> getStandard_info_classify_map() {
  30. if (standard_info_classify_map == null) {
  31. standard_info_classify_map = NlpCache.getStandard_info_classify_map();
  32. }
  33. return standard_info_classify_map;
  34. }
  35. public static Map<String, NlpCache.Node> getStandard_info_type_tree_map() {
  36. if (standard_info_type_tree_map == null) {
  37. standard_info_type_tree_map = NlpCache.getStandard_info_type_tree_map();
  38. }
  39. return standard_info_type_tree_map;
  40. }
  41. public static Map<String, String> getDoc_result_mapping_vital_map() {
  42. if (doc_result_mapping_vital_map == null) {
  43. Configuration configuration = new DefaultConfig();
  44. doc_result_mapping_vital_map = configuration.loadMapDict("doc_result_mapping_vital.dict");
  45. }
  46. return doc_result_mapping_vital_map;
  47. }
  48. public static Map<String, String> getDoc_result_mapping_diag_map() {
  49. if (doc_result_mapping_diag_map == null) {
  50. Configuration configuration = new DefaultConfig();
  51. doc_result_mapping_diag_map = configuration.loadMapDict("doc_result_mapping_diag.dict");
  52. }
  53. return doc_result_mapping_diag_map;
  54. }
  55. public static Map<String, Map<String, ResultMappingFilter>> getDoc_result_mapping_filter_map() {
  56. Configuration configuration = new DefaultConfig();
  57. if (doc_result_mapping_filter_map == null) {
  58. List<String> fileContents = configuration.readFileContents("doc_result_mapping_filter.dict");
  59. String[] line_string;
  60. List<ResultMappingFilter> resultMappingFilters = new ArrayList<>();
  61. try {
  62. for (int i = 0; i < fileContents.size(); i++) {
  63. line_string = org.apache.commons.lang3.StringUtils.split(fileContents.get(i), "\\|");
  64. if (line_string.length == 5) {
  65. ResultMappingFilter resultMappingFilter = new ResultMappingFilter();
  66. resultMappingFilter.setFeatureName(line_string[0]);
  67. resultMappingFilter.setFeatureType(line_string[1]);
  68. resultMappingFilter.setSex(line_string[2]);
  69. resultMappingFilter.setAgeStart(Integer.parseInt(line_string[3]));
  70. resultMappingFilter.setAgeEnd(Integer.parseInt(line_string[4]));
  71. resultMappingFilters.add(resultMappingFilter);
  72. }
  73. }
  74. } catch (Exception e) {
  75. e.printStackTrace();
  76. }
  77. doc_result_mapping_filter_map = new HashMap<>();
  78. Map<String, ResultMappingFilter> filterMap = null;
  79. for (ResultMappingFilter resultMappingFilter : resultMappingFilters) {
  80. filterMap = doc_result_mapping_filter_map.get(resultMappingFilter.getFeatureType());
  81. if (filterMap == null) {
  82. filterMap = new HashMap<>();
  83. }
  84. filterMap.put(resultMappingFilter.getFeatureName(), resultMappingFilter);
  85. doc_result_mapping_filter_map.put(resultMappingFilter.getFeatureType(), filterMap);
  86. }
  87. }
  88. return doc_result_mapping_filter_map;
  89. }
  90. }