HospitalInfoController.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. package com.diagbot.web;
  2. import com.diagbot.annotation.SysLogger;
  3. import com.diagbot.dto.HospitalInfoDTO;
  4. import com.diagbot.dto.HospitalInfoGetDTO;
  5. import com.diagbot.dto.HospitalRelationErrorDTO;
  6. import com.diagbot.dto.RespDTO;
  7. import com.diagbot.entity.HospitalInfo;
  8. import com.diagbot.exception.ServiceErrorCode;
  9. import com.diagbot.facade.HospitalInfoFacade;
  10. import com.diagbot.vo.HospitalCheckVO;
  11. import com.diagbot.vo.HospitalInfoSaveVO;
  12. import com.diagbot.vo.HospitalInfoVO;
  13. import com.diagbot.vo.HospitalSaveVO;
  14. import io.swagger.annotations.Api;
  15. import io.swagger.annotations.ApiOperation;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.transaction.annotation.Transactional;
  18. import org.springframework.web.bind.annotation.PostMapping;
  19. import org.springframework.web.bind.annotation.RequestBody;
  20. import org.springframework.web.bind.annotation.RequestMapping;
  21. import org.springframework.web.bind.annotation.RestController;
  22. import springfox.documentation.annotations.ApiIgnore;
  23. import javax.validation.Valid;
  24. import java.util.List;
  25. /**
  26. * <p>
  27. * 医院信息表 前端控制器
  28. * </p>
  29. *
  30. * @author wangfeng
  31. * @since 2020-07-29
  32. */
  33. @RestController
  34. @RequestMapping("/tran/hospitalInfo")
  35. @Api(value = "医院信息API", tags = { "医院信息API" })
  36. @SuppressWarnings("unchecked")
  37. public class HospitalInfoController {
  38. @Autowired
  39. private HospitalInfoFacade hospitalInfoFacade;
  40. @ApiOperation(value = "医院信息——根据医院Id获取医院信息[by:wangfeng]",
  41. notes = "id: 医院id<br>")
  42. @PostMapping("/getHospitalInfoById")
  43. @SysLogger("getHospitalInfoById")
  44. public RespDTO<HospitalInfoDTO> getHospitalInfoById(@RequestBody @Valid HospitalInfoVO hospitalInfoVO) {
  45. HospitalInfoDTO data = hospitalInfoFacade.getHospitalInfoById(hospitalInfoVO);
  46. return RespDTO.onSuc(data);
  47. }
  48. @ApiOperation(value = "医院信息——验证医院信息[by:wangfeng]",
  49. notes = "hospitalCode:医院编码<br>")
  50. @PostMapping("/checkHospital")
  51. @SysLogger("checkHospital")
  52. @ApiIgnore
  53. public RespDTO<Boolean> checkHospital(@RequestBody @Valid HospitalCheckVO hospitalCheckVO) {
  54. return RespDTO.onSuc(hospitalInfoFacade.checkHospital(hospitalCheckVO));
  55. }
  56. @ApiOperation(value = "医院信息——修改医院信息[by:zhaops]",
  57. notes = "id:医院id<br>" +
  58. "connect:是否对接(0-不对接,1-对接)<br>")
  59. @PostMapping("/saveRecord")
  60. @SysLogger("saveRecord")
  61. @Transactional
  62. public RespDTO<Boolean> saveRecord(@RequestBody @Valid HospitalSaveVO hospitalSaveVO) {
  63. return RespDTO.onSuc(hospitalInfoFacade.saveRecord(hospitalSaveVO));
  64. }
  65. @ApiOperation(value = "医院信息——获取医院信息[by:zhaops]",
  66. notes = "")
  67. @PostMapping("/getHospitalInfo")
  68. @SysLogger("getHospitalInfo")
  69. public RespDTO<HospitalInfo> getHospitalInfo() {
  70. return RespDTO.onSuc(hospitalInfoFacade.getHospitalInfo());
  71. }
  72. @ApiOperation(value = "获取所有医院信息列表[by:wangfeng]", notes = "")
  73. @PostMapping("/getAllHospitalInfo")
  74. @SysLogger("getAllHospitalInfo")
  75. public RespDTO<List<HospitalInfoDTO>> getAllHospitalInfo() {
  76. List<HospitalInfoDTO> data = hospitalInfoFacade.getAllHospitalInfo();
  77. return RespDTO.onSuc(data);
  78. }
  79. @ApiOperation(value = "获取所有启用的医院信息列表[by:gaodm]", notes = "")
  80. @PostMapping("/getAllEnableHospitalInfo")
  81. @SysLogger("getAllEnableHospitalInfo")
  82. public RespDTO<List<HospitalInfoDTO>> getAllEnableHospitalInfo() {
  83. List<HospitalInfoDTO> data = hospitalInfoFacade.getAllEnableHospitalInfo();
  84. return RespDTO.onSuc(data);
  85. }
  86. @ApiOperation(value = "获取子医院信息[by:zhoutg]",
  87. notes = "")
  88. @PostMapping("/getHospitalRelation")
  89. @SysLogger("getHospitalRelation")
  90. public RespDTO<HospitalInfoGetDTO> getHospitalRelation() {
  91. return RespDTO.onSuc(hospitalInfoFacade.getHospitalRelation());
  92. }
  93. @ApiOperation(value = "编辑子医院信息[by:zhoutg]", notes = "")
  94. @PostMapping("/saveHospitalRelation")
  95. @SysLogger("saveHospitalRelation")
  96. @Transactional
  97. public RespDTO<HospitalRelationErrorDTO> saveHospitalRelation(@RequestBody @Valid HospitalInfoSaveVO hospitalInfoSaveVO) {
  98. HospitalRelationErrorDTO errorData = hospitalInfoFacade.saveHospitalRelation(hospitalInfoSaveVO);
  99. if (errorData != null) {
  100. return RespDTO.onSucBoth(ServiceErrorCode.NAME_CODE_ERROR.getCode(),
  101. "操作失败,请检查【医院名称+医院编码】重复项",
  102. errorData);
  103. }
  104. return RespDTO.onSuc(errorData);
  105. }
  106. }