AnomalyController.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package com.energy.manage.analyse.controller.anomaly;
  2. import com.energy.manage.analyse.common.IPUtils;
  3. import com.energy.manage.analyse.common.NetUtils;
  4. import com.energy.manage.analyse.common.reponse.ResultResp;
  5. import com.energy.manage.analyse.controller.base.BaseServiceController;
  6. import com.energy.manage.analyse.domain.dto.AnomalyDTO;
  7. import com.energy.manage.analyse.domain.dto.AnomalyModelDTO;
  8. import com.energy.manage.analyse.domain.vo.anomaly.*;
  9. import com.energy.manage.analyse.domain.vo.healthscores.HealthscoresRegionVO;
  10. import com.energy.manage.analyse.po.anomaly.AnomalyModelPO;
  11. import com.energy.manage.analyse.service.anomaly.AnomalyService;
  12. import io.swagger.annotations.Api;
  13. import io.swagger.annotations.ApiOperation;
  14. import io.swagger.annotations.ApiParam;
  15. import lombok.extern.slf4j.Slf4j;
  16. import org.apache.ibatis.mapping.ResultMap;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.servlet.http.HttpServletRequest;
  20. import java.util.List;
  21. /**
  22. * @author sy
  23. * @desc
  24. */
  25. @Slf4j
  26. @Api(value = "AnomalyController", tags = "风机异常检测查询接口")
  27. @RestController
  28. @RequestMapping("/anomaly")
  29. public class AnomalyController extends BaseServiceController {
  30. @Autowired
  31. private AnomalyService anomalyService;
  32. @ApiOperation("查询数据完整度")
  33. @PostMapping("/getDataCompleteness")
  34. public ResultResp<List<DataCompletenessVO>> getDataCompleteness(@RequestParam(value = "fieldCode", required = false) String fieldCode,
  35. @RequestParam(value = "dataType", required = false) String dataType,
  36. @RequestParam(value = "datatime", required = false) String datatime) {
  37. List<DataCompletenessVO> list = anomalyService.getDataCompleteness(fieldCode, dataType, datatime);
  38. log.info("查询数据完整度 - datatime: {}, 结果数量: {}", datatime, list != null ? list.size() : 0);
  39. return success(list);
  40. }
  41. @ApiOperation("所有区域异常情况信息查询")
  42. @PostMapping("/getAnomalyRegionList")
  43. public ResultResp<List<AnomalyRegionVO>> getAnomalyRegionList(
  44. @ApiParam(value = "companyCode参数为平台内部公司编号", required = false) @RequestParam(value = "companyCode", required = false) String companyCode,
  45. @ApiParam(value = "datatime参数为查询日期,当参数为空时,默认查昨天日期的数据", required = false) @RequestParam(value = "datatime", required = false) String datatime) {
  46. List<AnomalyRegionVO> list = anomalyService.getAnomalyRegionList(companyCode, datatime);
  47. return success(list);
  48. }
  49. @ApiOperation("查询异常风机概览")
  50. @PostMapping("/getAnomalyOverview")
  51. public ResultResp<List<AnomalyOverviewVO>> getAnomalyOverview(@RequestBody List<AnomalyDTO> anomalyDTOList,
  52. HttpServletRequest request) {
  53. // 判断是否是内网
  54. boolean isIntranet = NetUtils.isIntranet(IPUtils.getIpAddr(request));
  55. List<AnomalyOverviewVO> anomalyOverview = anomalyService.getAnomalyOverview(anomalyDTOList, isIntranet);
  56. return success(anomalyOverview);
  57. }
  58. @ApiOperation("查询柱状图")
  59. @PostMapping("/getBarChartStats")
  60. public ResultResp<BarChartVO> getBarChartStats(@RequestBody AnomalyDTO anomalyDTO) {
  61. BarChartVO barChartStats = anomalyService.getBarChartStats(anomalyDTO);
  62. return success(barChartStats);
  63. }
  64. @ApiOperation("查询热力图")
  65. @PostMapping("/getAnomalyModelMap")
  66. public ResultResp<AnomalyChartVO> getAnomalyModelMap(@RequestBody AnomalyDTO anomalyDTO) {
  67. AnomalyChartVO anomalyChartVO = anomalyService.getAnomalyModelMap(anomalyDTO);
  68. return success(anomalyChartVO);
  69. }
  70. @ApiOperation("风机卡片")
  71. @PostMapping("/getAnomalyModel")
  72. public ResultResp<List<AnomalyModelVO>> getAnomalyModel(@RequestBody AnomalyDTO anomalyDTO) {
  73. List<AnomalyModelVO> anomalyModelVOS = anomalyService.getAnomalyModel(anomalyDTO);
  74. return success(anomalyModelVOS);
  75. }
  76. @ApiOperation("风速功率模块模块")
  77. @PostMapping("/getAnomalyWindpwr")
  78. public ResultResp<AnomalyWindpwrVO> getAnomalyWindpwr(@RequestBody AnomalyModelDTO anomalyModelDTO,
  79. HttpServletRequest request) {
  80. // 判断是否是内网
  81. boolean isIntranet = NetUtils.isIntranet(IPUtils.getIpAddr(request));
  82. AnomalyWindpwrVO anomalyWindpwrVO = anomalyService.getAnomalyWindpwr(anomalyModelDTO, isIntranet);
  83. return success(anomalyWindpwrVO);
  84. }
  85. @ApiOperation("偏航模块模块")
  86. @PostMapping("/geAnomalyYaw")
  87. public ResultResp<AnomalyYawVO> geAnomalyYaw(@RequestBody AnomalyModelDTO anomalyModelDTO,
  88. HttpServletRequest request) {
  89. log.warn("ip" + "=====>" + IPUtils.getIpAddr(request));
  90. // 判断是否是内网
  91. boolean isIntranet = NetUtils.isIntranet(IPUtils.getIpAddr(request));
  92. AnomalyYawVO anomalyYawVO = anomalyService.geAnomalyYaw(anomalyModelDTO, isIntranet);
  93. return success(anomalyYawVO);
  94. }
  95. @ApiOperation("变桨模块模块")
  96. @PostMapping("/getAnomalyPitch")
  97. public ResultResp<AnomalyPitchVO> getAnomalyPitch(@RequestBody AnomalyModelDTO anomalyModelDTO,
  98. HttpServletRequest request) {
  99. // 判断是否是内网
  100. boolean isIntranet = NetUtils.isIntranet(IPUtils.getIpAddr(request));
  101. AnomalyPitchVO anomalyPitchVO = anomalyService.getAnomalyPitch(anomalyModelDTO, isIntranet);
  102. return success(anomalyPitchVO);
  103. }
  104. @ApiOperation("气动性能")
  105. @PostMapping("/getAerodynamics")
  106. public ResultResp<AnomalyAerodynamicsVO> getAerodynamics(@RequestBody AnomalyModelDTO anomalyModelDTO,
  107. HttpServletRequest request) {
  108. // 判断是否是内网
  109. boolean isIntranet = NetUtils.isIntranet(IPUtils.getIpAddr(request));
  110. AnomalyAerodynamicsVO anomalyAerodynamicsVO = anomalyService.getAerodynamics(anomalyModelDTO, isIntranet);
  111. return success(anomalyAerodynamicsVO);
  112. }
  113. @ApiOperation("运行状态模块模块")
  114. @PostMapping("/getAnomalyCtrlParam")
  115. public ResultResp<AnomalyCtrlParamVO> getAnomalyCtrlParam(@RequestBody AnomalyModelDTO anomalyModelDTO,
  116. HttpServletRequest request) {
  117. // 判断是否是内网
  118. boolean isIntranet = NetUtils.isIntranet(IPUtils.getIpAddr(request));
  119. AnomalyCtrlParamVO anomalyCtrlParamVO = anomalyService.getAnomalyCtrlParam(anomalyModelDTO, isIntranet);
  120. return success(anomalyCtrlParamVO);
  121. }
  122. @ApiOperation("获取模块异常趋势曲线图(支持年度分表+跨年跨表)")
  123. @PostMapping("/getPitchAnomalyTrend")
  124. public ResultResp<List<AnomalyDailyVO>> getPitchAnomalyTrend(@RequestBody AnomalyModelDTO anomalyModelDTO) {
  125. List<AnomalyDailyVO> anomalyDailyDTOS = anomalyService.getPitchAnomalyTrend(anomalyModelDTO);
  126. return success(anomalyDailyDTOS);
  127. }
  128. @ApiOperation("查询传感器异常台数 -- 雷达图")
  129. @PostMapping("/getAnomalySensorCount")
  130. public ResultResp<AnomalySensorCountVO> getAnomalySensorCount(@RequestBody AnomalyDTO anomalyDTO) {
  131. AnomalySensorCountVO anomalySensorCountVO = anomalyService.getAnomalySensorCount(anomalyDTO);
  132. return success(anomalySensorCountVO);
  133. }
  134. @ApiOperation("查询模块异常台数 -- 雷达图")
  135. @PostMapping("/getAnomalyModelCount")
  136. public ResultResp<AnomalyCount> getAnomalyModelCount(@RequestBody AnomalyDTO anomalyDTO) {
  137. AnomalyCount anomalyModelCount = anomalyService.getAnomalyModelCount(anomalyDTO);
  138. return success(anomalyModelCount);
  139. }
  140. }