Ver código fonte

数据管理-环比分析报表-统计图查询

jichaobo 3 anos atrás
pai
commit
76e04d46f3

+ 10 - 14
fiveep-controller/src/main/java/com/bizmatics/controller/web/HtAnalogDataController.java

@@ -3,18 +3,13 @@ package com.bizmatics.controller.web;
 
 import com.bizmatics.common.core.bean.ApiResult;
 import com.bizmatics.model.HtAnalogData;
+import com.bizmatics.model.vo.DataManagementVO;
 import com.bizmatics.model.vo.HtAnalogDataVo;
 import com.bizmatics.service.HtAnalogDataService;
 import com.bizmatics.service.impl.HtAnalogDataServiceImpl;
-import com.bizmatics.service.vo.CommonIcoVO;
-import com.bizmatics.service.vo.HadCountVO;
-import com.bizmatics.service.vo.TimeShareVO;
+import com.bizmatics.service.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
 import java.util.List;
@@ -113,13 +108,14 @@ public class HtAnalogDataController {
 
 
     @GetMapping("yearOnYearList")
-    public ApiResult<List<CommonIcoVO>> yearOnYearList(@RequestParam String deviceCode,
-                                                       @RequestParam String displayField,
-                                                       @RequestParam(value = "type", required = false, defaultValue = "0") int type,
-                                                       @RequestParam(required = false) String startTime,
-                                                       @RequestParam(required = false) String endTime) {
-        return ApiResult.success(htAnalogDataService.yearOnYearList(deviceCode, type, startTime, endTime, displayField));
+    public ApiResult<List<CommonIcoVO>> yearOnYearList(@RequestBody DataManagementVO dataManagementVO) {
+        return ApiResult.success(htAnalogDataService.yearOnYearList(dataManagementVO));
     }
 
+
+    @GetMapping("ringRatioList")
+    public ApiResult<List<CommonIcoOneVO>> ringRatioList(@RequestBody DataManagementVO dataManagementVO) {
+        return ApiResult.success(htAnalogDataService.ringRatioList(dataManagementVO));
+    }
 }
 

+ 44 - 0
fiveep-model/src/main/java/com/bizmatics/model/vo/DataManagementVO.java

@@ -0,0 +1,44 @@
+package com.bizmatics.model.vo;
+
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * @author yq
+ * @date 2021/7/8 14:30
+ * 公用的图标VO
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class DataManagementVO implements Serializable {
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+    /**
+     * 周期:0、所有值 1、每日值 2、每月值
+     */
+    private int type;
+    /**
+     * 开始时间
+     */
+    private String startTime;
+    /**
+     * 结束时间
+     */
+    private String endTime;
+    /**
+     * 所需字段
+     */
+    private String displayField;
+    /**
+     * 1、平均值 2、最大值 3、最小值 4、累计值
+     */
+    private int valueCalculation;
+}

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

@@ -62,7 +62,6 @@ public interface HtAnalogDataMapper extends CrudMapper<HtAnalogData> {
                                           @Param("endTime") Date endTime);
 
     List<HtAnalogDataVo> yearOnYearOne(@Param("deviceCode") String deviceCode,
-                                     @Param("type") Integer type,
                                      @Param("startTime") String startTime,
                                      @Param("endTime") String endTime);
 
@@ -74,4 +73,28 @@ public interface HtAnalogDataMapper extends CrudMapper<HtAnalogData> {
                                        @Param("startTime") String startTime,
                                        @Param("endTime") String endTime);
 
+    List<HtAnalogDataVo> dayMaxDataList(@Param("deviceCode") String deviceCode,
+                                       @Param("startTime") String startTime,
+                                       @Param("endTime") String endTime);
+
+    List<HtAnalogDataVo> dayMinDataList(@Param("deviceCode") String deviceCode,
+                                        @Param("startTime") String startTime,
+                                        @Param("endTime") String endTime);
+
+    List<HtAnalogDataVo> daySumDataList(@Param("deviceCode") String deviceCode,
+                                        @Param("startTime") String startTime,
+                                        @Param("endTime") String endTime);
+
+    List<HtAnalogDataVo> monthMaxDataList(@Param("deviceCode") String deviceCode,
+                                        @Param("startTime") String startTime,
+                                        @Param("endTime") String endTime);
+
+    List<HtAnalogDataVo> monthMinDataList(@Param("deviceCode") String deviceCode,
+                                        @Param("startTime") String startTime,
+                                        @Param("endTime") String endTime);
+
+    List<HtAnalogDataVo> monthSumDataList(@Param("deviceCode") String deviceCode,
+                                        @Param("startTime") String startTime,
+                                        @Param("endTime") String endTime);
+
 }

+ 112 - 5
fiveep-persistence/src/main/resources/mapper/mysql/HtAnalogDataMapper.xml

@@ -127,7 +127,7 @@
         AVG(Eqp) as Eqp,AVG(F) as F,AVG(I0) as I0,AVG(I2) as I2,AVG(IHa) as IHa,AVG(IHb) as IHb,AVG(IHc) as IHc,AVG(Ia) as Ia,AVG(Ib) as Ib,AVG(Ic) as Ic,AVG(Ir) as Ir,AVG(LastDayMD) as LastDayMD,
         AVG(LastDayMDt) as LastDayMDt,AVG(P) as P,AVG(Pa) as Pa,AVG(Pb) as Pb,AVG(Pc) as Pc,AVG(Q) as Q,AVG(Qa) as Qa,AVG(Qb) as Qb,AVG(Qc) as Qc,AVG(SignalIntensity) as SignalIntensity,AVG(T1) as T1,
         AVG(T2) as T2,AVG(T3) as T3,AVG(T4) as T4,AVG(THDUa) as THDUa,AVG(THDUb) as THDUb,AVG(THDUc) as THDUc,AVG(Ua) as Ua,AVG(Uab) as Uab,AVG(Ub) as Ub,AVG(Ubc) as Ubc,AVG(UblU0) as UblU0,AVG(UblU2) as UblU2,
-        AVG(Uc) as Uc,AVG(Uca) as Uca,AVG(Udt) as Udt,AVG(Ul) as Ul,AVG(Upt) as Upt,AVG(Ust) as Ust,FROM_UNIXTIME(UNIX_TIMESTAMP(dataTime) , '%m-%d %H:%i') as freezingTimes,dataTime
+        AVG(Uc) as Uc,AVG(Uca) as Uca,AVG(Udt) as Udt,AVG(Ul) as Ul,AVG(Upt) as Upt,AVG(Ust) as Ust,FROM_UNIXTIME(UNIX_TIMESTAMP(dataTime) , '%Y-%m-%d') as freezingTimes,dataTime
         from ht_analog_data
         <where>
                 and deviceName = #{deviceCode}
@@ -135,9 +135,61 @@
                 and dataTime BETWEEN #{startTime} and #{endTime}
             </if>
         </where>
-        <if test="type != 0">
-            GROUP BY freezingTime
-        </if>
+        GROUP BY freezingTime
+    </select>
+
+    <select id="dayMaxDataList" resultType="com.bizmatics.model.vo.HtAnalogDataVo">
+        select
+        id,deviceName,max(Busot) AS Busot,max(COS) as COS,max(COSa) as COSa,max(COSb) as COSb,max(COSc) as COSc,max(Demand) as Demand,max(DevResetTimes) as DevResetTimes,max(DeviceTemp) as DeviceTemp,
+        max(Epn) as Epn,max(Epn1) as Epn1,max(Epn2) as Epn2,max(Epn3) as Epn3,max(Epn4) as Epn4,max(Epp) as Epp,max(Epp1) as Epp1,max(Epp2) as Epp2,max(Epp3) as Epp3,max(Epp4) as Epp4,max(Eqn) as Eqn,
+        max(Eqp) as Eqp,max(F) as F,max(I0) as I0,max(I2) as I2,max(IHa) as IHa,max(IHb) as IHb,max(IHc) as IHc,max(Ia) as Ia,max(Ib) as Ib,max(Ic) as Ic,max(Ir) as Ir,max(LastDayMD) as LastDayMD,
+        max(LastDayMDt) as LastDayMDt,max(P) as P,max(Pa) as Pa,max(Pb) as Pb,max(Pc) as Pc,max(Q) as Q,max(Qa) as Qa,max(Qb) as Qb,max(Qc) as Qc,max(SignalIntensity) as SignalIntensity,max(T1) as T1,
+        max(T2) as T2,max(T3) as T3,max(T4) as T4,max(THDUa) as THDUa,max(THDUb) as THDUb,max(THDUc) as THDUc,max(Ua) as Ua,max(Uab) as Uab,max(Ub) as Ub,max(Ubc) as Ubc,max(UblU0) as UblU0,max(UblU2) as UblU2,
+        max(Uc) as Uc,max(Uca) as Uca,max(Udt) as Udt,max(Ul) as Ul,max(Upt) as Upt,max(Ust) as Ust,FROM_UNIXTIME(UNIX_TIMESTAMP(dataTime) , '%Y-%m-%d') as freezingTimes,dataTime
+        from ht_analog_data
+        <where>
+            and deviceName = #{deviceCode}
+            <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
+                and dataTime BETWEEN #{startTime} and #{endTime}
+            </if>
+        </where>
+        GROUP BY freezingTime
+    </select>
+
+    <select id="dayMinDataList" resultType="com.bizmatics.model.vo.HtAnalogDataVo">
+        select
+        id,deviceName,min(Busot) AS Busot,min(COS) as COS,min(COSa) as COSa,min(COSb) as COSb,min(COSc) as COSc,min(Demand) as Demand,min(DevResetTimes) as DevResetTimes,min(DeviceTemp) as DeviceTemp,
+        min(Epn) as Epn,min(Epn1) as Epn1,min(Epn2) as Epn2,min(Epn3) as Epn3,min(Epn4) as Epn4,min(Epp) as Epp,min(Epp1) as Epp1,min(Epp2) as Epp2,min(Epp3) as Epp3,min(Epp4) as Epp4,min(Eqn) as Eqn,
+        min(Eqp) as Eqp,min(F) as F,min(I0) as I0,min(I2) as I2,min(IHa) as IHa,min(IHb) as IHb,min(IHc) as IHc,min(Ia) as Ia,min(Ib) as Ib,min(Ic) as Ic,min(Ir) as Ir,min(LastDayMD) as LastDayMD,
+        min(LastDayMDt) as LastDayMDt,min(P) as P,min(Pa) as Pa,min(Pb) as Pb,min(Pc) as Pc,min(Q) as Q,min(Qa) as Qa,min(Qb) as Qb,min(Qc) as Qc,min(SignalIntensity) as SignalIntensity,min(T1) as T1,
+        min(T2) as T2,min(T3) as T3,min(T4) as T4,min(THDUa) as THDUa,min(THDUb) as THDUb,min(THDUc) as THDUc,min(Ua) as Ua,min(Uab) as Uab,min(Ub) as Ub,min(Ubc) as Ubc,min(UblU0) as UblU0,min(UblU2) as UblU2,
+        min(Uc) as Uc,min(Uca) as Uca,min(Udt) as Udt,min(Ul) as Ul,min(Upt) as Upt,min(Ust) as Ust,FROM_UNIXTIME(UNIX_TIMESTAMP(dataTime) , '%Y-%m-%d') as freezingTimes,dataTime
+        from ht_analog_data
+        <where>
+            and deviceName = #{deviceCode}
+            <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
+                and dataTime BETWEEN #{startTime} and #{endTime}
+            </if>
+        </where>
+        GROUP BY freezingTime
+    </select>
+
+    <select id="daySumDataList" resultType="com.bizmatics.model.vo.HtAnalogDataVo">
+        select
+        id,deviceName,sum(Busot) AS Busot,sum(COS) as COS,sum(COSa) as COSa,sum(COSb) as COSb,sum(COSc) as COSc,sum(Demand) as Demand,sum(DevResetTimes) as DevResetTimes,sum(DeviceTemp) as DeviceTemp,
+        sum(Epn) as Epn,sum(Epn1) as Epn1,sum(Epn2) as Epn2,sum(Epn3) as Epn3,sum(Epn4) as Epn4,sum(Epp) as Epp,sum(Epp1) as Epp1,sum(Epp2) as Epp2,sum(Epp3) as Epp3,sum(Epp4) as Epp4,sum(Eqn) as Eqn,
+        sum(Eqp) as Eqp,sum(F) as F,sum(I0) as I0,sum(I2) as I2,sum(IHa) as IHa,sum(IHb) as IHb,sum(IHc) as IHc,sum(Ia) as Ia,sum(Ib) as Ib,sum(Ic) as Ic,sum(Ir) as Ir,sum(LastDayMD) as LastDayMD,
+        sum(LastDayMDt) as LastDayMDt,sum(P) as P,sum(Pa) as Pa,sum(Pb) as Pb,sum(Pc) as Pc,sum(Q) as Q,sum(Qa) as Qa,sum(Qb) as Qb,sum(Qc) as Qc,sum(SignalIntensity) as SignalIntensity,sum(T1) as T1,
+        sum(T2) as T2,sum(T3) as T3,sum(T4) as T4,sum(THDUa) as THDUa,sum(THDUb) as THDUb,sum(THDUc) as THDUc,sum(Ua) as Ua,sum(Uab) as Uab,sum(Ub) as Ub,sum(Ubc) as Ubc,sum(UblU0) as UblU0,sum(UblU2) as UblU2,
+        sum(Uc) as Uc,sum(Uca) as Uca,sum(Udt) as Udt,sum(Ul) as Ul,sum(Upt) as Upt,sum(Ust) as Ust,FROM_UNIXTIME(UNIX_TIMESTAMP(dataTime) , '%Y-%m-%d') as freezingTimes,dataTime
+        from ht_analog_data
+        <where>
+            and deviceName = #{deviceCode}
+            <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
+                and dataTime BETWEEN #{startTime} and #{endTime}
+            </if>
+        </where>
+        GROUP BY freezingTime
     </select>
 
     <select id="yearOnYearTwo" resultType="com.bizmatics.model.vo.HtAnalogDataVo">
@@ -147,7 +199,61 @@
         AVG(Eqp) as Eqp,AVG(F) as F,AVG(I0) as I0,AVG(I2) as I2,AVG(IHa) as IHa,AVG(IHb) as IHb,AVG(IHc) as IHc,AVG(Ia) as Ia,AVG(Ib) as Ib,AVG(Ic) as Ic,AVG(Ir) as Ir,AVG(LastDayMD) as LastDayMD,
         AVG(LastDayMDt) as LastDayMDt,AVG(P) as P,AVG(Pa) as Pa,AVG(Pb) as Pb,AVG(Pc) as Pc,AVG(Q) as Q,AVG(Qa) as Qa,AVG(Qb) as Qb,AVG(Qc) as Qc,AVG(SignalIntensity) as SignalIntensity,AVG(T1) as T1,
         AVG(T2) as T2,AVG(T3) as T3,AVG(T4) as T4,AVG(THDUa) as THDUa,AVG(THDUb) as THDUb,AVG(THDUc) as THDUc,AVG(Ua) as Ua,AVG(Uab) as Uab,AVG(Ub) as Ub,AVG(Ubc) as Ubc,AVG(UblU0) as UblU0,AVG(UblU2) as UblU2,
-        AVG(Uc) as Uc,AVG(Uca) as Uca,AVG(Udt) as Udt,AVG(Ul) as Ul,AVG(Upt) as Upt,AVG(Ust) as Ust,FROM_UNIXTIME(UNIX_TIMESTAMP(dataTime) , '%m-%d %H:%i') as freezingTimes,dataTime
+        AVG(Uc) as Uc,AVG(Uca) as Uca,AVG(Udt) as Udt,AVG(Ul) as Ul,AVG(Upt) as Upt,AVG(Ust) as Ust,FROM_UNIXTIME(UNIX_TIMESTAMP(dataTime) , '%Y-%m') as freezingTimes,dataTime
+        from ht_analog_data
+        <where>
+            and deviceName = #{deviceCode}
+            <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
+                and dataTime BETWEEN #{startTime} and #{endTime}
+            </if>
+        </where>
+        GROUP BY freezingTimes
+    </select>
+
+    <select id="monthMaxDataList" resultType="com.bizmatics.model.vo.HtAnalogDataVo">
+        select
+        id,deviceName,max(Busot) AS Busot,max(COS) as COS,max(COSa) as COSa,max(COSb) as COSb,max(COSc) as COSc,max(Demand) as Demand,max(DevResetTimes) as DevResetTimes,max(DeviceTemp) as DeviceTemp,
+        max(Epn) as Epn,max(Epn1) as Epn1,max(Epn2) as Epn2,max(Epn3) as Epn3,max(Epn4) as Epn4,max(Epp) as Epp,max(Epp1) as Epp1,max(Epp2) as Epp2,max(Epp3) as Epp3,max(Epp4) as Epp4,max(Eqn) as Eqn,
+        max(Eqp) as Eqp,max(F) as F,max(I0) as I0,max(I2) as I2,max(IHa) as IHa,max(IHb) as IHb,max(IHc) as IHc,max(Ia) as Ia,max(Ib) as Ib,max(Ic) as Ic,max(Ir) as Ir,max(LastDayMD) as LastDayMD,
+        max(LastDayMDt) as LastDayMDt,max(P) as P,max(Pa) as Pa,max(Pb) as Pb,max(Pc) as Pc,max(Q) as Q,max(Qa) as Qa,max(Qb) as Qb,max(Qc) as Qc,max(SignalIntensity) as SignalIntensity,max(T1) as T1,
+        max(T2) as T2,max(T3) as T3,max(T4) as T4,max(THDUa) as THDUa,max(THDUb) as THDUb,max(THDUc) as THDUc,max(Ua) as Ua,max(Uab) as Uab,max(Ub) as Ub,max(Ubc) as Ubc,max(UblU0) as UblU0,max(UblU2) as UblU2,
+        max(Uc) as Uc,max(Uca) as Uca,max(Udt) as Udt,max(Ul) as Ul,max(Upt) as Upt,max(Ust) as Ust,FROM_UNIXTIME(UNIX_TIMESTAMP(dataTime) , '%Y-%m') as freezingTimes,dataTime
+        from ht_analog_data
+        <where>
+            and deviceName = #{deviceCode}
+            <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
+                and dataTime BETWEEN #{startTime} and #{endTime}
+            </if>
+        </where>
+        GROUP BY freezingTimes
+    </select>
+
+    <select id="monthMinDataList" resultType="com.bizmatics.model.vo.HtAnalogDataVo">
+        select
+        id,deviceName,min(Busot) AS Busot,min(COS) as COS,min(COSa) as COSa,min(COSb) as COSb,min(COSc) as COSc,min(Demand) as Demand,min(DevResetTimes) as DevResetTimes,min(DeviceTemp) as DeviceTemp,
+        min(Epn) as Epn,min(Epn1) as Epn1,min(Epn2) as Epn2,min(Epn3) as Epn3,min(Epn4) as Epn4,min(Epp) as Epp,min(Epp1) as Epp1,min(Epp2) as Epp2,min(Epp3) as Epp3,min(Epp4) as Epp4,min(Eqn) as Eqn,
+        min(Eqp) as Eqp,min(F) as F,min(I0) as I0,min(I2) as I2,min(IHa) as IHa,min(IHb) as IHb,min(IHc) as IHc,min(Ia) as Ia,min(Ib) as Ib,min(Ic) as Ic,min(Ir) as Ir,min(LastDayMD) as LastDayMD,
+        min(LastDayMDt) as LastDayMDt,min(P) as P,min(Pa) as Pa,min(Pb) as Pb,min(Pc) as Pc,min(Q) as Q,min(Qa) as Qa,min(Qb) as Qb,min(Qc) as Qc,min(SignalIntensity) as SignalIntensity,min(T1) as T1,
+        min(T2) as T2,min(T3) as T3,min(T4) as T4,min(THDUa) as THDUa,min(THDUb) as THDUb,min(THDUc) as THDUc,min(Ua) as Ua,min(Uab) as Uab,min(Ub) as Ub,min(Ubc) as Ubc,min(UblU0) as UblU0,min(UblU2) as UblU2,
+        min(Uc) as Uc,min(Uca) as Uca,min(Udt) as Udt,min(Ul) as Ul,min(Upt) as Upt,min(Ust) as Ust,FROM_UNIXTIME(UNIX_TIMESTAMP(dataTime) , '%Y-%m') as freezingTimes,dataTime
+        from ht_analog_data
+        <where>
+            and deviceName = #{deviceCode}
+            <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
+                and dataTime BETWEEN #{startTime} and #{endTime}
+            </if>
+        </where>
+        GROUP BY freezingTimes
+    </select>
+
+    <select id="monthSumDataList" resultType="com.bizmatics.model.vo.HtAnalogDataVo">
+        select
+        id,deviceName,sum(Busot) AS Busot,sum(COS) as COS,sum(COSa) as COSa,sum(COSb) as COSb,sum(COSc) as COSc,sum(Demand) as Demand,sum(DevResetTimes) as DevResetTimes,sum(DeviceTemp) as DeviceTemp,
+        sum(Epn) as Epn,sum(Epn1) as Epn1,sum(Epn2) as Epn2,sum(Epn3) as Epn3,sum(Epn4) as Epn4,sum(Epp) as Epp,sum(Epp1) as Epp1,sum(Epp2) as Epp2,sum(Epp3) as Epp3,sum(Epp4) as Epp4,sum(Eqn) as Eqn,
+        sum(Eqp) as Eqp,sum(F) as F,sum(I0) as I0,sum(I2) as I2,sum(IHa) as IHa,sum(IHb) as IHb,sum(IHc) as IHc,sum(Ia) as Ia,sum(Ib) as Ib,sum(Ic) as Ic,sum(Ir) as Ir,sum(LastDayMD) as LastDayMD,
+        sum(LastDayMDt) as LastDayMDt,sum(P) as P,sum(Pa) as Pa,sum(Pb) as Pb,sum(Pc) as Pc,sum(Q) as Q,sum(Qa) as Qa,sum(Qb) as Qb,sum(Qc) as Qc,sum(SignalIntensity) as SignalIntensity,sum(T1) as T1,
+        sum(T2) as T2,sum(T3) as T3,sum(T4) as T4,sum(THDUa) as THDUa,sum(THDUb) as THDUb,sum(THDUc) as THDUc,sum(Ua) as Ua,sum(Uab) as Uab,sum(Ub) as Ub,sum(Ubc) as Ubc,sum(UblU0) as UblU0,sum(UblU2) as UblU2,
+        sum(Uc) as Uc,sum(Uca) as Uca,sum(Udt) as Udt,sum(Ul) as Ul,sum(Upt) as Upt,sum(Ust) as Ust,FROM_UNIXTIME(UNIX_TIMESTAMP(dataTime) , '%Y-%m') as freezingTimes,dataTime
         from ht_analog_data
         <where>
             and deviceName = #{deviceCode}
@@ -158,6 +264,7 @@
         GROUP BY freezingTimes
     </select>
 
+
     <select id="yearOnYearThree" resultType="com.bizmatics.model.vo.HtAnalogDataVo">
         select
         id,deviceName,Busot,COS,COSa,COSb,COSc,Demand,DevResetTimes,DeviceTemp,Epn,Epn1,Epn2,Epn3,Epn4,Epp,

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

@@ -2,10 +2,9 @@ package com.bizmatics.service;
 
 import com.bizmatics.model.HtAnalogData;
 import com.bizmatics.common.mvc.base.CrudService;
+import com.bizmatics.model.vo.DataManagementVO;
 import com.bizmatics.model.vo.HtAnalogDataVo;
-import com.bizmatics.service.vo.CommonIcoVO;
-import com.bizmatics.service.vo.HadCountVO;
-import com.bizmatics.service.vo.TimeShareVO;
+import com.bizmatics.service.vo.*;
 
 import java.util.Date;
 import java.util.List;
@@ -73,8 +72,9 @@ public interface HtAnalogDataService extends CrudService<HtAnalogData> {
      */
     List<CommonIcoVO> getElectricIco(Integer siteId,Date date);
 
+    List<CommonIcoVO> yearOnYearList(DataManagementVO dataManagementVO);
 
-    List<CommonIcoVO> yearOnYearList(String deviceCode, int type, String startTime, String endTime,String displayField);
+    List<CommonIcoOneVO> ringRatioList(DataManagementVO dataManagementVO);
 
 
 }

+ 453 - 11
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java

@@ -7,18 +7,19 @@ 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;
 import com.bizmatics.model.vo.HtAnalogDataVo;
 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.CommonIcoVO;
-import com.bizmatics.service.vo.HadCountVO;
-import com.bizmatics.service.vo.TimeShareVO;
+import com.bizmatics.service.vo.*;
 import com.fasterxml.jackson.core.type.TypeReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
 import java.util.*;
 
 
@@ -270,16 +271,32 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
 
 
     @Override
-    public List<CommonIcoVO> yearOnYearList(String deviceCode,int type,String startTime,String endTime,String displayField){
+    public List<CommonIcoVO> yearOnYearList(DataManagementVO dataManagementVO){
         List<HtAnalogDataVo> yearOnYearList = null;
-        if (type==1){
-            yearOnYearList = baseMapper.yearOnYearOne(deviceCode,type,startTime,endTime);
-        }else if (type==2){
-            yearOnYearList = baseMapper.yearOnYearTwo(deviceCode,startTime,endTime);
+        if (dataManagementVO.getType()==1){
+            if (dataManagementVO.getValueCalculation()==1){
+                yearOnYearList = baseMapper.yearOnYearOne(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+            }else if (dataManagementVO.getValueCalculation()==2){
+                yearOnYearList = baseMapper.dayMaxDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+            }else if (dataManagementVO.getValueCalculation()==3){
+                yearOnYearList = baseMapper.dayMinDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+            }else if (dataManagementVO.getValueCalculation()==4){
+                yearOnYearList = baseMapper.daySumDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+            }
+        }else if (dataManagementVO.getType()==2){
+            if (dataManagementVO.getValueCalculation()==1){
+                yearOnYearList = baseMapper.yearOnYearTwo(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+            }else if (dataManagementVO.getValueCalculation()==2){
+                yearOnYearList = baseMapper.monthMaxDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+            }else if (dataManagementVO.getValueCalculation()==3){
+                yearOnYearList = baseMapper.monthMinDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+            }else if (dataManagementVO.getValueCalculation()==4){
+                yearOnYearList = baseMapper.monthSumDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+            }
         }else {
-            yearOnYearList = baseMapper.yearOnYearThree(deviceCode,startTime,endTime);
+            yearOnYearList = baseMapper.yearOnYearThree(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
         }
-        String[] arr = displayField.split(",");
+        String[] arr = dataManagementVO.getDisplayField().split(",");
         List<Object> BusotList = new ArrayList<>();
         List<Object> COSList = new ArrayList<>();
         List<Object> COSaList = new ArrayList<>();
@@ -348,7 +365,6 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
                 if (Arrays.asList(arr).contains("Busot")){
                     BusotList.add(yearOnYearList.get(i).getBusot());
                 }
-
                 if (Arrays.asList(arr).contains("Ust")){
                     UstList.add(yearOnYearList.get(i).getUst());
                 }
@@ -595,4 +611,430 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         return list;
     }
 
+
+    @Override
+    public List<CommonIcoOneVO> ringRatioList(DataManagementVO dataManagementVO){
+        SimpleDateFormat sf = null;
+        SimpleDateFormat sfOne = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        List<HtAnalogDataVo> currentPeriodRingRatioList = null;
+        List<HtAnalogDataVo> lastPeriodRingRatioList = null;
+        List<Object> BusotList = new ArrayList<>();             List<Object> BusotListOne = new ArrayList<>();
+        List<Object> COSList = new ArrayList<>();               List<Object> COSListOne = new ArrayList<>();
+        List<Object> COSaList = new ArrayList<>();              List<Object> COSaListOne = new ArrayList<>();
+        List<Object> COSbList = new ArrayList<>();              List<Object> COSbListOne = new ArrayList<>();
+        List<Object> COScList = new ArrayList<>();              List<Object> COScListOne = new ArrayList<>();
+        List<Object> DemandList = new ArrayList<>();            List<Object> DemandListOne = new ArrayList<>();
+        List<Object> DevResetTimesList = new ArrayList<>();     List<Object> DevResetTimesListOne = new ArrayList<>();
+        List<Object> DeviceTempList = new ArrayList<>();        List<Object> DeviceTempListOne = new ArrayList<>();
+        List<Object> EpnList = new ArrayList<>();               List<Object> EpnListOne = new ArrayList<>();
+        List<Object> Epn1List = new ArrayList<>();              List<Object> Epn1ListOne = new ArrayList<>();
+        List<Object> Epn2List = new ArrayList<>();              List<Object> Epn2ListOne = new ArrayList<>();
+        List<Object> Epn3List = new ArrayList<>();              List<Object> Epn3ListOne = new ArrayList<>();
+        List<Object> Epn4List = new ArrayList<>();              List<Object> Epn4ListOne = new ArrayList<>();
+        List<Object> EppList = new ArrayList<>();               List<Object> EppListOne = new ArrayList<>();
+        List<Object> Epp1List = new ArrayList<>();              List<Object> Epp1ListOne = new ArrayList<>();
+        List<Object> Epp2List = new ArrayList<>();              List<Object> Epp2ListOne = new ArrayList<>();
+        List<Object> Epp3List = new ArrayList<>();              List<Object> Epp3ListOne = new ArrayList<>();
+        List<Object> Epp4List = new ArrayList<>();              List<Object> Epp4ListOne = new ArrayList<>();
+        List<Object> EqnList = new ArrayList<>();               List<Object> EqnListOne = new ArrayList<>();
+        List<Object> EqpList = new ArrayList<>();               List<Object> EqpListOne = new ArrayList<>();
+        List<Object> FList = new ArrayList<>();                 List<Object> FListOne = new ArrayList<>();
+        List<Object> I0List = new ArrayList<>();                List<Object> I0ListOne = new ArrayList<>();
+        List<Object> I2List = new ArrayList<>();                List<Object> I2ListOne = new ArrayList<>();
+        List<Object> IHaList = new ArrayList<>();               List<Object> IHaListOne = new ArrayList<>();
+        List<Object> IHbList = new ArrayList<>();               List<Object> IHbListOne = new ArrayList<>();
+        List<Object> IHcList = new ArrayList<>();               List<Object> IHcListOne = new ArrayList<>();
+        List<Object> IaList = new ArrayList<>();                List<Object> IaListOne = new ArrayList<>();
+        List<Object> IbList = new ArrayList<>();                List<Object> IbListOne = new ArrayList<>();
+        List<Object> IcList = new ArrayList<>();                List<Object> IcListOne = new ArrayList<>();
+        List<Object> IrList = new ArrayList<>();                List<Object> IrListOne = new ArrayList<>();
+        List<Object> LastDayMDList = new ArrayList<>();         List<Object> LastDayMDListOne = new ArrayList<>();
+        List<Object> LastDayMDtList = new ArrayList<>();        List<Object> LastDayMDtListOne = new ArrayList<>();
+        List<Object> PList = new ArrayList<>();                 List<Object> PListOne = new ArrayList<>();
+        List<Object> PaList = new ArrayList<>();                List<Object> PaListOne = new ArrayList<>();
+        List<Object> PbList = new ArrayList<>();                List<Object> PbListOne = new ArrayList<>();
+        List<Object> PcList = new ArrayList<>();                List<Object> PcListOne = new ArrayList<>();
+        List<Object> QList = new ArrayList<>();                 List<Object> QListOne = new ArrayList<>();
+        List<Object> QaList = new ArrayList<>();                List<Object> QaListOne = new ArrayList<>();
+        List<Object> QbList = new ArrayList<>();                List<Object> QbListOne = new ArrayList<>();
+        List<Object> QcList = new ArrayList<>();                List<Object> QcListOne = new ArrayList<>();
+        List<Object> SignalIntensityList = new ArrayList<>();   List<Object> SignalIntensityListOne = new ArrayList<>();
+        List<Object> T1List = new ArrayList<>();                List<Object> T1ListOne = new ArrayList<>();
+        List<Object> T2List = new ArrayList<>();                List<Object> T2ListOne = new ArrayList<>();
+        List<Object> T3List = new ArrayList<>();                List<Object> T3ListOne = new ArrayList<>();
+        List<Object> T4List = new ArrayList<>();                List<Object> T4ListOne = new ArrayList<>();
+        List<Object> THDUaList = new ArrayList<>();             List<Object> THDUaListOne = new ArrayList<>();
+        List<Object> THDUbList = new ArrayList<>();             List<Object> THDUbListOne = new ArrayList<>();
+        List<Object> THDUcList = new ArrayList<>();             List<Object> THDUcListOne = new ArrayList<>();
+        List<Object> UaList = new ArrayList<>();                List<Object> UaListOne = new ArrayList<>();
+        List<Object> UabList = new ArrayList<>();               List<Object> UabListOne = new ArrayList<>();
+        List<Object> UbList = new ArrayList<>();                List<Object> UbListOne = new ArrayList<>();
+        List<Object> UbcList = new ArrayList<>();               List<Object> UbcListOne = new ArrayList<>();
+        List<Object> UblU0List = new ArrayList<>();             List<Object> UblU0ListOne = new ArrayList<>();
+        List<Object> UblU2List = new ArrayList<>();             List<Object> UblU2ListOne = new ArrayList<>();
+        List<Object> UcList = new ArrayList<>();                List<Object> UcListOne = new ArrayList<>();
+        List<Object> UcaList = new ArrayList<>();               List<Object> UcaListOne = new ArrayList<>();
+        List<Object> UdtList = new ArrayList<>();               List<Object> UdtListOne = new ArrayList<>();
+        List<Object> UlList = new ArrayList<>();                List<Object> UlListOne = new ArrayList<>();
+        List<Object> UptList = new ArrayList<>();               List<Object> UptListOne = new ArrayList<>();
+        List<Object> freezingTimesList = new ArrayList<>();     List<Object> freezingTimesListOne = new ArrayList<>();
+        List<Object> UstList = new ArrayList<>();               List<Object> UstListOne = new ArrayList<>();
+//        List<Object> bottomTimeList = new ArrayList<>();        List<Object> bottomTimeListOne = new ArrayList<>();
+        String[] arr = dataManagementVO.getDisplayField().split(",");
+        long startLong = DateUtils.toDate(DateUtils.toLocalDateTime(dataManagementVO.getStartTime(),"yyyy-MM-dd HH:mm:ss")).getTime();
+        long endLong = DateUtils.toDate(DateUtils.toLocalDateTime(dataManagementVO.getEndTime(),"yyyy-MM-dd HH:mm:ss")).getTime();
+        long interval = (endLong-startLong)/13;
+        String lastPeriodStartTime = sfOne.format(new Date(startLong - (interval * 14)));
+        if (dataManagementVO.getType()==1){
+//            sf = new SimpleDateFormat("yyyy-MM-dd");
+            if (dataManagementVO.getValueCalculation()==1){
+                currentPeriodRingRatioList = baseMapper.yearOnYearOne(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+                lastPeriodRingRatioList    = baseMapper.yearOnYearOne(dataManagementVO.getDeviceCode(),lastPeriodStartTime,dataManagementVO.getStartTime());
+            }else if (dataManagementVO.getValueCalculation()==2){
+                currentPeriodRingRatioList = baseMapper.dayMaxDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+                lastPeriodRingRatioList    = baseMapper.dayMaxDataList(dataManagementVO.getDeviceCode(),lastPeriodStartTime,dataManagementVO.getStartTime());
+            }else if (dataManagementVO.getValueCalculation()==3){
+                currentPeriodRingRatioList = baseMapper.dayMinDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+                lastPeriodRingRatioList    = baseMapper.dayMinDataList(dataManagementVO.getDeviceCode(),lastPeriodStartTime,dataManagementVO.getStartTime());
+            }else if (dataManagementVO.getValueCalculation()==4){
+                currentPeriodRingRatioList = baseMapper.daySumDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+                lastPeriodRingRatioList    = baseMapper.daySumDataList(dataManagementVO.getDeviceCode(),lastPeriodStartTime,dataManagementVO.getStartTime());
+            }
+        }else if (dataManagementVO.getType()==2){
+//            sf = new SimpleDateFormat("yyyy-MM");
+            if (dataManagementVO.getValueCalculation()==1){
+                currentPeriodRingRatioList = baseMapper.yearOnYearTwo(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+                lastPeriodRingRatioList = baseMapper.yearOnYearTwo(dataManagementVO.getDeviceCode(),lastPeriodStartTime,dataManagementVO.getStartTime());
+            }else if (dataManagementVO.getValueCalculation()==2){
+                currentPeriodRingRatioList = baseMapper.monthMaxDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+                lastPeriodRingRatioList = baseMapper.monthMaxDataList(dataManagementVO.getDeviceCode(),lastPeriodStartTime,dataManagementVO.getStartTime());
+            }else if (dataManagementVO.getValueCalculation()==3){
+                currentPeriodRingRatioList = baseMapper.monthMinDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+                lastPeriodRingRatioList = baseMapper.monthMinDataList(dataManagementVO.getDeviceCode(),lastPeriodStartTime,dataManagementVO.getStartTime());
+            }else if (dataManagementVO.getValueCalculation()==4){
+                currentPeriodRingRatioList = baseMapper.monthSumDataList(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+                lastPeriodRingRatioList = baseMapper.monthSumDataList(dataManagementVO.getDeviceCode(),lastPeriodStartTime,dataManagementVO.getStartTime());
+            }
+        }else{
+            sf = new SimpleDateFormat("MM-dd HH:mm");
+            currentPeriodRingRatioList = baseMapper.yearOnYearThree(dataManagementVO.getDeviceCode(),dataManagementVO.getStartTime(),dataManagementVO.getEndTime());
+            lastPeriodRingRatioList = baseMapper.yearOnYearThree(dataManagementVO.getDeviceCode(),lastPeriodStartTime,dataManagementVO.getStartTime());
+        }
+//        for (int i = 1; i <= 14; i++) {
+//            String bottomTime = sf.format(new Date(startLong + (interval * (i - 1))))+"/"+sf.format(new Date(startLong - (interval * (14-i+1))));
+//            bottomTimeList.add(bottomTime);
+//        }
+
+        if (currentPeriodRingRatioList.size()>0){
+            for (int i = 0; i < currentPeriodRingRatioList.size(); i++) {
+                freezingTimesList.add(currentPeriodRingRatioList.get(i).getFreezingTimes()+"/"+lastPeriodRingRatioList.get(i).getFreezingTimes());
+                if (Arrays.asList(arr).contains("Busot")){
+                    BusotList.add(currentPeriodRingRatioList.get(i).getBusot());
+                    BusotListOne.add(lastPeriodRingRatioList.get(i).getBusot());
+                }
+                if (Arrays.asList(arr).contains("Ust")){
+                    UstList.add(currentPeriodRingRatioList.get(i).getUst());
+                    UstListOne.add(lastPeriodRingRatioList.get(i).getUst());
+                }
+                if (Arrays.asList(arr).contains("Upt")){
+                    UptList.add(currentPeriodRingRatioList.get(i).getUpt());
+                    UptListOne.add(lastPeriodRingRatioList.get(i).getUpt());
+                }
+                if (Arrays.asList(arr).contains("Ul")){
+                    UlList.add(currentPeriodRingRatioList.get(i).getUl());
+                    UlListOne.add(lastPeriodRingRatioList.get(i).getUl());
+                }
+                if (Arrays.asList(arr).contains("Udt")){
+                    UdtList.add(currentPeriodRingRatioList.get(i).getUdt());
+                    UdtListOne.add(lastPeriodRingRatioList.get(i).getUdt());
+                }
+                if (Arrays.asList(arr).contains("Uca")){
+                    UcaList.add(currentPeriodRingRatioList.get(i).getUca());
+                    UcaListOne.add(lastPeriodRingRatioList.get(i).getUca());
+                }
+                if (Arrays.asList(arr).contains("Uc")){
+                    UcList.add(currentPeriodRingRatioList.get(i).getUc());
+                    UcListOne.add(lastPeriodRingRatioList.get(i).getUc());
+                }
+                if (Arrays.asList(arr).contains("UblU2")){
+                    UblU2List.add(currentPeriodRingRatioList.get(i).getUblU2());
+                    UblU2ListOne.add(lastPeriodRingRatioList.get(i).getUblU2());
+                }
+                if (Arrays.asList(arr).contains("UblU0")){
+                    UblU0List.add(currentPeriodRingRatioList.get(i).getUblU0());
+                    UblU0ListOne.add(lastPeriodRingRatioList.get(i).getUblU0());
+                }
+                if (Arrays.asList(arr).contains("Ubc")){
+                    UbcList.add(currentPeriodRingRatioList.get(i).getUbc());
+                    UbcListOne.add(lastPeriodRingRatioList.get(i).getUbc());
+                }
+                if (Arrays.asList(arr).contains("Ub")){
+                    UbList.add(currentPeriodRingRatioList.get(i).getUb());
+                    UbListOne.add(lastPeriodRingRatioList.get(i).getUb());
+                }
+                if (Arrays.asList(arr).contains("Uab")){
+                    UabList.add(currentPeriodRingRatioList.get(i).getUab());
+                    UabListOne.add(lastPeriodRingRatioList.get(i).getUab());
+                }
+                if (Arrays.asList(arr).contains("Ua")){
+                    UaList.add(currentPeriodRingRatioList.get(i).getUa());
+                    UaListOne.add(lastPeriodRingRatioList.get(i).getUa());
+                }
+                if (Arrays.asList(arr).contains("THDUc")){
+                    THDUcList.add(currentPeriodRingRatioList.get(i).getTHDUc());
+                    THDUcListOne.add(lastPeriodRingRatioList.get(i).getTHDUc());
+                }
+                if (Arrays.asList(arr).contains("THDUb")){
+                    THDUbList.add(currentPeriodRingRatioList.get(i).getTHDUb());
+                    THDUbListOne.add(lastPeriodRingRatioList.get(i).getTHDUb());
+                }
+                if (Arrays.asList(arr).contains("THDUa")){
+                    THDUaList.add(currentPeriodRingRatioList.get(i).getTHDUa());
+                    THDUaListOne.add(lastPeriodRingRatioList.get(i).getTHDUa());
+                }
+                if (Arrays.asList(arr).contains("T4")){
+                    T4List.add(currentPeriodRingRatioList.get(i).getT4());
+                    T4ListOne.add(lastPeriodRingRatioList.get(i).getT4());
+                }
+                if (Arrays.asList(arr).contains("T3")){
+                    T3List.add(currentPeriodRingRatioList.get(i).getT3());
+                    T3ListOne.add(lastPeriodRingRatioList.get(i).getT3());
+                }
+                if (Arrays.asList(arr).contains("T2")){
+                    T2List.add(currentPeriodRingRatioList.get(i).getT2());
+                    T2ListOne.add(lastPeriodRingRatioList.get(i).getT2());
+                }
+                if (Arrays.asList(arr).contains("T1")){
+                    T1List.add(currentPeriodRingRatioList.get(i).getT1());
+                    T1ListOne.add(lastPeriodRingRatioList.get(i).getT1());
+                }
+                if (Arrays.asList(arr).contains("SignalIntensity")){
+                    SignalIntensityList.add(currentPeriodRingRatioList.get(i).getSignalIntensity());
+                    SignalIntensityListOne.add(lastPeriodRingRatioList.get(i).getSignalIntensity());
+                }
+                if (Arrays.asList(arr).contains("Qc")){
+                    QcList.add(currentPeriodRingRatioList.get(i).getQc());
+                    QcListOne.add(lastPeriodRingRatioList.get(i).getQc());
+                }
+                if (Arrays.asList(arr).contains("Qb")){
+                    QbList.add(currentPeriodRingRatioList.get(i).getQb());
+                    QbListOne.add(lastPeriodRingRatioList.get(i).getQb());
+                }
+                if (Arrays.asList(arr).contains("Qa")){
+                    QaList.add(currentPeriodRingRatioList.get(i).getQa());
+                    QaListOne.add(lastPeriodRingRatioList.get(i).getQa());
+                }
+                if (Arrays.asList(arr).contains("Q")){
+                    QList.add(currentPeriodRingRatioList.get(i).getQ());
+                    QListOne.add(lastPeriodRingRatioList.get(i).getQ());
+                }
+                if (Arrays.asList(arr).contains("Pc")){
+                    PcList.add(currentPeriodRingRatioList.get(i).getPc());
+                    PcListOne.add(lastPeriodRingRatioList.get(i).getPc());
+                }
+                if (Arrays.asList(arr).contains("Pb")){
+                    PbList.add(currentPeriodRingRatioList.get(i).getPb());
+                    PbListOne.add(lastPeriodRingRatioList.get(i).getPb());
+                }
+                if (Arrays.asList(arr).contains("Pa")){
+                    PaList.add(currentPeriodRingRatioList.get(i).getPa());
+                    PaListOne.add(lastPeriodRingRatioList.get(i).getPa());
+                }
+                if (Arrays.asList(arr).contains("P")){
+                    PList.add(currentPeriodRingRatioList.get(i).getP());
+                    PListOne.add(lastPeriodRingRatioList.get(i).getP());
+                }
+                if (Arrays.asList(arr).contains("LastDayMDt")){
+                    LastDayMDtList.add(currentPeriodRingRatioList.get(i).getLastDayMDt());
+                    LastDayMDtListOne.add(lastPeriodRingRatioList.get(i).getLastDayMDt());
+                }
+                if (Arrays.asList(arr).contains("LastDayMD")){
+                    LastDayMDList.add(currentPeriodRingRatioList.get(i).getLastDayMD());
+                    LastDayMDListOne.add(lastPeriodRingRatioList.get(i).getLastDayMD());
+                }
+                if (Arrays.asList(arr).contains("Ir")){
+                    IrList.add(currentPeriodRingRatioList.get(i).getIr());
+                    IrListOne.add(lastPeriodRingRatioList.get(i).getIr());
+                }
+                if (Arrays.asList(arr).contains("Ic")){
+                    IcList.add(currentPeriodRingRatioList.get(i).getIc());
+                    IcListOne.add(lastPeriodRingRatioList.get(i).getIc());
+                }
+                if (Arrays.asList(arr).contains("Ib")){
+                    IbList.add(currentPeriodRingRatioList.get(i).getIb());
+                    IbListOne.add(lastPeriodRingRatioList.get(i).getIb());
+                }
+                if (Arrays.asList(arr).contains("Ia")){
+                    IaList.add(currentPeriodRingRatioList.get(i).getIa());
+                    IaListOne.add(lastPeriodRingRatioList.get(i).getIa());
+                }
+                if (Arrays.asList(arr).contains("IHc")){
+                    IHcList.add(currentPeriodRingRatioList.get(i).getIHc());
+                    IHcListOne.add(lastPeriodRingRatioList.get(i).getIHc());
+                }
+                if (Arrays.asList(arr).contains("IHb")){
+                    IHbList.add(currentPeriodRingRatioList.get(i).getIHb());
+                    IHbListOne.add(lastPeriodRingRatioList.get(i).getIHb());
+                }
+                if (Arrays.asList(arr).contains("IHa")){
+                    IHaList.add(currentPeriodRingRatioList.get(i).getIHa());
+                    IHaListOne.add(lastPeriodRingRatioList.get(i).getIHa());
+                }
+                if (Arrays.asList(arr).contains("I2")){
+                    I2List.add(currentPeriodRingRatioList.get(i).getI2());
+                    I2ListOne.add(lastPeriodRingRatioList.get(i).getI2());
+                }
+                if (Arrays.asList(arr).contains("I0")){
+                    I0List.add(currentPeriodRingRatioList.get(i).getI0());
+                    I0ListOne.add(lastPeriodRingRatioList.get(i).getI0());
+                }
+                if (Arrays.asList(arr).contains("F")){
+                    FList.add(currentPeriodRingRatioList.get(i).getF());
+                    FListOne.add(lastPeriodRingRatioList.get(i).getF());
+                }
+                if (Arrays.asList(arr).contains("Eqp")){
+                    EqpList.add(currentPeriodRingRatioList.get(i).getEqp());
+                    EqpListOne.add(lastPeriodRingRatioList.get(i).getEqp());
+                }
+                if (Arrays.asList(arr).contains("Eqn")){
+                    EqnList.add(currentPeriodRingRatioList.get(i).getEqn());
+                    EqnListOne.add(lastPeriodRingRatioList.get(i).getEqn());
+                }
+                if (Arrays.asList(arr).contains("Epp4")){
+                    Epp4List.add(currentPeriodRingRatioList.get(i).getEpp4());
+                    Epp4ListOne.add(lastPeriodRingRatioList.get(i).getEpp4());
+                }
+                if (Arrays.asList(arr).contains("Epp3")){
+                    Epp3List.add(currentPeriodRingRatioList.get(i).getEpp3());
+                    Epp3ListOne.add(lastPeriodRingRatioList.get(i).getEpp3());
+                }
+                if (Arrays.asList(arr).contains("Epp2")){
+                    Epp2List.add(currentPeriodRingRatioList.get(i).getEpp2());
+                    Epp2ListOne.add(lastPeriodRingRatioList.get(i).getEpp2());
+                }
+                if (Arrays.asList(arr).contains("Epp1")){
+                    Epp1List.add(currentPeriodRingRatioList.get(i).getEpp1());
+                    Epp1ListOne.add(lastPeriodRingRatioList.get(i).getEpp1());
+                }
+                if (Arrays.asList(arr).contains("Epp")){
+                    EppList.add(currentPeriodRingRatioList.get(i).getEpp());
+                    EppListOne.add(lastPeriodRingRatioList.get(i).getEpp());
+                }
+                if (Arrays.asList(arr).contains("Epn4")){
+                    Epn4List.add(currentPeriodRingRatioList.get(i).getEpn4());
+                    Epn4ListOne.add(lastPeriodRingRatioList.get(i).getEpn4());
+                }
+                if (Arrays.asList(arr).contains("Epn3")){
+                    Epn3List.add(currentPeriodRingRatioList.get(i).getEpn3());
+                    Epn3ListOne.add(lastPeriodRingRatioList.get(i).getEpn3());
+                }
+                if (Arrays.asList(arr).contains("Epn2")){
+                    Epn2List.add(currentPeriodRingRatioList.get(i).getEpn2());
+                    Epn2ListOne.add(lastPeriodRingRatioList.get(i).getEpn2());
+                }
+                if (Arrays.asList(arr).contains("Epn1")){
+                    Epn1List.add(currentPeriodRingRatioList.get(i).getEpn1());
+                    Epn1ListOne.add(lastPeriodRingRatioList.get(i).getEpn1());
+                }
+                if (Arrays.asList(arr).contains("Epn")){
+                    EpnList.add(currentPeriodRingRatioList.get(i).getEpn());
+                    EpnListOne.add(lastPeriodRingRatioList.get(i).getEpn());
+                }
+                if (Arrays.asList(arr).contains("DeviceTemp")){
+                    DeviceTempList.add(currentPeriodRingRatioList.get(i).getDeviceTemp());
+                    DeviceTempListOne.add(lastPeriodRingRatioList.get(i).getDeviceTemp());
+                }
+                if (Arrays.asList(arr).contains("DevResetTimes")){
+                    DevResetTimesList.add(currentPeriodRingRatioList.get(i).getDevResetTimes());
+                    DevResetTimesListOne.add(lastPeriodRingRatioList.get(i).getDevResetTimes());
+                }
+                if (Arrays.asList(arr).contains("Demand")){
+                    DemandList.add(currentPeriodRingRatioList.get(i).getDemand());
+                    DemandListOne.add(lastPeriodRingRatioList.get(i).getDemand());
+                }
+                if (Arrays.asList(arr).contains("COSc")){
+                    COScList.add(currentPeriodRingRatioList.get(i).getCOSc());
+                    COScListOne.add(lastPeriodRingRatioList.get(i).getCOSc());
+                }
+                if (Arrays.asList(arr).contains("COSb")){
+                    COSbList.add(currentPeriodRingRatioList.get(i).getCOSb());
+                    COSbListOne.add(lastPeriodRingRatioList.get(i).getCOSb());
+                }
+                if (Arrays.asList(arr).contains("COSa")){
+                    COSaList.add(currentPeriodRingRatioList.get(i).getCOSa());
+                    COSaListOne.add(lastPeriodRingRatioList.get(i).getCOSa());
+                }
+                if (Arrays.asList(arr).contains("COS")){
+                    COSList.add(currentPeriodRingRatioList.get(i).getCos());
+                    COSListOne.add(lastPeriodRingRatioList.get(i).getCos());
+                }
+            }
+        }
+
+        List<CommonIcoOneVO> list = new ArrayList<>();
+//        list.add(CommonIcoOneVO.builder().name("底部时间").listDate(bottomTimeList).build());
+        if (Arrays.asList(arr).contains("Busot")){list.add(CommonIcoOneVO.builder().name("母线停电次数").currentPeriodList(BusotList).lastPeriodList(BusotListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("COS")){list.add(CommonIcoOneVO.builder().name("三相功率因数").currentPeriodList(COSList).lastPeriodList(COSListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("COSa")){list.add(CommonIcoOneVO.builder().name("A相功率因数").currentPeriodList(COSaList).lastPeriodList(COSaListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("COSb")){list.add(CommonIcoOneVO.builder().name("B相功率因数").currentPeriodList(COSbList).lastPeriodList(COSbListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("COSc")){list.add(CommonIcoOneVO.builder().name("C相功率因数").currentPeriodList(COScList).lastPeriodList(COScListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Demand")){list.add(CommonIcoOneVO.builder().name("实时有功需量").currentPeriodList(DemandList).lastPeriodList(DemandListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("DevResetTimes")){list.add(CommonIcoOneVO.builder().name("设备复位次数").currentPeriodList(DevResetTimesList).lastPeriodList(DevResetTimesListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("DeviceTemp")){list.add(CommonIcoOneVO.builder().name("设备温度").currentPeriodList(DeviceTempList).lastPeriodList(DeviceTempListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Epn")){list.add(CommonIcoOneVO.builder().name("三相反向有功电度").currentPeriodList(EpnList).lastPeriodList(EpnListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Epn1")){list.add(CommonIcoOneVO.builder().name("尖段反向有功电度").currentPeriodList(Epn1List).lastPeriodList(Epn1ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Epn2")){list.add(CommonIcoOneVO.builder().name("峰段反向有功电度").currentPeriodList(Epn2List).lastPeriodList(Epn2ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Epn3")){list.add(CommonIcoOneVO.builder().name("平段反向有功电度").currentPeriodList(Epn3List).lastPeriodList(Epn3ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Epn4")){list.add(CommonIcoOneVO.builder().name("谷段反向有功电度").currentPeriodList(Epn4List).lastPeriodList(Epn4ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Epp")){list.add(CommonIcoOneVO.builder().name("三相正向有功电度").currentPeriodList(EppList).lastPeriodList(EppListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Epp1")){list.add(CommonIcoOneVO.builder().name("尖段正向有功电度").currentPeriodList(Epp1List).lastPeriodList(Epp1ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Epp2")){list.add(CommonIcoOneVO.builder().name("峰段正向有功电度").currentPeriodList(Epp2List).lastPeriodList(Epp2ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Epp3")){list.add(CommonIcoOneVO.builder().name("平段正向有功电度").currentPeriodList(Epp3List).lastPeriodList(Epp3ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Epp4")){list.add(CommonIcoOneVO.builder().name("谷段正向有功电度").currentPeriodList(Epp4List).lastPeriodList(Epp4ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Eqn")){list.add(CommonIcoOneVO.builder().name("三相反向无功电度").currentPeriodList(EqnList).lastPeriodList(EqnListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Eqp")){list.add(CommonIcoOneVO.builder().name("三相正向无功电度").currentPeriodList(EqpList).lastPeriodList(EqpListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("F")){list.add(CommonIcoOneVO.builder().name("频率").currentPeriodList(FList).lastPeriodList(FListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("I0")){list.add(CommonIcoOneVO.builder().name("零序电流").currentPeriodList(I0List).lastPeriodList(I0ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("I2")){list.add(CommonIcoOneVO.builder().name("负序电流").currentPeriodList(I2List).lastPeriodList(I2ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("IHa")){list.add(CommonIcoOneVO.builder().name("A相总谐波电流").currentPeriodList(IHaList).lastPeriodList(IHaListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("IHb")){list.add(CommonIcoOneVO.builder().name("B相总谐波电流").currentPeriodList(IHbList).lastPeriodList(IHbListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("IHc")){list.add(CommonIcoOneVO.builder().name("C相总谐波电流").currentPeriodList(IHcList).lastPeriodList(IHcListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Ia")){list.add(CommonIcoOneVO.builder().name("A相电流").currentPeriodList(IaList).lastPeriodList(IaList).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Ib")){list.add(CommonIcoOneVO.builder().name("B相电流").currentPeriodList(IbList).lastPeriodList(IbListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Ic")){list.add(CommonIcoOneVO.builder().name("C相电流").currentPeriodList(IcList).lastPeriodList(IcListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Ir")){list.add(CommonIcoOneVO.builder().name("剩余电流").currentPeriodList(IrList).lastPeriodList(IrListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("LastDayMD")){list.add(CommonIcoOneVO.builder().name("昨日有功最大需量").currentPeriodList(LastDayMDList).lastPeriodList(LastDayMDListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("LastDayMDt")){list.add(CommonIcoOneVO.builder().name("昨日有功最大需量发生时间").currentPeriodList(LastDayMDtList).lastPeriodList(LastDayMDtListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("P")){list.add(CommonIcoOneVO.builder().name("三相总有功功率").currentPeriodList(PList).lastPeriodList(PList).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Pa")){list.add(CommonIcoOneVO.builder().name("A相有功功率").currentPeriodList(PaList).lastPeriodList(PaListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Pb")){list.add(CommonIcoOneVO.builder().name("B相有功功率").currentPeriodList(PbList).lastPeriodList(PbList).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Pc")){list.add(CommonIcoOneVO.builder().name("C相有功功率").currentPeriodList(PcList).lastPeriodList(PcList).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Q")){list.add(CommonIcoOneVO.builder().name("三相总无功功率").currentPeriodList(QList).lastPeriodList(QListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Qa")){list.add(CommonIcoOneVO.builder().name("A相无功功率").currentPeriodList(QaList).lastPeriodList(QaListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Qb")){list.add(CommonIcoOneVO.builder().name("B相无功功率").currentPeriodList(QbList).lastPeriodList(QbListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Qc")){list.add(CommonIcoOneVO.builder().name("C相无功功率").currentPeriodList(QcList).lastPeriodList(QcListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("SignalIntensity")){list.add(CommonIcoOneVO.builder().name("信号强度").currentPeriodList(SignalIntensityList).lastPeriodList(SignalIntensityListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("T1")){list.add(CommonIcoOneVO.builder().name("第1路温度").currentPeriodList(T1List).lastPeriodList(T1ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("T2")){list.add(CommonIcoOneVO.builder().name("第2路温度").currentPeriodList(T2List).lastPeriodList(T2ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("T3")){list.add(CommonIcoOneVO.builder().name("第3路温度").currentPeriodList(T3List).lastPeriodList(T3ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("T4")){list.add(CommonIcoOneVO.builder().name("第4路温度").currentPeriodList(T4List).lastPeriodList(T4ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("THDUa")){list.add(CommonIcoOneVO.builder().name("A相电压THD").currentPeriodList(THDUaList).lastPeriodList(THDUaListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("THDUb")){list.add(CommonIcoOneVO.builder().name("B相电压THD").currentPeriodList(THDUbList).lastPeriodList(THDUbListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("THDUc")){list.add(CommonIcoOneVO.builder().name("C相电压THD").currentPeriodList(THDUcList).lastPeriodList(THDUcListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Ua")){list.add(CommonIcoOneVO.builder().name("A相电压").currentPeriodList(UaList).lastPeriodList(UaListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Uab")){list.add(CommonIcoOneVO.builder().name("AB线电压").currentPeriodList(UabList).lastPeriodList(UabListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Ub")){list.add(CommonIcoOneVO.builder().name("B相电压").currentPeriodList(UbList).lastPeriodList(UbListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Ubc")){list.add(CommonIcoOneVO.builder().name("BC线电压").currentPeriodList(UbcList).lastPeriodList(UbcListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("UblU0")){list.add(CommonIcoOneVO.builder().name("零序电压不平衡度").currentPeriodList(UblU0List).lastPeriodList(UblU0ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("UblU2")){list.add(CommonIcoOneVO.builder().name("负序电压不平衡度").currentPeriodList(UblU2List).lastPeriodList(UblU2ListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Uc")){list.add(CommonIcoOneVO.builder().name("C相电压").currentPeriodList(UcList).lastPeriodList(UcListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Uca")){list.add(CommonIcoOneVO.builder().name("CA线电压").currentPeriodList(UcaList).lastPeriodList(UcaListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Udt")){list.add(CommonIcoOneVO.builder().name("电压暂降次数").currentPeriodList(UdtList).lastPeriodList(UdtListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Ul")){list.add(CommonIcoOneVO.builder().name("线路侧电压").currentPeriodList(UlList).lastPeriodList(UlListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Upt")){list.add(CommonIcoOneVO.builder().name("电压暂升次数").currentPeriodList(UptList).lastPeriodList(UptListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("freezingTime")){list.add(CommonIcoOneVO.builder().name("电压短时中断次数").currentPeriodList(freezingTimesList).lastPeriodList(freezingTimesListOne).listDate(freezingTimesList).build());}
+        if (Arrays.asList(arr).contains("Ust")){list.add(CommonIcoOneVO.builder().name("冻结时间").currentPeriodList(UstList).lastPeriodList(UstListOne).listDate(freezingTimesList).build());}
+        return list;
+    }
+
 }

+ 31 - 0
fiveep-service/src/main/java/com/bizmatics/service/vo/CommonIcoOneVO.java

@@ -0,0 +1,31 @@
+package com.bizmatics.service.vo;
+
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * @author yq
+ * @date 2021/7/8 14:30
+ * 公用的图标VO
+ */
+@Builder
+@Data
+public class CommonIcoOneVO {
+
+    /**
+     * 名称
+     */
+    private String name;
+    /**
+     * 数据
+     */
+    private Object lastPeriodList;
+    /**
+     * 数据
+     */
+    private Object currentPeriodList;
+    /**
+     * 时间
+     */
+    private Object listDate;
+}