NewDataFittingController.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.gyee.runeconomy.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.gyee.runeconomy.dto.fitting.Alarm;
  4. import com.gyee.runeconomy.dto.fitting.AlarmDataVo;
  5. import com.gyee.runeconomy.dto.fitting.AlarmRequest;
  6. import com.gyee.runeconomy.dto.result.JsonResult;
  7. import com.gyee.runeconomy.dto.result.PowerPointData;
  8. import com.gyee.runeconomy.dto.result.ResultCode;
  9. import com.gyee.runeconomy.model.auto.ProEconPowerFittingAnalySis;
  10. import com.gyee.runeconomy.model.vo.NewDataFittingVo;
  11. import com.gyee.runeconomy.service.auto.impl.NewDataFittingService;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.*;
  14. import java.util.List;
  15. import java.util.Map;
  16. @RestController
  17. @CrossOrigin
  18. @RequestMapping("/new/power/fitting")
  19. public class NewDataFittingController {
  20. @Autowired
  21. private NewDataFittingService newDataFittingService;
  22. /**
  23. * 功率曲线拟合
  24. * @param
  25. * @return
  26. */
  27. @GetMapping("/data")
  28. public JSONObject dataFitting(@RequestParam(value = "station", required = false) String station,
  29. @RequestParam(value = "wtIds", required = false) String wtIds,
  30. @RequestParam(value = "st", required = false) Long st,
  31. @RequestParam(value = "et", required = false) Long et,
  32. @RequestParam(value = "interval", required = false) Integer interval,
  33. @RequestParam(value = "isbw", required = false) Boolean isbw,
  34. @RequestParam(value = "isfbw", required = false) Boolean isfbw,
  35. @RequestParam(value = "isfhl", required = false) Boolean isfhl,
  36. @RequestParam(value = "istj", required = false) Boolean istj,
  37. @RequestParam(value = "isglpc", required = false) Boolean isglpc,
  38. @RequestParam(value = "xd", required = false) Integer xd,
  39. @RequestParam(value = "maxp", required = false) double maxp,
  40. @RequestParam(value = "maxs", required = false) double maxs,
  41. @RequestParam(value = "mins", required = false) double mins,
  42. @RequestParam(value = "minp", required = false) double minp,
  43. @RequestParam(value = "mode", required = false) Integer mode,
  44. @RequestParam(value = "dimension", required = false) Integer dimension
  45. ) {
  46. ProEconPowerFittingAnalySis obj = newDataFittingService.newDataFitting(station,wtIds,st,et,interval,isbw,isfbw,isfhl,istj,isglpc,xd,maxp,maxs,mins,minp,mode,dimension);
  47. return JsonResult.successData(ResultCode.SUCCESS, obj);
  48. }
  49. /**
  50. * 读取曲线,散点等数据
  51. * @param id 拟合好的数据ID
  52. * @return
  53. */
  54. @GetMapping("curve")
  55. public JSONObject dataFittingCurve(String id){
  56. Map<String, Object> result = newDataFittingService.dataFittingCurve(id);
  57. return JsonResult.successData(ResultCode.SUCCESS, result);
  58. }
  59. /**
  60. * 通过key获取原始数据
  61. * 对应前端的圈选功能
  62. * @param yk 有用点的key
  63. * @param wk 无用点的key
  64. * @return
  65. */
  66. @GetMapping("filter")
  67. public JSONObject dataFittingFilter(String yk, String wk){
  68. List<PowerPointData> list = newDataFittingService.dataOrigin(yk, wk);
  69. return JsonResult.successData(ResultCode.SUCCESS, list);
  70. }
  71. /**
  72. * file 文件数据展示
  73. * @param id
  74. * @return
  75. */
  76. @GetMapping("/show")
  77. public JSONObject dataFittingShow(String id){
  78. Map<String, Object> result = newDataFittingService.dataFittingShow(id);
  79. return JsonResult.successData(ResultCode.SUCCESS, result);
  80. }
  81. /**
  82. * 获取故障或预警数据
  83. // * @param table
  84. // * @param only
  85. * @return
  86. */
  87. @PostMapping("alarms")
  88. public JSONObject getDataAlarms(@RequestBody AlarmRequest request) {
  89. String table = request.getTable();
  90. List<Alarm> alarmList = request.getAlarmList();
  91. List<AlarmDataVo> list = newDataFittingService.getDataAlarms(table, alarmList);
  92. return JsonResult.successData(ResultCode.SUCCESS, list);
  93. }
  94. }