123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- package com.gyee.power.fitting.controller.fj;
- import com.alibaba.fastjson.JSONObject;
- import com.gyee.power.fitting.common.result.JsonResult;
- import com.gyee.power.fitting.common.result.ResultCode;
- import com.gyee.power.fitting.model.ProEconPowerFittingAnalySis;
- import com.gyee.power.fitting.model.custom.PowerPointData;
- import com.gyee.power.fitting.service.custom.curve.DataFittingService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import java.util.List;
- import java.util.Map;
- /**
- * 功率曲线拟合
- */
- @RestController
- @CrossOrigin
- @RequestMapping("/power/fitting")
- public class DataFittingController {
- @Resource
- private DataFittingService fittingService;
- @Autowired
- private HttpServletRequest request;
- /**
- * 数据拟合
- * @param ids 数据预处理id
- * @param maxs
- * @param mins
- * @param maxp
- * @param minp
- * @param dimension 多项式
- * @param mode 拟合方式 0:单台拟合 1:合并拟合 2:同名拟合
- * @return
- */
- @GetMapping("/data")
- public JSONObject dataFitting(@RequestParam(value = "ids", required = false) String ids,
- @RequestParam(value = "maxs", required = false) Double maxs,
- @RequestParam(value = "mins", required = false) Double mins,
- @RequestParam(value = "maxp", required = false) Double maxp,
- @RequestParam(value = "minp", required = false) Double minp,
- @RequestParam(value = "dimension", required = false) Integer dimension,
- @RequestParam(value = "mode", required = false) Integer mode){
- if (ids.isEmpty())
- return JsonResult.error(ResultCode.PARAM_IS_BLANK);
- ProEconPowerFittingAnalySis obj = fittingService.dataFitting(ids, maxs, mins, maxp, minp, dimension, mode);
- return JsonResult.successData(ResultCode.SUCCESS, obj);
- }
- /** 文件 tree
- * @return
- */
- @GetMapping("tree")
- public JSONObject dataFIttingTree(){
- List<Object> result = fittingService.dataFittingTree(request);
- return JsonResult.successData(ResultCode.SUCCESS, result);
- }
- /**
- * file 文件数据展示
- * @param id
- * @return
- */
- @GetMapping("show")
- public JSONObject dataFittingShow(String id){
- Map<String, Object> result = fittingService.dataFittingShow(id);
- return JsonResult.successData(ResultCode.SUCCESS, result);
- }
- /**
- * 读取曲线,散点等数据
- * @param id 拟合好的数据ID
- * @return
- */
- @GetMapping("curve")
- public JSONObject dataFittingCurve(String id){
- Map<String, Object> result = fittingService.dataFittingCurve(id);
- return JsonResult.successData(ResultCode.SUCCESS, result);
- }
- /**
- * 通过key获取原始数据
- * 对应前端的圈选功能
- * @param yk 有用点的key
- * @param wk 无用点的key
- * @return
- */
- @GetMapping("filter")
- public JSONObject dataFittingFilter(String yk, String wk){
- List<PowerPointData> list = fittingService.dataOrigin(yk, wk);
- return JsonResult.successData(ResultCode.SUCCESS, list);
- }
- /**
- * 保存拟合的功率曲线数据
- * @param ids 曲线拟合的ids
- * @return
- */
- @GetMapping("curve/save")
- public JSONObject dataCurveSave(String ids){
- fittingService.curveSave(ids);
- return JsonResult.success(ResultCode.SUCCESS);
- }
- /**
- * 获取多风机的拟合曲线功率
- * @param ids 拟合好的数据ID
- * @return
- */
- @GetMapping("line")
- public JSONObject dataFittingLine(String ids){
- Object o = fittingService.dataFittingLine(ids);
- return JsonResult.successData(ResultCode.SUCCESS, o);
- }
- /**
- * 获取多风机的运行时间
- * 不运行时间 3-5m风速运行时间 5-10m风速运行时间 10-12m风速运行时间 12-25m风速运行时间
- * 到达切入风速但未运行的时间
- * @param ids 拟合好的数据ID
- * @return
- */
- @GetMapping("time")
- public JSONObject dataFittingYXTime(String ids){
- Object o = fittingService.dataFittingTime(ids);
- return JsonResult.successData(ResultCode.SUCCESS, o);
- }
- }
|