yq преди 4 години
родител
ревизия
f8b27d088e
променени са 19 файла, в които са добавени 147 реда и са изтрити 178 реда
  1. 20 4
      fiveep-controller/src/main/java/com/bizmatics/controller/web/AlarmPowerController.java
  2. 1 1
      fiveep-controller/src/main/java/com/bizmatics/controller/web/DeviceController.java
  3. 1 0
      fiveep-controller/src/main/java/com/bizmatics/controller/web/FacilityController.java
  4. 13 12
      fiveep-controller/src/main/java/com/bizmatics/controller/web/HtAnalogDataController.java
  5. 1 1
      fiveep-controller/src/main/java/com/bizmatics/controller/web/PersonnelController.java
  6. 1 1
      fiveep-controller/src/main/java/com/bizmatics/controller/web/RtAnalogDataController.java
  7. 3 10
      fiveep-controller/src/main/java/com/bizmatics/controller/web/SiteController.java
  8. 3 1
      fiveep-model/src/main/java/com/bizmatics/model/Site.java
  9. 3 1
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/HtAnalogDataMapper.java
  10. 3 1
      fiveep-persistence/src/main/resources/mapper/mysql/DeviceMapper.xml
  11. 9 79
      fiveep-persistence/src/main/resources/mapper/mysql/HtAnalogDataMapper.xml
  12. 1 1
      fiveep-service/src/main/java/com/bizmatics/service/AlarmPowerService.java
  13. 0 7
      fiveep-service/src/main/java/com/bizmatics/service/SiteService.java
  14. 7 11
      fiveep-service/src/main/java/com/bizmatics/service/impl/AlarmPowerServiceImpl.java
  15. 57 31
      fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java
  16. 13 7
      fiveep-service/src/main/java/com/bizmatics/service/impl/RtAnalogDataServiceImpl.java
  17. 0 5
      fiveep-service/src/main/java/com/bizmatics/service/impl/SiteServiceImpl.java
  18. 10 4
      fiveep-service/src/main/java/com/bizmatics/service/vo/CommonIcoVO.java
  19. 1 1
      fiveep-service/src/main/java/com/bizmatics/service/vo/DeviceCountVO.java

+ 20 - 4
fiveep-controller/src/main/java/com/bizmatics/controller/web/AlarmPowerController.java

@@ -31,7 +31,9 @@ public class AlarmPowerController {
 
 
     /**
+     *
      * 查询电力告警总数
+     * @param siteId 站点id
      * @return
      */
     @RequestMapping("/count")
@@ -42,15 +44,29 @@ public class AlarmPowerController {
 
     /**
      * 告警趋势图
+     * @param days 天数
+     * @param endTime 结束时间
+     * @param siteId 站点id
      * @return
      */
     @RequestMapping("/trendIco")
-    public ApiResult<List<CommonIcoVO>> selectByDate(@RequestParam Date startTime,
-                                                     @RequestParam(required = false) Date endTime,
-                                                     @RequestParam Integer siteId){
-        return ApiResult.success(alarmPowerService.selectByDate(startTime,endTime,siteId));
+    public ApiResult<List<CommonIcoVO>> selectByDate(@RequestParam Integer days,
+                                                     @RequestParam Date endTime,
+                                                     @RequestParam(required = false) Integer siteId){
+        return ApiResult.success(alarmPowerService.selectByDate(days,endTime,siteId));
     }
 
+
+    /**
+     * 分页
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @param status 状态
+     * @param siteId 站点
+     * @param current 页数
+     * @param size 条数
+     * @return
+     */
     @RequestMapping("/page")
     public ApiResult<CommonPage<AlarmPower>> page(@RequestParam(required = false) Date startTime,
                                                   @RequestParam(required = false) Date endTime,

+ 1 - 1
fiveep-controller/src/main/java/com/bizmatics/controller/web/DeviceController.java

@@ -40,7 +40,7 @@ public class DeviceController {
 
     /**
      * 查询不同类型的设备数量
-     * @param site
+     * @param site 站点id
      * @return
      */
     @RequestMapping("/deviceTypeCount")

+ 1 - 0
fiveep-controller/src/main/java/com/bizmatics/controller/web/FacilityController.java

@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RestController;
 import java.util.List;
 
 /**
+ * object
  * @author yq
  * @date 2021/7/12 9:09
  */

+ 13 - 12
fiveep-controller/src/main/java/com/bizmatics/controller/web/HtAnalogDataController.java

@@ -31,7 +31,7 @@ public class HtAnalogDataController {
 
 
     /**
-     * 日/月/年用电量
+     * 首页日/月/年用电量
      * @return
      */
     @RequestMapping("count")
@@ -40,19 +40,20 @@ public class HtAnalogDataController {
     }
 
     /**
-     * 用电趋势
-     * @param startTime
-     * @param siteId
+     * 今日/昨日用电趋势
+     * @param startTime 开始时间
+     * @param siteId 站点id
      * @return
      */
     @RequestMapping("eptrendIco")
-    public ApiResult<List<CommonIcoVO>> getTrendByDate(@RequestParam Date startTime,@RequestParam Integer siteId){
+    public ApiResult<List<CommonIcoVO>> getTrendByDate(@RequestParam Date startTime,@RequestParam(required = false) Integer siteId){
         return ApiResult.success(htAnalogDataService.selectTrendByDate(startTime,siteId));
     }
 
 
     /**
      * 站点日/月/年用电量
+     * @param siteId 站点id
      * @return
      */
     @RequestMapping("dayMonthYearEp")
@@ -63,18 +64,18 @@ public class HtAnalogDataController {
 
     /**
      * 分时电量
-     * @param siteId
-     * @param date
+     * @param siteId 站点id
+     * @param date 时间
      * @return
      */
     @RequestMapping("timeShare")
-    public ApiResult<TimeShareVO> getTimeShare(Integer siteId, Date date){
+    public ApiResult<TimeShareVO> getTimeShare(@RequestParam Integer siteId,@RequestParam Date date){
         return ApiResult.success(htAnalogDataService.getTimeShare(siteId,date));
     }
 
     /**
      * 需量趋势图
-     * @param siteId
+     * @param siteId 站点id
      * @return
      */
     @RequestMapping("demandIco")
@@ -83,9 +84,9 @@ public class HtAnalogDataController {
     }
 
     /**
-     * 电流
-     * @param siteId
-     * @param date
+     * 历史记录电流电压
+     * @param siteId 站点id
+     * @param date 时间
      * @return
      */
     @RequestMapping("electricIco")

+ 1 - 1
fiveep-controller/src/main/java/com/bizmatics/controller/web/PersonnelController.java

@@ -27,7 +27,7 @@ public class PersonnelController {
 
 
     /**
-     * 查询运维人员
+     * 查询不同种类的人员信息
      * @return
      */
     @RequestMapping("count")

+ 1 - 1
fiveep-controller/src/main/java/com/bizmatics/controller/web/RtAnalogDataController.java

@@ -28,7 +28,7 @@ public class RtAnalogDataController {
     private RtAnalogDataService rtAnalogDataService;
 
     /**
-     * 汇总
+     * 重载/轻载/正常
      * @return
      */
     @RequestMapping("count")

+ 3 - 10
fiveep-controller/src/main/java/com/bizmatics/controller/web/SiteController.java

@@ -40,7 +40,7 @@ public class SiteController {
 
     /**
      * 查看站点列表
-     * @param name
+     * @param name 名称
      * @return
      */
     @RequestMapping("list")
@@ -50,19 +50,12 @@ public class SiteController {
 
     /**
      * 查看站点详情
-     * @param siteId
+     * @param siteId 站点id
      * @return
      */
     @RequestMapping("one")
-    public ApiResult<SiteVO> getOne(@RequestParam(required = false) Long siteId){
+    public ApiResult<SiteVO> getOne(@RequestParam Long siteId){
         return ApiResult.success(siteService.getOne(siteId));
     }
-
-
-    @RequestMapping("siteList")
-    public ApiResult<List<Site>> getSiteList(Integer userId){
-        return ApiResult.success(siteService.getSiteList(userId));
-    }
-
 }
 

+ 3 - 1
fiveep-model/src/main/java/com/bizmatics/model/Site.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -82,7 +84,7 @@ public class Site implements Serializable {
     /**
      * 创建时间
      */
-    private LocalDateTime createTime;
+    private Date createTime;
 
     /**
      * 创建人

+ 3 - 1
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/HtAnalogDataMapper.java

@@ -20,12 +20,14 @@ import java.util.Map;
 public interface HtAnalogDataMapper extends CrudMapper<HtAnalogData> {
 
 
-    HtAnalogData selectByEndTime(@Param("endTime") Date endTime,
+    HtAnalogData selectByEndTime(@Param("startTime") Date startTime,
+                                 @Param("endTime") Date endTime,
                                  @Param("siteId")Integer siteId,
                                  @Param("userId")Integer userId);
 
 
     HtAnalogData selectByStartTime(@Param("startTime") Date startTime,
+                                   @Param("endTime") Date endTime,
                                    @Param("siteId")Integer siteId,
                                    @Param("userId")Integer userId);
 

+ 3 - 1
fiveep-persistence/src/main/resources/mapper/mysql/DeviceMapper.xml

@@ -19,6 +19,8 @@
         from user_site as us
         inner join device_status as ds
         on us.site_id = ds.site_id
+        inner join device as d
+        on us.site_id = d.site_Id
         <where>
             <if test="userId != null and userId != 0">
                 and us.user_id = #{userId}
@@ -36,7 +38,7 @@
                 and ds.status_time &lt;= #{endTime}
             </if>
             <if test="type != null">
-                and ds.device_type = #{type}
+                and d.device_type = #{type}
             </if>
         </where>
     </select>

+ 9 - 79
fiveep-persistence/src/main/resources/mapper/mysql/HtAnalogDataMapper.xml

@@ -2,73 +2,6 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.bizmatics.persistence.mapper.HtAnalogDataMapper">
 
-    <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.bizmatics.model.HtAnalogData">
-        <id column="id" property="id" />
-        <result column="deviceName" property="deviceName" />
-        <result column="Busot" property="Busot" />
-        <result column="COS" property="cos" />
-        <result column="COSa" property="COSa" />
-        <result column="COSb" property="COSb" />
-        <result column="COSc" property="COSc" />
-        <result column="Demand" property="Demand" />
-        <result column="DevResetTimes" property="DevResetTimes" />
-        <result column="DeviceTemp" property="DeviceTemp" />
-        <result column="Epn" property="Epn" />
-        <result column="Epn1" property="Epn1" />
-        <result column="Epn2" property="Epn2" />
-        <result column="Epn3" property="Epn3" />
-        <result column="Epn4" property="Epn4" />
-        <result column="Epp" property="Epp" />
-        <result column="Epp1" property="Epp1" />
-        <result column="Epp2" property="Epp2" />
-        <result column="Epp3" property="Epp3" />
-        <result column="Epp4" property="Epp4" />
-        <result column="Eqn" property="Eqn" />
-        <result column="Eqp" property="Eqp" />
-        <result column="F" property="f" />
-        <result column="I0" property="i0" />
-        <result column="I2" property="i2" />
-        <result column="IHa" property="IHa" />
-        <result column="IHb" property="IHb" />
-        <result column="IHc" property="IHc" />
-        <result column="Ia" property="Ia" />
-        <result column="Ib" property="Ib" />
-        <result column="Ic" property="Ic" />
-        <result column="Ir" property="Ir" />
-        <result column="LastDayMD" property="LastDayMD" />
-        <result column="LastDayMDt" property="LastDayMDt" />
-        <result column="P" property="p" />
-        <result column="Pa" property="Pa" />
-        <result column="Pb" property="Pb" />
-        <result column="Pc" property="Pc" />
-        <result column="Q" property="q" />
-        <result column="Qa" property="Qa" />
-        <result column="Qb" property="Qb" />
-        <result column="Qc" property="Qc" />
-        <result column="SignalIntensity" property="SignalIntensity" />
-        <result column="T1" property="t1" />
-        <result column="T2" property="t2" />
-        <result column="T3" property="t3" />
-        <result column="T4" property="t4" />
-        <result column="THDUa" property="THDUa" />
-        <result column="THDUb" property="THDUb" />
-        <result column="THDUc" property="THDUc" />
-        <result column="Ua" property="Ua" />
-        <result column="Uab" property="Uab" />
-        <result column="Ub" property="Ub" />
-        <result column="Ubc" property="Ubc" />
-        <result column="UblU0" property="UblU0" />
-        <result column="UblU2" property="UblU2" />
-        <result column="Uc" property="Uc" />
-        <result column="Uca" property="Uca" />
-        <result column="Udt" property="Udt" />
-        <result column="Ul" property="Ul" />
-        <result column="Upt" property="Upt" />
-        <result column="Ust" property="Ust" />
-        <result column="freezingTime" property="freezingTime" />
-        <result column="dataTime" property="dataTime" />
-    </resultMap>
     <select id="selectByEndTime" resultType="com.bizmatics.model.HtAnalogData">
         select had.id,deviceName,Busot,COS,COSa,COSb,COSc,Demand,DevResetTimes,DeviceTemp,Epn,Epn1,Epn2,Epn3,Epn4,Epp,
         Epp1,Epp2,Epp3,Epp4,Eqn,Eqp,F,I0,I2,IHa,IHb,IHc,Ia,Ib,Ic,Ir,LastDayMD,LastDayMDt,P,Pa,Pb,Pc,Q,Qa,Qb,Qc,SignalIntensity,
@@ -85,11 +18,11 @@
             <if test="siteId != null and siteId != 0">
                 and us.site_id = #{siteId}
             </if>
-            <if test="endTime != null">
-                and had.dataTime &lt;= #{endTime}
+            <if test="endTime != null and startTime != null">
+                BETWEEN #{startTime} and #{endTime}
             </if>
         </where>
-        order dataTime desc limit 0,1
+        order by had.id desc limit 0,1
     </select>
     <select id="selectByStartTime" resultType="com.bizmatics.model.HtAnalogData">
         select had.id,deviceName,Busot,COS,COSa,COSb,COSc,Demand,DevResetTimes,DeviceTemp,Epn,Epn1,Epn2,Epn3,Epn4,Epp,
@@ -107,11 +40,11 @@
             <if test="siteId != null and siteId != 0">
                 and us.site_id = #{siteId}
             </if>
-            <if test="startTime != null">
-                and had.dataTime >= #{startTime}
+            <if test="endTime != null and startTime != null">
+                BETWEEN #{startTime} and #{endTime}
             </if>
         </where>
-        order dataTime asc limit 0,1
+        order by had.id asc limit 0,1
     </select>
     <select id="selectMaxAndMinAndAvg" resultType="java.util.Map">
         select max(Demand) as demandMax,min(Demand) as demandMin,avg(Demand) as demandAvd
@@ -120,13 +53,10 @@
         on d.device_code = had.deviceName
         <where>
             <if test="siteId != null and siteId != 0">
-                and us.site_id = #{siteId}
-            </if>
-            <if test="startTime != null">
-                and had.dataTime >= #{startTime}
+                and d.site_id = #{siteId}
             </if>
-            <if test="endTime != null">
-                and had.dataTime >= #{endTime}
+            <if test="endTime != null and startTime != null">
+                BETWEEN #{startTime} and #{endTime}
             </if>
         </where>
     </select>

+ 1 - 1
fiveep-service/src/main/java/com/bizmatics/service/AlarmPowerService.java

@@ -29,7 +29,7 @@ public interface AlarmPowerService extends CrudService<AlarmPower> {
      * 告警趋势图
      * @return
      */
-    List<CommonIcoVO> selectByDate(Date startTime,Date endTime,Integer siteId);
+    List<CommonIcoVO> selectByDate(Integer days,Date endTime,Integer siteId);
 
     /**
      * list

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

@@ -39,12 +39,5 @@ public interface SiteService extends CrudService<Site> {
      */
     SiteVO getOne(Long siteId);
 
-    /**
-     * 站点字典
-     * @param userId
-     * @return
-     */
-    List<Site> getSiteList(Integer userId);
-
 
 }

+ 7 - 11
fiveep-service/src/main/java/com/bizmatics/service/impl/AlarmPowerServiceImpl.java

@@ -40,29 +40,25 @@ public class AlarmPowerServiceImpl extends AbstractCrudService<AlarmPowerMapper,
     }
 
     @Override
-    public List<CommonIcoVO> selectByDate(Date startTime,Date endTime,Integer siteId) {
+    public List<CommonIcoVO> selectByDate(Integer days,Date endTime,Integer siteId) {
         List<Object> faultList = new ArrayList<>();
         List<Object> rushList = new ArrayList<>();
         List<Object> noDisposeList = new ArrayList<>();
+        List<Object> dateList = new ArrayList<>();
         Integer userId = SessionLocal.getUserId();
-        int forCount = 0;
-        if (null == startTime){
-            forCount = 7;
-        }else {
-            forCount = DateUtils.getDistanceOfTwoDateNew(endTime,startTime);
-        }
-        for (int i = 0; i < forCount; i++) {
+        for (int i = 0; i < days; i++) {
             Date setDays = DateUtils.addDays(endTime, -i);
             Date dayStartTime = DateUtils.getDayStartTime(setDays);
             Date dayEndTime = DateUtils.getDayEndTime(setDays);
             faultList.add(baseMapper.selectCount(userId, siteId, null, dayStartTime, dayEndTime));
             rushList.add(baseMapper.selectCount(userId, siteId, 1, dayStartTime, dayEndTime));
             noDisposeList.add(baseMapper.selectCount(userId, siteId, 0, dayStartTime, dayEndTime));
+            dateList.add(DateUtils.getMonth(setDays)+"-"+DateUtils.getDay(setDays));
         }
         List<CommonIcoVO> list = new ArrayList<>();
-        list.add(CommonIcoVO.builder().name("故障数量").list(faultList).build());
-        list.add(CommonIcoVO.builder().name("抢修数量").list(rushList).build());
-        list.add(CommonIcoVO.builder().name("未处理数量").list(noDisposeList).build());
+        list.add(CommonIcoVO.builder().name("故障数量").list(faultList).listDate(dateList).build());
+        list.add(CommonIcoVO.builder().name("抢修数量").list(rushList).listDate(dateList).build());
+        list.add(CommonIcoVO.builder().name("未处理数量").list(noDisposeList).listDate(dateList).build());
         return list;
     }
 

+ 57 - 31
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java

@@ -1,5 +1,6 @@
 package com.bizmatics.service.impl;
 
+import com.bizmatics.common.core.exception.BusinessException;
 import com.bizmatics.common.core.util.DateUtils;
 import com.bizmatics.model.HtAnalogData;
 import com.bizmatics.persistence.mapper.HtAnalogDataMapper;
@@ -44,8 +45,8 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
     public List<CommonIcoVO> selectTrendByDate(Date date,Integer siteId) {
         Integer userId = SessionLocal.getUserId();
         List<CommonIcoVO> list = new ArrayList<>();
-        list.add(CommonIcoVO.builder().name("today").list(getByDate(userId,siteId,date)).build());
-        list.add(CommonIcoVO.builder().name("yesterday").list(getByDate(userId,siteId,DateUtils.addDays(date,-1))).build());
+        list.add(getByDate("today", userId, siteId, date));
+        list.add(getByDate("yesterday", userId, siteId, DateUtils.addDays(date,-1)));
         return list;
     }
 
@@ -66,9 +67,18 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         hadCountVO.setLastDayCount(getElectricity(userId,siteId,DateUtils.addDays(firstDayOfDate, -1),DateUtils.addDays(date, -1)));
         hadCountVO.setLastMonthCount(getElectricity(userId,siteId,DateUtils.addMonths(firstDayOfMonth, -1),DateUtils.addMonths(date, -1)));
         hadCountVO.setLastYearCount(getElectricity(userId,siteId,DateUtils.addYears(firstDayOfYear, -1),DateUtils.addYears(date, -1)));
-        hadCountVO.setDayRadio(Arith.div(hadCountVO.getLastDayCount(),hadCountVO.getDayCount()));
-        hadCountVO.setMonthRadio(Arith.div(hadCountVO.getLastMonthCount(),hadCountVO.getMonthCount()));
-        hadCountVO.setYearRadio(Arith.div(hadCountVO.getLastYearCount(),hadCountVO.getYearCount()));
+        hadCountVO.setDayRadio(Optional.ofNullable(hadCountVO.getDayCount())
+                .filter(dayCount -> 0.00 != dayCount)
+                .map(dayCount -> Arith.div(hadCountVO.getLastDayCount(), dayCount))
+                .orElse(0.00));
+        hadCountVO.setMonthRadio(Optional.ofNullable(hadCountVO.getMonthCount())
+                .filter(dayCount -> 0.00 != dayCount)
+                .map(dayCount -> Arith.div(hadCountVO.getLastMonthCount(), dayCount))
+                .orElse(0.00));
+        hadCountVO.setYearRadio(Optional.ofNullable(hadCountVO.getYearCount())
+                .filter(dayCount -> 0.00 != dayCount)
+                .map(dayCount -> Arith.div(hadCountVO.getLastYearCount(), dayCount))
+                .orElse(0.00));
         return hadCountVO;
     }
 
@@ -96,19 +106,21 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         List<Object> maxList = new ArrayList<>();
         List<Object> minList = new ArrayList<>();
         List<Object> avgList = new ArrayList<>();
-        for (int i = 0; i < Integer.parseInt(DateUtils.getDay(date)); i++) {
+        List<Object> dateList = new ArrayList<>();
+        for (int i = 1; i <= Integer.parseInt(DateUtils.getDay(date)); i++) {
             Date setDays = DateUtils.setDays(date, i);
             Date dayStartTime = DateUtils.getDayStartTime(setDays);
             Date dayEndTime = DateUtils.getDayEndTime(setDays);
             Map<String, Double> map = baseMapper.selectMaxAndMinAndAvg(siteId, dayStartTime,dayEndTime);
-            maxList.add(map.get("demandMax"));
-            minList.add(map.get("demandMin"));
-            avgList.add(map.get("demandAvd"));
+            maxList.add(Optional.ofNullable(map).map(max -> max.get("demandMax")).orElse(0.00));
+            minList.add(Optional.ofNullable(map).map(max -> max.get("demandMin")).orElse(0.00));
+            avgList.add(Optional.ofNullable(map).map(max -> max.get("demandAvd")).orElse(0.00));
+            dateList.add(DateUtils.getDay(setDays));
         }
         List<CommonIcoVO> list = new ArrayList<>();
-        list.add(CommonIcoVO.builder().name("MAX").list(maxList).build());
-        list.add(CommonIcoVO.builder().name("MIN").list(minList).build());
-        list.add(CommonIcoVO.builder().name("AVG").list(avgList).build());
+        list.add(CommonIcoVO.builder().name("MAX").list(maxList).listDate(dateList).build());
+        list.add(CommonIcoVO.builder().name("MIN").list(minList).list(dateList).build());
+        list.add(CommonIcoVO.builder().name("AVG").list(avgList).listDate(dateList).build());
         return list;
     }
 
@@ -116,44 +128,56 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
     public List<CommonIcoVO> getElectricIco(Integer siteId, Date date) {
         Integer userId = SessionLocal.getUserId();
         List<Object> iaList = new ArrayList<>();
+        iaList.add(0.00);
         List<Object> ibList = new ArrayList<>();
+        ibList.add(0.00);
         List<Object> icList = new ArrayList<>();
+        icList.add(0.00);
         List<Object> uaList = new ArrayList<>();
+        uaList.add(0.00);
         List<Object> ubList = new ArrayList<>();
+        ubList.add(0.00);
         List<Object> ucList = new ArrayList<>();
+        ucList.add(0.00);
+        List<Object> dateList = new ArrayList<>();
+        dateList.add("00:00:00");
         for (int i = 2; i < 24 ; i+=2) {
             //结束时间
             Date endTime = DateUtils.addHours(date, i);
-            HtAnalogData htAnalogData = htAnalogDataMapper.selectByEndTime(endTime, siteId, userId);
-            iaList.add(htAnalogData.getIa());
-            ibList.add(htAnalogData.getIb());
-            icList.add(htAnalogData.getIc());
-            uaList.add(htAnalogData.getUa());
-            ubList.add(htAnalogData.getUb());
-            ucList.add(htAnalogData.getUc());
+            HtAnalogData htAnalogData = htAnalogDataMapper.selectByEndTime(date,endTime, siteId, userId);
+            iaList.add(Optional.ofNullable(htAnalogData).map(had -> htAnalogData.getIa()).orElse(0.00));
+            ibList.add(Optional.ofNullable(htAnalogData).map(had -> htAnalogData.getIb()).orElse(0.00));
+            icList.add(Optional.ofNullable(htAnalogData).map(had -> htAnalogData.getIc()).orElse(0.00));
+            uaList.add(Optional.ofNullable(htAnalogData).map(had -> htAnalogData.getUa()).orElse(0.00));
+            ubList.add(Optional.ofNullable(htAnalogData).map(had -> htAnalogData.getUb()).orElse(0.00));
+            ucList.add(Optional.ofNullable(htAnalogData).map(had -> htAnalogData.getUc()).orElse(0.00));
             date = endTime;
+            dateList.add(DateUtils.getTime(endTime));
         }
         List<CommonIcoVO> list = new ArrayList<>();
-        list.add(CommonIcoVO.builder().name("IA").list(iaList).build());
-        list.add(CommonIcoVO.builder().name("IB").list(ibList).build());
-        list.add(CommonIcoVO.builder().name("IC").list(icList).build());
-        list.add(CommonIcoVO.builder().name("UA").list(uaList).build());
-        list.add(CommonIcoVO.builder().name("UB").list(ubList).build());
-        list.add(CommonIcoVO.builder().name("UC").list(ucList).build());
+        list.add(CommonIcoVO.builder().name("IA").list(iaList).listDate(dateList).build());
+        list.add(CommonIcoVO.builder().name("IB").list(ibList).listDate(dateList).build());
+        list.add(CommonIcoVO.builder().name("IC").list(icList).listDate(dateList).build());
+        list.add(CommonIcoVO.builder().name("UA").list(uaList).listDate(dateList).build());
+        list.add(CommonIcoVO.builder().name("UB").list(ubList).listDate(dateList).build());
+        list.add(CommonIcoVO.builder().name("UC").list(ucList).listDate(dateList).build());
         return list;
     }
 
 
-    public List<Object> getByDate(Integer userId,Integer siteId,Date date){
+    public CommonIcoVO getByDate(String name,Integer userId,Integer siteId,Date date){
         List<Object> objects = new ArrayList<>();
-        objects.add(0);
+        objects.add(0.0);
+        List<Object> dates = new ArrayList<>();
+        dates.add("00:00:00");
         for (int i = 2; i < 24 ; i+=2) {
             //结束时间
             Date endTime = DateUtils.addHours(date, i);
             objects.add(getElectricity(userId,siteId,date,endTime));
             date = endTime;
+            dates.add(DateUtils.getTime(date));
         }
-        return objects;
+        return CommonIcoVO.builder().name(name).list(objects).listDate(dates).build();
     }
 
     /**
@@ -165,9 +189,11 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
      * @return
      */
     public Double getElectricity(Integer userId,Integer siteId,Date startTime,Date endTime){
-        HtAnalogData startHad = htAnalogDataMapper.selectByStartTime(startTime, siteId, userId);
-        HtAnalogData endHad = htAnalogDataMapper.selectByEndTime(endTime, siteId, userId);
-        return Arith.sub(startHad.getEpp(),endHad.getEpp());
+        HtAnalogData ascHad = htAnalogDataMapper.selectByStartTime(startTime,endTime, siteId, userId);
+        HtAnalogData descHad = htAnalogDataMapper.selectByEndTime(endTime,endTime, siteId, userId);
+        Integer ascHadEpp = Optional.ofNullable(ascHad).map(htAnalogData -> 0).orElse(0);
+        Integer descHadEpp = Optional.ofNullable(descHad).map(htAnalogData -> 0).orElse(0);
+        return Arith.sub(descHadEpp,ascHadEpp);
     }
 
 }

+ 13 - 7
fiveep-service/src/main/java/com/bizmatics/service/impl/RtAnalogDataServiceImpl.java

@@ -1,6 +1,7 @@
 package com.bizmatics.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.bizmatics.common.core.util.StringUtils;
 import com.bizmatics.model.RtAnalogData;
 import com.bizmatics.model.Site;
 import com.bizmatics.model.UserSite;
@@ -15,10 +16,8 @@ import com.bizmatics.service.vo.RadCountVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.math.BigDecimal;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
 
 /**
@@ -48,10 +47,17 @@ public class RtAnalogDataServiceImpl extends AbstractCrudService<RtAnalogDataMap
         userSites.forEach(userSite -> {
             Site site = siteService.getOne(Wrappers.lambdaQuery(Site.class).eq(Site::getId, userSite.getId()));
             Double aDouble = baseMapper.selectTotalLoad(userId, site.getId());
-            double div = Arith.div(aDouble, Double.parseDouble(site.getInstalledCapacity()));
-            if (div < 0.4){
+            String installedCapacity = site.getInstalledCapacity();
+            double installedCapacityDouble = 0.00;
+            if (StringUtils.isNotBlank(installedCapacity)){
+                installedCapacityDouble =  Double.parseDouble(installedCapacity);
+                if (installedCapacityDouble > 0){
+                    Arith.div(aDouble,installedCapacityDouble);
+                }
+            }
+            if (installedCapacityDouble < 0.4){
                 easyLoad.getAndSet(easyLoad.get() + 1);
-            }else if (div >= 0.4 && div <= 0.8){
+            }else if (installedCapacityDouble >= 0.4 && installedCapacityDouble <= 0.8){
                 norMalLoad.getAndSet(norMalLoad.get() + 1);
             }else {
                 heavyLoad.getAndSet(heavyLoad.get() + 1);

+ 0 - 5
fiveep-service/src/main/java/com/bizmatics/service/impl/SiteServiceImpl.java

@@ -75,9 +75,4 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
         Site site = baseMapper.selectOne(Wrappers.lambdaQuery(Site.class).eq(Site::getId, siteId));
         return Optional.ofNullable(site).map(st -> BeanMapperUtils.map(site,SiteVO.class)).orElseThrow(() -> new BusinessException("站点信息不存在"));
     }
-
-    @Override
-    public List<Site> getSiteList(Integer userId) {
-        return baseMapper.list(SessionLocal.getUserId());
-    }
 }

+ 10 - 4
fiveep-service/src/main/java/com/bizmatics/service/vo/CommonIcoVO.java

@@ -15,10 +15,16 @@ import java.util.List;
 @Data
 public class CommonIcoVO {
 
-
+    /**
+     * 名称
+     */
     private String name;
-
+    /**
+     * 数据
+     */
     private List<Object> list;
-
-    private List<Object> listData;
+    /**
+     * 时间
+     */
+    private List<Object> listDate;
 }

+ 1 - 1
fiveep-service/src/main/java/com/bizmatics/service/vo/DeviceCountVO.java

@@ -31,7 +31,7 @@ public class DeviceCountVO {
      */
     private Integer count;
     /**
-     * 用
+     * 用
      */
     private Integer epCount;