wangchangsheng 2 lat temu
rodzic
commit
1a0da5706e

+ 83 - 0
web/monitor-web-sxjn/src/main/java/com/gyee/frame/controller/peranalysis/EBAPerSisController.java

@@ -0,0 +1,83 @@
+package com.gyee.frame.controller.peranalysis;
+
+
+import com.gyee.frame.common.conf.AjaxStatus;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.model.custom.EBAPerSisVo;
+import com.gyee.frame.model.custom.ElePerAnalysisVo;
+import com.gyee.frame.service.peranalysis.EBApersisService;
+import com.gyee.frame.util.StringUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+@RestController
+@RequestMapping("/ebapersis")
+@Api(value = "EBA能效分析", tags = "EBA能效分析")
+public class EBAPerSisController {
+
+
+    @Autowired
+    private EBApersisService ebApersisService;
+
+
+    /**
+     * 月电量分析
+     *
+     * @param companyid
+     * @param regionid
+     * @param station
+     * @param year
+     * @param month
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/getebapersislist")
+    @ResponseBody
+    @ApiOperation(value = "EBA能效分析", notes = "EBA能效分析")
+    public AjaxResult EBAPerSisList(
+            @RequestParam(value = "companyid", required = false) String companyid,
+            @RequestParam(value = "regionid", required = false) String regionid,
+            @RequestParam(value = "station", required = false) String station,
+            @RequestParam(value = "year", required = false) String year,
+            @RequestParam(value = "month", required = false) String month
+    ) throws Exception {
+
+        List<EBAPerSisVo> vos = new ArrayList<>();
+
+        if (StringUtils.notEmp(station) && StringUtils.notEmp(year) && StringUtils.notEmp(month)) {
+
+            Calendar cal = Calendar.getInstance();
+            cal.set(Calendar.HOUR_OF_DAY, 0);
+            cal.set(Calendar.MINUTE, 0);
+            cal.set(Calendar.SECOND, 0);
+            cal.set(Calendar.MILLISECOND, 0);
+
+            cal.set(Calendar.YEAR, Integer.valueOf(year));
+            cal.set(Calendar.MONTH, Integer.valueOf(month) - 1);
+            cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
+            Date beginDate = cal.getTime();
+            cal.add(Calendar.MONTH, 1);
+            Date endDate = cal.getTime();
+            vos = ebApersisService.getElePerAnalysisList(companyid, regionid, station, beginDate, endDate);
+        }
+
+
+        if (null != vos) {
+            return AjaxResult.successData(AjaxStatus.success.code, vos);
+        } else {
+            return AjaxResult.successData(AjaxStatus.success.code, vos);
+        }
+
+    }
+
+
+
+
+}

+ 2 - 2
web/monitor-web-sxjn/src/main/java/com/gyee/frame/controller/peranalysis/ElePerAnalysis.java

@@ -18,7 +18,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/eleperanalysis")
 @Api(value = "月电量分析", tags = "月电量分析")
-public class ElePerAnalysis {
+public class ElePerAnalysisController {
 
 
     @Autowired
@@ -35,7 +35,7 @@ public class ElePerAnalysis {
      * @return
      * @throws Exception
      */
-    @PostMapping("/geteleperanalysislist")
+    @GetMapping("/geteleperanalysislist")
     @ResponseBody
     @ApiOperation(value = "月电量分析", notes = "月电量分析")
     public AjaxResult ElePerAnalysisList(

+ 1 - 1
web/monitor-web-sxjn/src/main/java/com/gyee/frame/controller/peranalysis/PointPerSis.java

@@ -14,7 +14,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/pointpersis")
 @Api(value = "测点曲线分析", tags = "测点曲线分析")
-public class PointPerSis {
+public class PointPerSisController {
 
 
     @Autowired

+ 1 - 1
web/monitor-web-sxjn/src/main/java/com/gyee/frame/controller/peranalysis/StationPersis.java

@@ -15,7 +15,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/stationPersis")
 @Api(value = "场站性能分析", tags = "场站性能分析")
-public class StationPersis {
+public class StationPersisController {
 
     @Autowired
     private WindpowerstationService windpowerstationService;

+ 23 - 0
web/monitor-web-sxjn/src/main/java/com/gyee/frame/model/custom/EBAPerSisVo.java

@@ -0,0 +1,23 @@
+package com.gyee.frame.model.custom;
+
+
+import lombok.Data;
+
+
+@Data
+public class EBAPerSisVo {
+
+    private String station;
+
+    private String name;
+
+    private double fdl;//发电量
+    private double fs;//风速
+    private double gzssdl;//故障损失电量
+    private double whssdl; //维护损失电量
+    private double xnssdl ; //性能损失电量
+    private double xdssdl; //限电损失电量
+    private double slssdl;//受累损失电量
+    private double fnlyl;//风能利用率
+
+}

+ 80 - 0
web/monitor-web-sxjn/src/main/java/com/gyee/frame/service/peranalysis/EBApersisService.java

@@ -0,0 +1,80 @@
+package com.gyee.frame.service.peranalysis;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.gyee.frame.common.cache.IGlobalCache;
+import com.gyee.frame.model.auto.WindpowerstationPG;
+import com.gyee.frame.model.auto.Windpowerstationpointnew;
+import com.gyee.frame.model.custom.DNAVal;
+import com.gyee.frame.model.custom.EBAPerSisVo;
+import com.gyee.frame.service.WindpowerstationPGService;
+import com.gyee.frame.util.IRealTimeDataBaseUtil;
+import com.gyee.frame.util.RealTimeDataBaseFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+@Service
+public class EBApersisService {
+
+
+    IRealTimeDataBaseUtil realApiUtil = RealTimeDataBaseFactory.createRealTimeDataBase();
+
+
+    @Resource
+    private IGlobalCache globalCache;
+
+
+    @Autowired
+    private WindpowerstationPGService windpowerstationPGService;
+
+
+    public List<EBAPerSisVo> getElePerAnalysisList(String companyid, String regionid, String station, Date beginDate, Date endDate) throws Exception {
+
+        if(endDate.getTime()>new Date().getTime()){
+            endDate = new Date();
+        }
+
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(endDate);
+        calendar.add(Calendar.SECOND, -2);
+        long newend = calendar.getTimeInMillis() / 1000;
+        List<EBAPerSisVo> vos = new ArrayList<>();
+
+        List<WindpowerstationPG> list = windpowerstationPGService.findWindpowerstationPG(companyid, regionid, station);
+        for (WindpowerstationPG wp : list) {
+            EBAPerSisVo vo = new EBAPerSisVo();
+            String wpString = JSONObject.toJSONString(globalCache.get(wp.getId()));
+            Map<String, Windpowerstationpointnew> stringMapMap = JSONObject.parseObject(wpString, new TypeReference<Map<String, Windpowerstationpointnew>>() {
+            });
+
+            String[] points = {stringMapMap.get("YPJFS").getCode(),
+                    stringMapMap.get("YFDL").getCode(),
+                    stringMapMap.get("GZSSDL").getCode(),
+                    stringMapMap.get("WHSSDL").getCode(),
+                    stringMapMap.get("XNSSDL").getCode(),
+                    stringMapMap.get("XDSSDL").getCode(),
+                    stringMapMap.get("SLSSDL").getCode(),
+                    stringMapMap.get("YPJFS").getCode() };
+
+            DNAVal[] jkvalues = realApiUtil.getHistMatrix(points, newend);
+            vo.setStation(wp.getId());
+            vo.setName(wp.getName());
+            vo.setFs(jkvalues[0].DValue);
+            vo.setFdl(jkvalues[1].DValue);
+            vo.setGzssdl(jkvalues[2].DValue);//故障损失电量
+            vo.setWhssdl(jkvalues[3].DValue); //维护损失电量
+            vo.setXnssdl(jkvalues[4].DValue); //性能损失电量
+            vo.setXdssdl(jkvalues[5].DValue); //限电损失电量
+            vo.setSlssdl(jkvalues[6].DValue);//受累损失电量
+            vo.setFnlyl(jkvalues[7].DValue);//风能利用率
+            vos.add(vo);
+        }
+
+        return vos;
+    }
+
+}

+ 4 - 1
web/monitor-web-sxjn/src/main/java/com/gyee/frame/service/peranalysis/ElePerAnalysisService.java

@@ -47,11 +47,14 @@ public class ElePerAnalysisService {
     public List<ElePerAnalysisVo> getElePerAnalysisList(String companyid, String regionid, String station, Date beginDate, Date endDate) throws Exception {
 
 
+        if(endDate.getTime()>new Date().getTime()){
+            endDate = new Date();
+        }
         List<ElePerAnalysisVo> vos = new ArrayList<>();
 
         List<WindpowerstationPG> list = windpowerstationPGService.findWindpowerstationPG(companyid, regionid, station);
         for (WindpowerstationPG wp : list) {
-            String wpString = JSONObject.toJSONString(globalCache.get(station));
+            String wpString = JSONObject.toJSONString(globalCache.get(wp.getId()));
             Map<String, Windpowerstationpointnew> stringMapMap = JSONObject.parseObject(wpString, new TypeReference<Map<String, Windpowerstationpointnew>>() {
             });