BehospitalInfoController.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. package com.diagbot.web;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.diagbot.annotation.SysLogger;
  4. import com.diagbot.dto.AnalyzeDTO;
  5. import com.diagbot.dto.AnalyzeRunDTO;
  6. import com.diagbot.dto.BehospitalInfoDTO;
  7. import com.diagbot.dto.RespDTO;
  8. import com.diagbot.facade.BehospitalInfoFacade;
  9. import com.diagbot.facade.QcresultInfoFacade;
  10. import com.diagbot.vo.AnalyzeApiVO;
  11. import com.diagbot.vo.AnalyzeRunVO;
  12. import com.diagbot.vo.AnalyzeVO;
  13. import com.diagbot.vo.BehospitalPageVO;
  14. import com.diagbot.vo.GetDetailVO;
  15. import com.diagbot.vo.QcresultVO;
  16. import io.swagger.annotations.Api;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.transaction.annotation.Transactional;
  20. import org.springframework.web.bind.annotation.PostMapping;
  21. import org.springframework.web.bind.annotation.RequestBody;
  22. import org.springframework.web.bind.annotation.RequestMapping;
  23. import org.springframework.web.bind.annotation.RestController;
  24. import springfox.documentation.annotations.ApiIgnore;
  25. import javax.validation.Valid;
  26. import java.util.Map;
  27. /**
  28. * <p>
  29. * 住院病历信息 前端控制器
  30. * </p>
  31. *
  32. * @author zhoutg
  33. * @since 2020-04-13
  34. */
  35. @RestController
  36. @RequestMapping("/qc/behospitalInfo")
  37. @Api(value = "病历API", tags = { "病历API" })
  38. @SuppressWarnings("unchecked")
  39. public class BehospitalInfoController {
  40. @Autowired
  41. BehospitalInfoFacade behospitalInfoFacade;
  42. @Autowired
  43. private QcresultInfoFacade qcresultInfoFacade;
  44. @ApiOperation(value = "病历分页列表[by:zhoutg]",
  45. notes = "name:姓名<br>" +
  46. "fileCode:档案号<br>" +
  47. "statisticsType: 统计维度 1-本月,2-本年<br>" +
  48. "behosDateStart:入院时间开始时间<br>" +
  49. "behosDateEnd:入院时间结束时间<br>" +
  50. "leaveHosDateStart:出院时间开始时间<br>" +
  51. "leaveHosDateEnd:出院时间结束时间<br>")
  52. @PostMapping("/page")
  53. @SysLogger("page")
  54. public RespDTO<IPage<BehospitalInfoDTO>> page(@RequestBody BehospitalPageVO behospitalPageVO) {
  55. IPage<BehospitalInfoDTO> data = behospitalInfoFacade.pageFac(behospitalPageVO);
  56. return RespDTO.onSuc(data);
  57. }
  58. @ApiOperation(value = "根据病历id获取详情[by:zhoutg]",
  59. notes = "")
  60. @PostMapping("/getByBehospitalCode")
  61. @SysLogger("getByBehospitalCode")
  62. public RespDTO<Map<String, Object>> getByBehospitalCode(@RequestBody GetDetailVO getDetailVO) {
  63. Map<String, Object> data = behospitalInfoFacade.getByBehospitalCode(getDetailVO);
  64. return RespDTO.onSuc(data);
  65. }
  66. @ApiOperation(value = "评分[by:zhoutg]",
  67. notes = "")
  68. @PostMapping("/analyze")
  69. @SysLogger("analyze")
  70. @Transactional
  71. public RespDTO<AnalyzeDTO> analyze(@RequestBody AnalyzeVO analyzeVO) {
  72. return RespDTO.onSuc(behospitalInfoFacade.analyze(analyzeVO));
  73. }
  74. @ApiOperation(value = "评分-运行质控[by:zhoutg]",
  75. notes = " // 病历id\n" +
  76. " String behospitalCode;\n" +
  77. " // 医院ID\n" +
  78. " Long hospitalId;\n" +
  79. " // 模块id\n" +
  80. " Long modeId;")
  81. @PostMapping("/analyze_run")
  82. @SysLogger("analyze_run")
  83. @Transactional
  84. public RespDTO<AnalyzeRunDTO> analyzeRun(@Valid @RequestBody AnalyzeRunVO analyzeRunVO) {
  85. return RespDTO.onSuc(behospitalInfoFacade.analyzeRun(analyzeRunVO));
  86. }
  87. @ApiOperation(value = "定时任务评分[by:zhoutg]",
  88. notes = "")
  89. @PostMapping("/analyze_rpc")
  90. @SysLogger("analyze_rpc")
  91. @Transactional
  92. @ApiIgnore
  93. public RespDTO<AnalyzeDTO> analyze_rpc(@RequestBody AnalyzeVO analyzeVO) {
  94. return RespDTO.onSuc(behospitalInfoFacade.analyze(analyzeVO));
  95. }
  96. @ApiOperation(value = "评分-对外api接口[by:zhoutg]",
  97. notes = "")
  98. @PostMapping("/analyze_api")
  99. @SysLogger("analyze_api")
  100. @Transactional
  101. // @ApiIgnore
  102. public RespDTO<Map<String, Object>> analyzeApi(@RequestBody AnalyzeApiVO analyzeApiVO) {
  103. return RespDTO.onSuc(behospitalInfoFacade.analyzeApi(analyzeApiVO));
  104. }
  105. @ApiOperation(value = "新增质控条目[by:zhoutg]",
  106. notes = "")
  107. @PostMapping("/addCase")
  108. @SysLogger("addCase")
  109. @Transactional
  110. public RespDTO<AnalyzeDTO> addCase(@RequestBody QcresultVO qcresultVO){
  111. qcresultVO.setType(1);
  112. return RespDTO.onSuc(qcresultInfoFacade.changeQcResult(qcresultVO));
  113. }
  114. @ApiOperation(value = "删除质控条目[by:zhoutg]",
  115. notes = "behospitalCode:病历号,必填<br>" +
  116. "id:明细id,必填<br>")
  117. @PostMapping("/delCase")
  118. @SysLogger("delCase")
  119. @Transactional
  120. public RespDTO<AnalyzeDTO> delCase(@RequestBody QcresultVO qcresultVO){
  121. qcresultVO.setType(2);
  122. return RespDTO.onSuc(qcresultInfoFacade.changeQcResult(qcresultVO));
  123. }
  124. @ApiOperation(value = "修改质控条目[by:zhoutg]",
  125. notes = "")
  126. @PostMapping("/updCase")
  127. @SysLogger("updCase")
  128. @Transactional
  129. public RespDTO<AnalyzeDTO> updCase(@RequestBody QcresultVO qcresultVO){
  130. qcresultVO.setType(3);
  131. return RespDTO.onSuc(qcresultInfoFacade.changeQcResult(qcresultVO));
  132. }
  133. @ApiOperation(value = "将未评分的病历进行评分[by:zhoutg]",
  134. notes = "")
  135. @PostMapping("/execule")
  136. @SysLogger("execule")
  137. public RespDTO<Boolean> execule(){
  138. behospitalInfoFacade.execute("");
  139. return RespDTO.onSuc(true);
  140. }
  141. @ApiOperation(value = "病历分页列表(科室)[by:zhoutg]",
  142. notes = "name:姓名<br>" +
  143. "fileCode:档案号<br>" +
  144. "statisticsType: 统计维度 1-本月,2-本年<br>" +
  145. "behosDateStart:入院时间开始时间<br>" +
  146. "behosDateEnd:入院时间结束时间<br>" +
  147. "leaveHosDateStart:出院时间开始时间<br>" +
  148. "leaveHosDateEnd:出院时间结束时间<br>")
  149. @PostMapping("/page_dept")
  150. @SysLogger("page_dept")
  151. public RespDTO<IPage<BehospitalInfoDTO>> pageDept(@RequestBody BehospitalPageVO behospitalPageVO) {
  152. IPage<BehospitalInfoDTO> data = behospitalInfoFacade.pageDept(behospitalPageVO);
  153. return RespDTO.onSuc(data);
  154. }
  155. @ApiOperation(value = "病历分页列表(个人)[by:zhoutg]",
  156. notes = "name:姓名<br>" +
  157. "fileCode:档案号<br>" +
  158. "statisticsType: 统计维度 1-本月,2-本年<br>" +
  159. "behosDateStart:入院时间开始时间<br>" +
  160. "behosDateEnd:入院时间结束时间<br>" +
  161. "leaveHosDateStart:出院时间开始时间<br>" +
  162. "leaveHosDateEnd:出院时间结束时间<br>")
  163. @PostMapping("/page_person")
  164. @SysLogger("page_person")
  165. public RespDTO<IPage<BehospitalInfoDTO>> pagePerson(@RequestBody BehospitalPageVO behospitalPageVO) {
  166. IPage<BehospitalInfoDTO> data = behospitalInfoFacade.pagePerson(behospitalPageVO);
  167. return RespDTO.onSuc(data);
  168. }
  169. }