ConsoleExportController.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. package com.diagbot.web;
  2. import com.diagbot.annotation.SysLogger;
  3. import com.diagbot.facade.ConsoleExportFacade;
  4. import com.diagbot.vo.EntryStatisticsVO;
  5. import com.diagbot.vo.FilterOrderVO;
  6. import com.diagbot.vo.FilterPageByAverageVO;
  7. import com.diagbot.vo.FilterPageVO;
  8. import com.diagbot.vo.QcResultShortPageVO;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.PostMapping;
  13. import org.springframework.web.bind.annotation.RequestBody;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RestController;
  16. import javax.servlet.http.HttpServletResponse;
  17. import javax.validation.Valid;
  18. /**
  19. * @Description:
  20. * @Author:zhaops
  21. * @time: 2020/4/13 16:45
  22. */
  23. @RequestMapping("/console/export")
  24. @RestController
  25. @Api(value = "数据报表明细导出相关API", tags = { "数据报表明细导出相关API" })
  26. @SuppressWarnings("unchecked")
  27. public class ConsoleExportController {
  28. @Autowired
  29. private ConsoleExportFacade consoleExportFacade;
  30. /**
  31. * 病案首页合格率占比导出
  32. *
  33. * @param filterOrderVO
  34. * @return
  35. */
  36. @ApiOperation(value = "病案首页合格率占比导出[by:gaodm]",
  37. notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
  38. "level: 病历等级 <br>" +
  39. "name: 科室名称 <br>" +
  40. "asc: 排序(升序) <br>" +
  41. "desc: 排序(降序) <br>")
  42. @PostMapping("/homePageLevelExport")
  43. @SysLogger("homePageLevelExport")
  44. public void homePageLevelExport(HttpServletResponse response, @RequestBody @Valid FilterOrderVO filterOrderVO) {
  45. consoleExportFacade.homePageLevelExport(response, filterOrderVO);
  46. }
  47. /**
  48. * 条目缺陷占比(内页)
  49. *
  50. * @param filterPageVO
  51. * @return
  52. */
  53. @ApiOperation(value = "条目缺陷占比导出[by:gaodm]",
  54. notes = "type: 统计维度 1-本月,2-本年(必填)<br>")
  55. @PostMapping("/entryGroupByEntryExport")
  56. @SysLogger("entryGroupByEntryExport")
  57. public void entryGroupByEntryExport(HttpServletResponse response, @RequestBody @Valid FilterPageVO filterPageVO) {
  58. consoleExportFacade.entryGroupByEntryExport(response, filterPageVO);
  59. }
  60. /**
  61. * 各科室缺陷占比(组合)
  62. *
  63. * @param filterOrderVO
  64. * @return
  65. */
  66. @ApiOperation(value = "各科室缺陷占比(组合)导出[by:gaodm]",
  67. notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
  68. "level: 病历等级 <br>" +
  69. "name: 科室名称 <br>" +
  70. "asc: 排序(升序) <br>" +
  71. "desc: 排序(降序) <br>")
  72. @PostMapping("/levelExport")
  73. @SysLogger("levelExport")
  74. public void levelExport(HttpServletResponse response, @RequestBody @Valid FilterOrderVO filterOrderVO) {
  75. consoleExportFacade.levelExport(response, filterOrderVO);
  76. }
  77. /**
  78. * 各科室缺陷占比(组合)
  79. *
  80. * @param filterOrderVO
  81. * @return
  82. */
  83. @ApiOperation(value = "各科室缺陷占比(组合)导出-台州[by:gaodm]",
  84. notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
  85. "level: 病历等级 <br>" +
  86. "name: 科室名称 <br>" +
  87. "asc: 排序(升序) <br>" +
  88. "desc: 排序(降序) <br>")
  89. @PostMapping("/levelExport_TZ")
  90. @SysLogger("levelExport_TZ")
  91. public void levelExport_TZ(HttpServletResponse response, @RequestBody @Valid FilterOrderVO filterOrderVO) {
  92. consoleExportFacade.levelExport_TZ(response, filterOrderVO);
  93. }
  94. /**
  95. * 按科室统计平均住院天数导出
  96. *
  97. * @param filterPageByAverageVO
  98. * @return
  99. */
  100. @ApiOperation(value = "按科室统计平均住院天数导出[by:gaodm]",
  101. notes = "type: 统计维度 1-本月,2-本年<br>" +
  102. "dateType: 时间类型 1-本月/本年,2-上月/去年,3-去年本月/去年<br>")
  103. @PostMapping("/getAverageDayNumExport")
  104. @SysLogger("getAverageDayNumExport")
  105. public void getAverageDayNumExport(HttpServletResponse response, @RequestBody FilterPageByAverageVO filterPageByAverageVO) {
  106. consoleExportFacade.getAverageDayNumExport(response, filterPageByAverageVO);
  107. }
  108. /**
  109. * 按科室统计平均住院费用导出
  110. *
  111. * @param filterPageByAverageVO
  112. * @return
  113. */
  114. @ApiOperation(value = "按科室统计平均住院费用导出[by:gaodm]",
  115. notes = "type: 统计维度 1-本月,2-本年<br>" +
  116. "dateType: 时间类型 1-本月/本年,2-上月/去年,3-去年本月/去年<br>")
  117. @PostMapping("/getAverageFeeExport")
  118. @SysLogger("getAverageFeeExport")
  119. public void getAverageFeeExport(HttpServletResponse response, @RequestBody FilterPageByAverageVO filterPageByAverageVO) {
  120. consoleExportFacade.getAverageFeeExport(response, filterPageByAverageVO);
  121. }
  122. /**
  123. * 各科室甲级病历占比排行导出
  124. *
  125. * @param filterPageVO
  126. * @return
  127. */
  128. @ApiOperation(value = "各科室甲级病历占比排行导出[by:gaodm]",
  129. notes = "type: 统计维度 1-本月,2-本年(必填)<br>")
  130. @PostMapping("/levelPercentGroupByDeptExport")
  131. @SysLogger("levelPercentGroupByDeptExport")
  132. public void levelPercentGroupByDeptExport(HttpServletResponse response, @RequestBody @Valid FilterPageVO filterPageVO) {
  133. consoleExportFacade.levelPercentGroupByDeptExport(response, filterPageVO);
  134. }
  135. /**
  136. * 条目缺陷占比导出
  137. *
  138. * @param filterPageVO
  139. * @return
  140. */
  141. @ApiOperation(value = "缺陷详情导出[by:gaodm]",
  142. notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
  143. "deptName: 科室名称 <br>" +
  144. "casesId: 模块id:243=病案首页 <br>" +
  145. "casesName: 模块名称 <br>" +
  146. "isReject: 单项否决 1-否决,0-非<br>" +
  147. "ruleType: 规则类型 0:无,1:空项,2:错误<br>")
  148. @PostMapping("/entryCountGroupByEntryExport")
  149. @SysLogger("entryCountGroupByEntryExport")
  150. public void entryCountGroupByEntryExport(HttpServletResponse response, @RequestBody @Valid FilterPageVO filterPageVO) {
  151. consoleExportFacade.entryCountGroupByEntryExport(response, filterPageVO);
  152. }
  153. /**
  154. * 各模块缺陷占比导出
  155. *
  156. * @param filterPageVO
  157. * @return
  158. */
  159. @ApiOperation(value = "各模块缺陷占比导出[by:gaodm]",
  160. notes = "type: 统计维度 1-本月,2-本年(必填)<br>")
  161. @PostMapping("/entryCountGroupByCaseExport")
  162. @SysLogger("entryCountGroupByCaseExport")
  163. public void entryCountGroupByCaseExport(HttpServletResponse response, @RequestBody @Valid FilterPageVO filterPageVO) {
  164. consoleExportFacade.entryCountGroupByCaseExport(response, filterPageVO);
  165. }
  166. /**
  167. * 关键条目缺陷占比统计导出
  168. *
  169. * @param entryStatisticsVO
  170. * @return
  171. */
  172. @ApiOperation(value = "关键条目缺陷占比统计导出[by:gaodm]",
  173. notes = "deptName:科室名称 <br>" +
  174. "asc: 排序(升序) <br>" +
  175. "desc:排序(降序) <br>" +
  176. "startDate: 起始时间 <br>" +
  177. "endDate: 截止时间 <br>")
  178. @PostMapping("/entryStatisticsExport")
  179. @SysLogger("entryStatisticsExport")
  180. public void entryStatisticsExport(HttpServletResponse response, @RequestBody @Valid EntryStatisticsVO entryStatisticsVO) {
  181. consoleExportFacade.entryStatisticsExport(response, entryStatisticsVO);
  182. }
  183. /**
  184. * 缺陷详情质控评分页导出
  185. *
  186. * @param qcResultShortPageVO
  187. * @return
  188. */
  189. @ApiOperation(value = "缺陷详情质控评分页导出[by:zhaops]",
  190. notes = "behospitalCode: 病历号<br>" +
  191. "patName: 病人姓名 <br>" +
  192. "casesEntryName: 条目名称 <br>" +
  193. "casesEntryId: 条目id <br>" +
  194. "behDeptName:科室名称 <br>" +
  195. "doctorId:医生工号 <br>" +
  196. "doctorName:医生姓名 <br>" +
  197. "level: 病历等级 <br>" +
  198. "isReject: 单项否决 1-否决,0-非<br>" +
  199. "ruleType: 规则类型 0:无,1:空项,2:错误<br>" +
  200. "startDate: 起始时间 <br>" +
  201. "endDate: 截止时间 <br>")
  202. @PostMapping("/qcResultShortPageExport")
  203. @SysLogger("qcResultShortPageExport")
  204. public void qcResultShortPageExport(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
  205. consoleExportFacade.qcResultShortPageExport(response, qcResultShortPageVO);
  206. }
  207. /**
  208. * 出院人数统计导出
  209. *
  210. * @param qcResultShortPageVO
  211. * @return
  212. */
  213. @ApiOperation(value = "出院人数统计导出[by:zhaops]",
  214. notes = "behospitalCode: 病历号<br>" +
  215. "patName: 病人姓名 <br>" +
  216. "behDeptName:科室名称 <br>" +
  217. "doctorId:医生工号 <br>" +
  218. "doctorName:医生姓名 <br>" +
  219. "level: 病历等级 <br>" +
  220. "leaveHosType: 离院人员类型(0/null:总人数,1:死亡人数,2:新生儿,3:手术病人数,4:非医嘱离院病人,5:31日再入院病人) <br>" +
  221. "startDate: 起始时间 <br>" +
  222. "endDate: 截止时间 <br>")
  223. @PostMapping("/leaveHosMrPageExport")
  224. @SysLogger("leaveHosMrPageExport")
  225. public void leaveHosMrPageExport(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
  226. consoleExportFacade.leaveHosMrPageExport(response, qcResultShortPageVO);
  227. }
  228. /**
  229. * 质控核查统计导出
  230. *
  231. * @param filterOrderVO
  232. * @return
  233. */
  234. @ApiOperation(value = "质控核查统计导出[by:zhaops]",
  235. notes = "name: 科室名称 <br>" +
  236. "asc: 排序(升序) <br>" +
  237. "desc:排序(降序) <br>" +
  238. "startDate: 起始时间 <br>" +
  239. "endDate: 截止时间 <br>")
  240. @PostMapping("/qcCheckStatisticsExport")
  241. @SysLogger("qcCheckStatisticsExport")
  242. public void qcCheckStatisticsExport(HttpServletResponse response, @RequestBody @Valid FilterOrderVO filterOrderVO) {
  243. consoleExportFacade.qcCheckStatisticsExport(response, filterOrderVO);
  244. }
  245. }