HospitalInfoController.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package com.diagbot.web;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.diagbot.annotation.SysLogger;
  4. import com.diagbot.dto.ConceptMappingDTO;
  5. import com.diagbot.dto.HospitalInfoDTO;
  6. import com.diagbot.dto.HospitalInfoGetDTO;
  7. import com.diagbot.dto.HospitalInfoPageDTO;
  8. import com.diagbot.dto.HospitalRelationErrorDTO;
  9. import com.diagbot.dto.RespDTO;
  10. import com.diagbot.exception.ServiceErrorCode;
  11. import com.diagbot.facade.HospitalInfoFacade;
  12. import com.diagbot.vo.ChangeStatusVO;
  13. import com.diagbot.vo.HospitalInfoGetVO;
  14. import com.diagbot.vo.HospitalInfoListVO;
  15. import com.diagbot.vo.HospitalInfoPageVO;
  16. import com.diagbot.vo.HospitalInfoSaveVO;
  17. import com.diagbot.vo.HospitalSaveVO;
  18. import com.diagbot.vo.IdListVO;
  19. import com.diagbot.vo.IdVO;
  20. import io.swagger.annotations.Api;
  21. import io.swagger.annotations.ApiOperation;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.transaction.annotation.Transactional;
  24. import org.springframework.web.bind.annotation.PostMapping;
  25. import org.springframework.web.bind.annotation.RequestBody;
  26. import org.springframework.web.bind.annotation.RequestMapping;
  27. import org.springframework.web.bind.annotation.RestController;
  28. import javax.validation.Valid;
  29. import java.util.List;
  30. /**
  31. * <p>
  32. * 医院信息表 前端控制器
  33. * </p>
  34. *
  35. * @author wangfeng
  36. * @since 2020-08-06
  37. */
  38. @RestController
  39. @RequestMapping("/hospitalInfo")
  40. @Api(value = "医院信息API", tags = { "医院信息API" })
  41. @SuppressWarnings("unchecked")
  42. public class HospitalInfoController {
  43. @Autowired
  44. private HospitalInfoFacade hospitalInfoFacade;
  45. @ApiOperation(value = "获取医院信息列表[by:wangfeng]", notes = "")
  46. @PostMapping("/getHospitalInfo")
  47. @SysLogger("getHospitalInfo")
  48. public RespDTO<List<HospitalInfoDTO>> getHospitalInfo() {
  49. List<HospitalInfoDTO> data = hospitalInfoFacade.getHospitalInfo();
  50. return RespDTO.onSuc(data);
  51. }
  52. @ApiOperation(value = "根据医院id获取信息[by:zhoutg]", notes = "")
  53. @PostMapping("/getById")
  54. @SysLogger("getById")
  55. public RespDTO<HospitalInfoGetDTO> getById(@RequestBody @Valid HospitalInfoGetVO hospitalInfoGetVO) {
  56. HospitalInfoGetDTO data = hospitalInfoFacade.getById(hospitalInfoGetVO);
  57. return RespDTO.onSuc(data);
  58. }
  59. @ApiOperation(value = "保存或修改[by:zhaops]", notes = "")
  60. @PostMapping("/saveOrUpdateRecord")
  61. @SysLogger("saveOrUpdateRecord")
  62. @Transactional
  63. public RespDTO<HospitalRelationErrorDTO> saveOrUpdateRecord(@RequestBody @Valid HospitalInfoSaveVO hospitalInfoSaveVO) {
  64. HospitalRelationErrorDTO errorData = hospitalInfoFacade.saveOrUpdateRecord(hospitalInfoSaveVO);
  65. if (errorData != null) {
  66. return RespDTO.onSucBoth(ServiceErrorCode.NAME_CODE_ERROR.getCode(),
  67. "操作失败,请检查【医院名称+医院编码】重复项",
  68. errorData);
  69. }
  70. return RespDTO.onSuc(errorData);
  71. }
  72. /**
  73. * 批量保存或修改映射关系
  74. *
  75. * @param hospitalInfoListVO
  76. * @return
  77. */
  78. @ApiOperation(value = "批量保存或修改映射关系[by:zhaops]", notes = "")
  79. @PostMapping("/saveOrUpdateRecords")
  80. @SysLogger("saveOrUpdateRecords")
  81. @Transactional
  82. public RespDTO<Boolean> saveOrUpdateRecords(@RequestBody @Valid HospitalInfoListVO hospitalInfoListVO) {
  83. Boolean data = hospitalInfoFacade.saveOrUpdateRecords(hospitalInfoListVO);
  84. return RespDTO.onSuc(data);
  85. }
  86. /**
  87. * 删除
  88. *
  89. * @param idVO
  90. * @return
  91. */
  92. @ApiOperation(value = "删除[by:zhaops]", notes = "")
  93. @PostMapping("/deleteRecord")
  94. @SysLogger("deleteRecord")
  95. @Transactional
  96. public RespDTO<Boolean> deleteRecord(@RequestBody @Valid IdVO idVO) {
  97. Boolean data = hospitalInfoFacade.deleteRecord(idVO);
  98. return RespDTO.onSuc(data);
  99. }
  100. /**
  101. * 批量删除映射关系
  102. *
  103. * @param idListVO
  104. * @return
  105. */
  106. @ApiOperation(value = "批量删除映射关系[by:zhaops]", notes = "")
  107. @PostMapping("/deleteRecords")
  108. @SysLogger("deleteRecords")
  109. @Transactional
  110. public RespDTO<Boolean> deleteRecords(@RequestBody @Valid IdListVO idListVO) {
  111. Boolean data = hospitalInfoFacade.deleteRecords(idListVO);
  112. return RespDTO.onSuc(data);
  113. }
  114. /**
  115. * 分页查询
  116. *
  117. * @param hospitalInfoPageVO
  118. * @return
  119. */
  120. @ApiOperation(value = "分页查询[by:zhaops]", notes = "")
  121. @PostMapping("/getPage")
  122. @SysLogger("getPage")
  123. public RespDTO<IPage<HospitalInfoPageDTO>> getPage(@RequestBody @Valid HospitalInfoPageVO hospitalInfoPageVO) {
  124. IPage<HospitalInfoPageDTO> data = hospitalInfoFacade.getPageFac(hospitalInfoPageVO);
  125. return RespDTO.onSuc(data);
  126. }
  127. /**
  128. * 获取术语映射统计列表
  129. *
  130. * @return
  131. */
  132. @ApiOperation(value = "获取术语映射统计列表[by:zhaops]", notes = "")
  133. @PostMapping("/getMappingListPage")
  134. @SysLogger("getMappingListPage")
  135. public RespDTO<ConceptMappingDTO> getMappingListPage(@RequestBody @Valid HospitalInfoPageVO hospitalInfoPageVO) {
  136. IPage<ConceptMappingDTO> data = hospitalInfoFacade.getMappingListPage(hospitalInfoPageVO);
  137. return RespDTO.onSuc(data);
  138. }
  139. @ApiOperation(value = "医院信息——修改医院信息[by:zhaops]",
  140. notes = "id:医院id<br>" +
  141. "connect:是否对接(0-不对接,1-对接)<br>")
  142. @PostMapping("/modifyConnectStatus")
  143. @SysLogger("modifyConnectStatus")
  144. @Transactional
  145. public RespDTO<Boolean> modifyConnectStatus(@RequestBody @Valid HospitalSaveVO hospitalSaveVO) {
  146. return RespDTO.onSuc(hospitalInfoFacade.modifyConnectStatus(hospitalSaveVO));
  147. }
  148. @ApiOperation(value = "医院信息——启用禁用[zhaops]",
  149. notes = "id: 医院id <br>" +
  150. "status: 启用状态:1-启用、0-禁用<br>")
  151. @PostMapping("/changeStatus")
  152. @SysLogger("changeStatus")
  153. @Transactional
  154. public RespDTO<Boolean> changeStatus(@Valid @RequestBody ChangeStatusVO changeStatusVO) {
  155. Boolean data = hospitalInfoFacade.changeStatus(changeStatusVO);
  156. return RespDTO.onSuc(data);
  157. }
  158. }