IndexConfigFacade.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. package com.diagbot.facade;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.diagbot.client.UserServiceClient;
  6. import com.diagbot.dto.DiseaseInfoDTO;
  7. import com.diagbot.dto.IndexConfigAllDTO;
  8. import com.diagbot.dto.IndexConfigDTO;
  9. import com.diagbot.dto.RespDTO;
  10. import com.diagbot.entity.IndexConfig;
  11. import com.diagbot.enums.IsDeleteEnum;
  12. import com.diagbot.exception.CommonErrorCode;
  13. import com.diagbot.exception.CommonException;
  14. import com.diagbot.service.IndexConfigService;
  15. import com.diagbot.service.impl.IndexConfigServiceImpl;
  16. import com.diagbot.util.BeanUtil;
  17. import com.diagbot.util.DateUtil;
  18. import com.diagbot.util.ListUtil;
  19. import com.diagbot.util.RespDTOUtil;
  20. import com.diagbot.util.UserUtils;
  21. import com.diagbot.vo.DiseaseNameVO;
  22. import com.diagbot.vo.IndexConfigDiseaseIdVO;
  23. import com.diagbot.vo.IndexConfigDiseaseNameVO;
  24. import com.diagbot.vo.IndexConfigListVO;
  25. import com.diagbot.vo.IndexConfigVO;
  26. import org.springframework.beans.factory.annotation.Autowired;
  27. import org.springframework.beans.factory.annotation.Qualifier;
  28. import org.springframework.stereotype.Component;
  29. import java.util.ArrayList;
  30. import java.util.HashMap;
  31. import java.util.List;
  32. import java.util.Map;
  33. import java.util.stream.Collectors;
  34. /**
  35. * @author wangfeng
  36. * @Description: TODO
  37. * @date 2019年3月25日 下午4:20:09
  38. */
  39. @Component
  40. public class IndexConfigFacade extends IndexConfigServiceImpl {
  41. @Autowired
  42. @Qualifier("indexConfigServiceImpl")
  43. IndexConfigService indexConfigService;
  44. @Autowired
  45. UserServiceClient userServiceClient;
  46. /**
  47. *
  48. * @param indexConfigDiseaseNameVO
  49. * @return
  50. */
  51. public IPage<IndexConfigDTO> queryIndexConfigPage(IndexConfigDiseaseNameVO indexConfigDiseaseNameVO) {
  52. IPage<IndexConfigDTO> datas = this.queryIndexConfigPageAlls(indexConfigDiseaseNameVO);
  53. List<IndexConfigDTO> data = datas.getRecords();
  54. List<String> modifierid
  55. = data.stream().map(ac -> ac.getModifier()).collect(Collectors.toList());
  56. Map<String, String> userNames = new HashMap<>();
  57. if (ListUtil.isNotEmpty(modifierid)) {
  58. RespDTO<Map<String, String>> userNamesDTO = userServiceClient.getUserInfoByIds(modifierid);
  59. if (RespDTOUtil.respIsNG(userNamesDTO)) {
  60. throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "获取所有用户信息失败");
  61. }
  62. userNames = userNamesDTO.data;
  63. }
  64. for (IndexConfigDTO evalua : data) {
  65. evalua.setModifier(userNames.get(evalua.getModifier()));
  66. }
  67. return datas;
  68. }
  69. /**
  70. *
  71. * @param indexConfigDiseaseIdVO
  72. * @return
  73. */
  74. public List<IndexConfigAllDTO> getIndexConfigLists(IndexConfigDiseaseIdVO indexConfigDiseaseIdVO) {
  75. QueryWrapper<IndexConfig> IndexConfigQuery = new QueryWrapper<IndexConfig>();
  76. IndexConfigQuery.eq("disease_id",indexConfigDiseaseIdVO.getDiseaseId()).eq("is_deleted", IsDeleteEnum.N.getKey());
  77. List<IndexConfig> datas = list(IndexConfigQuery);
  78. //过滤
  79. List<IndexConfigAllDTO> data = BeanUtil.listCopyTo(datas, IndexConfigAllDTO.class);
  80. return data;
  81. }
  82. /**
  83. *
  84. * @param indexConfigListVO
  85. * @return
  86. */
  87. public boolean updateIndexConfigList(IndexConfigListVO indexConfigListVO) {
  88. boolean res = false;
  89. if (indexConfigListVO != null && ListUtil.isNotEmpty(indexConfigListVO.getIndexConfigData())) {
  90. IndexConfigDiseaseIdVO indexConfigDiseaseIdVO = new IndexConfigDiseaseIdVO();
  91. indexConfigDiseaseIdVO.setDiseaseId(indexConfigListVO.getDiseaseId());
  92. res = cancelIndexConfigAlls(indexConfigDiseaseIdVO);
  93. List<IndexConfig> IndexConfigLsit = new ArrayList<IndexConfig>();
  94. List<IndexConfigVO> data = indexConfigListVO.getIndexConfigData();
  95. for (IndexConfigVO dataNew : data) {
  96. IndexConfig IndexConfig = new IndexConfig();
  97. BeanUtil.copyProperties(dataNew,IndexConfig);
  98. IndexConfig.setGmtCreate(DateUtil.now());
  99. IndexConfig.setGmtModified(DateUtil.now());
  100. IndexConfig.setCreator(UserUtils.getCurrentPrincipleID());
  101. IndexConfig.setModifier(UserUtils.getCurrentPrincipleID());
  102. IndexConfigLsit.add(IndexConfig);
  103. }
  104. res = indexConfigService.saveBatch(IndexConfigLsit);
  105. }
  106. return res;
  107. }
  108. /**
  109. *
  110. * @param indexConfigListVO
  111. * @return
  112. */
  113. public boolean saveIndexConfigList(IndexConfigListVO indexConfigListVO) {
  114. boolean res = false;
  115. if (indexConfigListVO != null
  116. && ListUtil.isNotEmpty(indexConfigListVO.getIndexConfigData())) {
  117. List<IndexConfigVO> indexConfigData = indexConfigListVO.getIndexConfigData();
  118. List<String> indexUnique = new ArrayList<>();
  119. for (IndexConfigVO e : indexConfigData) {
  120. indexUnique.add(e.getIndexUnique());
  121. }
  122. QueryWrapper<IndexConfig> IndexConfigQuery = new QueryWrapper<>();
  123. IndexConfigQuery.eq("disease_id",indexConfigListVO.getDiseaseId())
  124. .eq("is_deleted",IsDeleteEnum.N.getKey())
  125. .in("index_unique", indexUnique);
  126. List<IndexConfig> dataUnique = list(IndexConfigQuery);
  127. if (ListUtil.isNotEmpty(dataUnique)) {
  128. throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
  129. "该'" + dataUnique.get(0).getConceptId() + "'已存在");
  130. }
  131. List<IndexConfig> IndexConfigLsit = new ArrayList<IndexConfig>();
  132. List<IndexConfigVO> data = indexConfigListVO.getIndexConfigData();
  133. for (IndexConfigVO dataNew : data) {
  134. IndexConfig IndexConfig = new IndexConfig();
  135. BeanUtil.copyProperties(dataNew,IndexConfig);
  136. IndexConfig.setGmtCreate(DateUtil.now());
  137. IndexConfig.setGmtModified(DateUtil.now());
  138. IndexConfig.setCreator(UserUtils.getCurrentPrincipleID());
  139. IndexConfig.setModifier(UserUtils.getCurrentPrincipleID());
  140. IndexConfigLsit.add(IndexConfig);
  141. }
  142. res = indexConfigService.saveBatch(IndexConfigLsit);
  143. }
  144. return res;
  145. }
  146. /**
  147. *
  148. * @param indexConfigDiseaseIdVO
  149. * @return
  150. */
  151. public boolean cancelIndexConfigAlls(IndexConfigDiseaseIdVO indexConfigDiseaseIdVO) {
  152. UpdateWrapper<IndexConfig> IndexConfigNew =new UpdateWrapper<>();
  153. IndexConfigNew.eq("disease_id",indexConfigDiseaseIdVO.getDiseaseId()).eq("is_deleted", IsDeleteEnum.N.getKey())
  154. .set("is_deleted", IsDeleteEnum.Y.getKey()).set("modifier", UserUtils.getCurrentPrincipleID())
  155. .set("gmt_modified", DateUtil.now());
  156. return update(new IndexConfig(), IndexConfigNew);
  157. }
  158. /**
  159. *
  160. * @param diseaseNameVO
  161. * @return
  162. */
  163. public List<DiseaseInfoDTO> queryIndexConfigDiseaseName(DiseaseNameVO diseaseNameVO) {
  164. return indexConfigService.queryIndexConfigDiseaseName(diseaseNameVO);
  165. }
  166. }