Ver Fonte

同比分析调整1

jichaobo há 3 anos atrás
pai
commit
7a2401ab07
17 ficheiros alterados com 1806 adições e 76 exclusões
  1. 1 1
      fiveep-controller/src/main/java/com/bizmatics/controller/web/MybatisGeneratorUtils.java
  2. 167 0
      fiveep-model/src/main/java/com/bizmatics/model/HtAnalog171Data.java
  3. 383 0
      fiveep-model/src/main/java/com/bizmatics/model/HtAnalog173Data.java
  4. 590 0
      fiveep-model/src/main/java/com/bizmatics/model/vo/ContextualDataVo.java
  5. 16 0
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/HtAnalog171DataMapper.java
  6. 16 0
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/HtAnalog173DataMapper.java
  7. 12 1
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/HtAnalogDataMapper.java
  8. 33 0
      fiveep-persistence/src/main/resources/mapper/mysql/HtAnalog171DataMapper.xml
  9. 68 0
      fiveep-persistence/src/main/resources/mapper/mysql/HtAnalog173DataMapper.xml
  10. 36 0
      fiveep-persistence/src/main/resources/mapper/mysql/HtAnalogDataMapper.xml
  11. 16 0
      fiveep-service/src/main/java/com/bizmatics/service/HtAnalog171DataService.java
  12. 16 0
      fiveep-service/src/main/java/com/bizmatics/service/HtAnalog173DataService.java
  13. 2 1
      fiveep-service/src/main/java/com/bizmatics/service/impl/HookupServiceImpl.java
  14. 20 0
      fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalog171DataServiceImpl.java
  15. 20 0
      fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalog173DataServiceImpl.java
  16. 144 23
      fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java
  17. 266 50
      fiveep-service/src/main/java/com/bizmatics/service/util/FieldEscapeUtils.java

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

@@ -70,7 +70,7 @@ public class MybatisGeneratorUtils {
         // strategy.setTablePrefix("t_"); // 表名前缀
         strategy.setEntityLombokModel(true); //使用lombok
         //修改自己想要生成的表
-        strategy.setInclude(new String[]{"rt_switch_173_data"});  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude(new String[]{"ht_analog_173_data"});  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录

+ 167 - 0
fiveep-model/src/main/java/com/bizmatics/model/HtAnalog171Data.java

@@ -0,0 +1,167 @@
+package com.bizmatics.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ya
+ * @since 2022-03-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class HtAnalog171Data implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 伍继电力hz171消费组模拟量历史数据表ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 阿里云平台设备名称
+     */
+    @TableField("deviceName")
+    private String deviceName;
+
+    /**
+     * A相电压
+     */
+    @TableField("voltageA")
+    private Double voltageA;
+
+    /**
+     * B相电压
+     */
+    @TableField("voltageB")
+    private Double voltageB;
+
+    /**
+     * C相电压
+     */
+    @TableField("voltageC")
+    private Double voltageC;
+
+    /**
+     * AB线电压
+     */
+    @TableField("voltageAB")
+    private Double voltageAB;
+
+    /**
+     * BC线电压
+     */
+    @TableField("voltageBC")
+    private Double voltageBC;
+
+    /**
+     * CA线电压
+     */
+    @TableField("voltageCA")
+    private Double voltageCA;
+
+    /**
+     * 频率
+     */
+    private Double frequency;
+
+    /**
+     * 直流遥测1
+     */
+    private Double analog1;
+
+    /**
+     * 直流遥测2
+     */
+    private Double analog2;
+
+    /**
+     * 直流遥测3
+     */
+    private Double analog3;
+
+    /**
+     * 直流遥测4
+     */
+    private Double analog4;
+
+    /**
+     * 直流遥测5
+     */
+    private Double analog5;
+
+    /**
+     * A相电压THD
+     */
+    @TableField("voltageATHD")
+    private Double voltageATHD;
+
+    /**
+     * B相电压THD
+     */
+    @TableField("voltageBTHD")
+    private Double voltageBTHD;
+
+    /**
+     * C相电压THD
+     */
+    @TableField("voltageCTHD")
+    private Double voltageCTHD;
+
+    /**
+     * 电压暂降次数
+     */
+    @TableField("voltageSagTimes")
+    private Integer voltageSagTimes;
+
+    /**
+     * 电压暂升次数
+     */
+    @TableField("voltageSwellTimes")
+    private Integer voltageSwellTimes;
+
+    /**
+     * 电压中断次数
+     */
+    @TableField("voltageInterruptionTimes")
+    private Integer voltageInterruptionTimes;
+
+    /**
+     * 电压不平衡度
+     */
+    @TableField("voltageUnbalanceFactor")
+    private Double voltageUnbalanceFactor;
+
+    /**
+     * 遥测备用
+     */
+    @TableField("analogReserved")
+    private Double analogReserved;
+
+    /**
+     * 冻结时间
+     */
+    @TableField("freezingTime")
+    private LocalDate freezingTime;
+
+    /**
+     * 上报时间
+     */
+    @TableField("dataTime")
+    private LocalDateTime dataTime;
+
+
+}

+ 383 - 0
fiveep-model/src/main/java/com/bizmatics/model/HtAnalog173Data.java

@@ -0,0 +1,383 @@
+package com.bizmatics.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ya
+ * @since 2022-03-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class HtAnalog173Data implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 伍继电力hz173消费组模拟量历史数据表ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 阿里云平台设备名称
+     */
+    @TableField("deviceName")
+    private String deviceName;
+
+    /**
+     * 三相功率因数
+     */
+    @TableField("COS")
+    private Double cos;
+
+    /**
+     * A相功率因数
+     */
+    @TableField("COSa")
+    private Double COSa;
+
+    /**
+     * B相功率因数
+     */
+    @TableField("COSb")
+    private Double COSb;
+
+    /**
+     * C相功率因数
+     */
+    @TableField("COSc")
+    private Double COSc;
+
+    /**
+     * 实时有功需量
+     */
+    @TableField("Demand")
+    private Double Demand;
+
+    /**
+     * 三相反向有功电度
+     */
+    @TableField("Epn")
+    private Double Epn;
+
+    /**
+     * 尖段反向有功电度
+     */
+    @TableField("Epn1")
+    private Double Epn1;
+
+    /**
+     * 峰段反向有功电度
+     */
+    @TableField("Epn2")
+    private Double Epn2;
+
+    /**
+     * 平段反向有功电度
+     */
+    @TableField("Epn3")
+    private Double Epn3;
+
+    /**
+     * 谷段反向有功电度
+     */
+    @TableField("Epn4")
+    private Double Epn4;
+
+    /**
+     * 三相正向有功电度
+     */
+    @TableField("Epp")
+    private Double Epp;
+
+    /**
+     * 尖段正向有功电度
+     */
+    @TableField("Epp1")
+    private Double Epp1;
+
+    /**
+     * 峰段正向有功电度
+     */
+    @TableField("Epp2")
+    private Double Epp2;
+
+    /**
+     * 平段正向有功电度
+     */
+    @TableField("Epp3")
+    private Double Epp3;
+
+    /**
+     * 谷段正向有功电度
+     */
+    @TableField("Epp4")
+    private Double Epp4;
+
+    /**
+     * 三相反向无功电度
+     */
+    @TableField("Eqn")
+    private Double Eqn;
+
+    /**
+     * 三相正向无功电度
+     */
+    @TableField("Eqp")
+    private Double Eqp;
+
+    /**
+     * 频率
+     */
+    @TableField("F")
+    private Double f;
+
+    /**
+     * A相总谐波电流
+     */
+    @TableField("IHa")
+    private Double IHa;
+
+    /**
+     * B相总谐波电流
+     */
+    @TableField("IHb")
+    private Double IHb;
+
+    /**
+     * C相总谐波电流
+     */
+    @TableField("IHc")
+    private Double IHc;
+
+    /**
+     * A相电流
+     */
+    @TableField("Ia")
+    private Double Ia;
+
+    /**
+     * B相电流
+     */
+    @TableField("Ib")
+    private Double Ib;
+
+    /**
+     * C相电流
+     */
+    @TableField("Ic")
+    private Double Ic;
+
+    /**
+     * 剩余电流
+     */
+    @TableField("Ir")
+    private Double Ir;
+
+    /**
+     * 三相总有功功率
+     */
+    @TableField("P")
+    private Double p;
+
+    /**
+     * A相有功功率
+     */
+    @TableField("Pa")
+    private Double Pa;
+
+    /**
+     * B相有功功率
+     */
+    @TableField("Pb")
+    private Double Pb;
+
+    /**
+     * C相有功功率
+     */
+    @TableField("Pc")
+    private Double Pc;
+
+    /**
+     * 三相总无功功率
+     */
+    @TableField("Q")
+    private Double q;
+
+    /**
+     * A相无功功率
+     */
+    @TableField("Qa")
+    private Double Qa;
+
+    /**
+     * B相无功功率
+     */
+    @TableField("Qb")
+    private Double Qb;
+
+    /**
+     * C相无功功率
+     */
+    @TableField("Qc")
+    private Double Qc;
+
+    /**
+     * 第1路温度
+     */
+    @TableField("T1")
+    private Double t1;
+
+    /**
+     * 第2路温度
+     */
+    @TableField("T2")
+    private Double t2;
+
+    /**
+     * 第3路温度
+     */
+    @TableField("T3")
+    private Double t3;
+
+    /**
+     * A相电压THD
+     */
+    @TableField("THDUa")
+    private Double THDUa;
+
+    /**
+     * B相电压THD
+     */
+    @TableField("THDUb")
+    private Double THDUb;
+
+    /**
+     * C相电压THD
+     */
+    @TableField("THDUc")
+    private Double THDUc;
+
+    /**
+     * A相电压
+     */
+    @TableField("Ua")
+    private Double Ua;
+
+    /**
+     * AB线电压
+     */
+    @TableField("Uab")
+    private Double Uab;
+
+    /**
+     * B相电压
+     */
+    @TableField("Ub")
+    private Double Ub;
+
+    /**
+     * BC线电压
+     */
+    @TableField("Ubc")
+    private Double Ubc;
+
+    /**
+     * C相电压
+     */
+    @TableField("Uc")
+    private Double Uc;
+
+    /**
+     * CA线电压
+     */
+    @TableField("Uca")
+    private Double Uca;
+
+    /**
+     * 电压暂降次数
+     */
+    @TableField("Udt")
+    private Integer Udt;
+
+    /**
+     * 线路侧电压
+     */
+    @TableField("Ul")
+    private Double Ul;
+
+    /**
+     * 电压暂升次数
+     */
+    @TableField("Upt")
+    private Integer Upt;
+
+    /**
+     * 电压短时中断次数
+     */
+    @TableField("Ust")
+    private Integer Ust;
+
+    /**
+     * 不平衡电流
+     */
+    @TableField("unbalanceCurrent")
+    private Double unbalanceCurrent;
+
+    /**
+     * 不平衡电压
+     */
+    @TableField("unbalanceVoltage")
+    private Double unbalanceVoltage;
+
+    /**
+     * 遥测备用1
+     */
+    @TableField("analogReserved1")
+    private Double analogReserved1;
+
+    /**
+     * 遥测备用2
+     */
+    @TableField("analogReserved2")
+    private Double analogReserved2;
+
+    /**
+     * 遥测备用3
+     */
+    @TableField("analogReserved3")
+    private Double analogReserved3;
+
+    /**
+     * 遥测备用4
+     */
+    @TableField("analogReserved4")
+    private Double analogReserved4;
+
+    /**
+     * 冻结时间
+     */
+    @TableField("freezingTime")
+    private LocalDate freezingTime;
+
+    /**
+     * 上报时间
+     */
+    @TableField("dataTime")
+    private LocalDateTime dataTime;
+
+
+}

+ 590 - 0
fiveep-model/src/main/java/com/bizmatics/model/vo/ContextualDataVo.java

@@ -0,0 +1,590 @@
+package com.bizmatics.model.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ya
+ * @since 2021-07-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ContextualDataVo implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 伍继电力test_183消费组模拟量数据表ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 阿里云平台设备名称
+     */
+    @TableField("deviceName")
+    private String deviceName;
+
+    /**
+     * 母线停电次数
+     */
+    @TableField("Busot")
+    private Integer Busot;
+
+    /**
+     * 三相功率因数
+     */
+    @TableField("COS")
+    private Double cos;
+
+    /**
+     * A相功率因数
+     */
+    @TableField("COSa")
+    private Double COSa;
+
+    /**
+     * B相功率因数
+     */
+    @TableField("COSb")
+    private Double COSb;
+
+    /**
+     * C相功率因数
+     */
+    @TableField("COSc")
+    private Double COSc;
+
+    /**
+     * 实时有功需量
+     */
+    @TableField("Demand")
+    private Double Demand;
+
+    /**
+     * 设备复位次数
+     */
+    @TableField("DevResetTimes")
+    private Integer DevResetTimes;
+
+    /**
+     * 设备温度
+     */
+    @TableField("DeviceTemp")
+    private Double DeviceTemp;
+
+    /**
+     * 三相反向有功电度
+     */
+    @TableField("Epn")
+    private Double Epn;
+
+    /**
+     * 尖段反向有功电度
+     */
+    @TableField("Epn1")
+    private Double Epn1;
+
+    /**
+     * 峰段反向有功电度
+     */
+    @TableField("Epn2")
+    private Double Epn2;
+
+    /**
+     * 平段反向有功电度
+     */
+    @TableField("Epn3")
+    private Double Epn3;
+
+    /**
+     * 谷段反向有功电度
+     */
+    @TableField("Epn4")
+    private Double Epn4;
+
+    /**
+     * 三相正向有功电度
+     */
+    @TableField("Epp")
+    private Double Epp;
+
+    /**
+     * 尖段正向有功电度
+     */
+    @TableField("Epp1")
+    private Double Epp1;
+
+    /**
+     * 峰段正向有功电度
+     */
+    @TableField("Epp2")
+    private Double Epp2;
+
+    /**
+     * 平段正向有功电度
+     */
+    @TableField("Epp3")
+    private Double Epp3;
+
+    /**
+     * 谷段正向有功电度
+     */
+    @TableField("Epp4")
+    private Double Epp4;
+
+    /**
+     * 三相反向无功电度
+     */
+    @TableField("Eqn")
+    private Double Eqn;
+
+    /**
+     * 三相正向无功电度
+     */
+    @TableField("Eqp")
+    private Double Eqp;
+
+    /**
+     * 频率
+     */
+    @TableField("F")
+    private Double f;
+
+    /**
+     * 零序电流
+     */
+    @TableField("I0")
+    private Double i0;
+
+    /**
+     * 负序电流
+     */
+    @TableField("I2")
+    private Double i2;
+
+    /**
+     * A相总谐波电流
+     */
+    @TableField("IHa")
+    private Double IHa;
+
+    /**
+     * B相总谐波电流
+     */
+    @TableField("IHb")
+    private Double IHb;
+
+    /**
+     * C相总谐波电流
+     */
+    @TableField("IHc")
+    private Double IHc;
+
+    /**
+     * A相电流
+     */
+    @TableField("Ia")
+    private Double Ia;
+
+    /**
+     * B相电流
+     */
+    @TableField("Ib")
+    private Double Ib;
+
+    /**
+     * C相电流
+     */
+    @TableField("Ic")
+    private Double Ic;
+
+    /**
+     * 剩余电流
+     */
+    @TableField("Ir")
+    private Double Ir;
+
+    /**
+     * 昨日有功最大需量
+     */
+    @TableField("LastDayMD")
+    private Double LastDayMD;
+
+    /**
+     * 昨日有功最大需量发生时间
+     */
+    @TableField("LastDayMDt")
+    private Double LastDayMDt;
+
+    /**
+     * 三相总有功功率
+     */
+    @TableField("P")
+    private Double p;
+
+    /**
+     * A相有功功率
+     */
+    @TableField("Pa")
+    private Double Pa;
+
+    /**
+     * B相有功功率
+     */
+    @TableField("Pb")
+    private Double Pb;
+
+    /**
+     * C相有功功率
+     */
+    @TableField("Pc")
+    private Double Pc;
+
+    /**
+     * 三相总无功功率
+     */
+    @TableField("Q")
+    private Double q;
+
+    /**
+     * A相无功功率
+     */
+    @TableField("Qa")
+    private Double Qa;
+
+    /**
+     * B相无功功率
+     */
+    @TableField("Qb")
+    private Double Qb;
+
+    /**
+     * C相无功功率
+     */
+    @TableField("Qc")
+    private Double Qc;
+
+    /**
+     * 信号强度
+     */
+    @TableField("SignalIntensity")
+    private Double SignalIntensity;
+
+    /**
+     * 第1路温度
+     */
+    @TableField("T1")
+    private Double t1;
+
+    /**
+     * 第2路温度
+     */
+    @TableField("T2")
+    private Double t2;
+
+    /**
+     * 第3路温度
+     */
+    @TableField("T3")
+    private Double t3;
+
+    /**
+     * 第4路温度
+     */
+    @TableField("T4")
+    private Double t4;
+
+    /**
+     * A相电压THD
+     */
+    @TableField("THDUa")
+    private Double THDUa;
+
+    /**
+     * B相电压THD
+     */
+    @TableField("THDUb")
+    private Double THDUb;
+
+    /**
+     * C相电压THD
+     */
+    @TableField("THDUc")
+    private Double THDUc;
+
+    /**
+     * A相电压
+     */
+    @TableField("Ua")
+    private Double Ua;
+
+    /**
+     * AB线电压
+     */
+    @TableField("Uab")
+    private Double Uab;
+
+    /**
+     * B相电压
+     */
+    @TableField("Ub")
+    private Double Ub;
+
+    /**
+     * BC线电压
+     */
+    @TableField("Ubc")
+    private Double Ubc;
+
+    /**
+     * 零序电压不平衡度
+     */
+    @TableField("UblU0")
+    private Double UblU0;
+
+    /**
+     * 负序电压不平衡度
+     */
+    @TableField("UblU2")
+    private Double UblU2;
+
+    /**
+     * C相电压
+     */
+    @TableField("Uc")
+    private Double Uc;
+
+    /**
+     * CA线电压
+     */
+    @TableField("Uca")
+    private Double Uca;
+
+    /**
+     * 电压暂降次数
+     */
+    @TableField("Udt")
+    private Integer Udt;
+
+    /**
+     * 线路侧电压
+     */
+    @TableField("Ul")
+    private Double Ul;
+
+    /**
+     * 电压暂升次数
+     */
+    @TableField("Upt")
+    private Integer Upt;
+
+    /**
+     * 电压短时中断次数
+     */
+    @TableField("Ust")
+    private Integer Ust;
+
+    /**
+     * 冻结时间
+     */
+//    @TableField("freezingTime")
+    private String freezingTimes;
+
+    /**
+     * 上报时间
+     */
+    @TableField("dataTime")
+    private Date dataTime;
+
+
+    /**
+     * 站点ID
+     */
+    @TableField(exist = false)
+    private Integer siteId;
+
+    /**
+     * 监控设备名称
+     */
+    @TableField("monitor_device_name")
+    private String monitorDeviceName;
+
+
+    /**
+     * 监控设备ID
+     */
+    @TableField("device_attribute_id")
+    private Integer deviceAttributeId;
+
+    /**
+     * A相电压
+     */
+    @TableField("voltageA")
+    private Double voltageA;
+
+    /**
+     * B相电压
+     */
+    @TableField("voltageB")
+    private Double voltageB;
+
+    /**
+     * C相电压
+     */
+    @TableField("voltageC")
+    private Double voltageC;
+
+    /**
+     * AB线电压
+     */
+    @TableField("voltageAB")
+    private Double voltageAB;
+
+    /**
+     * BC线电压
+     */
+    @TableField("voltageBC")
+    private Double voltageBC;
+
+    /**
+     * CA线电压
+     */
+    @TableField("voltageCA")
+    private Double voltageCA;
+
+    /**
+     * 频率
+     */
+    private Double frequency;
+
+    /**
+     * 直流遥测1
+     */
+    private Double analog1;
+
+    /**
+     * 直流遥测2
+     */
+    private Double analog2;
+
+    /**
+     * 直流遥测3
+     */
+    private Double analog3;
+
+    /**
+     * 直流遥测4
+     */
+    private Double analog4;
+
+    /**
+     * 直流遥测5
+     */
+    private Double analog5;
+
+    /**
+     * A相电压THD
+     */
+    @TableField("voltageATHD")
+    private Double voltageATHD;
+
+    /**
+     * B相电压THD
+     */
+    @TableField("voltageBTHD")
+    private Double voltageBTHD;
+
+    /**
+     * C相电压THD
+     */
+    @TableField("voltageCTHD")
+    private Double voltageCTHD;
+
+    /**
+     * 电压暂降次数
+     */
+    @TableField("voltageSagTimes")
+    private Integer voltageSagTimes;
+
+    /**
+     * 电压暂升次数
+     */
+    @TableField("voltageSwellTimes")
+    private Integer voltageSwellTimes;
+
+    /**
+     * 电压中断次数
+     */
+    @TableField("voltageInterruptionTimes")
+    private Integer voltageInterruptionTimes;
+
+    /**
+     * 电压不平衡度
+     */
+    @TableField("voltageUnbalanceFactor")
+    private Double voltageUnbalanceFactor;
+
+    /**
+     * 遥测备用
+     */
+    @TableField("analogReserved")
+    private Double analogReserved;
+
+    /**
+     * 冻结时间
+     */
+    @TableField("freezingTime")
+    private LocalDate freezingTime;
+
+    /**
+     * 不平衡电流
+     */
+    @TableField("unbalanceCurrent")
+    private Double unbalanceCurrent;
+
+    /**
+     * 不平衡电压
+     */
+    @TableField("unbalanceVoltage")
+    private Double unbalanceVoltage;
+
+    /**
+     * 遥测备用1
+     */
+    @TableField("analogReserved1")
+    private Double analogReserved1;
+
+    /**
+     * 遥测备用2
+     */
+    @TableField("analogReserved2")
+    private Double analogReserved2;
+
+    /**
+     * 遥测备用3
+     */
+    @TableField("analogReserved3")
+    private Double analogReserved3;
+
+    /**
+     * 遥测备用4
+     */
+    @TableField("analogReserved4")
+    private Double analogReserved4;
+
+}

+ 16 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/HtAnalog171DataMapper.java

@@ -0,0 +1,16 @@
+package com.bizmatics.persistence.mapper;
+
+import com.bizmatics.model.HtAnalog171Data;
+import com.bizmatics.common.mvc.base.CrudMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ya
+ * @since 2022-03-15
+ */
+public interface HtAnalog171DataMapper extends CrudMapper<HtAnalog171Data> {
+
+}

+ 16 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/HtAnalog173DataMapper.java

@@ -0,0 +1,16 @@
+package com.bizmatics.persistence.mapper;
+
+import com.bizmatics.model.HtAnalog173Data;
+import com.bizmatics.common.mvc.base.CrudMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ya
+ * @since 2022-03-15
+ */
+public interface HtAnalog173DataMapper extends CrudMapper<HtAnalog173Data> {
+
+}

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

@@ -1,7 +1,9 @@
 package com.bizmatics.persistence.mapper;
 
 import com.bizmatics.common.mvc.base.CrudMapper;
+import com.bizmatics.model.Device;
 import com.bizmatics.model.HtAnalogData;
+import com.bizmatics.model.vo.ContextualDataVo;
 import com.bizmatics.model.vo.HtAnalogDataOneVo;
 import com.bizmatics.model.vo.HtAnalogDataVo;
 import com.bizmatics.model.vo.SingleLoopReportVo;
@@ -130,5 +132,14 @@ public interface HtAnalogDataMapper extends CrudMapper<HtAnalogData> {
                                                   @Param("startTime") String startTime,
                                                   @Param("endTime") String endTime);
 
-
+    @MapKey("PNA_ID")
+    List<ContextualDataVo> getYearOnYearThree(@Param("deviceCode") List deviceCode,
+                                              @Param("startTime") String startTime,
+                                              @Param("endTime") String endTime,
+                                              @Param("variableCoding") List variableCoding,
+                                              @Param("list") List<String> fieldDisplay,
+                                              @Param("table") String table,
+                                              @Param("dataArea") Integer dataArea);
+
+    List<Device> getDeviceList(@Param("deviceCode") List deviceCode);
 }

+ 33 - 0
fiveep-persistence/src/main/resources/mapper/mysql/HtAnalog171DataMapper.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.bizmatics.persistence.mapper.HtAnalog171DataMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.bizmatics.model.HtAnalog171Data">
+        <id column="id" property="id" />
+        <result column="deviceName" property="deviceName" />
+        <result column="voltageA" property="voltageA" />
+        <result column="voltageB" property="voltageB" />
+        <result column="voltageC" property="voltageC" />
+        <result column="voltageAB" property="voltageAB" />
+        <result column="voltageBC" property="voltageBC" />
+        <result column="voltageCA" property="voltageCA" />
+        <result column="frequency" property="frequency" />
+        <result column="analog1" property="analog1" />
+        <result column="analog2" property="analog2" />
+        <result column="analog3" property="analog3" />
+        <result column="analog4" property="analog4" />
+        <result column="analog5" property="analog5" />
+        <result column="voltageATHD" property="voltageATHD" />
+        <result column="voltageBTHD" property="voltageBTHD" />
+        <result column="voltageCTHD" property="voltageCTHD" />
+        <result column="voltageSagTimes" property="voltageSagTimes" />
+        <result column="voltageSwellTimes" property="voltageSwellTimes" />
+        <result column="voltageInterruptionTimes" property="voltageInterruptionTimes" />
+        <result column="voltageUnbalanceFactor" property="voltageUnbalanceFactor" />
+        <result column="analogReserved" property="analogReserved" />
+        <result column="freezingTime" property="freezingTime" />
+        <result column="dataTime" property="dataTime" />
+    </resultMap>
+
+</mapper>

+ 68 - 0
fiveep-persistence/src/main/resources/mapper/mysql/HtAnalog173DataMapper.xml

@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.bizmatics.persistence.mapper.HtAnalog173DataMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.bizmatics.model.HtAnalog173Data">
+        <id column="id" property="id" />
+        <result column="deviceName" property="deviceName" />
+        <result column="COS" property="cos" />
+        <result column="COSa" property="COSa" />
+        <result column="COSb" property="COSb" />
+        <result column="COSc" property="COSc" />
+        <result column="Demand" property="Demand" />
+        <result column="Epn" property="Epn" />
+        <result column="Epn1" property="Epn1" />
+        <result column="Epn2" property="Epn2" />
+        <result column="Epn3" property="Epn3" />
+        <result column="Epn4" property="Epn4" />
+        <result column="Epp" property="Epp" />
+        <result column="Epp1" property="Epp1" />
+        <result column="Epp2" property="Epp2" />
+        <result column="Epp3" property="Epp3" />
+        <result column="Epp4" property="Epp4" />
+        <result column="Eqn" property="Eqn" />
+        <result column="Eqp" property="Eqp" />
+        <result column="F" property="f" />
+        <result column="IHa" property="IHa" />
+        <result column="IHb" property="IHb" />
+        <result column="IHc" property="IHc" />
+        <result column="Ia" property="Ia" />
+        <result column="Ib" property="Ib" />
+        <result column="Ic" property="Ic" />
+        <result column="Ir" property="Ir" />
+        <result column="P" property="p" />
+        <result column="Pa" property="Pa" />
+        <result column="Pb" property="Pb" />
+        <result column="Pc" property="Pc" />
+        <result column="Q" property="q" />
+        <result column="Qa" property="Qa" />
+        <result column="Qb" property="Qb" />
+        <result column="Qc" property="Qc" />
+        <result column="T1" property="t1" />
+        <result column="T2" property="t2" />
+        <result column="T3" property="t3" />
+        <result column="THDUa" property="THDUa" />
+        <result column="THDUb" property="THDUb" />
+        <result column="THDUc" property="THDUc" />
+        <result column="Ua" property="Ua" />
+        <result column="Uab" property="Uab" />
+        <result column="Ub" property="Ub" />
+        <result column="Ubc" property="Ubc" />
+        <result column="Uc" property="Uc" />
+        <result column="Uca" property="Uca" />
+        <result column="Udt" property="Udt" />
+        <result column="Ul" property="Ul" />
+        <result column="Upt" property="Upt" />
+        <result column="Ust" property="Ust" />
+        <result column="unbalanceCurrent" property="unbalanceCurrent" />
+        <result column="unbalanceVoltage" property="unbalanceVoltage" />
+        <result column="analogReserved1" property="analogReserved1" />
+        <result column="analogReserved2" property="analogReserved2" />
+        <result column="analogReserved3" property="analogReserved3" />
+        <result column="analogReserved4" property="analogReserved4" />
+        <result column="freezingTime" property="freezingTime" />
+        <result column="dataTime" property="dataTime" />
+    </resultMap>
+
+</mapper>

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

@@ -1179,4 +1179,40 @@
         GROUP BY a.device_code
     </select>
 
+    <select id="getYearOnYearThree" parameterType="java.util.List" resultType="com.bizmatics.model.vo.ContextualDataVo">
+        SELECT
+        <foreach collection="list" item="fieldDisplay" open=" " separator="," close=" ">
+            ${fieldDisplay}
+        </foreach>
+        FROM
+        ${table} AS a
+        JOIN device_analog_variable_list AS c ON a.deviceName = c.device_code
+        JOIN device_attribute AS d ON c.monitoring_equipment = d.id
+        <where>
+            and a.deviceName in
+            <foreach item="item" collection="deviceCode" open="(" separator="," close=")">
+                #{item.displayField}
+            </foreach>
+            AND c.variable_coding in
+            <foreach item="item" collection="variableCoding" open="(" separator="," close=")">
+                #{item.variableCoding}
+            </foreach>
+            <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
+                and a.dataTime BETWEEN #{startTime} and #{endTime}
+            </if>
+            <if test="dataArea != null  and dataArea != 0">
+                and c.data_area = #{dataArea}
+            </if>
+        </where>
+        GROUP BY a.dataTime,a.deviceName
+    </select>
+    <select id="getDeviceList" parameterType="java.util.List" resultType="com.bizmatics.model.Device">
+        SELECT * FROM device
+        <where>
+            device_code IN
+            <foreach item="item" collection="deviceCode" open="(" separator="," close=")">
+                #{item.displayField}
+            </foreach>
+        </where>
+    </select>
 </mapper>

+ 16 - 0
fiveep-service/src/main/java/com/bizmatics/service/HtAnalog171DataService.java

@@ -0,0 +1,16 @@
+package com.bizmatics.service;
+
+import com.bizmatics.model.HtAnalog171Data;
+import com.bizmatics.common.mvc.base.CrudService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ya
+ * @since 2022-03-15
+ */
+public interface HtAnalog171DataService extends CrudService<HtAnalog171Data> {
+
+}

+ 16 - 0
fiveep-service/src/main/java/com/bizmatics/service/HtAnalog173DataService.java

@@ -0,0 +1,16 @@
+package com.bizmatics.service;
+
+import com.bizmatics.model.HtAnalog173Data;
+import com.bizmatics.common.mvc.base.CrudService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ya
+ * @since 2022-03-15
+ */
+public interface HtAnalog173DataService extends CrudService<HtAnalog173Data> {
+
+}

+ 2 - 1
fiveep-service/src/main/java/com/bizmatics/service/impl/HookupServiceImpl.java

@@ -148,7 +148,8 @@ public class HookupServiceImpl extends AbstractCrudService<HookupMapper, Hookup>
                 }else {
                     hookupComponentCompleteVo.setMPoint(JSONArray.parseObject(hookupComponentComplete.get(i).getMPoint()));
                 }
-                if ("".equals(hookupComponentComplete.get(i).getEchartsOption())||hookupComponentComplete.get(i).getEchartsOption()==null){
+                if ("\"\"".equals(hookupComponentComplete.get(i).getEchartsOption())||"".equals(hookupComponentComplete.get(i).getEchartsOption())||
+                        hookupComponentComplete.get(i).getEchartsOption()==null){
                     hookupComponentCompleteVo.setEchartsOption("");
                 }else {
                     hookupComponentCompleteVo.setEchartsOption(JSONArray.parseObject(hookupComponentComplete.get(i).getEchartsOption()));

+ 20 - 0
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalog171DataServiceImpl.java

@@ -0,0 +1,20 @@
+package com.bizmatics.service.impl;
+
+import com.bizmatics.model.HtAnalog171Data;
+import com.bizmatics.persistence.mapper.HtAnalog171DataMapper;
+import com.bizmatics.service.HtAnalog171DataService;
+import com.bizmatics.common.mvc.base.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ya
+ * @since 2022-03-15
+ */
+@Service
+public class HtAnalog171DataServiceImpl extends AbstractCrudService<HtAnalog171DataMapper, HtAnalog171Data> implements HtAnalog171DataService {
+
+}

+ 20 - 0
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalog173DataServiceImpl.java

@@ -0,0 +1,20 @@
+package com.bizmatics.service.impl;
+
+import com.bizmatics.model.HtAnalog173Data;
+import com.bizmatics.persistence.mapper.HtAnalog173DataMapper;
+import com.bizmatics.service.HtAnalog173DataService;
+import com.bizmatics.common.mvc.base.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ya
+ * @since 2022-03-15
+ */
+@Service
+public class HtAnalog173DataServiceImpl extends AbstractCrudService<HtAnalog173DataMapper, HtAnalog173Data> implements HtAnalog173DataService {
+
+}

+ 144 - 23
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java

@@ -35,6 +35,8 @@ import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import static com.bizmatics.service.impl.RtAnalogDataServiceImpl.getLastDayOfMonth;
 
@@ -335,13 +337,14 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
 
     @Override
     public List<CommonIcoVO> yearOnYearList(DataManagementOneVO dataManagementOneVO) {
-        List<HtAnalogDataVo> yearOnYearList = null;
         List<DataManagementVO> dataManagementVOList = new ArrayList<>();
         List<String> newListOne = new ArrayList<>();
         List<String> newListTwo = new ArrayList<>();
         List<String> newListThree = new ArrayList<>();
         List<DeviceAnalogVariableList> variableCodingList = new LinkedList<>();
         List<String> fieldDisplay = new ArrayList<>();
+        Integer type = dataManagementOneVO.getType();
+        Integer valueCalculation = dataManagementOneVO.getValueCalculation();
         newListOne.add("dataTime");
         for (int i = 0; i < dataManagementOneVO.getDisplayField().size(); i++) {
             DataManagementVO dataManagementVO = new DataManagementVO();
@@ -355,49 +358,67 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
             deviceAnalogVariableList.setVariableCoding(dataManagementOneVO.getDisplayField().get(i).split("_")[0] + "_" + dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
             variableCodingList.add(deviceAnalogVariableList);
         }
+        //通信设备编号
         Set set = new HashSet();
         List<DataManagementVO> newList = new ArrayList();
         set.addAll(dataManagementVOList);
         newList.addAll(set);
 
+        //显示的字段名
         Set set1 = new HashSet();
         List<String> list = new ArrayList();
         set1.addAll(newListOne);
         list.addAll(set1);
 
+        //监控ID
         Set set2 = new HashSet();
         List<String> monitor_list = new ArrayList();
         set2.addAll(newListTwo);
         monitor_list.addAll(set2);
 
+        //查询字段
         Set set3 = new HashSet();
         List<String> fieldDisplayOne = new ArrayList();
         set3.addAll(fieldDisplay);
         fieldDisplayOne.addAll(set3);
 
-        if (dataManagementOneVO.getType() == 1) {
-            if (dataManagementOneVO.getValueCalculation() == 1) {
-                yearOnYearList = baseMapper.yearOnYearOne(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
-            } else if (dataManagementOneVO.getValueCalculation() == 2) {
-                yearOnYearList = baseMapper.dayMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
-            } else if (dataManagementOneVO.getValueCalculation() == 3) {
-                yearOnYearList = baseMapper.dayMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
-            } else if (dataManagementOneVO.getValueCalculation() == 4) {
-                yearOnYearList = baseMapper.daySumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
-            }
-        } else if (dataManagementOneVO.getType() == 2) {
-            if (dataManagementOneVO.getValueCalculation() == 1) {
-                yearOnYearList = baseMapper.yearOnYearTwo(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
-            } else if (dataManagementOneVO.getValueCalculation() == 2) {
-                yearOnYearList = baseMapper.monthMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
-            } else if (dataManagementOneVO.getValueCalculation() == 3) {
-                yearOnYearList = baseMapper.monthMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
-            } else if (dataManagementOneVO.getValueCalculation() == 4) {
-                yearOnYearList = baseMapper.monthSumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
+        List<String> fieldDisplayOne183 = new ArrayList();
+        List<String> fieldDisplayOne171 = new ArrayList();
+        List<String> fieldDisplayOne173 = new ArrayList();
+        List<Device> deviceList = baseMapper.getDeviceList(newList);
+        for (int i = 0; i < dataManagementOneVO.getDisplayField().size(); i++) {
+            String device_code = dataManagementOneVO.getDisplayField().get(i).split("_")[0];
+            String display_field = dataManagementOneVO.getDisplayField().get(i).split("_")[1];
+            for (int j = 0; j < deviceList.size(); j++) {
+                if (device_code.equals(deviceList.get(j).getDeviceCode())){
+                    if (deviceList.get(j).getDeviceType().equals("1")){
+                        fieldDisplayOne183.add(display_field);
+                    }else if (deviceList.get(j).getDeviceType().equals("3")){
+                        fieldDisplayOne171.add(display_field);
+                    }else if (deviceList.get(j).getDeviceType().equals("4")){
+                        fieldDisplayOne173.add(display_field);
+                    }
+                }
             }
-        } else {
-            yearOnYearList = baseMapper.yearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayOne);
         }
+
+        List<ContextualDataVo> yearOnYearList1 = new ArrayList<>();
+        List<ContextualDataVo> yearOnYearList2 = new ArrayList<>();
+        List<ContextualDataVo> yearOnYearList3 = new ArrayList<>();
+        if (fieldDisplayOne183.size()>0){
+            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type,valueCalculation,fieldDisplayOne183);
+            yearOnYearList1 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList,fieldDisplayList,"ht_analog_data",0);
+        }
+        if (fieldDisplayOne171.size()>0){
+            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type,valueCalculation,fieldDisplayOne171);
+            yearOnYearList2 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList,"ht_analog_171_data",0);
+        }
+        if (fieldDisplayOne173.size()>0){
+            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type,valueCalculation,fieldDisplayOne173);
+            yearOnYearList3 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList,"ht_analog_173_data",0);
+        }
+        List<ContextualDataVo> yearOnYearList4 = Stream.of(yearOnYearList1, yearOnYearList2).flatMap(Collection::stream).distinct().collect(Collectors.toList());
+        List<ContextualDataVo> yearOnYearList = Stream.of(yearOnYearList3, yearOnYearList4).flatMap(Collection::stream).distinct().collect(Collectors.toList());
         FieldEscapeUtils.remove1(list);
         List<CommonIcoVO> reListOne = new ArrayList<>();
         if (yearOnYearList != null && !yearOnYearList.isEmpty()) {
@@ -417,7 +438,7 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
                                 name = yearOnYearList.get(k).getMonitorDeviceName() + "/" + FieldEscapeUtils.fieldEscapeUtils(list.get(j));
                                 time.add(yearOnYearList.get(k).getDataTime());
 //                                System.out.println();
-                                data.add(FieldEscapeUtils.transformation(yearOnYearList.get(k), list.get(j)));
+                                data.add(FieldEscapeUtils.transformation1(yearOnYearList.get(k), list.get(j)));
                             }
                         }
                     }
@@ -431,6 +452,106 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         return reListOne;
     }
 
+//    public List<CommonIcoVO> yearOnYearList(DataManagementOneVO dataManagementOneVO) {
+//        List<HtAnalogDataVo> yearOnYearList = null;
+//        List<DataManagementVO> dataManagementVOList = new ArrayList<>();
+//        List<String> newListOne = new ArrayList<>();
+//        List<String> newListTwo = new ArrayList<>();
+//        List<String> newListThree = new ArrayList<>();
+//        List<DeviceAnalogVariableList> variableCodingList = new LinkedList<>();
+//        List<String> fieldDisplay = new ArrayList<>();
+//        newListOne.add("dataTime");
+//        for (int i = 0; i < dataManagementOneVO.getDisplayField().size(); i++) {
+//            DataManagementVO dataManagementVO = new DataManagementVO();
+//            dataManagementVO.setDisplayField(dataManagementOneVO.getDisplayField().get(i).split("_")[0]);
+//            dataManagementVOList.add(dataManagementVO);
+//            newListOne.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
+//            newListTwo.add(dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
+//            fieldDisplay.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
+//            newListThree.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1] + "_" + dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
+//            DeviceAnalogVariableList deviceAnalogVariableList = new DeviceAnalogVariableList();
+//            deviceAnalogVariableList.setVariableCoding(dataManagementOneVO.getDisplayField().get(i).split("_")[0] + "_" + dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
+//            variableCodingList.add(deviceAnalogVariableList);
+//        }
+//        Set set = new HashSet();
+//        List<DataManagementVO> newList = new ArrayList();
+//        set.addAll(dataManagementVOList);
+//        newList.addAll(set);
+//
+//        //通信设备编号
+//        Set set1 = new HashSet();
+//        List<String> list = new ArrayList();
+//        set1.addAll(newListOne);
+//        list.addAll(set1);
+//
+//        //显示的字段名
+//        Set set2 = new HashSet();
+//        List<String> monitor_list = new ArrayList();
+//        set2.addAll(newListTwo);
+//        monitor_list.addAll(set2);
+//
+//        //查询字段
+//        Set set3 = new HashSet();
+//        List<String> fieldDisplayOne = new ArrayList();
+//        set3.addAll(fieldDisplay);
+//        fieldDisplayOne.addAll(set3);
+//
+//        if (dataManagementOneVO.getType() == 1) {
+//            if (dataManagementOneVO.getValueCalculation() == 1) {
+//                yearOnYearList = baseMapper.yearOnYearOne(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
+//            } else if (dataManagementOneVO.getValueCalculation() == 2) {
+//                yearOnYearList = baseMapper.dayMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
+//            } else if (dataManagementOneVO.getValueCalculation() == 3) {
+//                yearOnYearList = baseMapper.dayMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
+//            } else if (dataManagementOneVO.getValueCalculation() == 4) {
+//                yearOnYearList = baseMapper.daySumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
+//            }
+//        } else if (dataManagementOneVO.getType() == 2) {
+//            if (dataManagementOneVO.getValueCalculation() == 1) {
+//                yearOnYearList = baseMapper.yearOnYearTwo(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
+//            } else if (dataManagementOneVO.getValueCalculation() == 2) {
+//                yearOnYearList = baseMapper.monthMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
+//            } else if (dataManagementOneVO.getValueCalculation() == 3) {
+//                yearOnYearList = baseMapper.monthMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
+//            } else if (dataManagementOneVO.getValueCalculation() == 4) {
+//                yearOnYearList = baseMapper.monthSumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
+//            }
+//        } else {
+//            yearOnYearList = baseMapper.yearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayOne);
+//        }
+//        FieldEscapeUtils.remove1(list);
+//        List<CommonIcoVO> reListOne = new ArrayList<>();
+//        if (yearOnYearList != null && !yearOnYearList.isEmpty()) {
+//            for (int i = 0; i < monitor_list.size(); i++) {
+//                for (int j = 0; j < list.size(); j++) {
+//                    List<Object> data = new ArrayList<>();
+//                    String name = null;
+//                    List<Object> time = new ArrayList<>();
+//                    for (int k = 0; k < yearOnYearList.size(); k++) {
+//                        String variable_one = list.get(j) + "_" + monitor_list.get(i);
+//                        String variable_two = list.get(j) + "_" + yearOnYearList.get(k).getDeviceAttributeId();
+//                        System.out.println("variable_one:" + variable_one + "---variable_two:" + variable_two);
+//                        if (variable_one.equals(variable_two)) {
+//                            String variable_three = list.get(j) + "_" + yearOnYearList.get(k).getDeviceAttributeId();
+//                            System.out.println("variable_one_a:" + newListThree + "---variable_two_b:" + variable_three + "---value:" + newListThree.contains(variable_three));
+//                            if (newListThree.contains(variable_three)) {
+//                                name = yearOnYearList.get(k).getMonitorDeviceName() + "/" + FieldEscapeUtils.fieldEscapeUtils(list.get(j));
+//                                time.add(yearOnYearList.get(k).getDataTime());
+////                                System.out.println();
+//                                data.add(FieldEscapeUtils.transformation(yearOnYearList.get(k), list.get(j)));
+//                            }
+//                        }
+//                    }
+//                    if (data != null && !data.isEmpty()) {
+//                        reListOne.add(CommonIcoVO.builder().name(name).list(data).listDate(time).build());
+//                    }
+//
+//                }
+//            }
+//        }
+//        return reListOne;
+//    }
+
 
     @Override
     public List<CommonIcoVO> ringRatioList(DataManagementOneVO dataManagementOneVO) {

+ 266 - 50
fiveep-service/src/main/java/com/bizmatics/service/util/FieldEscapeUtils.java

@@ -5,6 +5,7 @@ import com.bizmatics.common.core.util.HttpUtils;
 import com.bizmatics.common.core.util.StringUtils;
 import com.bizmatics.common.mvc.utils.IpUtils;
 import com.bizmatics.common.spring.util.JsonUtils;
+import com.bizmatics.model.vo.ContextualDataVo;
 import com.bizmatics.model.vo.HtAnalogDataVo;
 import com.bizmatics.model.vo.RtAnalogDataOneVo;
 import com.bizmatics.service.config.WjConfig;
@@ -14,6 +15,7 @@ import org.slf4j.LoggerFactory;
 
 import java.lang.reflect.Field;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.util.*;
 
 /**
@@ -432,6 +434,188 @@ public class FieldEscapeUtils
        }
    }
 
+
+    public static Object transformation1(ContextualDataVo contextualDataVo, String fieldValue){
+        switch (fieldValue) {
+            case "Busot":
+                return contextualDataVo.getBusot();
+            case "COS":
+                return contextualDataVo.getCos();
+            case "COSa":
+                return contextualDataVo.getCOSa();
+            case "COSb":
+                return contextualDataVo.getCOSb();
+            case "COSc":
+                return contextualDataVo.getCOSc();
+            case "Demand":
+                return contextualDataVo.getDemand();
+            case "DevResetTimes":
+                return contextualDataVo.getDevResetTimes();
+            case "DeviceTemp":
+                return contextualDataVo.getDeviceTemp();
+            case "Epn":
+                return contextualDataVo.getEpn();
+            case "Epn1":
+                return contextualDataVo.getEpn1();
+            case "Epn2":
+                return contextualDataVo.getEpn2();
+            case "Epn3":
+                return contextualDataVo.getEpn3();
+            case "Epn4":
+                return contextualDataVo.getEpn4();
+            case "Epp":
+                return contextualDataVo.getEpp();
+            case "Epp1":
+                return contextualDataVo.getEpp1();
+            case "Epp2":
+                return contextualDataVo.getEpp2();
+            case "Epp3":
+                return contextualDataVo.getEpp3();
+            case "Epp4":
+                return contextualDataVo.getEpp4();
+            case "Eqn":
+                return contextualDataVo.getEqn();
+            case "Eqp":
+                return contextualDataVo.getEqp();
+            case "F":
+                return contextualDataVo.getF();
+            case "I0":
+                return contextualDataVo.getI0();
+            case "I2":
+                return contextualDataVo.getI2();
+            case "IHa":
+                return contextualDataVo.getIHa();
+            case "IHb":
+                return contextualDataVo.getIHb();
+            case "IHc":
+                return contextualDataVo.getIHc();
+            case "Ia":
+                return contextualDataVo.getIa();
+            case "Ib":
+                return contextualDataVo.getIb();
+            case "Ic":
+                return contextualDataVo.getIc();
+            case "Ir":
+                return contextualDataVo.getIr();
+            case "LastDayMD":
+                return contextualDataVo.getLastDayMD();
+            case "LastDayMDt":
+                return contextualDataVo.getLastDayMDt();
+            case "P":
+                return contextualDataVo.getP();
+            case "Pa":
+                return contextualDataVo.getPa();
+            case "Pb":
+                return contextualDataVo.getPb();
+            case "Pc":
+                return contextualDataVo.getPc();
+            case "Q":
+                return contextualDataVo.getQ();
+            case "Qa":
+                return contextualDataVo.getQa();
+            case "Qb":
+                return contextualDataVo.getQb();
+            case "Qc":
+                return contextualDataVo.getQc();
+            case "SignalIntensity":
+                return contextualDataVo.getSignalIntensity();
+            case "T1":
+                return contextualDataVo.getT1();
+            case "T2":
+                return contextualDataVo.getT2();
+            case "T3":
+                return contextualDataVo.getT3();
+            case "T4":
+                return contextualDataVo.getT4();
+            case "THDUa":
+                return contextualDataVo.getTHDUa();
+            case "THDUb":
+                return contextualDataVo.getTHDUb();
+            case "THDUc":
+                return contextualDataVo.getTHDUc();
+            case "Ua":
+                return contextualDataVo.getUa();
+            case "Uab":
+                return contextualDataVo.getUab();
+            case "Ub":
+                return contextualDataVo.getUb();
+            case "Ubc":
+                return contextualDataVo.getUbc();
+            case "UblU0":
+                return contextualDataVo.getUblU0();
+            case "UblU2":
+                return contextualDataVo.getUblU2();
+            case "Uc":
+                return contextualDataVo.getUc();
+            case "Uca":
+                return contextualDataVo.getUca();
+            case "Udt":
+                return contextualDataVo.getUdt();
+            case "Ul":
+                return contextualDataVo.getUl();
+            case "Upt":
+                return contextualDataVo.getUpt();
+            case "Ust":
+                return contextualDataVo.getUst();
+            case "voltageA":
+                return contextualDataVo.getVoltageA();
+            case "voltageB":
+                return contextualDataVo.getVoltageB();
+            case "voltageC":
+                return contextualDataVo.getVoltageC();
+            case "voltageAB":
+                return contextualDataVo.getVoltageAB();
+            case "voltageBC":
+                return contextualDataVo.getVoltageBC();
+            case "voltageCA":
+                return contextualDataVo.getVoltageCA();
+            case "frequency":
+                return contextualDataVo.getFrequency();
+            case "analog1":
+                return contextualDataVo.getAnalog1();
+            case "analog2":
+                return contextualDataVo.getAnalog2();
+            case "analog3":
+                return contextualDataVo.getAnalog3();
+            case "analog4":
+                return contextualDataVo.getAnalog4();
+            case "analog5":
+                return contextualDataVo.getAnalog5();
+            case "voltageATHD":
+                return contextualDataVo.getVoltageATHD();
+            case "voltageBTHD":
+                return contextualDataVo.getVoltageATHD();
+            case "voltageCTHD":
+                return contextualDataVo.getVoltageCTHD();
+            case "voltageSagTimes":
+                return contextualDataVo.getVoltageSagTimes();
+            case "voltageSwellTimes":
+                return contextualDataVo.getVoltageSwellTimes();
+            case "voltageInterruptionTimes":
+                return contextualDataVo.getVoltageInterruptionTimes();
+            case "voltageUnbalanceFactor":
+                return contextualDataVo.getVoltageUnbalanceFactor();
+            case "analogReserved":
+                return contextualDataVo.getAnalogReserved();
+            case "freezingTime":
+                return contextualDataVo.getFreezingTime();
+            case "unbalanceCurrent":
+                return contextualDataVo.getUnbalanceCurrent();
+            case "unbalanceVoltage":
+                return contextualDataVo.getUnbalanceVoltage();
+            case "analogReserved1":
+                return contextualDataVo.getAnalogReserved1();
+            case "analogReserved2":
+                return contextualDataVo.getAnalogReserved2();
+            case "analogReserved3":
+                return contextualDataVo.getAnalogReserved3();
+            case "analogReserved4":
+                return contextualDataVo.getAnalogReserved4();
+            default:
+                return null;
+        }
+    }
+
     public  String getStringAbel(List<?> o, Class<?> c, String field) {
         StringBuffer result = new StringBuffer();
         if (StringUtils.isNoneBlank(field)) {
@@ -739,58 +923,90 @@ public class FieldEscapeUtils
         }
         return variableValue;
     }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 
 
+    public static List<String> getSyllable(Integer type, Integer valueCalculation, List<String> fieldDisplay){
+        List<String> fieldDisplayOne = new ArrayList();
+        if (type == 1) {
+            fieldDisplayOne.add("a.id");
+            fieldDisplayOne.add("a.deviceName");
+            fieldDisplayOne.add("FROM_UNIXTIME(UNIX_TIMESTAMP(a.dataTime), '%Y-%m-%d') AS freezingTimes");
+            fieldDisplayOne.add("a.dataTime");
+            fieldDisplayOne.add("d.monitor_device_name");
+            fieldDisplayOne.add("d.id as device_attribute_id");
+            if (valueCalculation == 1) {
+                for (int i=0;  i < fieldDisplay.size(); i++){
+                    if (!fieldDisplay.get(i).equals("dataTime")){
+                        fieldDisplayOne.add("AVG(a."+fieldDisplay.get(i)+") AS "+fieldDisplay.get(i));
+                    }
+                }
+            } else if (valueCalculation == 2) {
+                for (int i=0;  i < fieldDisplay.size(); i++){
+                    if (!fieldDisplay.get(i).equals("dataTime")){
+                        fieldDisplayOne.add("max(a."+fieldDisplay.get(i)+") AS "+fieldDisplay.get(i));
+                    }
+                }
+            } else if (valueCalculation == 3) {
+                for (int i=0;  i < fieldDisplay.size(); i++){
+                    if (!fieldDisplay.get(i).equals("dataTime")){
+                        fieldDisplayOne.add("min(a."+fieldDisplay.get(i)+") AS "+fieldDisplay.get(i));
+                    }
+                }
+            } else if (valueCalculation == 4) {
+                for (int i=0;  i < fieldDisplay.size(); i++){
+                    if (!fieldDisplay.get(i).equals("dataTime")){
+                        fieldDisplayOne.add("sum(a."+fieldDisplay.get(i)+") AS "+fieldDisplay.get(i));
+                    }
+                }
+            }
+        } else if (type == 2) {
+            fieldDisplayOne.add("a.id");
+            fieldDisplayOne.add("a.deviceName");
+            fieldDisplayOne.add("FROM_UNIXTIME(UNIX_TIMESTAMP(a.dataTime), '%Y-%m') AS freezingTimes");
+            fieldDisplayOne.add("a.dataTime");
+            fieldDisplayOne.add("d.monitor_device_name");
+            fieldDisplayOne.add("d.id as device_attribute_id");
+            if (valueCalculation == 1) {
+                for (int i=0;  i < fieldDisplay.size(); i++){
+                    if (!fieldDisplay.get(i).equals("dataTime")){
+                        fieldDisplayOne.add("AVG(a."+fieldDisplay.get(i)+") AS "+fieldDisplay.get(i));
+                    }
+                }
+            } else if (valueCalculation == 2) {
+                for (int i=0;  i < fieldDisplay.size(); i++){
+                    if (!fieldDisplay.get(i).equals("dataTime")){
+                        fieldDisplayOne.add("max(a."+fieldDisplay.get(i)+") AS "+fieldDisplay.get(i));
+                    }
+                }
+            } else if (valueCalculation == 3) {
+                for (int i=0;  i < fieldDisplay.size(); i++){
+                    if (!fieldDisplay.get(i).equals("dataTime")){
+                        fieldDisplayOne.add("min(a."+fieldDisplay.get(i)+") AS "+fieldDisplay.get(i));
+                    }
+                }
+            } else if (valueCalculation == 4) {
 
+                for (int i=0;  i < fieldDisplay.size(); i++){
+                    if (!fieldDisplay.get(i).equals("dataTime")){
+                        fieldDisplayOne.add("sum(a."+fieldDisplay.get(i)+") AS "+fieldDisplay.get(i));
+                    }
+                }
+            }
+        } else {
 
+            for (int i=0;  i < fieldDisplay.size(); i++){
+                if (!fieldDisplay.get(i).equals("dataTime")){
+                    fieldDisplayOne.add("a."+fieldDisplay.get(i));
+                }
+            }
+            fieldDisplayOne.add("a.id");
+            fieldDisplayOne.add("a.deviceName");
+            fieldDisplayOne.add("FROM_UNIXTIME(UNIX_TIMESTAMP(a.dataTime), '%m-%d %H:%i') AS freezingTimes");
+            fieldDisplayOne.add("a.dataTime");
+            fieldDisplayOne.add("d.monitor_device_name");
+            fieldDisplayOne.add("d.id as device_attribute_id");
+        }
+        return fieldDisplayOne;
+    }
+}