DataQualityHomeEndpoint.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. package com.yihu.ehr.analyze.controller.dataQuality;
  2. import com.yihu.ehr.analyze.service.dataQuality.DataQualityHomeService;
  3. import com.yihu.ehr.constants.ApiVersion;
  4. import com.yihu.ehr.constants.ServiceApi;
  5. import com.yihu.ehr.controller.EnvelopRestEndPoint;
  6. import com.yihu.ehr.util.rest.Envelop;
  7. import io.swagger.annotations.Api;
  8. import io.swagger.annotations.ApiOperation;
  9. import io.swagger.annotations.ApiParam;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.http.MediaType;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RequestMethod;
  14. import org.springframework.web.bind.annotation.RequestParam;
  15. import org.springframework.web.bind.annotation.RestController;
  16. /**
  17. * 质控管理- 首页
  18. * @author HZY
  19. * @created 2018/8/17 11:24
  20. */
  21. @RestController
  22. @RequestMapping(value = ApiVersion.Version1_0, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  23. @Api(value = "DataQualityHomeEndpoint", description = "质控管理首页", tags = {"档案分析服务-质控-首页"})
  24. public class DataQualityHomeEndpoint extends EnvelopRestEndPoint {
  25. @Autowired
  26. private DataQualityHomeService dataQualityHomeService;
  27. @RequestMapping(value = ServiceApi.DataQuality.HomeSummary, method = RequestMethod.GET)
  28. @ApiOperation(value = "质量监控首页--质控情况")
  29. public Envelop homneSummary(
  30. @ApiParam(name = "start", value = "开始时间,(接收时间)")
  31. @RequestParam(value = "start", required = false) String start,
  32. @ApiParam(name = "end", value = "结束时间,(接收时间)", defaultValue = "")
  33. @RequestParam(value = "end", required = false) String end ) throws Exception {
  34. Envelop envelop = new Envelop();
  35. try {
  36. return success(dataQualityHomeService.getQuailyDetail(start,end));
  37. }catch (Exception e){
  38. e.printStackTrace();
  39. envelop.setSuccessFlg(false);
  40. envelop.setErrorMsg(e.getMessage());
  41. }
  42. return envelop;
  43. }
  44. @RequestMapping(value = ServiceApi.DataQuality.HomeAreaDataList, method = RequestMethod.GET)
  45. @ApiOperation(value = "质量监控首页--各区县质控情况")
  46. public Envelop findAreaData(
  47. @ApiParam(name = "dataType", value = "数据维度 (0: 完整性,1:及时性,2:准确性)")
  48. @RequestParam(value = "dataType", required = false) Integer dataType,
  49. @ApiParam(name = "start", value = "开始时间,(接收时间)")
  50. @RequestParam(value = "start", required = false) String start,
  51. @ApiParam(name = "end", value = "结束时间,(接收时间)", defaultValue = "")
  52. @RequestParam(value = "end", required = false) String end ) throws Exception {
  53. Envelop envelop = new Envelop();
  54. try {
  55. return success(dataQualityHomeService.findAreaData(dataType,start,end));
  56. }catch (Exception e){
  57. e.printStackTrace();
  58. envelop.setSuccessFlg(false);
  59. envelop.setErrorMsg(e.getMessage());
  60. }
  61. return envelop;
  62. }
  63. @RequestMapping(value = ServiceApi.DataQuality.HomeOrgDataList, method = RequestMethod.GET)
  64. @ApiOperation(value = "质量监控首页--区县下各机构质控情况")
  65. public Envelop findOrgDataByArea(
  66. @ApiParam(name = "orgArea", value = "市区域编码")
  67. @RequestParam(value = "orgArea", required = false) String orgArea,
  68. @ApiParam(name = "dataType", value = "数据维度 (0: 完整性,1:及时性,2:准确性)")
  69. @RequestParam(value = "dataType", required = false) Integer dataType,
  70. @ApiParam(name = "start", value = "开始时间,(接收时间)")
  71. @RequestParam(value = "start", required = false) String start,
  72. @ApiParam(name = "end", value = "结束时间,(接收时间)", defaultValue = "")
  73. @RequestParam(value = "end", required = false) String end ) throws Exception {
  74. Envelop envelop = new Envelop();
  75. try {
  76. return success(dataQualityHomeService.findOrgData(dataType,orgArea,start,end));
  77. }catch (Exception e){
  78. e.printStackTrace();
  79. envelop.setSuccessFlg(false);
  80. envelop.setErrorMsg(e.getMessage());
  81. }
  82. return envelop;
  83. }
  84. @RequestMapping(value = ServiceApi.DataQuality.HomeDatasetError, method = RequestMethod.GET)
  85. @ApiOperation(value = "质量监控首页--错误数据集")
  86. public Envelop homeDatasetError(
  87. @ApiParam(name = "orgArea", value = "市区域编码")
  88. @RequestParam(value = "orgArea", required = false) String orgArea,
  89. @ApiParam(name = "orgCode", value = "机构代码")
  90. @RequestParam(value = "orgCode", required = false) String orgCode,
  91. @ApiParam(name = "dataType", value = "数据维度 (0: 完整性,2:准确性)")
  92. @RequestParam(value = "dataType", required = false) Integer dataType,
  93. @ApiParam(name = "start", value = "开始时间,(接收时间)")
  94. @RequestParam(value = "start", required = false) String start,
  95. @ApiParam(name = "end", value = "结束时间,(接收时间)")
  96. @RequestParam(value = "end", required = false) String end ) throws Exception {
  97. Envelop envelop = new Envelop();
  98. try {
  99. return success(dataQualityHomeService.homeDatasetError(orgArea,orgCode, dataType, start, end));
  100. }catch (Exception e){
  101. e.printStackTrace();
  102. envelop.setSuccessFlg(false);
  103. envelop.setErrorMsg(e.getMessage());
  104. }
  105. return envelop;
  106. }
  107. @RequestMapping(value = ServiceApi.DataQuality.HomeMetadataError, method = RequestMethod.GET)
  108. @ApiOperation(value = "质量监控首页--错误数据元")
  109. public Envelop homeMetadataError(
  110. @ApiParam(name = "orgArea", value = "市区域编码")
  111. @RequestParam(value = "orgArea", required = false) String orgArea,
  112. @ApiParam(name = "orgCode", value = "机构代码")
  113. @RequestParam(value = "orgCode", required = false) String orgCode,
  114. @ApiParam(name = "dataset", value = "数据集")
  115. @RequestParam(value = "dataset", required = false) String dataset,
  116. @ApiParam(name = "dataType", value = "数据维度 (0: 完整性,2:准确性)")
  117. @RequestParam(value = "dataType", required = false) Integer dataType,
  118. @ApiParam(name = "start", value = "开始时间,(接收时间)")
  119. @RequestParam(value = "start", required = false) String start,
  120. @ApiParam(name = "end", value = "结束时间,(接收时间)")
  121. @RequestParam(value = "end", required = false) String end ) throws Exception {
  122. Envelop envelop = new Envelop();
  123. try {
  124. return success(dataQualityHomeService.homeMetadataError(orgArea,orgCode,dataset, dataType, start, end));
  125. }catch (Exception e){
  126. e.printStackTrace();
  127. envelop.setSuccessFlg(false);
  128. envelop.setErrorMsg(e.getMessage());
  129. }
  130. return envelop;
  131. }
  132. @RequestMapping(value = "bulkUpDateOrgArea", method = RequestMethod.GET)
  133. @ApiOperation(value = "批量更新机构关联的区域编码(通过org_code字段更新org_area字段")
  134. public long bulkUploadOrgArea(
  135. @ApiParam(name = "index", value = "索引")
  136. @RequestParam(value = "index", required = true) String index,
  137. @ApiParam(name = "type", value = "type")
  138. @RequestParam(value = "type", required = true) String type,
  139. @ApiParam(name = "filters", value = "es查询条件以“;”分割(示例:a=1;b=test)")
  140. @RequestParam(value = "filters", required = false) String filters
  141. ) throws Exception {
  142. long result = dataQualityHomeService.bulkUpdateOrgArea(index, type, filters);
  143. return result;
  144. }
  145. /** *************************** APP 端接口 **********************************/
  146. @RequestMapping(value = ServiceApi.DataQuality.HomeCompleteAnalyze, method = RequestMethod.GET)
  147. @ApiOperation(value = "质量监控首页--完整率分析")
  148. public Envelop completeAnalyze(
  149. @ApiParam(name = "start", value = "开始时间,(接收时间)")
  150. @RequestParam(value = "start", required = false) String start,
  151. @ApiParam(name = "end", value = "结束时间,(接收时间)", defaultValue = "")
  152. @RequestParam(value = "end", required = false) String end ) throws Exception {
  153. Envelop envelop = new Envelop();
  154. try {
  155. return success(dataQualityHomeService.getCompleteStatistics(start,end));
  156. }catch (Exception e){
  157. e.printStackTrace();
  158. envelop.setSuccessFlg(false);
  159. envelop.setErrorMsg(e.getMessage());
  160. }
  161. return envelop;
  162. }
  163. @RequestMapping(value = ServiceApi.DataQuality.HomeCorrectAnalyze, method = RequestMethod.GET)
  164. @ApiOperation(value = "质量监控首页--准确率分析")
  165. public Envelop correctAnalyze(
  166. @ApiParam(name = "start", value = "开始时间,(接收时间)")
  167. @RequestParam(value = "start", required = false) String start,
  168. @ApiParam(name = "end", value = "结束时间,(接收时间)", defaultValue = "")
  169. @RequestParam(value = "end", required = false) String end ) throws Exception {
  170. Envelop envelop = new Envelop();
  171. try {
  172. return success(dataQualityHomeService.getCorrectStatistics(start,end));
  173. }catch (Exception e){
  174. e.printStackTrace();
  175. envelop.setSuccessFlg(false);
  176. envelop.setErrorMsg(e.getMessage());
  177. }
  178. return envelop;
  179. }
  180. @RequestMapping(value = ServiceApi.DataQuality.HomeInTimeAnalyze, method = RequestMethod.GET)
  181. @ApiOperation(value = "质量监控首页--及时率分析")
  182. public Envelop inTimeAnalyze(
  183. @ApiParam(name = "start", value = "开始时间,(接收时间)")
  184. @RequestParam(value = "start", required = false) String start,
  185. @ApiParam(name = "end", value = "结束时间,(接收时间)", defaultValue = "")
  186. @RequestParam(value = "end", required = false) String end ) throws Exception {
  187. Envelop envelop = new Envelop();
  188. try {
  189. return success(dataQualityHomeService.getInTimeStatistics(start,end));
  190. }catch (Exception e){
  191. e.printStackTrace();
  192. envelop.setSuccessFlg(false);
  193. envelop.setErrorMsg(e.getMessage());
  194. }
  195. return envelop;
  196. }
  197. @RequestMapping(value = ServiceApi.DataQuality.HomeTrend, method = RequestMethod.GET)
  198. @ApiOperation(value = "质量监控首页--月趋势、日趋势")
  199. public Envelop homeTrend(
  200. @ApiParam(name = "flag", value = "类型(10:按月,20:按日)")
  201. @RequestParam(value = "flag", required = true) String flag,
  202. @ApiParam(name = "dataType", value = "数据维度 (0: 完整性,1:及时性,2:准确性)")
  203. @RequestParam(value = "dataType", required = false) Integer dataType,
  204. @ApiParam(name = "month", value = "月份")
  205. @RequestParam(value = "month", required = false) String month
  206. ) throws Exception {
  207. Envelop envelop = new Envelop();
  208. try {
  209. return success(dataQualityHomeService.homeTrend(flag, dataType, month));
  210. }catch (Exception e){
  211. e.printStackTrace();
  212. envelop.setSuccessFlg(false);
  213. envelop.setErrorMsg(e.getMessage());
  214. }
  215. return envelop;
  216. }
  217. }