ColumnResultManagementFacade.java 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. package com.lantone.daqe.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.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.lantone.common.enums.IsDeleteEnum;
  7. import com.lantone.common.util.BeanUtil;
  8. import com.lantone.common.util.StringUtil;
  9. import com.lantone.daqe.dto.GetByIdColumnResultDTO;
  10. import com.lantone.daqe.dto.GetColumnResultNumberDTO;
  11. import com.lantone.daqe.dto.GetColumnResultPageDTO;
  12. import com.lantone.daqe.entity.ColumnResult;
  13. import com.lantone.daqe.entity.NonnullResult;
  14. import com.lantone.daqe.entity.RegularResult;
  15. import com.lantone.daqe.entity.StandardvalueResult;
  16. import com.lantone.daqe.enums.ColumnVerifyTypeEnum;
  17. import com.lantone.daqe.facade.base.ColumnResultFacade;
  18. import com.lantone.daqe.facade.base.NonnullResultFacade;
  19. import com.lantone.daqe.facade.base.RegularResultFacade;
  20. import com.lantone.daqe.facade.base.StandardvalueResultFacade;
  21. import com.lantone.daqe.vo.GetColumnResultNumberVO;
  22. import com.lantone.daqe.vo.GetColumnResultPageVO;
  23. import com.lantone.daqe.vo.UpdateColumnResultVO;
  24. import com.lantone.daqe.vo.GetByIdColumnResultVO;
  25. import org.springframework.beans.factory.annotation.Autowired;
  26. import org.springframework.stereotype.Component;
  27. import java.util.Date;
  28. import java.util.List;
  29. /**
  30. * @Description: 字段校验问题明细维护API
  31. * @author: zhanghang
  32. * @time: 2022/3/8 14:49
  33. */
  34. @Component
  35. public class ColumnResultManagementFacade {
  36. @Autowired
  37. ColumnResultFacade columnResultFacade;
  38. @Autowired
  39. NonnullResultFacade nonnullResultFacade;
  40. @Autowired
  41. RegularResultFacade regularResultFacade;
  42. @Autowired
  43. StandardvalueResultFacade standardvalueResultFacade;
  44. /**
  45. * 获取字段校验问题明细分页列表数据
  46. *
  47. * @param getColumnResultPageVO
  48. * @return: 字段校验问题明细分页列表数据
  49. */
  50. public IPage<GetColumnResultPageDTO> getColumnResultPage(GetColumnResultPageVO getColumnResultPageVO) {
  51. Page<GetColumnResultPageDTO> getColumnResultPageDTOPage = new Page<>();
  52. QueryWrapper<ColumnResult> columnResultQueryWrapper = new QueryWrapper<>();
  53. columnResultQueryWrapper.eq(getColumnResultPageVO.getHospitalId() != null, "hospital_id", getColumnResultPageVO.getHospitalId());
  54. columnResultQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
  55. columnResultQueryWrapper.eq(StringUtil.isNotBlank(getColumnResultPageVO.getType()), "type", getColumnResultPageVO.getType());
  56. columnResultQueryWrapper.eq(StringUtil.isNotBlank(getColumnResultPageVO.getIsSolved()), "is_solved", getColumnResultPageVO.getIsSolved());
  57. columnResultQueryWrapper.ge("solve_time", getColumnResultPageVO.getSolveTimeStart());
  58. columnResultQueryWrapper.le("solve_time", getColumnResultPageVO.getSolveTimeEnd());
  59. columnResultQueryWrapper.like(StringUtil.isNotBlank(getColumnResultPageVO.getBehospitalCode()), "behospital_code", getColumnResultPageVO.getBehospitalCode());
  60. columnResultQueryWrapper.like(StringUtil.isNotBlank(getColumnResultPageVO.getHosptialDatatmpCode()), "hosptial_datatmp_code", getColumnResultPageVO.getHosptialDatatmpCode());
  61. columnResultQueryWrapper.like(StringUtil.isNotBlank(getColumnResultPageVO.getHosptialDatatmpName()), "hosptial_datatmp_name", getColumnResultPageVO.getHosptialDatatmpName());
  62. columnResultQueryWrapper.like(StringUtil.isNotBlank(getColumnResultPageVO.getModeName()), "mode_name", getColumnResultPageVO.getModeName());
  63. Page<ColumnResult> columnResultPage = new Page<>(getColumnResultPageVO.getCurrent(), getColumnResultPageVO.getSize());
  64. columnResultFacade.page(columnResultPage, columnResultQueryWrapper);
  65. BeanUtil.copyProperties(columnResultPage, getColumnResultPageDTOPage);
  66. List<GetColumnResultPageDTO> getRecordTemplatePageDTOList = BeanUtil.listCopyTo(columnResultPage.getRecords(), GetColumnResultPageDTO.class);
  67. getColumnResultPageDTOPage.setRecords(getRecordTemplatePageDTOList);
  68. return getColumnResultPageDTOPage;
  69. }
  70. /**
  71. * 获取字段校验问题明细数量
  72. *
  73. * @param getColumnResultNumberVO
  74. * @return: 字段校验问题明细数量
  75. */
  76. public GetColumnResultNumberDTO getColumnResultNumber(GetColumnResultNumberVO getColumnResultNumberVO) {
  77. return columnResultFacade.getBaseMapper().getColumnResultNumber(getColumnResultNumberVO);
  78. }
  79. /**
  80. * 修改字段校验问题明细
  81. *
  82. * @param updateColumnResultVO
  83. * @return: 是否成功
  84. */
  85. public Boolean updateColumnResult(UpdateColumnResultVO updateColumnResultVO) {
  86. ColumnResult columnResultFacadeById = columnResultFacade.getById(updateColumnResultVO.getId());
  87. //先修改副表
  88. //非空校验结果表
  89. Long resultId = columnResultFacadeById.getResultId();
  90. String type = columnResultFacadeById.getType();
  91. if (ColumnVerifyTypeEnum.NONNULL_TYPE.getKey().equals(type)) {
  92. nonnullResultFacade.update(new UpdateWrapper<NonnullResult>()
  93. .eq("is_deleted", IsDeleteEnum.N.getKey())
  94. .eq("id", resultId)
  95. .set("description", updateColumnResultVO.getDescription())
  96. .set("gmt_modified", new Date())
  97. );
  98. }
  99. //正则校验结果表
  100. if (ColumnVerifyTypeEnum.REGULAR_TYPE.getKey().equals(type)) {
  101. regularResultFacade.update(new UpdateWrapper<RegularResult>()
  102. .eq("is_deleted", IsDeleteEnum.N.getKey())
  103. .eq("id", resultId)
  104. .set("description", updateColumnResultVO.getDescription())
  105. .set("gmt_modified", new Date())
  106. );
  107. }
  108. //关键字校验结果表
  109. if (ColumnVerifyTypeEnum.STANDARD_TYPE.getKey().equals(type)) {
  110. standardvalueResultFacade.update(new UpdateWrapper<StandardvalueResult>()
  111. .eq("is_deleted", IsDeleteEnum.N.getKey())
  112. .eq("id", resultId)
  113. .set("description", updateColumnResultVO.getDescription())
  114. .set("gmt_modified", new Date())
  115. );
  116. }
  117. return columnResultFacade.update(new UpdateWrapper<ColumnResult>()
  118. .eq("is_deleted", IsDeleteEnum.N.getKey())
  119. .eq("id", updateColumnResultVO.getId())
  120. .set("description", updateColumnResultVO.getDescription())
  121. .set("gmt_modified", new Date())
  122. );
  123. }
  124. /**
  125. * 根据ID查看字段校验问题明细
  126. *
  127. * @param getByIdColumnResultVO
  128. * @return: 字段校验问题明细明细
  129. */
  130. public GetByIdColumnResultDTO getByIdColumnResult(GetByIdColumnResultVO getByIdColumnResultVO) {
  131. ColumnResult columnResult = columnResultFacade.getBaseMapper().selectById(getByIdColumnResultVO.getId());
  132. String type = columnResult.getType();
  133. GetByIdColumnResultDTO getByIdColumnResultDTO = new GetByIdColumnResultDTO();
  134. //非空校验
  135. if (ColumnVerifyTypeEnum.NONNULL_TYPE.getKey().equals(type)) {
  136. getByIdColumnResultDTO.setType(type);
  137. Long resultId = columnResult.getResultId();
  138. NonnullResult nonnullResult = nonnullResultFacade.getBaseMapper().selectOne(new QueryWrapper<NonnullResult>()
  139. .eq("is_deleted", IsDeleteEnum.N.getKey())
  140. .eq("id", resultId)
  141. );
  142. BeanUtil.copyProperties(nonnullResult, getByIdColumnResultDTO);
  143. return getByIdColumnResultDTO;
  144. }
  145. //正则校验结果表
  146. if (ColumnVerifyTypeEnum.REGULAR_TYPE.getKey().equals(type)) {
  147. getByIdColumnResultDTO.setType(type);
  148. Long resultId = columnResult.getResultId();
  149. RegularResult regularResult = regularResultFacade.getBaseMapper().selectOne(new QueryWrapper<RegularResult>()
  150. .eq("is_deleted", IsDeleteEnum.N.getKey())
  151. .eq("id", resultId)
  152. );
  153. BeanUtil.copyProperties(regularResult, getByIdColumnResultDTO);
  154. return getByIdColumnResultDTO;
  155. }
  156. //关键字校验结果表
  157. if (ColumnVerifyTypeEnum.STANDARD_TYPE.getKey().equals(type)) {
  158. getByIdColumnResultDTO.setType(type);
  159. Long resultId = columnResult.getResultId();
  160. StandardvalueResult standardvalueResult = standardvalueResultFacade.getBaseMapper().selectOne(new QueryWrapper<StandardvalueResult>()
  161. .eq("is_deleted", IsDeleteEnum.N.getKey())
  162. .eq("id", resultId)
  163. );
  164. BeanUtil.copyProperties(standardvalueResult, getByIdColumnResultDTO);
  165. return getByIdColumnResultDTO;
  166. }
  167. return getByIdColumnResultDTO;
  168. }
  169. }