Sfoglia il codice sorgente

站点详情数据

yq 4 anni fa
parent
commit
2eacbf5422
29 ha cambiato i file con 571 aggiunte e 152 eliminazioni
  1. 17 4
      fiveep-controller/src/main/java/com/bizmatics/controller/web/AlarmPowerController.java
  2. 15 5
      fiveep-controller/src/main/java/com/bizmatics/controller/web/DeviceController.java
  3. 50 6
      fiveep-controller/src/main/java/com/bizmatics/controller/web/HtAnalogDataController.java
  4. 4 3
      fiveep-controller/src/main/java/com/bizmatics/controller/web/PersonnelController.java
  5. 4 3
      fiveep-controller/src/main/java/com/bizmatics/controller/web/RtAnalogDataController.java
  6. 2 3
      fiveep-controller/src/main/java/com/bizmatics/controller/web/SiteController.java
  7. 5 1
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/AlarmPowerMapper.java
  8. 5 1
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/DeviceMapper.java
  9. 6 0
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/HtAnalogDataMapper.java
  10. 2 0
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/SiteMapper.java
  11. 6 0
      fiveep-persistence/src/main/resources/mapper/mysql/AlarmPowerMapper.xml
  12. 3 0
      fiveep-persistence/src/main/resources/mapper/mysql/DeviceMapper.xml
  13. 17 0
      fiveep-persistence/src/main/resources/mapper/mysql/HtAnalogDataMapper.xml
  14. 3 3
      fiveep-service/src/main/java/com/bizmatics/service/AlarmPowerService.java
  15. 11 4
      fiveep-service/src/main/java/com/bizmatics/service/DeviceService.java
  16. 38 4
      fiveep-service/src/main/java/com/bizmatics/service/HtAnalogDataService.java
  17. 4 2
      fiveep-service/src/main/java/com/bizmatics/service/PersonnelService.java
  18. 4 2
      fiveep-service/src/main/java/com/bizmatics/service/RtAnalogDataService.java
  19. 10 2
      fiveep-service/src/main/java/com/bizmatics/service/SiteService.java
  20. 51 0
      fiveep-service/src/main/java/com/bizmatics/service/enums/DeviceType.java
  21. 11 4
      fiveep-service/src/main/java/com/bizmatics/service/enums/PersonnelType.java
  22. 27 18
      fiveep-service/src/main/java/com/bizmatics/service/impl/AlarmPowerServiceImpl.java
  23. 34 18
      fiveep-service/src/main/java/com/bizmatics/service/impl/DeviceServiceImpl.java
  24. 160 38
      fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java
  25. 15 7
      fiveep-service/src/main/java/com/bizmatics/service/impl/PersonnelServiceImpl.java
  26. 14 11
      fiveep-service/src/main/java/com/bizmatics/service/impl/RtAnalogDataServiceImpl.java
  27. 23 13
      fiveep-service/src/main/java/com/bizmatics/service/impl/SiteServiceImpl.java
  28. 6 0
      fiveep-service/src/main/java/com/bizmatics/service/vo/CommonIcoVO.java
  29. 24 0
      fiveep-service/src/main/java/com/bizmatics/service/vo/CommonTotalVO.java

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

@@ -3,14 +3,17 @@ package com.bizmatics.controller.web;
 
 import com.bizmatics.common.core.bean.ApiResult;
 import com.bizmatics.service.AlarmPowerService;
-import com.bizmatics.service.vo.ApCountVO;
-import org.checkerframework.checker.units.qual.A;
+import com.bizmatics.service.vo.CommonIcoVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * 电力告警
  *
@@ -30,8 +33,18 @@ public class AlarmPowerController {
      * @return
      */
     @RequestMapping("/count")
-    public ApiResult<ApCountVO> count(){
+    public ApiResult<List<CommonTotalVO>> count(){
         return ApiResult.success(alarmPowerService.selectCount());
     }
+
+
+    /**
+     * 告警趋势图
+     * @return
+     */
+    @RequestMapping("/trendIco")
+    public ApiResult<List<CommonIcoVO>> selectByDate(@RequestParam Date date,@RequestParam Integer siteId){
+        return ApiResult.success(alarmPowerService.selectByDate(date, siteId));
+    }
 }
 

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

@@ -2,17 +2,16 @@ package com.bizmatics.controller.web;
 
 
 import com.bizmatics.common.core.bean.ApiResult;
-import com.bizmatics.service.AlarmPowerService;
 import com.bizmatics.service.DeviceService;
-import com.bizmatics.service.vo.ApCountVO;
-import com.bizmatics.service.vo.SiteCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 设备
@@ -34,8 +33,19 @@ public class DeviceController {
      * @return
      */
     @RequestMapping("/count")
-    public ApiResult<SiteCountVO> count(Date startTime, Date endTime){
+    public ApiResult<List<CommonTotalVO>> count(@RequestParam Date startTime, @RequestParam Date endTime){
         return ApiResult.success(deviceService.selectDeviceCount(startTime,endTime));
     }
+
+
+    /**
+     * 查询不同类型的设备数量
+     * @param site
+     * @return
+     */
+    @RequestMapping("/deviceTypeCount")
+    public ApiResult<List<CommonTotalVO>> selectDeviceCountByType(@RequestParam Integer site){
+        return ApiResult.success(deviceService.selectDeviceCountByType(site));
+    }
 }
 

+ 50 - 6
fiveep-controller/src/main/java/com/bizmatics/controller/web/HtAnalogDataController.java

@@ -4,11 +4,11 @@ package com.bizmatics.controller.web;
 import com.bizmatics.common.core.bean.ApiResult;
 import com.bizmatics.service.HtAnalogDataService;
 import com.bizmatics.service.vo.CommonIcoVO;
-import com.bizmatics.service.vo.HadCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
+import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -35,18 +35,62 @@ public class HtAnalogDataController {
      * @return
      */
     @RequestMapping("count")
-    public ApiResult<HadCountVO> count(){
+    public ApiResult<List<CommonTotalVO>> count(){
         return ApiResult.success(htAnalogDataService.selectCount());
     }
 
     /**
      * 用电趋势图
      * @param startTime
+     * @param siteId
      * @return
      */
-    @RequestMapping("trendByDate")
-    public ApiResult<List<CommonIcoVO>> getTrendByDate(@RequestParam Date startTime){
-        return ApiResult.success(htAnalogDataService.selectTrendByDate(startTime));
+    @RequestMapping("eptrendIco")
+    public ApiResult<List<CommonIcoVO>> getTrendByDate(@RequestParam Date startTime,@RequestParam Integer siteId){
+        return ApiResult.success(htAnalogDataService.selectTrendByDate(startTime,siteId));
+    }
+
+
+    /**
+     * 站点日/月/年用电量
+     * @return
+     */
+    @RequestMapping("dayMonthYearEp")
+    public ApiResult<List<CommonTotalVO>> getCountBySite(@RequestParam Integer siteId){
+        return ApiResult.success(htAnalogDataService.getCountBySite(siteId));
+    }
+
+
+    /**
+     * 分时电量
+     * @param siteId
+     * @param date
+     * @return
+     */
+    @RequestMapping("timeShare")
+    public ApiResult<List<CommonTotalVO>> getTimeShare(Integer siteId,Date date){
+        return ApiResult.success(htAnalogDataService.getTimeShare(siteId,date));
+    }
+
+    /**
+     * 需量趋势图
+     * @param siteId
+     * @return
+     */
+    @RequestMapping("demandIco")
+    public ApiResult<List<CommonIcoVO>> getDemandIco(@RequestParam Integer siteId){
+        return ApiResult.success(htAnalogDataService.getDemandIco(siteId));
+    }
+
+    /**
+     * 电流
+     * @param siteId
+     * @param date
+     * @return
+     */
+    @RequestMapping("electricIco")
+    public ApiResult<List<CommonIcoVO>> getElectricIco(@RequestParam Integer siteId,@RequestParam Date date){
+        return ApiResult.success(htAnalogDataService.getElectricIco(siteId,date));
     }
 }
 

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

@@ -3,13 +3,14 @@ package com.bizmatics.controller.web;
 
 import com.bizmatics.common.core.bean.ApiResult;
 import com.bizmatics.service.PersonnelService;
-import com.bizmatics.service.vo.PerCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * 人员信息
  *
@@ -30,7 +31,7 @@ public class PersonnelController {
      * @return
      */
     @RequestMapping("count")
-    public ApiResult<PerCountVO> getCount(){
+    public ApiResult<List<CommonTotalVO>> getCount(){
         return ApiResult.success(personnelService.selectCount());
     }
 }

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

@@ -3,13 +3,14 @@ package com.bizmatics.controller.web;
 
 import com.bizmatics.common.core.bean.ApiResult;
 import com.bizmatics.service.RtAnalogDataService;
-import com.bizmatics.service.vo.RadCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * 实时消费组模拟量
  *
@@ -29,7 +30,7 @@ public class RtAnalogDataController {
      * @return
      */
     @RequestMapping("count")
-    public ApiResult<RadCountVO> getCount(){
+    public ApiResult<List<CommonTotalVO>> getCount(){
         return ApiResult.success(rtAnalogDataService.selectCount());
     }
 }

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

@@ -3,12 +3,11 @@ package com.bizmatics.controller.web;
 
 import com.bizmatics.common.core.bean.ApiResult;
 import com.bizmatics.service.SiteService;
-import com.bizmatics.service.vo.SiteCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 import com.bizmatics.service.vo.SiteVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -33,7 +32,7 @@ public class SiteController {
      * @return
      */
     @RequestMapping("count")
-    public ApiResult<SiteCountVO> getCount(){
+    public ApiResult<List<CommonTotalVO>> getCount(){
         return ApiResult.success(siteService.selectCount());
     }
 

+ 5 - 1
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/AlarmPowerMapper.java

@@ -4,6 +4,8 @@ import com.bizmatics.model.AlarmPower;
 import com.bizmatics.common.mvc.base.CrudMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
+
 /**
  * <p>
  * 电力告警 Mapper 接口
@@ -24,5 +26,7 @@ public interface AlarmPowerMapper extends CrudMapper<AlarmPower> {
      */
     Integer selectCount(@Param("userId") Integer userId,
                         @Param("siteId") Integer siteId,
-                        @Param("handlingStatus") Integer handlingStatus);
+                        @Param("handlingStatus") Integer handlingStatus,
+                        @Param("startTime") Date startTime,
+                        @Param("endTime") Date endTime);
 }

+ 5 - 1
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/DeviceMapper.java

@@ -30,5 +30,9 @@ public interface DeviceMapper extends CrudMapper<Device> {
                     @Param("siteId") Integer siteId,
                     @Param("deviceStatus") Integer deviceStatus,
                     @Param("startTime") Date startTime,
-                    @Param("endTime") Date endTime);
+                    @Param("endTime") Date endTime,
+                    @Param("type") String type);
+
+
+
 }

+ 6 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/HtAnalogDataMapper.java

@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.Date;
+import java.util.Map;
 
 /**
  * <p>
@@ -27,4 +28,9 @@ public interface HtAnalogDataMapper extends CrudMapper<HtAnalogData> {
     HtAnalogData selectByStartTime(@Param("startTime") Date startTime,
                                    @Param("siteId")Integer siteId,
                                    @Param("userId")Integer userId);
+
+
+    Map<String,Double> selectMaxAndMinAndAvg(@Param("siteId") Integer siteId,
+                                             @Param("startTime") Date startTime,
+                                             @Param("endTime") Date endTime);
 }

+ 2 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/SiteMapper.java

@@ -23,4 +23,6 @@ public interface SiteMapper extends CrudMapper<Site> {
                     @Param("siteStatus") Integer siteStatus);
 
     List<Site> list(@Param("userId") Integer userId);
+
+
 }

+ 6 - 0
fiveep-persistence/src/main/resources/mapper/mysql/AlarmPowerMapper.xml

@@ -36,6 +36,12 @@
             <if test="handlingStatus != null">
                 and ap.handling_status = #{handlingStatus}
             </if>
+            <if test="startTime != null">
+                and ap.soe_time = #{startTime}
+            </if>
+            <if test="endTime != null">
+                and ap.soe_time = #{endTime}
+            </if>
         </where>
     </select>
 

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

@@ -35,6 +35,9 @@
             <if test="endTime != null">
                 and ds.status_time &lt;= #{endTime}
             </if>
+            <if test="type != null">
+                and ds.device_type = #{type}
+            </if>
         </where>
     </select>
 

+ 17 - 0
fiveep-persistence/src/main/resources/mapper/mysql/HtAnalogDataMapper.xml

@@ -113,5 +113,22 @@
         </where>
         order dataTime 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
+        from device as d
+        inner join  ht_analog_data as had
+        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}
+            </if>
+            <if test="endTime != null">
+                and had.dataTime >= #{endTime}
+            </if>
+        </where>
+    </select>
 
 </mapper>

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

@@ -2,8 +2,8 @@ package com.bizmatics.service;
 
 import com.bizmatics.model.AlarmPower;
 import com.bizmatics.common.mvc.base.CrudService;
-import com.bizmatics.service.vo.ApCountVO;
 import com.bizmatics.service.vo.CommonIcoVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 
 import java.util.Date;
 import java.util.List;
@@ -22,12 +22,12 @@ public interface AlarmPowerService extends CrudService<AlarmPower> {
      * 告警总数和未处理告警总数
      * @return
      */
-    ApCountVO selectCount();
+    List<CommonTotalVO> selectCount();
 
     /**
      * 告警趋势图
      * @return
      */
-    List<CommonIcoVO> selectByDate(Date date);
+    List<CommonIcoVO> selectByDate(Date date,Integer siteId);
 
 }

+ 11 - 4
fiveep-service/src/main/java/com/bizmatics/service/DeviceService.java

@@ -2,11 +2,10 @@ package com.bizmatics.service;
 
 import com.bizmatics.model.Device;
 import com.bizmatics.common.mvc.base.CrudService;
-import com.bizmatics.service.vo.SiteCountVO;
-import com.bizmatics.service.vo.SiteVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 
-import javax.xml.crypto.Data;
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -22,5 +21,13 @@ public interface DeviceService extends CrudService<Device> {
      * 查询不同状态设备数量
      * @return
      */
-    SiteCountVO selectDeviceCount(Date startTime, Date endTime);
+    List<CommonTotalVO> selectDeviceCount(Date startTime, Date endTime);
+
+
+    /**
+     * 查询不同类型的设备数量
+     * @param site
+     * @return
+     */
+    List<CommonTotalVO> selectDeviceCountByType(Integer site);
 }

+ 38 - 4
fiveep-service/src/main/java/com/bizmatics/service/HtAnalogDataService.java

@@ -3,7 +3,7 @@ package com.bizmatics.service;
 import com.bizmatics.model.HtAnalogData;
 import com.bizmatics.common.mvc.base.CrudService;
 import com.bizmatics.service.vo.CommonIcoVO;
-import com.bizmatics.service.vo.HadCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 
 import java.util.Date;
 import java.util.List;
@@ -23,13 +23,47 @@ public interface HtAnalogDataService extends CrudService<HtAnalogData> {
      * 日/月/年用电量
      * @return
      */
-    HadCountVO selectCount();
+    List<CommonTotalVO> selectCount();
 
     /**
      * 用电趋势图
-     * @param startTime
+     * @param date
+     * @param siteId
      * @return
      */
-    List<CommonIcoVO> selectTrendByDate(Date startTime);
+    List<CommonIcoVO> selectTrendByDate(Date date,Integer siteId);
+
+
+
+    /**
+     * 站点日/月/年用电量
+     * @return
+     */
+    List<CommonTotalVO> getCountBySite(Integer siteId);
+
+
+    /**
+     * 分时电量
+     * @param siteId
+     * @param date
+     * @return
+     */
+    List<CommonTotalVO> getTimeShare(Integer siteId,Date date);
+
+    /**
+     * 需量趋势图
+     * @param siteId
+     * @return
+     */
+    List<CommonIcoVO> getDemandIco(Integer siteId);
+
+    /**
+     * 电流
+     * @param siteId
+     * @param date
+     * @return
+     */
+    List<CommonIcoVO> getElectricIco(Integer siteId,Date date);
+
 
 }

+ 4 - 2
fiveep-service/src/main/java/com/bizmatics/service/PersonnelService.java

@@ -2,7 +2,9 @@ package com.bizmatics.service;
 
 import com.bizmatics.model.Personnel;
 import com.bizmatics.common.mvc.base.CrudService;
-import com.bizmatics.service.vo.PerCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -19,6 +21,6 @@ public interface PersonnelService extends CrudService<Personnel> {
      * 查询运维人员
      * @return
      */
-    PerCountVO selectCount();
+    List<CommonTotalVO> selectCount();
 
 }

+ 4 - 2
fiveep-service/src/main/java/com/bizmatics/service/RtAnalogDataService.java

@@ -2,7 +2,9 @@ package com.bizmatics.service;
 
 import com.bizmatics.model.RtAnalogData;
 import com.bizmatics.common.mvc.base.CrudService;
-import com.bizmatics.service.vo.RadCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -15,6 +17,6 @@ import com.bizmatics.service.vo.RadCountVO;
 public interface RtAnalogDataService extends CrudService<RtAnalogData> {
 
 
-    RadCountVO selectCount();
+    List<CommonTotalVO> selectCount();
 
 }

+ 10 - 2
fiveep-service/src/main/java/com/bizmatics/service/SiteService.java

@@ -2,7 +2,7 @@ package com.bizmatics.service;
 
 import com.bizmatics.model.Site;
 import com.bizmatics.common.mvc.base.CrudService;
-import com.bizmatics.service.vo.SiteCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 import com.bizmatics.service.vo.SiteVO;
 
 import java.util.List;
@@ -22,7 +22,7 @@ public interface SiteService extends CrudService<Site> {
      * 查看不同状态的站点数量
      * @return
      */
-    SiteCountVO selectCount();
+    List<CommonTotalVO> selectCount();
 
 
     /**
@@ -32,4 +32,12 @@ public interface SiteService extends CrudService<Site> {
      */
     List<SiteVO> list(String name);
 
+    /**
+     * 查看站点详情
+     * @param siteId
+     * @return
+     */
+    SiteVO getOne(Long siteId);
+
+
 }

+ 51 - 0
fiveep-service/src/main/java/com/bizmatics/service/enums/DeviceType.java

@@ -0,0 +1,51 @@
+package com.bizmatics.service.enums;
+
+/**
+ * @author yq
+ * @date 2021/7/9 14:53
+ */
+public enum DeviceType {
+
+    /**
+     * 1:183用电设备
+     */
+    ONE_EIGHT_THREE_EP("1","183用电设备"),
+    /**
+     * 2:视频监控设备
+     */
+    VODEO_MONITROING("2","视频监控设备"),
+    /**
+     * 3:171用电设备
+     */
+    ONE_SEVEN_ONE_EP("3","171用电设备"),
+    /**
+     * 4:173用电设备
+     */
+    ONE_SEVEN_THREE_EP("4","173用电设备"),
+    /**
+     * 5:158智能网关
+     */
+    ONE_FIVE_EIGHT_ZUUL("5","158智能网关"),
+
+    /**
+     * 6:其他
+     */
+    OTHER("6","其他");
+    private final String value;
+
+    private final String name;
+
+    DeviceType(String value,String name) {
+        this.value = value;
+        this.name = name;
+
+    }
+
+    public String getValue(){
+        return this.value;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+}

+ 11 - 4
fiveep-service/src/main/java/com/bizmatics/service/enums/PersonnelType.java

@@ -10,25 +10,32 @@ public enum PersonnelType {
     /**
      * 最高权限
      */
-    ONE(1),
+    ONE(1,"最高权限"),
 
     /**
      * 维保人员
      */
-    MAINTENANCE(2),
+    MAINTENANCE(2,"维保人员"),
 
     /**
      * 供电人员
      */
-    POWER(3);
+    POWER(3,"供电人员");
 
     private final Integer value;
+    private final String name;
 
-    PersonnelType(Integer value){
+    PersonnelType(Integer value,String name){
         this.value = value;
+        this.name = name;
+
     }
 
     public Integer getValue(){
         return this.value;
     }
+
+    public String getName(){
+        return this.name;
+    }
 }

+ 27 - 18
fiveep-service/src/main/java/com/bizmatics/service/impl/AlarmPowerServiceImpl.java

@@ -1,19 +1,16 @@
 package com.bizmatics.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.bizmatics.common.core.util.DateUtils;
 import com.bizmatics.model.AlarmPower;
-import com.bizmatics.model.User;
 import com.bizmatics.persistence.mapper.AlarmPowerMapper;
 import com.bizmatics.service.AlarmPowerService;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
 import com.bizmatics.service.util.SessionLocal;
-import com.bizmatics.service.vo.ApCountVO;
 import com.bizmatics.service.vo.CommonIcoVO;
-import org.checkerframework.checker.units.qual.A;
-import org.checkerframework.checker.units.qual.C;
+import com.bizmatics.service.vo.CommonTotalVO;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -30,21 +27,33 @@ public class AlarmPowerServiceImpl extends AbstractCrudService<AlarmPowerMapper,
 
 
     @Override
-    public ApCountVO selectCount() {
+    public List<CommonTotalVO> selectCount() {
+        List<CommonTotalVO> list = new ArrayList<>();
         Integer userId = SessionLocal.getUserId();
-        Integer count = baseMapper.selectCount(userId,null,null);
-        ApCountVO apCountVo = new ApCountVO();
-        apCountVo.setCount(count);
-        apCountVo.setUnCount(baseMapper.selectCount(userId,null,0));
-        return apCountVo;
+        list.add(CommonTotalVO.builder()
+                .name("告警总数")
+                .objectData(baseMapper.selectCount(userId, null, null, null, null))
+                .build());
+        list.add(CommonTotalVO.builder().name("未处理告警总数")
+                .objectData(baseMapper.selectCount(userId, null, 0, null, null)).build());
+        return list;
     }
 
     @Override
-    public List<CommonIcoVO> selectByDate(Date date) {
-        CommonIcoVO commonIcoVoToday = new CommonIcoVO();
-//        for (int i = 0; i < ; i++) {
-//
-//        }
-        return null;
+    public List<CommonIcoVO> selectByDate(Date date,Integer siteId) {
+        List<Object> faultList = new ArrayList<>();
+        List<Object> rushList = new ArrayList<>();
+        Integer userId = SessionLocal.getUserId();
+        for (int i = 0; i < Integer.parseInt(DateUtils.getDay(date)); i++) {
+            Date setDays = DateUtils.setDays(date, 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));
+        }
+        List<CommonIcoVO> list = new ArrayList<>();
+        list.add(CommonIcoVO.builder().name("故障数量").list(faultList).build());
+        list.add(CommonIcoVO.builder().name("抢修数量").list(rushList).build());
+        return list;
     }
 }

+ 34 - 18
fiveep-service/src/main/java/com/bizmatics/service/impl/DeviceServiceImpl.java

@@ -1,20 +1,18 @@
 package com.bizmatics.service.impl;
 
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.bizmatics.model.Device;
-import com.bizmatics.model.DeviceStatus;
 import com.bizmatics.persistence.mapper.DeviceMapper;
-import com.bizmatics.persistence.mapper.DeviceStatusMapper;
 import com.bizmatics.service.DeviceService;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
 import com.bizmatics.service.enums.DeviceStatusCode;
+import com.bizmatics.service.enums.DeviceType;
 import com.bizmatics.service.util.SessionLocal;
-import com.bizmatics.service.vo.SiteCountVO;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.bizmatics.service.vo.CommonTotalVO;
 import org.springframework.stereotype.Service;
 
-import javax.xml.crypto.Data;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -29,18 +27,36 @@ public class DeviceServiceImpl extends AbstractCrudService<DeviceMapper, Device>
 
 
     @Override
-    public SiteCountVO selectDeviceCount(Date startTime, Date endTime) {
-        SiteCountVO siteCountVO = new SiteCountVO();
+    public List<CommonTotalVO> selectDeviceCount(Date startTime, Date endTime) {
         Integer userId = SessionLocal.getUserId();
-        siteCountVO.setNormalCount(baseMapper
-                .selectCount(userId,null,DeviceStatusCode.NORMAL.getValue(),startTime,endTime));
-        siteCountVO.setOffLineCount(baseMapper
-                .selectCount(userId,null,DeviceStatusCode.OFFLINE.getValue(),startTime,endTime));
-        siteCountVO.setDeviceCount(baseMapper
-                .selectCount(userId,null,DeviceStatusCode.DEVICE.getValue(),startTime,endTime));
-        siteCountVO.setFaultCount(baseMapper
-                .selectCount(userId,null,DeviceStatusCode.FAULT.getValue(),startTime,endTime));
-        siteCountVO.setCount(siteCountVO.getNormalCount()+siteCountVO.getOffLineCount()+siteCountVO.getDeviceCount()+siteCountVO.getFaultCount());
-        return siteCountVO;
+        List<CommonTotalVO> list = new ArrayList<>();
+        list.add(CommonTotalVO.builder().name(DeviceStatusCode.NORMAL.getDescribe()).objectData(baseMapper
+                .selectCount(userId,null,DeviceStatusCode.NORMAL.getValue(),startTime,endTime,null)).build());
+        list.add(CommonTotalVO.builder().name(DeviceStatusCode.OFFLINE.getDescribe()).objectData(baseMapper
+                .selectCount(userId,null,DeviceStatusCode.OFFLINE.getValue(),startTime,endTime,null)).build());
+        list.add(CommonTotalVO.builder().name(DeviceStatusCode.DEVICE.getDescribe()).objectData(baseMapper
+                .selectCount(userId,null,DeviceStatusCode.DEVICE.getValue(),startTime,endTime,null)).build());
+        list.add(CommonTotalVO.builder().name(DeviceStatusCode.FAULT.getDescribe()).objectData(baseMapper
+                .selectCount(userId,null,DeviceStatusCode.FAULT.getValue(),startTime,endTime,null)).build());
+        return list;
+    }
+
+    @Override
+    public List<CommonTotalVO> selectDeviceCountByType(Integer site) {
+        Integer userId = SessionLocal.getUserId();
+        List<CommonTotalVO> list = new ArrayList<>();
+        int oneEightThreeEp = baseMapper.selectCount(userId, site, null, null, null, DeviceType.ONE_EIGHT_THREE_EP.getValue());
+        int oneSevenOneEp = baseMapper.selectCount(userId, site,null , null, null, DeviceType.ONE_SEVEN_ONE_EP.getValue());
+        int oneSevenThreeEp = baseMapper.selectCount(userId, site, null, null, null, DeviceType.ONE_SEVEN_THREE_EP.getValue());
+        int video = baseMapper.selectCount(userId, site, null, null, null, DeviceType.VODEO_MONITROING.getValue());
+        list.add(CommonTotalVO.builder()
+                .name("用电")
+                .objectData(oneEightThreeEp+oneSevenOneEp+oneSevenThreeEp)
+                .build());
+        list.add(CommonTotalVO.builder()
+                .name("视频")
+                .objectData(video)
+                .build());
+        return list;
     }
 }

+ 160 - 38
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java

@@ -5,17 +5,14 @@ import com.bizmatics.model.HtAnalogData;
 import com.bizmatics.persistence.mapper.HtAnalogDataMapper;
 import com.bizmatics.service.HtAnalogDataService;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
+import com.bizmatics.service.util.Arith;
 import com.bizmatics.service.util.SessionLocal;
 import com.bizmatics.service.vo.CommonIcoVO;
-import com.bizmatics.service.vo.HadCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import javax.xml.crypto.Data;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * <p>
@@ -32,58 +29,183 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
     private HtAnalogDataMapper htAnalogDataMapper;
 
     @Override
-    public HadCountVO selectCount() {
+    public List<CommonTotalVO> selectCount() {
         Integer userId = SessionLocal.getUserId();
         Date date = new Date();
-        //日用电量
+        List<CommonTotalVO> list = new ArrayList<>();
+        list.add(CommonTotalVO.builder().name("day")
+                .objectData(getElectricity(userId,null,DateUtils.getDayStartTime(date),date)).build());
+        list.add(CommonTotalVO.builder().name("month")
+                .objectData(getElectricity(userId,null,DateUtils.getFirstDayOfMonth(date),date)).build());
+        list.add(CommonTotalVO.builder().name("year")
+                .objectData(getElectricity(userId,null,DateUtils.getBeginDayOfYear(date),date)).build());
+        return list;
+    }
+
+    @Override
+    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());
+        return list;
+    }
+
+    @Override
+    public List<CommonTotalVO> getCountBySite(Integer siteId) {
+        Date date = new Date();
+        Integer userId = SessionLocal.getUserId();
+        //当日开始时间
         Date firstDayOfDate = DateUtils.getDayStartTime(date);
-        Date lastDayOfDate = DateUtils.getDayEndTime(date);
-        HtAnalogData startDateHad = htAnalogDataMapper.selectByStartTime(firstDayOfDate, null, userId);
-        HtAnalogData endDateHad = htAnalogDataMapper.selectByEndTime(lastDayOfDate, null, userId);
-        //月用电量
+        //当月开始时间
         Date firstDayOfMonth = DateUtils.getFirstDayOfMonth(date);
-        Date lastDayOfMonth = DateUtils.getLastDayOfMonth(date);
-        HtAnalogData startMonthHad = htAnalogDataMapper.selectByStartTime(firstDayOfMonth, null, userId);
-        HtAnalogData endMonthHad = htAnalogDataMapper.selectByEndTime(lastDayOfMonth, null, userId);
-        //年用电量
+        //当年开始时间
         Date firstDayOfYear = DateUtils.getBeginDayOfYear(date);
-        Date lastDayOfYear= DateUtils.getEndDayOfYear(date);
-        HtAnalogData startYearHad = htAnalogDataMapper.selectByStartTime(firstDayOfYear, null, userId);
-        HtAnalogData endYearHad = htAnalogDataMapper.selectByEndTime(lastDayOfYear, null, userId);
-
-        HadCountVO hadCountVo = new HadCountVO();
-        hadCountVo.setDayCount(endDateHad.getEpp() - startDateHad.getEpp());
-        hadCountVo.setDayCount(endMonthHad.getEpp() - startMonthHad.getEpp());
-        hadCountVo.setDayCount(endYearHad.getEpp() - startYearHad.getEpp());
-        return hadCountVo;
+        Double dayCount = getElectricity(userId,siteId,firstDayOfDate,date);
+        Double monthCount = getElectricity(userId,siteId,firstDayOfMonth,date);
+        Double yearCount = getElectricity(userId,siteId,firstDayOfYear,date);
+        Double lastDayCount = getElectricity(userId,siteId,DateUtils.addDays(firstDayOfDate, -1),DateUtils.addDays(date, -1));
+        Double lastMonthCount = getElectricity(userId,siteId,DateUtils.addMonths(firstDayOfMonth, -1),DateUtils.addMonths(date, -1));
+        Double lastYearCount = getElectricity(userId,siteId,DateUtils.addYears(firstDayOfYear, -1),DateUtils.addYears(date, -1));
+
+        List<CommonTotalVO> list = new ArrayList<>();
+
+        list.add(CommonTotalVO.builder().name("day")
+                .objectData(dayCount)
+                .build());
+        list.add(CommonTotalVO.builder().name("month")
+                .objectData(monthCount)
+                .build());
+        list.add(CommonTotalVO.builder().name("year")
+                .objectData(yearCount)
+                .build());
+        list.add(CommonTotalVO.builder().name("lastDay")
+                .objectData(lastDayCount)
+                .build());
+        list.add(CommonTotalVO.builder().name("lastMonth")
+                .objectData(lastMonthCount)
+                .build());
+        list.add(CommonTotalVO.builder().name("lastYear")
+                .objectData(lastYearCount)
+                .build());
+        list.add(CommonTotalVO.builder().name("dayRadio")
+                .objectData(Arith.div(lastDayCount,dayCount))
+                .build());
+        list.add(CommonTotalVO.builder().name("monthRadio")
+                .objectData(Arith.div(lastMonthCount,monthCount))
+                .build());
+        list.add(CommonTotalVO.builder().name("yearRadio")
+                .objectData(Arith.div(lastYearCount,yearCount))
+                .build());
+        return list;
     }
 
     @Override
-    public List<CommonIcoVO> selectTrendByDate(Date startTime) {
+    public List<CommonTotalVO> getTimeShare(Integer siteId,Date date) {
+        Integer userId = SessionLocal.getUserId();
+        //高峰
+        Double peakStart = getElectricity(userId, siteId, DateUtils.setHours(date, 8), DateUtils.setHours(date, 12));
+        Double peakEnd = getElectricity(userId, siteId, DateUtils.setHours(date, 16), DateUtils.setHours(date, 20));
+        //平
+        Double flatStart = getElectricity(userId, siteId, DateUtils.setHours(date, 6), DateUtils.setHours(date, 8));
+        Double flatCentre = getElectricity(userId, siteId, DateUtils.setHours(date, 12), DateUtils.setHours(date, 16));
+        Double flatEnd = getElectricity(userId, siteId, DateUtils.setHours(date, 20), DateUtils.setHours(date, 22));
+        List<CommonTotalVO> list = new ArrayList<>();
+
+        list.add(CommonTotalVO.builder().name("need")
+                .objectData(getElectricity(userId,siteId,DateUtils.setHours(date,9),DateUtils.setHours(date,12)))
+                .build());
+        list.add(CommonTotalVO.builder().name("peak")
+                .objectData(peakStart+peakEnd)
+                .build());
+        list.add(CommonTotalVO.builder().name("grain")
+                .objectData(getElectricity(userId, siteId, DateUtils.setHours(date, 22), DateUtils.setHours(DateUtils.addDays(date,1), 6)))
+                .build());
+        list.add(CommonTotalVO.builder().name("flat")
+                .objectData(flatStart+flatCentre+flatEnd)
+                .build());
+        return list;
+    }
+
+    @Override
+    public List<CommonIcoVO> getDemandIco(Integer siteId) {
+        Date date = DateUtils.getLastDayOfMonth(new Date());
+        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++) {
+            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"));
+        }
+        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());
+        return list;
+    }
+
+    @Override
+    public List<CommonIcoVO> getElectricIco(Integer siteId, Date date) {
+        Integer userId = SessionLocal.getUserId();
+        List<Object> iaList = new ArrayList<>();
+        List<Object> ibList = new ArrayList<>();
+        List<Object> icList = new ArrayList<>();
+        List<Object> uaList = new ArrayList<>();
+        List<Object> ubList = new ArrayList<>();
+        List<Object> ucList = new ArrayList<>();
+        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());
+            date = endTime;
+        }
         List<CommonIcoVO> list = new ArrayList<>();
-        CommonIcoVO commonIcoVoToady = new CommonIcoVO();
-        commonIcoVoToady.setName("today");
-        commonIcoVoToady.setList(getByDate(startTime));
-        CommonIcoVO commonIcoVoYesterday = new CommonIcoVO();
-        commonIcoVoYesterday.setName("yesterday");
-        commonIcoVoYesterday.setList(getByDate(DateUtils.addDays(startTime,-1)));
-        list.add(commonIcoVoToady);
-        list.add(commonIcoVoYesterday);
+        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());
         return list;
     }
 
-    public List<Object> getByDate(Date date){
+
+    public List<Object> getByDate(Integer userId,Integer siteId,Date date){
         List<Object> objects = new ArrayList<>();
         objects.add(0);
         for (int i = 2; i < 24 ; i+=2) {
             //结束时间
             Date endTime = DateUtils.addHours(date, i);
-            HtAnalogData endHad = htAnalogDataMapper.selectByEndTime(endTime, null, SessionLocal.getUserId());
-            HtAnalogData startHad = htAnalogDataMapper.selectByStartTime(date, null, SessionLocal.getUserId());
-            objects.add(endHad.getEpp() - startHad.getEpp());
+            objects.add(getElectricity(userId,siteId,date,endTime));
             date = endTime;
         }
         return objects;
     }
 
+    /**
+     * 获取用电量
+     * @param userId
+     * @param siteId
+     * @param startTime
+     * @param endTime
+     * @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());
+    }
+
 }
+

+ 15 - 7
fiveep-service/src/main/java/com/bizmatics/service/impl/PersonnelServiceImpl.java

@@ -1,15 +1,17 @@
 package com.bizmatics.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.bizmatics.model.AlarmPower;
 import com.bizmatics.model.Personnel;
 import com.bizmatics.persistence.mapper.PersonnelMapper;
 import com.bizmatics.service.PersonnelService;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
 import com.bizmatics.service.enums.PersonnelType;
-import com.bizmatics.service.vo.PerCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -22,10 +24,16 @@ import org.springframework.stereotype.Service;
 public class PersonnelServiceImpl extends AbstractCrudService<PersonnelMapper, Personnel> implements PersonnelService {
 
     @Override
-    public PerCountVO selectCount() {
-        PerCountVO perCountVo = new PerCountVO();
-        perCountVo.setMaintain(baseMapper.selectCount(Wrappers.lambdaQuery(Personnel.class).eq(Personnel::getPersonnelFunction, PersonnelType.MAINTENANCE.getValue())));
-        perCountVo.setPower(baseMapper.selectCount(Wrappers.lambdaQuery(Personnel.class).eq(Personnel::getPersonnelFunction, PersonnelType.POWER.getValue())));
-        return perCountVo;
+    public List<CommonTotalVO> selectCount() {
+        List<CommonTotalVO> list = new ArrayList<>();
+        list.add(CommonTotalVO.builder()
+                .name(PersonnelType.MAINTENANCE.getName())
+                .objectData(baseMapper.selectCount(Wrappers.lambdaQuery(Personnel.class).eq(Personnel::getPersonnelFunction, PersonnelType.MAINTENANCE.getValue())))
+                .build());
+        list.add(CommonTotalVO.builder()
+                .name(PersonnelType.POWER.getName())
+                .objectData(baseMapper.selectCount(Wrappers.lambdaQuery(Personnel.class).eq(Personnel::getPersonnelFunction, PersonnelType.POWER.getValue())))
+                .build());
+        return list;
     }
 }

+ 14 - 11
fiveep-service/src/main/java/com/bizmatics/service/impl/RtAnalogDataServiceImpl.java

@@ -1,7 +1,6 @@
 package com.bizmatics.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.api.R;
 import com.bizmatics.model.RtAnalogData;
 import com.bizmatics.model.Site;
 import com.bizmatics.model.UserSite;
@@ -12,10 +11,11 @@ import com.bizmatics.service.SiteService;
 import com.bizmatics.service.UserSiteService;
 import com.bizmatics.service.util.Arith;
 import com.bizmatics.service.util.SessionLocal;
-import com.bizmatics.service.vo.RadCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicReference;
 
@@ -39,13 +39,13 @@ public class RtAnalogDataServiceImpl extends AbstractCrudService<RtAnalogDataMap
 
 
     @Override
-    public RadCountVO selectCount() {
+    public List<CommonTotalVO> selectCount() {
         Integer userId = SessionLocal.getUserId();
-        List<UserSite> list = userSiteService.list(Wrappers.lambdaQuery(UserSite.class).eq(UserSite::getUserId, userId));
+        List<UserSite> userSites = userSiteService.list(Wrappers.lambdaQuery(UserSite.class).eq(UserSite::getUserId, userId));
         AtomicReference<Integer> heavyLoad = new AtomicReference<>(0);
         AtomicReference<Integer> easyLoad = new AtomicReference<>(0);
         AtomicReference<Integer> norMalLoad = new AtomicReference<>(0);
-        list.forEach(userSite -> {
+        userSites.forEach(userSite -> {
             Site site = siteService.getOne(Wrappers.lambdaQuery(Site.class).eq(Site::getId, userSite.getId()));
             Double aDouble = rtAnalogDataMapper.selectTotalLoad(userId, site.getId());
             double div = Arith.div(aDouble, Double.parseDouble(site.getInstalledCapacity()));
@@ -57,11 +57,14 @@ public class RtAnalogDataServiceImpl extends AbstractCrudService<RtAnalogDataMap
                 heavyLoad.getAndSet(heavyLoad.get() + 1);
             }
         });
-        int count = list.size();
-        RadCountVO radCountVO = new RadCountVO();
-        radCountVO.setHeavyLoad(Arith.div(heavyLoad.get(),count));
-        radCountVO.setEasyLoad(Arith.div(easyLoad.get(),count));
-        radCountVO.setNorMalLoad(Arith.div(norMalLoad.get(),count));
-        return radCountVO;
+        int count = userSites.size();
+        List<CommonTotalVO> list = new ArrayList<>();
+        list.add(CommonTotalVO.builder().name("重载运行")
+                .objectData(Arith.div(heavyLoad.get(),count)).build());
+        list.add(CommonTotalVO.builder().name("轻载运行")
+                .objectData(Arith.div(easyLoad.get(),count)).build());
+        list.add(CommonTotalVO.builder().name("正常运行")
+                .objectData(Arith.div(norMalLoad.get(),count)).build());
+        return list;
     }
 }

+ 23 - 13
fiveep-service/src/main/java/com/bizmatics/service/impl/SiteServiceImpl.java

@@ -1,9 +1,8 @@
 package com.bizmatics.service.impl;
 
-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.BeanMapperUtils;
-import com.bizmatics.model.Personnel;
 import com.bizmatics.model.Site;
 import com.bizmatics.persistence.mapper.DeviceMapper;
 import com.bizmatics.persistence.mapper.SiteMapper;
@@ -12,14 +11,14 @@ import com.bizmatics.service.SiteService;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
 import com.bizmatics.service.enums.DeviceStatusCode;
 import com.bizmatics.service.util.SessionLocal;
-import com.bizmatics.service.vo.SiteCountVO;
+import com.bizmatics.service.vo.CommonTotalVO;
 import com.bizmatics.service.vo.SiteVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.sql.Wrapper;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * <p>
@@ -37,14 +36,19 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
     @Autowired
     private DeviceMapper deviceMapper;
     @Override
-    public SiteCountVO selectCount() {
-        SiteCountVO siteCountVo = new SiteCountVO();
-        siteCountVo.setNormalCount(baseMapper.selectCount(SessionLocal.getUserId(),null,DeviceStatusCode.NORMAL.getValue()));
-        siteCountVo.setOffLineCount(baseMapper.selectCount(SessionLocal.getUserId(),null,DeviceStatusCode.OFFLINE.getValue()));
-        siteCountVo.setDeviceCount(baseMapper.selectCount(SessionLocal.getUserId(),null,DeviceStatusCode.DEVICE.getValue()));
-        siteCountVo.setFaultCount(baseMapper.selectCount(SessionLocal.getUserId(),null,DeviceStatusCode.FAULT.getValue()));
-        siteCountVo.setCount(siteCountVo.getNormalCount()+siteCountVo.getOffLineCount()+siteCountVo.getDeviceCount()+siteCountVo.getFaultCount());
-        return siteCountVo;
+    public List<CommonTotalVO> selectCount() {
+        List<CommonTotalVO> list = new ArrayList<>();
+        Integer userId = SessionLocal.getUserId();
+        list.add(CommonTotalVO.builder().name(DeviceStatusCode.NORMAL.getDescribe())
+                .objectData(baseMapper.selectCount(userId,null,DeviceStatusCode.NORMAL.getValue())).build());
+        list.add(CommonTotalVO.builder().name(DeviceStatusCode.OFFLINE.getDescribe())
+                .objectData(baseMapper.selectCount(userId,null,DeviceStatusCode.OFFLINE.getValue())).build());
+        list.add(CommonTotalVO.builder().name(DeviceStatusCode.DEVICE.getDescribe())
+                .objectData(baseMapper.selectCount(userId,null,DeviceStatusCode.DEVICE.getValue())).build());
+        list.add(CommonTotalVO.builder().name(DeviceStatusCode.FAULT.getDescribe())
+                .objectData(baseMapper.selectCount(userId,null,DeviceStatusCode.FAULT.getValue())).build());
+
+        return list;
     }
 
     @Override
@@ -54,7 +58,7 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
         Integer userId = SessionLocal.getUserId();
         for (Site site:sites) {
             SiteVO siteVo = BeanMapperUtils.map(site, SiteVO.class);
-            siteVo.setDeviceCount(deviceMapper.selectCount(userId,siteVo.getId(),null,null,null));
+            siteVo.setDeviceCount(deviceMapper.selectCount(userId,siteVo.getId(),null,null,null,null));
             int deviceCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.DEVICE.getValue());
             int offLineCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.OFFLINE.getValue());
             int faultCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.FAULT.getValue());
@@ -72,4 +76,10 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
         }
         return list;
     }
+
+    @Override
+    public SiteVO getOne(Long siteId) {
+        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("站点信息不存在"));
+    }
 }

+ 6 - 0
fiveep-service/src/main/java/com/bizmatics/service/vo/CommonIcoVO.java

@@ -1,13 +1,17 @@
 package com.bizmatics.service.vo;
 
+import lombok.Builder;
 import lombok.Data;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
  * @author yq
  * @date 2021/7/8 14:30
+ * 公用的图标VO
  */
+@Builder
 @Data
 public class CommonIcoVO {
 
@@ -15,4 +19,6 @@ public class CommonIcoVO {
     private String name;
 
     private List<Object> list;
+
+    private List<Object> listData;
 }

+ 24 - 0
fiveep-service/src/main/java/com/bizmatics/service/vo/CommonTotalVO.java

@@ -0,0 +1,24 @@
+package com.bizmatics.service.vo;
+
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * @author yq
+ * @date 2021/7/9 15:12
+ */
+@Builder
+@Data
+public class CommonTotalVO {
+
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 数据
+     */
+    private Object objectData;
+}