Browse Source

圈选返回数据

全业务考评 1 year ago
parent
commit
a2e339148a

+ 28 - 1
power-fitting-JN/src/main/java/com.gyee.power.fitting/controller/newfj/NewDataFittingController.java

@@ -4,13 +4,14 @@ package com.gyee.power.fitting.controller.newfj;
 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.Powerfittinganalysis;
 import com.gyee.power.fitting.model.ProEconPowerFittingAnalySis;
 import com.gyee.power.fitting.model.custom.NewDataFittingVo;
+import com.gyee.power.fitting.model.custom.PowerPointData;
 import com.gyee.power.fitting.service.custom.curve.NewDataFittingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
 import java.util.Map;
 
 @RestController
@@ -48,4 +49,30 @@ public class NewDataFittingController {
     }
 
 
+
+    /**
+     * 通过key获取原始数据
+     * 对应前端的圈选功能
+     * @param yk  有用点的key
+     * @param wk  无用点的key
+     * @return
+     */
+    @GetMapping("filter")
+    public JSONObject dataFittingFilter(String yk, String wk){
+        List<PowerPointData> list = newDataFittingService.dataOrigin(yk, wk);
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
+
+
+    /**
+     * file 文件数据展示
+     * @param id
+     * @return
+     */
+    @GetMapping("show")
+    public JSONObject dataFittingShow(String id){
+        Map<String, Object> result = newDataFittingService.dataFittingShow(id);
+        return JsonResult.successData(ResultCode.SUCCESS, result);
+    }
+
 }

+ 60 - 0
power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/curve/NewDataFittingService.java

@@ -306,6 +306,66 @@ public class NewDataFittingService {
 
 
 
+
+
+    /**
+     * 通过大点的key获取小散点
+     * @param yk
+     * @param wk
+     * @return
+     */
+    public List<PowerPointData> dataOrigin(String yk, String wk) {
+        List<PowerPointData> list = new ArrayList<>();
+
+        if (!StringUtils.isEmpty(yk)){
+            String[] key = yk.split(",");
+            for (String k : key){
+                list.addAll(dataScanService.getMapYY().get(k));
+            }
+        }
+        if (!StringUtils.isEmpty(wk)){
+            String[] kew = wk.split(",");
+            for (String k : kew){
+                list.addAll(dataScanService.getMapWY().get(k));
+            }
+        }
+
+        return list;
+    }
+
+
+
+    /**
+     * 组装表格数据
+     * @param id
+     * @return
+     */
+    public Map<String, Object> dataFittingShow(String id){
+        Map<String, Object> map = new HashMap<>();
+
+        /** 添加标题 **/
+        List<FixedVo> fxList = AnnotationTool.getFixedVoList(PowerFittingData.class);
+        List<TableTitle> lt = fxList.stream().filter(f -> f.getRemark().equals("1"))
+                .map(d -> new TableTitle(d.getName(), d.getDes())).collect(Collectors.toList());
+
+        /** 添加内容 **/
+        List<PowerFittingData> list = new ArrayList<>();
+        ProEconPowerFittingAnalySis obj = proEconPowerFittingAnalySisService.selectItemById(id);
+        List<String> ls = FileUtil.readFile(obj.getPath(), false);
+        for (int i = 1; i < ls.size(); i++){
+            PowerFittingData data = new PowerFittingData(ls.get(i).split(","));
+            list.add(data);
+        }
+
+        map.put("title", lt);
+        map.put("data", list);
+
+        return map;
+    }
+
+
+
+
     private String prepareAssemble(List<List<TsDoubleData>> list){
         if (list.size() == 0)
             return null;