LisMappingFacade.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package com.diagbot.facade;
  2. import com.diagbot.config.CryptConfiguer;
  3. import com.diagbot.entity.wrapper.LisMappingWrapper;
  4. import com.diagbot.service.impl.LisMappingServiceImpl;
  5. import com.diagbot.util.CryptUtil;
  6. import com.diagbot.util.EntityUtil;
  7. import com.diagbot.util.ListUtil;
  8. import com.diagbot.util.StringUtil;
  9. import com.diagbot.vo.GetLisMappingVO;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Component;
  12. import java.util.LinkedHashMap;
  13. import java.util.List;
  14. import java.util.Map;
  15. /**
  16. * @Description:
  17. * @Author:zhaops
  18. * @time: 2019/9/20 13:14
  19. */
  20. @Component
  21. public class LisMappingFacade extends LisMappingServiceImpl {
  22. @Autowired
  23. private CryptConfiguer cryptConfiguer;
  24. /**
  25. * 获取化验公表映射关系 Map<mealName,Map<itemName,uniqueName>> itemName 不为空
  26. *
  27. * @param mealName
  28. * @return
  29. */
  30. public Map<String, Map<String, String>> getLisMappingByMealName(String mealName) {
  31. Map<String, Map<String, String>> retMap = new LinkedHashMap<>();
  32. LisMappingWrapper lisMappingWrapper = new LisMappingWrapper();
  33. lisMappingWrapper.setMealName(mealName);
  34. List<LisMappingWrapper> lisMappingWrapperList = this.getLisMappingByName(lisMappingWrapper);
  35. if (ListUtil.isEmpty(lisMappingWrapperList)) {
  36. return retMap;
  37. }
  38. //解密
  39. if (cryptConfiguer.cryptFlag) {
  40. for (LisMappingWrapper lisMap : lisMappingWrapperList) {
  41. lisMap.setItemName(CryptUtil.decrypt_char(lisMap.getItemName()));
  42. lisMap.setMealName(CryptUtil.decrypt_char(lisMap.getMealName()));
  43. lisMap.setUniqueName(CryptUtil.decrypt_char(lisMap.getUniqueName()));
  44. }
  45. }
  46. Map<String, List<LisMappingWrapper>> lisMappingMap
  47. = EntityUtil.makeEntityListMap(lisMappingWrapperList, "mealName");
  48. for (Map.Entry<String, List<LisMappingWrapper>> entry : lisMappingMap.entrySet()) {
  49. if (entry.getValue().size() > 0) {
  50. retMap.put(entry.getKey(),
  51. EntityUtil.makeMapWithKeyValue(entry.getValue(), "itemName", "uniqueName"));
  52. } else {
  53. retMap.put(entry.getKey(), null);
  54. }
  55. }
  56. return retMap;
  57. }
  58. /**
  59. * 获取化验标签公表项
  60. *
  61. * @param getLisMappingVO
  62. * @return
  63. */
  64. public Map<String, Map<String, String>> getLisMappingByQuestion(GetLisMappingVO getLisMappingVO) {
  65. String project = getLisMappingVO.getProject();
  66. List<String> details = getLisMappingVO.getDetails();
  67. if (StringUtil.isBlank(project)) {
  68. return null;
  69. }
  70. Map<String, Map<String, String>> lisMappingMap = getLisMappingByMealName(project);
  71. //解密
  72. if (cryptConfiguer.cryptFlag){
  73. project = CryptUtil.decrypt_char(project);
  74. }
  75. Map<String, Map<String, String>> retMap = new LinkedHashMap<>();
  76. if (lisMappingMap != null && lisMappingMap.get(project) != null) {
  77. Map<String, String> projectMap = new LinkedHashMap<>();
  78. projectMap.put(project, lisMappingMap.get(project).get(""));
  79. retMap.put("project", projectMap);
  80. }
  81. if (ListUtil.isEmpty(details)) {
  82. return retMap;
  83. }
  84. Map<String, String> detailMap = new LinkedHashMap<>();
  85. Map<String, String> projectDetailMap = lisMappingMap.get(project);
  86. if (projectDetailMap != null) {
  87. for (String detail : details) {
  88. detailMap.put(detail, projectDetailMap.get(detail));
  89. }
  90. }
  91. retMap.put("details", detailMap);
  92. return retMap;
  93. }
  94. }