yq преди 3 години
родител
ревизия
0589b12754

+ 4 - 4
fiveep-controller/src/main/java/com/bizmatics/controller/web/system/SysLoginController.java

@@ -17,10 +17,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 
 /**
@@ -76,6 +73,9 @@ public class SysLoginController
         ajax.put("user", user);
         ajax.put("roles", roles);
         ajax.put("permissions", permissions);
+        List<String> list = new ArrayList<>();
+        list.add("READ");
+        ajax.put("ability",list);
         return ApiResult.success(ajax);
     }
 

+ 1 - 1
fiveep-controller/src/main/resources/application-dev.properties

@@ -85,7 +85,7 @@ spring.redis.jedis.pool.min-idle=5
 spring.redis.jedis.pool.max-wait=1000
 
 # token
-token.header: Authorization
+token.header: accessToken
 token.secret: abcdefghijklmnopqrstuvwxyz
 token.expireTime: 144
 

+ 23 - 3
fiveep-service/src/main/java/com/bizmatics/service/HtAnalogDataService.java

@@ -1,10 +1,12 @@
 package com.bizmatics.service;
 
-import com.bizmatics.model.HtAnalogData;
 import com.bizmatics.common.mvc.base.CrudService;
+import com.bizmatics.model.HtAnalogData;
 import com.bizmatics.model.vo.DataManagementVO;
-import com.bizmatics.model.vo.HtAnalogDataVo;
-import com.bizmatics.service.vo.*;
+import com.bizmatics.service.vo.CommonIcoOneVO;
+import com.bizmatics.service.vo.CommonIcoVO;
+import com.bizmatics.service.vo.HadCountVO;
+import com.bizmatics.service.vo.TimeShareVO;
 
 import java.util.Date;
 import java.util.List;
@@ -72,6 +74,24 @@ public interface HtAnalogDataService extends CrudService<HtAnalogData> {
      */
     List<CommonIcoVO> getElectricIco(Integer siteId,Date date);
 
+    /**
+     * 根据设备和时间查看电流电压
+     * @param deviceName
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<HtAnalogData> listByDeviceAndDate(String deviceName,Date startTime,Date endTime);
+
+    /**
+     * 三相不平衡
+     * @param deviceName
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<CommonIcoVO> balun(String deviceName,Date startTime,Date endTime);
+
     List<CommonIcoVO> yearOnYearList(DataManagementVO dataManagementVO);
 
     List<CommonIcoOneVO> ringRatioList(DataManagementVO dataManagementVO);

+ 7 - 0
fiveep-service/src/main/java/com/bizmatics/service/RtAnalogDataService.java

@@ -39,6 +39,13 @@ public interface RtAnalogDataService extends CrudService<RtAnalogData> {
      */
     Double getEpLoad(Integer siteId);
 
+    /**
+     * 电能质量(实时评分)
+     * @param deviceName
+     * @return
+     */
+    List<String> realScore(String deviceName);
+
 
     /**
      *

+ 43 - 4
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java

@@ -6,7 +6,6 @@ import com.bizmatics.common.core.util.Arith;
 import com.bizmatics.common.core.util.DateUtils;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
 import com.bizmatics.common.spring.util.JsonUtils;
-import com.bizmatics.model.GroupingList;
 import com.bizmatics.model.HadSiteStatic;
 import com.bizmatics.model.HtAnalogData;
 import com.bizmatics.model.vo.DataManagementVO;
@@ -15,15 +14,16 @@ import com.bizmatics.persistence.mapper.HtAnalogDataMapper;
 import com.bizmatics.service.HadSiteStaticService;
 import com.bizmatics.service.HtAnalogDataService;
 import com.bizmatics.service.util.SecurityUtils;
-import com.bizmatics.service.vo.*;
+import com.bizmatics.service.vo.CommonIcoOneVO;
+import com.bizmatics.service.vo.CommonIcoVO;
+import com.bizmatics.service.vo.HadCountVO;
+import com.bizmatics.service.vo.TimeShareVO;
 import com.fasterxml.jackson.core.type.TypeReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import javax.swing.plaf.PanelUI;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
-import java.time.LocalDateTime;
 import java.util.*;
 
 
@@ -273,6 +273,45 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         return list;
     }
 
+    @Override
+    public List<HtAnalogData> listByDeviceAndDate(String deviceName, Date startTime, Date endTime) {
+        LambdaQueryWrapper<HtAnalogData> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.select(HtAnalogData::getIa,HtAnalogData::getIb,HtAnalogData::getIc,HtAnalogData::getUa,HtAnalogData::getUb,HtAnalogData::getUc)
+                .eq(HtAnalogData::getDeviceName,deviceName)
+                .between(HtAnalogData::getDataTime,startTime,endTime);
+        return list(queryWrapper);
+    }
+
+    @Override
+    public List<CommonIcoVO> balun(String deviceName, Date startTime, Date endTime) {
+        List<HtAnalogData> list = listByDeviceAndDate(deviceName, startTime, endTime);
+        List<Double> aList = new ArrayList<>();
+        List<Double> uList = new ArrayList<>();
+        List<Double> checkList = new ArrayList<>();
+        for (HtAnalogData htAnalogData:list) {
+            checkList.add(htAnalogData.getIa());
+            checkList.add(htAnalogData.getIb());
+            checkList.add(htAnalogData.getIc());
+            aList.add(checkBalun(checkList));
+            list.clear();
+            checkList.add(htAnalogData.getUa());
+            checkList.add(htAnalogData.getUb());
+            checkList.add(htAnalogData.getUc());
+            uList.add(checkBalun(checkList));
+            list.clear();
+        }
+        List<CommonIcoVO> commonIcoVOS = new ArrayList<>();
+        commonIcoVOS.add(CommonIcoVO.builder().name("电流不平衡度").listDate(aList).build());
+        commonIcoVOS.add(CommonIcoVO.builder().name("电压不平衡度").listDate(uList).build());
+        return commonIcoVOS;
+    }
+
+    public Double checkBalun(List<Double> list){
+        Double max = list.stream().max(Double::compareTo).get();
+        Double min = list.stream().min(Double::compareTo).get();
+        return Arith.div(Arith.sub(max,min),max);
+    }
+
 
     @Override
     public List<CommonIcoVO> yearOnYearList(DataManagementVO dataManagementVO) {

+ 43 - 4
fiveep-service/src/main/java/com/bizmatics/service/impl/RtAnalogDataServiceImpl.java

@@ -3,11 +3,10 @@ package com.bizmatics.service.impl;
 import cn.afterturn.easypoi.excel.ExcelExportUtil;
 import cn.afterturn.easypoi.excel.entity.ExportParams;
 import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.bizmatics.common.core.exception.BusinessException;
-import com.bizmatics.common.core.util.Arith;
-import com.bizmatics.common.core.util.DateUtils;
-import com.bizmatics.common.core.util.FileUtils;
-import com.bizmatics.common.core.util.StringUtils;
+import com.bizmatics.common.core.util.*;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
 import com.bizmatics.common.spring.util.GlobalUtils;
 import com.bizmatics.model.Device;
@@ -18,6 +17,7 @@ import com.bizmatics.persistence.mapper.RtAnalogDataMapper;
 import com.bizmatics.service.RtAnalogDataService;
 import com.bizmatics.service.util.SecurityUtils;
 import com.bizmatics.service.vo.RadCountVO;
+import com.bizmatics.service.vo.RealScoreVO;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -110,6 +110,45 @@ public class RtAnalogDataServiceImpl extends AbstractCrudService<RtAnalogDataMap
         return baseMapper.selectTotalLoad(userId, siteId);
     }
 
+    @Override
+    public List<String> realScore(String deviceName) {
+        LambdaQueryWrapper<RtAnalogData> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(RtAnalogData::getDeviceName,deviceName);
+        RtAnalogData rtAnalogData = getOne(queryWrapper);
+        return null;
+    }
+
+    /**
+     * 填充实时数据
+     */
+    public void fillRealScoreData(RtAnalogData rtAnalogData){
+        List<Double> checkList = new ArrayList<>();
+        RealScoreVO realScoreVo = BeanMapperUtils.map(rtAnalogData, RealScoreVO.class);
+        checkList.add(realScoreVo.getIa());
+        checkList.add(realScoreVo.getIb());
+        checkList.add(realScoreVo.getIc());
+        //电流不平衡
+        realScoreVo.setElBalun(checkBalun(checkList));
+        checkList.clear();
+        checkList.add(realScoreVo.getUa());
+        checkList.add(realScoreVo.getUb());
+        checkList.add(realScoreVo.getUc());
+        //电压不平衡
+        realScoreVo.setVtBalun(checkBalun(checkList));
+    }
+
+
+    /**
+     * 计算电流/电压不平衡
+     * @param list
+     * @return
+     */
+    public Double checkBalun(List<Double> list){
+        Double max = list.stream().max(Double::compareTo).get();
+        Double min = list.stream().min(Double::compareTo).get();
+        return Arith.div(Arith.sub(max,min),max);
+    }
+
     /**
      * 添加数据单位
      *

+ 68 - 0
fiveep-service/src/main/java/com/bizmatics/service/vo/RealScoreVO.java

@@ -0,0 +1,68 @@
+package com.bizmatics.service.vo;
+
+import lombok.Data;
+
+/**
+ * 实时评分
+ * @author yq
+ * @date 2021/10/22 16:50
+ */
+@Data
+public class RealScoreVO {
+
+    /**
+     * A相电流
+     */
+    private Double Ia;
+
+    /**
+     * B相电流
+     */
+    private Double Ib;
+
+    /**
+     * C相电流
+     */
+    private Double Ic;
+
+
+    /**
+     * A相电压
+     */
+    private Double Ua;
+
+    /**
+     * B相电压
+     */
+    private Double Ub;
+
+    /**
+     * C相电压
+     */
+    private Double Uc;
+    /**
+     * 功率因素
+      */
+    private Double power;
+    /**
+     * 电流不平衡
+     */
+    private Double elBalun;
+    /**
+     * 电压不平衡
+     */
+    private Double vtBalun;
+    /**
+     * a电流负载
+     */
+    private Double aLoad;
+    /**
+     * b电流负载
+     */
+    private Double bLoad;
+    /**
+     * c电流负载
+     */
+    private Double cLoad;
+
+}