diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataFlickerDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataFlickerDPO.java index c302db158..ed6a60302 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataFlickerDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataFlickerDPO.java @@ -7,6 +7,7 @@ import lombok.Data; import org.influxdb.annotation.Measurement; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -22,7 +23,7 @@ public class RStatDataFlickerDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataFlucDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataFlucDPO.java index 2cd52cf1f..b576f6914 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataFlucDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataFlucDPO.java @@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +22,7 @@ public class RStatDataFlucDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmphasicIDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmphasicIDPO.java index b32e22b48..7136ad6b9 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmphasicIDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmphasicIDPO.java @@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +22,7 @@ public class RStatDataHarmphasicIDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmphasicVDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmphasicVDPO.java index 297d7a577..613151d38 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmphasicVDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmphasicVDPO.java @@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +22,7 @@ public class RStatDataHarmphasicVDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerPDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerPDPO.java index a84bfaede..1cb21b3c0 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerPDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerPDPO.java @@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +22,7 @@ public class RStatDataHarmpowerPDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerQDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerQDPO.java index 56b036a90..3f0215c44 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerQDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerQDPO.java @@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +22,7 @@ public class RStatDataHarmpowerQDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerSDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerSDPO.java index 56be16689..29711ad8a 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerSDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmpowerSDPO.java @@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +22,7 @@ public class RStatDataHarmpowerSDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmrateIDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmrateIDPO.java index 13554b5a4..cd1c8e242 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmrateIDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmrateIDPO.java @@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +22,7 @@ public class RStatDataHarmrateIDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmrateVDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmrateVDPO.java index eb173bb45..f5ddb276a 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmrateVDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataHarmrateVDPO.java @@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +22,7 @@ public class RStatDataHarmrateVDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataIDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataIDPO.java index f3112f71a..fcc854597 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataIDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataIDPO.java @@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; +import net.sf.cglib.core.Local; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +23,7 @@ public class RStatDataIDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataInharmIDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataInharmIDPO.java index cf10af062..92be7527f 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataInharmIDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataInharmIDPO.java @@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +22,7 @@ public class RStatDataInharmIDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataInharmVDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataInharmVDPO.java index d662f0285..4409949c5 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataInharmVDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataInharmVDPO.java @@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +22,7 @@ public class RStatDataInharmVDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataPltDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataPltDPO.java index c454907ac..3e0c0b193 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataPltDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataPltDPO.java @@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; /** @@ -21,7 +22,7 @@ public class RStatDataPltDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataVDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataVDPO.java index bf2246411..6af5f01a9 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataVDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/day/RStatDataVDPO.java @@ -6,7 +6,7 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Data; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDate; /** * 类的介绍: @@ -21,7 +21,7 @@ public class RStatDataVDPO implements Serializable { @MppMultiId @TableField(value = "time") - private Date time; + private LocalDate time; @MppMultiId @TableField(value = "line_id") diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataFlickerMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataFlickerMapper.java index f7eba9e8c..bed547604 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataFlickerMapper.java +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataFlickerMapper.java @@ -15,4 +15,6 @@ import java.util.List; public interface DataFlickerMapper extends InfluxDbBaseMapper { List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); + + List getStatisticsByWraper2(InfluxQueryWrapper influxQueryWrapper); } diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataFlucMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataFlucMapper.java index 24a8c35b5..425783f0f 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataFlucMapper.java +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataFlucMapper.java @@ -2,6 +2,9 @@ package com.njcn.influx.imapper; import com.njcn.influx.base.InfluxDbBaseMapper; import com.njcn.influx.pojo.po.DataFluc; +import com.njcn.influx.query.InfluxQueryWrapper; + +import java.util.List; /** * @author hongawen @@ -9,4 +12,6 @@ import com.njcn.influx.pojo.po.DataFluc; * @date 2023年05月05日 08:56 */ public interface DataFlucMapper extends InfluxDbBaseMapper { + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); } diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPhasicIMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPhasicIMapper.java index f131bf800..0cd975f0f 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPhasicIMapper.java +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPhasicIMapper.java @@ -2,6 +2,9 @@ package com.njcn.influx.imapper; import com.njcn.influx.base.InfluxDbBaseMapper; import com.njcn.influx.pojo.po.DataHarmPhasicI; +import com.njcn.influx.query.InfluxQueryWrapper; + +import java.util.List; /** * @author hongawen @@ -9,4 +12,6 @@ import com.njcn.influx.pojo.po.DataHarmPhasicI; * @date 2023年05月05日 08:56 */ public interface DataHarmPhasicIMapper extends InfluxDbBaseMapper { + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); } diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPhasicVMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPhasicVMapper.java index af8ce0652..5cd5b6230 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPhasicVMapper.java +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPhasicVMapper.java @@ -2,6 +2,9 @@ package com.njcn.influx.imapper; import com.njcn.influx.base.InfluxDbBaseMapper; import com.njcn.influx.pojo.po.DataHarmPhasicV; +import com.njcn.influx.query.InfluxQueryWrapper; + +import java.util.List; /** * @author hongawen @@ -9,4 +12,6 @@ import com.njcn.influx.pojo.po.DataHarmPhasicV; * @date 2023年05月05日 08:56 */ public interface DataHarmPhasicVMapper extends InfluxDbBaseMapper { + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); } diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPowerQMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPowerQMapper.java index b346474c7..d05097455 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPowerQMapper.java +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPowerQMapper.java @@ -1,7 +1,6 @@ package com.njcn.influx.imapper; import com.njcn.influx.base.InfluxDbBaseMapper; -import com.njcn.influx.pojo.po.DataHarmPowerP; import com.njcn.influx.pojo.po.DataHarmPowerQ; import com.njcn.influx.query.InfluxQueryWrapper; @@ -14,4 +13,6 @@ import java.util.List; */ public interface DataHarmPowerQMapper extends InfluxDbBaseMapper { + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); + } diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPowerSMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPowerSMapper.java index 5edcc2ad8..51aefc91e 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPowerSMapper.java +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmPowerSMapper.java @@ -1,8 +1,10 @@ package com.njcn.influx.imapper; import com.njcn.influx.base.InfluxDbBaseMapper; -import com.njcn.influx.pojo.po.DataHarmPowerQ; import com.njcn.influx.pojo.po.DataHarmPowerS; +import com.njcn.influx.query.InfluxQueryWrapper; + +import java.util.List; /** * @author hongawen @@ -11,4 +13,6 @@ import com.njcn.influx.pojo.po.DataHarmPowerS; */ public interface DataHarmPowerSMapper extends InfluxDbBaseMapper { + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); + } diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmRateIMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmRateIMapper.java new file mode 100644 index 000000000..16f4d646c --- /dev/null +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmRateIMapper.java @@ -0,0 +1,18 @@ +package com.njcn.influx.imapper; + +import com.njcn.influx.base.InfluxDbBaseMapper; +import com.njcn.influx.pojo.po.DataHarmRateI; +import com.njcn.influx.query.InfluxQueryWrapper; + +import java.util.List; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年07月17日 11:03 + */ +public interface DataHarmRateIMapper extends InfluxDbBaseMapper { + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); + +} diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmRateVMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmRateVMapper.java index fad5f78c5..c6d029a66 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmRateVMapper.java +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataHarmRateVMapper.java @@ -17,4 +17,7 @@ public interface DataHarmRateVMapper extends InfluxDbBaseMapper { DataHarmRateV getMeanAllTimesData(InfluxQueryWrapper influxQueryWrapper); List getHarmRateVHistoryData(InfluxQueryWrapper influxQueryWrapper); + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); + } diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmIMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmIMapper.java new file mode 100644 index 000000000..5ebb418b9 --- /dev/null +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmIMapper.java @@ -0,0 +1,18 @@ +package com.njcn.influx.imapper; + +import com.njcn.influx.base.InfluxDbBaseMapper; +import com.njcn.influx.pojo.po.DataInHarmI; +import com.njcn.influx.query.InfluxQueryWrapper; + +import java.util.List; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年07月17日 11:03 + */ +public interface DataInHarmIMapper extends InfluxDbBaseMapper { + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); + +} diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmRateIMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmRateIMapper.java new file mode 100644 index 000000000..10597da02 --- /dev/null +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmRateIMapper.java @@ -0,0 +1,18 @@ +package com.njcn.influx.imapper; + +import com.njcn.influx.base.InfluxDbBaseMapper; +import com.njcn.influx.pojo.po.DataInHarmRateI; +import com.njcn.influx.query.InfluxQueryWrapper; + +import java.util.List; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年07月17日 11:03 + */ +public interface DataInHarmRateIMapper extends InfluxDbBaseMapper { + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); + +} diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmRateVMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmRateVMapper.java new file mode 100644 index 000000000..c95893f8e --- /dev/null +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmRateVMapper.java @@ -0,0 +1,18 @@ +package com.njcn.influx.imapper; + +import com.njcn.influx.base.InfluxDbBaseMapper; +import com.njcn.influx.pojo.po.DataInHarmRateV; +import com.njcn.influx.query.InfluxQueryWrapper; + +import java.util.List; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年05月05日 09:00 + */ +public interface DataInHarmRateVMapper extends InfluxDbBaseMapper { + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); + +} diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmVMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmVMapper.java new file mode 100644 index 000000000..9ffba8cb9 --- /dev/null +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmVMapper.java @@ -0,0 +1,18 @@ +package com.njcn.influx.imapper; + +import com.njcn.influx.base.InfluxDbBaseMapper; +import com.njcn.influx.pojo.po.DataInHarmV; +import com.njcn.influx.query.InfluxQueryWrapper; + +import java.util.List; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年07月17日 11:03 + */ +public interface DataInHarmVMapper extends InfluxDbBaseMapper { + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); + +} diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmVRateMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmVRateMapper.java deleted file mode 100644 index 3df3056f6..000000000 --- a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataInHarmVRateMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.njcn.influx.imapper; - -import com.njcn.influx.base.InfluxDbBaseMapper; -import com.njcn.influx.pojo.po.DataHarmPowerQ; -import com.njcn.influx.pojo.po.DataInHarmV; - -/** - * @author hongawen - * @version 1.0.0 - * @date 2023年05月05日 09:00 - */ -public interface DataInHarmVRateMapper extends InfluxDbBaseMapper { - -} diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/DataPltMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataPltMapper.java new file mode 100644 index 000000000..b3bca485e --- /dev/null +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/DataPltMapper.java @@ -0,0 +1,17 @@ +package com.njcn.influx.imapper; + +import com.njcn.influx.base.InfluxDbBaseMapper; +import com.njcn.influx.pojo.po.DataPlt; +import com.njcn.influx.query.InfluxQueryWrapper; + +import java.util.List; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年05月05日 08:56 + */ +public interface DataPltMapper extends InfluxDbBaseMapper { + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); +} diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/IDataIMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/IDataIMapper.java index 4eff221ec..ece690830 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/imapper/IDataIMapper.java +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/IDataIMapper.java @@ -17,4 +17,6 @@ public interface IDataIMapper extends InfluxDbBaseMapper { DataI getMeanAllTimesData(InfluxQueryWrapper influxQueryWrapper); List getIHistoryData(InfluxQueryWrapper influxQueryWrapper); + + List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper); } diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/day/DayInHarmIMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/day/DayInHarmIMapper.java new file mode 100644 index 000000000..acc2bca9f --- /dev/null +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/day/DayInHarmIMapper.java @@ -0,0 +1,13 @@ +package com.njcn.influx.imapper.day; + +import com.njcn.influx.base.InfluxDbBaseMapper; +import com.njcn.influx.pojo.po.day.DayInHarmI; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年05月05日 09:00 + */ +public interface DayInHarmIMapper extends InfluxDbBaseMapper { + +} diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/day/DayInHarmVMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/day/DayInHarmVMapper.java new file mode 100644 index 000000000..b523de709 --- /dev/null +++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/day/DayInHarmVMapper.java @@ -0,0 +1,13 @@ +package com.njcn.influx.imapper.day; + +import com.njcn.influx.base.InfluxDbBaseMapper; +import com.njcn.influx.pojo.po.day.DayInHarmV; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年05月05日 09:00 + */ +public interface DayInHarmVMapper extends InfluxDbBaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/MeasurementExecutor.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/MeasurementExecutor.java index 99319da06..f76ecdc98 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/MeasurementExecutor.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/MeasurementExecutor.java @@ -1,6 +1,10 @@ package com.njcn.prepare.executor; import com.njcn.prepare.bo.CalculatedParam; +import com.njcn.prepare.harmonic.service.mysql.line.DayDataService; +import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailDService; +import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailService; +import com.njcn.prepare.harmonic.service.mysql.line.RMpMonitorEvaluateDService; import com.njcn.prepare.harmonic.service.mysql.line.*; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowMethod; @@ -25,6 +29,8 @@ public class MeasurementExecutor extends BaseExecutor { private final RMpEventDetailDService rMpEventDetailDService; + private final DayDataService dayDataService; + private final RStatAbnormalDService rStatAbnormalDService; private final ROperatingMonitorService rOperatingMonitorService; @@ -71,6 +77,20 @@ public class MeasurementExecutor extends BaseExecutor { } } + /** + * 算法名: 3.4.1.1-----监测点报表_日表 + * + * @author xuyang + * @date 2023年11月09日 10:08 + */ + @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataToDay", nodeType = NodeTypeEnum.COMMON) + public boolean dataToDayAccess(NodeComponent bindCmp) { + return isAccess(bindCmp); + } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataToDay", nodeType = NodeTypeEnum.COMMON) + public void dataToDayProcess(NodeComponent bindCmp) { + dayDataService.dataToDayHandler(bindCmp.getRequestData()); + } /** * 3.3.1.2. 监测点数据异常_日表 * @param bindCmp diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/DayDataController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/DayDataController.java index 1452129f4..c4d022bad 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/DayDataController.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/DayDataController.java @@ -102,10 +102,10 @@ public class DayDataController extends BaseController { log.info(item+"-->开始执行"); startTime = item+" "+"00:00:00"; endTime = item+" "+"23:59:59"; - dayDataService.dataToDayHandler(indexLists,startTime,endTime,jobParam.getLineType()); +// dayDataService.dataToDayHandler(indexLists,startTime,endTime,jobParam.getLineType()); } } else { - dayDataService.dataToDayHandler(indexLists,jobParam.getBeginTime(),jobParam.getEndTime(),jobParam.getLineType()); +// dayDataService.dataToDayHandler(indexLists,jobParam.getBeginTime(),jobParam.getEndTime(),jobParam.getLineType()); } return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/DayDataServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/DayDataServiceImpl.java index ac4e4d479..8c60f77a2 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/DayDataServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/DayDataServiceImpl.java @@ -1,44 +1,42 @@ package com.njcn.prepare.harmonic.service.mysql.Impl.line; -import com.njcn.harmonic.pojo.po.*; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.date.LocalDateTimeUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.nacos.client.naming.utils.CollectionUtils; +import com.njcn.common.utils.HarmonicTimesUtil; import com.njcn.harmonic.pojo.po.day.*; +import com.njcn.influx.constant.InfluxDbSqlConstant; import com.njcn.influx.deprecated.InfluxDBPublicParam; import com.njcn.influx.imapper.*; import com.njcn.influx.imapper.day.*; import com.njcn.influx.pojo.po.*; import com.njcn.influx.pojo.po.day.*; -import com.njcn.influx.service.*; +import com.njcn.influx.query.InfluxQueryWrapper; import com.njcn.influx.utils.InfluxDbUtils; -import com.njcn.prepare.harmonic.constant.InfluxdbPOConverter; -import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpFlickerReportDPO; -import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpHarmonicPReportDPO; -import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpInharmonicIMagReportDPO; -import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPltReportDPO; +import com.njcn.prepare.bo.CalculatedParam; import com.njcn.prepare.harmonic.service.mysql.day.*; -import com.njcn.prepare.harmonic.service.mysql.line.*; +import com.njcn.prepare.harmonic.service.mysql.line.DayDataService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.influxdb.InfluxDB; -import org.influxdb.dto.BatchPoints; -import org.influxdb.dto.Point; +import net.sf.cglib.core.Local; +import org.apache.commons.collections4.ListUtils; import org.influxdb.dto.QueryResult; import org.influxdb.impl.InfluxDBResultMapper; import org.springframework.beans.BeanUtils; -import org.springframework.beans.BeanWrapper; -import org.springframework.beans.BeanWrapperImpl; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; -import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.Instant; +import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * Description: @@ -54,18 +52,6 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class DayDataServiceImpl implements DayDataService { -/* private final RMpHarmonicVRateReportDPOService rMpHarmonicVRateReportDPOService; - private final RMpHarmonicIMagReportDPOService rMpHarmonicIMagReportDPOService; - private final RMpFlickerReportDPOService rMpFlickerReportDPOService; - private final RMpPltReportDPOService rMpPltReportDPOService; - private final RMpHarmonicIRateReportDPOService rMpHarmonicIRateReportDPOService; - private final RMpInharmonicIRateReportDPOService rMpInharmonicIRateReportDPOService; - private final RMpInharmonicIMagReportDPOService rMpInharmonicIMagReportDPOService; - private final RMpInharmonicVRateReportDPOService rMpInharmonicVRateReportDPOService; - private final RMpHarmonicPReportDPOService rMpHarmonicPReportDPOService; - private final RMpMeasurePhaseReportDPOService rMpMeasurePhaseReportDPOService; - private final RMpMeasureReportDPOService rMpMeasureReportDPOService;*/ - //MySQL private final IRStatDataFlickerDService statDataFlickerDService; private final IRStatDataVDService statDataVDService; @@ -81,10 +67,6 @@ public class DayDataServiceImpl implements DayDataService { private final IRStatDataInharmIDService statDataInharmIDService; private final IRStatDataInharmVDService statDataInharmVDService; private final IRStatDataPltDService statDataPltDService; - - private final InfluxDbUtils influxDbUtils; - - private final DayVMapper dayVMapper; private final DayIMapper dayIMapper; private final DayFlickerMapper dayFlickerMapper; @@ -92,7 +74,6 @@ public class DayDataServiceImpl implements DayDataService { private final DayHarmPhasicIMapper dayHarmPhasicIMapper; private final DayHarmRateVMapper dayHarmRateVMapper; private final DayHarmRateIMapper dayHarmRateIMapper; - private final DayHarmPowerPMapper dayHarmPowerPMapper; private final DayHarmPhasicVMapper dayHarmPhasicVMapper; private final DayHarmPowerQMapper dayHarmPowerQMapper; @@ -100,479 +81,49 @@ public class DayDataServiceImpl implements DayDataService { private final DayInHarmVRateMapper dayInHarmVRateMapper; private final DayInHarmIRateMapper dayInHarmIRateMapper; private final DayPltMapper dayPltMapper; + private final DayInHarmIMapper dayInHarmIMapper; + private final DayInHarmVMapper dayInHarmVMapper; + //new + private final DataVMapper dataVMapper; + private final IDataIMapper dataIMapper; + private final DataFlickerMapper dataFlickerMapper; + private final DataFlucMapper dataFlucMapper; + private final DataHarmPhasicIMapper dataHarmPhasicIMapper; + private final DataHarmPhasicVMapper dataHarmPhasicVMapper; + private final DataHarmPowerPMapper dataHarmPowerPMapper; + private final DataHarmPowerQMapper dataHarmPowerQMapper; + private final DataHarmPowerSMapper dataHarmPowerSMapper; + private final DataHarmRateIMapper dataHarmRateIMapper; + private final DataHarmRateVMapper dataHarmRateVMapper; + private final DataInHarmIMapper dataInHarmIMapper; + private final DataInHarmVMapper dataInHarmVMapper; + private final DataInHarmRateIMapper dataInHarmRateIMapper; + private final DataInHarmRateVMapper dataInHarmRateVMapper; + private final DataPltMapper dataPltMapper; - - /** - * @param indexLists - * @param startTime - * @param endTime - * @Description: 生成day表相关数据 - * @Param: [indexLists, startTime, endTime] - * @return: void - * @Author: clam - * @Date: 2022/10/24 - */ -// @Override -// @Transactional( -// rollbackFor = {Exception.class} -// ) -// @Async("asyncExecutor") -// public void dayDataJobHandler(List indexLists, String startTime, String endTime) { -// -// -// Instant instant = null; -//// influxDbUtils.setDbName ("pqsbase"); -// try { -// instant = new SimpleDateFormat ("yyyy-MM-dd").parse (startTime).toInstant ( ); -// } catch (ParseException e) { -// e.printStackTrace ( ); -// } -// Long time= instant.toEpochMilli(); -// -// List dataVPOList = new ArrayList<> (); -// List dataIPOList = new ArrayList<> (); -// List dataFlickerPOList = new ArrayList<> (); -// List dataFlucPOList = new ArrayList<> (); -// List dataHarmPhasicIPOList = new ArrayList<> (); -// List dataHarmPhasicVPOList = new ArrayList<> (); -// List dataHarmPowerPPOList = new ArrayList<> (); -// List dataHarmPowerQPOList = new ArrayList<> (); -// List dataHarmPowerSPOList = new ArrayList<> (); -// List dataHarmRateIPOList = new ArrayList<> (); -// List dataHarmRateVPOList = new ArrayList<> (); -// List dataInHarmIPOList = new ArrayList<> (); -// List dataInHarmVPOList = new ArrayList<> (); -// List dataInHarmRateIPOList = new ArrayList<> (); -// List dataInHarmRateVPOList = new ArrayList<> (); -// List dataPltPOList = new ArrayList<> (); -// -// List rMpHarmonicVRateReportDPOList = new ArrayList<> (); -// List rMpHarmonicIMagReportDPOList = new ArrayList<> (); -// List rMpFlickerReportDPOList = new ArrayList<> (); -// List rMpPltReportDPOList = new ArrayList<> (); -// List rMpHarmonicIRateReportDPOList = new ArrayList<> (); -// List rMpInharmonicIRateReportDPOList = new ArrayList<> (); -// List rMpInharmonicIMagReportDPOList = new ArrayList<> (); -// List rMpInharmonicVRateReportDPOList = new ArrayList<> (); -// List rMpHarmonicPReportDPOList = new ArrayList<> (); -// List rMpMeasurePhaseReportDPOArrayList = new ArrayList<> (); -// List rMpMeasureReportDPOArrayList = new ArrayList<> (); -// -// -// -// -// -// -// -// -// for (int i = 0; i dataV = getDataV(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataV)){ -// dataVPOList.addAll (dataV); -// } -// /*生成dayI表*/ -// List dataI = getDataI(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataI)){ -// dataIPOList.addAll (dataI); -// } -// List dataFlickerPO = getDataFlicker(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataFlickerPO)){ -// dataFlickerPOList.addAll (dataFlickerPO); -// } -// /*生成dayFluc表*/ -// List dataFlucPO = getDataFluc(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataFlucPO)){ -// dataFlucPOList.addAll (dataFlucPO); -// } -// -// /*生成dayHarmphasicI表*/ -// List dataHarmphasicIPO = getDataHarmphasicI(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataHarmphasicIPO)){ -// dataHarmPhasicIPOList.addAll (dataHarmphasicIPO); -// } -// -// /*生成dayHarmphasicV表*/ -// List dataHarmphasicVPO = getDataHarmphasicV(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataHarmphasicVPO)){ -// dataHarmPhasicVPOList.addAll (dataHarmphasicVPO); -// } -// -// /*生成dayHarmPowerP表*/ -// List dataHarmPowerPPO = getDataHarmPowerP(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataHarmPowerPPO)){ -// dataHarmPowerPPOList.addAll (dataHarmPowerPPO); -// } -// /*生成dayHarmPowerQ表*/ -// List dataHarmPowerQPO = getDataHarmPowerQ(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataHarmPowerQPO)){ -// dataHarmPowerQPOList.addAll (dataHarmPowerQPO); -// } -// -// /*生成dayHarmPowerS表*/ -// List dataHarmPowers = getDataHarmPowerS(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataHarmPowers)){ -// dataHarmPowerSPOList.addAll (dataHarmPowers); -// } -// -// /*生成dayHarmRateI*/ -// List dataHarmRateI = getDataHarmRateI(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataHarmRateI)){ -// dataHarmRateIPOList.addAll (dataHarmRateI); -// -// } -// -// /*生成dayHarmRateV*/ -// List dataHarmRateVPO = getDataHarmRateV(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataHarmRateVPO)){ -// dataHarmRateVPOList.addAll (dataHarmRateVPO); -// } -// -// /*生成dayInHarmI*/ -// List dataInHarmIPO = getDataInHarmI(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataInHarmIPO)){ -// dataInHarmIPOList.addAll (dataInHarmIPO); -// } -// -// /*生成dayInHarmV*/ -// List dataInHarmVPO = getDataInHarmV(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataInHarmVPO)){ -// dataInHarmVPOList.addAll (dataInHarmVPO); -// } -// -// /*生成dayInHarmRateI*/ -// List dataInHarmRateIPO = getDataInHarmRateI(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataInHarmRateIPO)){ -// dataInHarmRateIPOList.addAll (dataInHarmRateIPO); -// } -// -// /*生成dayInHarmRateV*/ -// List dataInHarmRateVPO = getDataInHarmRateV(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataInHarmRateVPO)){ -// dataInHarmRateVPOList.addAll (dataInHarmRateVPO); -// } -// -// /*生成dayPlt*/ -// List dataPlt = getDataPlt(lineIndex,startTime,endTime); -// if(!CollectionUtils.isEmpty (dataPlt)){ -// dataPltPOList.addAll (dataPlt); -// } -// -// /*mysql数据转化 */ -// /*RMpHarmonicVRateReportDPO*/ -//// if(!CollectionUtils.isEmpty (dataV)&&!CollectionUtils.isEmpty (dataHarmRateVPO)){ -//// /*转成mysql对应po*/ -//// /*dataVPO.getPhaseType ()="A"数据*/ -//// RMpHarmonicVRateReportD rMpHarmonicVRateReportDPOA = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO,"A",instant); -//// Optional.ofNullable (rMpHarmonicVRateReportDPOA).ifPresent (temp ->rMpHarmonicVRateReportDPOList.add (temp)); -//// /*dataVPO.getPhaseType ()="B"数据*/ -//// RMpHarmonicVRateReportD rMpHarmonicVRateReportDPOB = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO,"B",instant); -//// Optional.ofNullable (rMpHarmonicVRateReportDPOB).ifPresent (temp ->rMpHarmonicVRateReportDPOList.add (temp)); -//// -//// /*dataVPO.getPhaseType ()="C"数据*/ -//// RMpHarmonicVRateReportD rMpHarmonicVRateReportDPOC = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO, "C",instant); -//// Optional.ofNullable (rMpHarmonicVRateReportDPOC).ifPresent (temp ->rMpHarmonicVRateReportDPOList.add (temp)); -//// -//// /*dataVPO.getPhaseType ()="T"数据*/ -//// RMpHarmonicVRateReportD rMpHarmonicVRateReportDPOT = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO,"T",instant); -//// Optional.ofNullable (rMpHarmonicVRateReportDPOT).ifPresent (temp ->rMpHarmonicVRateReportDPOList.add (temp)); -//// -//// -//// } -//// /*RMpHarmonicIMagReportDPO*/ -//// if(!CollectionUtils.isEmpty (dataI)){ -//// -//// /*转成mysql对应po*/ -//// /*dataI.getPhaseType ()="A"数据*/ -//// RMpHarmonicIMagReportD a = packageRMpHarmonicIMagReportDPO (dataI, "A",instant); -//// Optional.ofNullable (a).ifPresent (temp ->rMpHarmonicIMagReportDPOList.add (temp)); -//// /*dataI.getPhaseType ()="B"数据*/ -//// RMpHarmonicIMagReportD b = packageRMpHarmonicIMagReportDPO(dataI,"B",instant); -//// Optional.ofNullable (b).ifPresent (temp ->rMpHarmonicIMagReportDPOList.add (temp)); -//// /*dataI.getPhaseType ()="C"数据*/ -//// RMpHarmonicIMagReportD c = packageRMpHarmonicIMagReportDPO(dataI,"C",instant); -//// Optional.ofNullable (c).ifPresent (temp ->rMpHarmonicIMagReportDPOList.add (temp)); -//// /*dataI.getPhaseType ()="T"数据*/ -//// RMpHarmonicIMagReportD t = packageRMpHarmonicIMagReportDPO(dataI,"T",instant); -//// Optional.ofNullable (t).ifPresent (temp ->rMpHarmonicIMagReportDPOList.add (temp)); -//// -//// -//// } -//// /*生成dayFlicker表*/ -//// if(!CollectionUtils.isEmpty (dataFlickerPO)){ -//// /*生成dayFlicker表*/ -//// /*dataFlickerPO.getPhaseType ()="A"数据*/ -//// RMpFlickerReportDPO a = packageRMpFlickerReportDPOPO (dataFlickerPO, "A",instant); -//// Optional.ofNullable (a).ifPresent (temp ->rMpFlickerReportDPOList.add (temp)); -//// -//// /*dataFlickerPO.getPhaseType ()="B"数据*/ -//// RMpFlickerReportDPO b = packageRMpFlickerReportDPOPO(dataFlickerPO,"B",instant); -//// Optional.ofNullable (b).ifPresent (temp ->rMpFlickerReportDPOList.add (temp)); -//// -//// /*dataFlickerPO.getPhaseType ()="C"数据*/ -//// RMpFlickerReportDPO c = packageRMpFlickerReportDPOPO(dataFlickerPO,"C",instant); -//// Optional.ofNullable (c).ifPresent (temp ->rMpFlickerReportDPOList.add (temp)); -//// /*无T项数据*/ -////// /*dataFlickerPO.getPhaseType ()="T"数据*/ -////// RMpFlickerReportDPO t = packageRMpFlickerReportDPOPO(dataFlickerPO,"T"); -//// -//// -//// } -//// if(!CollectionUtils.isEmpty (dataPlt)){ -//// /*转成mysql对应po*/ -//// /*DataPlt.getPhaseType ()="A"数据*/ -//// RMpPltReportDPO a = packageRMpPltReportDPO (dataPlt, "A",instant); -//// Optional.ofNullable (a).ifPresent (temp ->rMpPltReportDPOList.add (temp)); -//// /*DataPlt.getPhaseType ()="B"数据*/ -//// RMpPltReportDPO b = packageRMpPltReportDPO(dataPlt,"B",instant); -//// Optional.ofNullable (b).ifPresent (temp ->rMpPltReportDPOList.add (temp)); -//// /*DataPlt.getPhaseType ()="C"数据*/ -//// RMpPltReportDPO c = packageRMpPltReportDPO(dataPlt,"C",instant); -//// Optional.ofNullable (c).ifPresent (temp ->rMpPltReportDPOList.add (temp)); -////// /*DataPlt.getPhaseType ()="T"数据*/ -////// RMpPltReportDPO t = packageRMpPltReportDPO(dataPlt,"T"); -//// } -//// if(!CollectionUtils.isEmpty (dataHarmRateI)) { -//// /*转成mysql对应po*/ -//// /*DataHarmRateI.getPhaseType ()="A"数据*/ -//// RMpHarmonicIRateReportD a = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "A",instant); -//// Optional.ofNullable (a).ifPresent (temp -> rMpHarmonicIRateReportDPOList.add (temp)); -//// -//// /*DataHarmRateI.getPhaseType ()="B"数据*/ -//// RMpHarmonicIRateReportD b = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "B",instant); -//// Optional.ofNullable (b).ifPresent (temp -> rMpHarmonicIRateReportDPOList.add (temp)); -//// -//// /*DataHarmRateI.getPhaseType ()="C"数据*/ -//// RMpHarmonicIRateReportD c = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "C",instant); -//// Optional.ofNullable (c).ifPresent (temp -> rMpHarmonicIRateReportDPOList.add (temp)); -//// -//// /*DataInHarmRateI.getPhaseType ()="T"数据*/ -//// RMpHarmonicIRateReportD t = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "T",instant); -//// Optional.ofNullable (t).ifPresent (temp -> rMpHarmonicIRateReportDPOList.add (temp)); -//// } -//// -//// if(!CollectionUtils.isEmpty (dataInHarmRateIPO)){ -//// /*转成mysql对应po*/ -//// /*DataInHarmRateI.getPhaseType ()="A"数据*/ -//// RMpInharmonicIRateReportD a = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO, "A",instant); -//// Optional.ofNullable (a).ifPresent (temp ->rMpInharmonicIRateReportDPOList.add (temp)); -//// -//// /*DataInHarmRateI.getPhaseType ()="B"数据*/ -//// RMpInharmonicIRateReportD b = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO,"B",instant); -//// Optional.ofNullable (b).ifPresent (temp ->rMpInharmonicIRateReportDPOList.add (temp)); -//// -//// /*DataInHarmRateI.getPhaseType ()="C"数据*/ -//// RMpInharmonicIRateReportD c = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO,"C",instant); -//// Optional.ofNullable (c).ifPresent (temp ->rMpInharmonicIRateReportDPOList.add (temp)); -//// -//// /*DataInHarmRateI.getPhaseType ()="T"数据*/ -//// RMpInharmonicIRateReportD t = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO,"T",instant); -//// Optional.ofNullable (t).ifPresent (temp ->rMpInharmonicIRateReportDPOList.add (temp)); -//// -//// -//// } -//// -//// if(!CollectionUtils.isEmpty (dataInHarmIPO)){ -//// /*转成mysql对应po*/ -//// /*dataInHarmIPO.getPhaseType ()="A"数据*/ -//// RMpInharmonicIMagReportDPO a = packageRMpInharmonicIMagReportDPO(dataInHarmIPO, "A",instant); -//// Optional.ofNullable (a).ifPresent (temp ->rMpInharmonicIMagReportDPOList.add (temp)); -//// /*dataInHarmIPO.getPhaseType ()="B"数据*/ -//// RMpInharmonicIMagReportDPO b = packageRMpInharmonicIMagReportDPO(dataInHarmIPO,"B",instant); -//// Optional.ofNullable (b).ifPresent (temp ->rMpInharmonicIMagReportDPOList.add (temp)); -//// /*dataInHarmIPO.getPhaseType ()="C"数据*/ -//// RMpInharmonicIMagReportDPO c = packageRMpInharmonicIMagReportDPO(dataInHarmIPO,"C",instant); -//// Optional.ofNullable (c).ifPresent (temp ->rMpInharmonicIMagReportDPOList.add (temp)); -//// /*dataInHarmIPO.getPhaseType ()="T"数据*/ -//// RMpInharmonicIMagReportDPO t = packageRMpInharmonicIMagReportDPO(dataInHarmIPO,"T",instant); -//// Optional.ofNullable (t).ifPresent (temp ->rMpInharmonicIMagReportDPOList.add (temp)); -//// -//// } -//// if(!CollectionUtils.isEmpty (dataInHarmRateVPO)){ -//// /*转成mysql对应po*/ -//// /*dataInHarmRateVPO.getPhaseType ()="A"数据*/ -//// RMpInharmonicVRateReportD a = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO, "A",instant); -//// Optional.ofNullable (a).ifPresent (temp ->rMpInharmonicVRateReportDPOList.add (temp)); -//// /*dataInHarmRateVPO.getPhaseType ()="B"数据*/ -//// RMpInharmonicVRateReportD b = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO,"B",instant); -//// Optional.ofNullable (b).ifPresent (temp ->rMpInharmonicVRateReportDPOList.add (temp)); -//// /*dataInHarmRateVPO.getPhaseType ()="C"数据*/ -//// RMpInharmonicVRateReportD c = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO,"C",instant); -//// Optional.ofNullable (c).ifPresent (temp ->rMpInharmonicVRateReportDPOList.add (temp)); -//// /*dataInHarmRateVPO.getPhaseType ()="T"数据*/ -//// RMpInharmonicVRateReportD t = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO,"T",instant); -//// Optional.ofNullable (t).ifPresent (temp ->rMpInharmonicVRateReportDPOList.add (temp)); -//// -//// } -//// -//// if(!CollectionUtils.isEmpty (dataHarmPowerPPO)&&!CollectionUtils.isEmpty (dataHarmPowerQPO)){ -//// /*转成mysql对应po*/ -//// /*dataInHarmRateVPO.getPhaseType ()="A"数据*/ -//// RMpHarmonicPReportDPO a = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO, "A",instant); -//// Optional.ofNullable (a).ifPresent (temp ->rMpHarmonicPReportDPOList.add (temp)); -//// /*dataInHarmRateVPO.getPhaseType ()="B"数据*/ -//// RMpHarmonicPReportDPO b = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO,"B",instant); -//// Optional.ofNullable (b).ifPresent (temp ->rMpHarmonicPReportDPOList.add (temp)); -//// /*dataInHarmRateVPO.getPhaseType ()="C"数据*/ -//// RMpHarmonicPReportDPO c = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO,"C",instant); -//// Optional.ofNullable (c).ifPresent (temp ->rMpHarmonicPReportDPOList.add (temp)); -//// /*dataInHarmRateVPO.getPhaseType ()="T"数据*/ -//// RMpHarmonicPReportDPO t = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO,"T",instant); -//// Optional.ofNullable (t).ifPresent (temp ->rMpHarmonicPReportDPOList.add (temp)); -//// -//// } -//// -//// -//// if (!CollectionUtils.isEmpty (dataV) && -//// !CollectionUtils.isEmpty (dataI) && -//// !CollectionUtils.isEmpty (dataHarmPowerPPO) && -//// !CollectionUtils.isEmpty (dataHarmPowers) && -//// !CollectionUtils.isEmpty (dataHarmPowerQPO)) { -//// /*转成mysql对应po*/ -//// /*dataInHarmRateVPO.getPhaseType ()="A"数据*/ -//// RMpMeasurePhaseReportD a = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"A",instant); -//// Optional.ofNullable (a).ifPresent (temp ->rMpMeasurePhaseReportDPOArrayList.add (temp)); -//// /*dataInHarmRateVPO.getPhaseType ()="B"数据*/ -//// RMpMeasurePhaseReportD b = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"B",instant); -//// Optional.ofNullable (b).ifPresent (temp ->rMpMeasurePhaseReportDPOArrayList.add (temp)); -//// /*dataInHarmRateVPO.getPhaseType ()="C"数据*/ -//// RMpMeasurePhaseReportD c = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"C",instant); -//// Optional.ofNullable (c).ifPresent (temp ->rMpMeasurePhaseReportDPOArrayList.add (temp)); -//// /*dataInHarmRateVPO.getPhaseType ()="T"数据*/ -//// RMpMeasurePhaseReportD t = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"T",instant); -//// Optional.ofNullable (t).ifPresent (temp ->rMpMeasurePhaseReportDPOArrayList.add (temp)); -//// -//// } -//// /* todo -//// * r_mp_measure_report_d -//// * */ -//// if (!CollectionUtils.isEmpty (dataV) && -//// !CollectionUtils.isEmpty (dataI) && -//// !CollectionUtils.isEmpty (dataHarmPowerPPO) && -//// !CollectionUtils.isEmpty (dataHarmPowers) && -//// !CollectionUtils.isEmpty (dataHarmPowerQPO)) { -//// /*转成mysql对应po*/ -//// /*稳态监测点非谐波不带相位指标即是T项指标*/ -//// RMpMeasureReportD t = packageRMpMeasureReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"T",instant); -//// Optional.ofNullable (t).ifPresent (temp ->rMpMeasureReportDPOArrayList.add (temp)); -//// -//// } -// -// } -// -// -// /*插入mysql*/ -//// if (!CollectionUtils.isEmpty(rMpHarmonicVRateReportDPOList)){ -//// rMpHarmonicVRateReportDPOService.saveOrUpdateBatchByMultiId (rMpHarmonicVRateReportDPOList, 50); -//// } -//// -//// if (!CollectionUtils.isEmpty(rMpHarmonicIMagReportDPOList)){ -//// rMpHarmonicIMagReportDPOService.saveOrUpdateBatchByMultiId (rMpHarmonicIMagReportDPOList, 50); -//// } -//// -//// if (!CollectionUtils.isEmpty(rMpFlickerReportDPOList)){ -//// rMpFlickerReportDPOService.saveOrUpdateBatchByMultiId (rMpFlickerReportDPOList, 50); -//// } -//// -//// if (!CollectionUtils.isEmpty(rMpPltReportDPOList)){ -//// rMpPltReportDPOService.saveOrUpdateBatchByMultiId (rMpPltReportDPOList, 50); -//// } -//// -//// if (!CollectionUtils.isEmpty(rMpHarmonicIRateReportDPOList)){ -//// rMpHarmonicIRateReportDPOService.saveOrUpdateBatchByMultiId (rMpHarmonicIRateReportDPOList, 50); -//// } -//// -//// if (!CollectionUtils.isEmpty(rMpInharmonicIRateReportDPOList)){ -//// rMpInharmonicIRateReportDPOService.saveOrUpdateBatchByMultiId (rMpInharmonicIRateReportDPOList, 50); -//// } -//// -//// if (!CollectionUtils.isEmpty(rMpInharmonicIMagReportDPOList)){ -//// rMpInharmonicIMagReportDPOService.saveOrUpdateBatchByMultiId (rMpInharmonicIMagReportDPOList, 50); -//// } -//// -//// if (!CollectionUtils.isEmpty(rMpInharmonicVRateReportDPOList)){ -//// rMpInharmonicVRateReportDPOService.saveOrUpdateBatchByMultiId (rMpInharmonicVRateReportDPOList, 50); -//// } -//// -//// if (!CollectionUtils.isEmpty(rMpMeasurePhaseReportDPOArrayList)){ -//// rMpMeasurePhaseReportDPOService.saveOrUpdateBatchByMultiId (rMpMeasurePhaseReportDPOArrayList, 50); -//// } -//// if (!CollectionUtils.isEmpty(rMpMeasureReportDPOArrayList)){ -//// rMpMeasureReportDPOService.saveOrUpdateBatchByMultiId (rMpMeasureReportDPOArrayList, 50); -//// } -// -// -// -// if (!CollectionUtils.isEmpty(dataVPOList)){ -// insertDayV(dataVPOList,time); -// } -// -// if (!CollectionUtils.isEmpty(dataIPOList)){ -// insertDayI(dataIPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataFlickerPOList)){ -// insertDayFlicker(dataFlickerPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataFlucPOList)){ -// insertDayFluc(dataFlucPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataHarmPhasicIPOList)){ -// insertDayHarmphasicI(dataHarmPhasicIPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataHarmPhasicVPOList)){ -// insertDayHarmphasicV(dataHarmPhasicVPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataHarmPowerPPOList)){ -// insertDayHarmPowerP(dataHarmPowerPPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataHarmPowerQPOList)){ -// insertDayHarmPowerQ(dataHarmPowerQPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataHarmPowerSPOList)){ -// insertDayHarmPowerS(dataHarmPowerSPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataHarmRateIPOList)){ -// insertDayHarmRateI(dataHarmRateIPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataHarmRateVPOList)){ -// insertDayHarmRateV(dataHarmRateVPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataInHarmIPOList)){ -// insertDayInHarmI(dataInHarmIPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataInHarmVPOList)){ -// insertDayInHarmV(dataInHarmVPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataInHarmRateIPOList)){ -// insertDayInHarmRateI(dataInHarmRateIPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataInHarmRateVPOList)){ -// insertDayInHarmRateV(dataInHarmRateVPOList,time); -// } -// if (!CollectionUtils.isEmpty(dataPltPOList)){ -// insertDayPlt(dataPltPOList,time); -// } -// -// -// log.info(LocalDateTime.now()+"dayDataJobHandler执行完成!"); -// } @Override @Transactional(rollbackFor = {Exception.class}) @Async("asyncExecutor") - public void dataToDayHandler(List indexLists, String startTime, String endTime, Integer calType) { + public void dataToDayHandler(CalculatedParam calculatedParam) { log.info(LocalDateTime.now() + "data表转day开始=====》"); - Date time = null; - Instant timeInfluxdb = null; - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - try { - time = simpleDateFormat.parse(startTime); - timeInfluxdb = time.toInstant(); - } catch (ParseException e) { - e.printStackTrace(); - } - List dataFlickerPOList = new ArrayList<>(); + //influxdb实体 + List list1 = new ArrayList<>(); + List list2 = new ArrayList<>(); + List list3 = new ArrayList<>(); + List list4 = new ArrayList<>(); + List list5 = new ArrayList<>(); + List list6 = new ArrayList<>(); + List list7 = new ArrayList<>(); + List list8 = new ArrayList<>(); + List list9 = new ArrayList<>(); + List list10 = new ArrayList<>(); + List list11 = new ArrayList<>(); + List list12 = new ArrayList<>(); + List list13 = new ArrayList<>(); + List list14 = new ArrayList<>(); + List list15 = new ArrayList<>(); + List list16 = new ArrayList<>(); + //mysql List dataVPOList = new ArrayList<>(); List dataIPOList = new ArrayList<>(); List dataFlucPOList = new ArrayList<>(); @@ -586,8 +137,8 @@ public class DayDataServiceImpl implements DayDataService { List dataInHarmIPOList = new ArrayList<>(); List dataInHarmVPOList = new ArrayList<>(); List dataPltPOList = new ArrayList<>(); - - + List dataFlickerPOList = new ArrayList<>(); + //day表 List dayVList = new ArrayList<>(); List dayIList = new ArrayList<>(); List dayFlickerList = new ArrayList<>(); @@ -603,3455 +154,1217 @@ public class DayDataServiceImpl implements DayDataService { List dayInHarmVList = new ArrayList<>(); List dayPltList = new ArrayList<>(); - - for (String lineIndex : indexLists) { - - - /*生成dayV表*/ - List dataV = getDataV(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataV)) { - for (DataV item : dataV) { - RStatDataVDPO po1 = new RStatDataVDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataVPOList.add(po1); - - DayV dayV = new DayV(); - BeanUtils.copyProperties(item, dayV); - dayV.setTime(timeInfluxdb); - dayVList.add(dayV); - - } - - - } - /*生成dayI表*/ - List dataI = getDataI(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataI)) { - for (DataI item : dataI) { - RStatDataIDPO po1 = new RStatDataIDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataIPOList.add(po1); - - - DayI dayI = new DayI(); - BeanUtils.copyProperties(item, dayI); - dayI.setTime(timeInfluxdb); - - dayIList.add(dayI); - } - } - /*生成dayFlicker表*/ - List dataFlickerPO = getDataFlicker(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataFlickerPO)) { - for (DataFlicker item : dataFlickerPO) { - RStatDataFlickerDPO po1 = new RStatDataFlickerDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataFlickerPOList.add(po1); - - DayFlicker dayFlicker = new DayFlicker(); - BeanUtils.copyProperties(item, dayFlicker); - dayFlicker.setTime(timeInfluxdb); - dayFlickerList.add(dayFlicker); - } - } - /*生成dayFluc表*/ - List dataFlucPO = getDataFluc(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataFlucPO)) { - for (DataFluc item : dataFlucPO) { - RStatDataFlucDPO po1 = new RStatDataFlucDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataFlucPOList.add(po1); - - DayFluc dayFluc = new DayFluc(); - BeanUtils.copyProperties(item, dayFluc); - dayFluc.setTime(timeInfluxdb); - dayFlucList.add(dayFluc); - } - } - /*生成dayHarmphasicI表*/ - List dataHarmphasicIPO = getDataHarmphasicI(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataHarmphasicIPO)) { - for (DataHarmPhasicI item : dataHarmphasicIPO) { - RStatDataHarmphasicIDPO po1 = new RStatDataHarmphasicIDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataHarmPhasicIPOList.add(po1); - - DayHarmPhasicI dayHarmPhasicI = new DayHarmPhasicI(); - BeanUtils.copyProperties(item, dayHarmPhasicI); - dayHarmPhasicI.setTime(timeInfluxdb); - dayHarmPhasicIList.add(dayHarmPhasicI); - } - } - /*生成dayHarmphasicV表*/ - List dataHarmphasicVPO = getDataHarmphasicV(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataHarmphasicVPO)) { - for (DataHarmPhasicV item : dataHarmphasicVPO) { - RStatDataHarmphasicVDPO po1 = new RStatDataHarmphasicVDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataHarmPhasicVPOList.add(po1); - - DayHarmPhasicV dayHarmPhasicV = new DayHarmPhasicV(); - BeanUtils.copyProperties(item, dayHarmPhasicV); - dayHarmPhasicV.setTime(timeInfluxdb); - dayHarmPhasicVList.add(dayHarmPhasicV); - } - } - /*生成dayHarmPowerP表*/ - List dataHarmPowerPPO = getDataHarmPowerP(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataHarmPowerPPO)) { - for (DataHarmPowerP item : dataHarmPowerPPO) { - RStatDataHarmpowerPDPO po1 = new RStatDataHarmpowerPDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataHarmPowerPPOList.add(po1); - - DayHarmPowerP dayHarmPowerP = new DayHarmPowerP(); - BeanUtils.copyProperties(item, dayHarmPowerP); - dayHarmPowerP.setTime(timeInfluxdb); - dayHarmPowerPList.add(dayHarmPowerP); - } - } - /*生成dayHarmPowerQ表*/ - List dataHarmPowerQPO = getDataHarmPowerQ(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataHarmPowerQPO)) { - for (DataHarmPowerQ item : dataHarmPowerQPO) { - RStatDataHarmpowerQDPO po1 = new RStatDataHarmpowerQDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataHarmPowerQPOList.add(po1); - - DayHarmPowerQ dayHarmPowerQ = new DayHarmPowerQ(); - BeanUtils.copyProperties(item, dayHarmPowerQ); - dayHarmPowerQ.setTime(timeInfluxdb); - dayHarmPowerQList.add(dayHarmPowerQ); - } - } - /*生成dayHarmPowerS表*/ - List dataHarmPowers = getDataHarmPowerS(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataHarmPowers)) { - for (DataHarmPowerS item : dataHarmPowers) { - RStatDataHarmpowerSDPO po1 = new RStatDataHarmpowerSDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataHarmPowerSPOList.add(po1); - - DayHarmPowerS dayHarmPowerS = new DayHarmPowerS(); - BeanUtils.copyProperties(item, dayHarmPowerS); - dayHarmPowerS.setTime(timeInfluxdb); - dayHarmPowerSList.add(dayHarmPowerS); - } - } - /*生成dayHarmRateI*/ - List dataHarmRateI = getDataHarmRateI(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataHarmRateI)) { - for (DataHarmRateI item : dataHarmRateI) { - RStatDataHarmrateIDPO po1 = new RStatDataHarmrateIDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataHarmRateIPOList.add(po1); - - DayHarmRateI dayHarmRateI = new DayHarmRateI(); - BeanUtils.copyProperties(item, dayHarmRateI); - dayHarmRateI.setTime(timeInfluxdb); - dayHarmRateIList.add(dayHarmRateI); - } - } - /*生成dayHarmRateV*/ - List dataHarmRateVPO = getDataHarmRateV(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataHarmRateVPO)) { - for (DataHarmRateV item : dataHarmRateVPO) { - RStatDataHarmrateVDPO po1 = new RStatDataHarmrateVDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataHarmRateVPOList.add(po1); - - DayHarmRateV dayHarmRateV = new DayHarmRateV(); - BeanUtils.copyProperties(item, dayHarmRateV); - dayHarmRateV.setTime(timeInfluxdb); - dayHarmRateVList.add(dayHarmRateV); - } - } - /*生成dayInHarmI*/ - List dataInHarmIPO = getDataInHarmI(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataInHarmIPO)) { - for (DataInHarmI item : dataInHarmIPO) { - RStatDataInharmIDPO po1 = new RStatDataInharmIDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataInHarmIPOList.add(po1); - - DayInHarmI dayInHarmI = new DayInHarmI(); - BeanUtils.copyProperties(item, dayInHarmI); - dayInHarmI.setTime(timeInfluxdb); - dayInHarmIList.add(dayInHarmI); - } - } - /*生成dayInHarmV*/ - List dataInHarmVPO = getDataInHarmV(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataInHarmVPO)) { - for (DataInHarmV item : dataInHarmVPO) { - RStatDataInharmVDPO po1 = new RStatDataInharmVDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataInHarmVPOList.add(po1); - - DayInHarmV dayInHarmV = new DayInHarmV(); - BeanUtils.copyProperties(item, dayInHarmV); - dayInHarmV.setTime(timeInfluxdb); - dayInHarmVList.add(dayInHarmV); - } - } - /*生成dayPlt*/ - List dataPlt = getDataPlt(lineIndex, startTime, endTime); - if (!CollectionUtils.isEmpty(dataPlt)) { - for (DataPlt item : dataPlt) { - RStatDataPltDPO po1 = new RStatDataPltDPO(); - BeanUtils.copyProperties(item, po1); - po1.setTime(time); - po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); - dataPltPOList.add(po1); - - DayPlt dayPlt = new DayPlt(); - BeanUtils.copyProperties(item, dayPlt); - dayPlt.setTime(timeInfluxdb); - dayPltList.add(dayPlt); - } - } - + List lineIds = calculatedParam.getIdList(); + //以尺寸100分片 + List> pendingIds = ListUtils.partition(lineIds,100); + String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN); + String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN); + for (List pendingId : pendingIds) { + //获取dataV数据 + List vList = getDataV(pendingId,beginDay,endDay); + list1.addAll(vList); + //获取dataI数据 + List iList = getDataI(pendingId,beginDay,endDay); + list2.addAll(iList); + //获取dataFlicker数据 + List dataFlickerList = getDataFlicker(pendingId,beginDay,endDay); + list3.addAll(dataFlickerList); + //获取dataFluc数据 + List dataFlucList = getDataFluc(pendingId,beginDay,endDay); + list4.addAll(dataFlucList); + //获取DataHarmPhasicI数据 + List dataHarmPhasicIList = getDataHarmphasicI(pendingId,beginDay,endDay); + list5.addAll(dataHarmPhasicIList); + //获取DataHarmPhasicV数据 + List dataHarmPhasicVList = getDataHarmphasicV(pendingId,beginDay,endDay); + list6.addAll(dataHarmPhasicVList); + //获取data_harmpower_p数据 + List dataHarmPowerPList = getDataHarmPowerP(pendingId,beginDay,endDay); + list7.addAll(dataHarmPowerPList); + //获取data_harmpower_q数据 + List dataHarmPowerQList = getDataHarmPowerQ(pendingId,beginDay,endDay); + list8.addAll(dataHarmPowerQList); + //获取data_harmpower_s数据 + List dataHarmPowerSList = getDataHarmPowerS(pendingId,beginDay,endDay); + list9.addAll(dataHarmPowerSList); + //获取data_harmrate_i数据 + List dataHarmRateIList = getDataHarmRateI(pendingId,beginDay,endDay); + list10.addAll(dataHarmRateIList); + //获取data_harmrate_v数据 + List dataHarmRateVList = getDataHarmRateV(pendingId,beginDay,endDay); + list11.addAll(dataHarmRateVList); + //获取data_inharm_i数据 + List dataInHarmIList = getDataInHarmI(pendingId,beginDay,endDay); + list12.addAll(dataInHarmIList); + //获取data_inharm_v数据 + List dataInHarmVList = getDataInHarmV(pendingId,beginDay,endDay); + list13.addAll(dataInHarmVList); + //获取data_inharmrate_i数据 influxDB暂无此表数据,统计待定 + //List dataInHarmRateIList = getDataInHarmRateI(pendingId,beginDay,endDay); + //list14.addAll(dataInHarmRateIList); + //获取data_inharmrate_v数据 influxDB暂无此表数据,统计待定 + //List dataInHarmRateVList = getDataInHarmRateV(pendingId,beginDay,endDay); + //list15.addAll(dataInHarmRateVList); + //获取data_plt数据 + List dataPltList = getDataPlt(pendingId,beginDay,endDay); + list16.addAll(dataPltList); } - - - if (calType == 0 || calType == 2) { - if (!CollectionUtils.isEmpty(dataVPOList)) { - statDataVDService.insert(dataVPOList); - } - if (!CollectionUtils.isEmpty(dataIPOList)) { - statDataIDService.insert(dataIPOList); - } - if (!CollectionUtils.isEmpty(dataFlickerPOList)) { - statDataFlickerDService.insert(dataFlickerPOList); - } - if (!CollectionUtils.isEmpty(dataFlucPOList)) { - statDataFlucDService.insert(dataFlucPOList); - } - if (!CollectionUtils.isEmpty(dataHarmPhasicIPOList)) { - statDataHarmphasicIDService.insert(dataHarmPhasicIPOList); - } - if (!CollectionUtils.isEmpty(dataHarmPhasicVPOList)) { - statDataHarmphasicVDService.insert(dataHarmPhasicVPOList); - } - if (!CollectionUtils.isEmpty(dataHarmPowerPPOList)) { - statDataHarmpowerPDService.insert(dataHarmPowerPPOList); - } - if (!CollectionUtils.isEmpty(dataHarmPowerQPOList)) { - statDataHarmpowerQDService.insert(dataHarmPowerQPOList); - } - if (!CollectionUtils.isEmpty(dataHarmPowerSPOList)) { - statDataHarmpowerSDService.insert(dataHarmPowerSPOList); - } - if (!CollectionUtils.isEmpty(dataHarmRateIPOList)) { - statDataHarmRateIDService.insert(dataHarmRateIPOList); - } - if (!CollectionUtils.isEmpty(dataHarmRateVPOList)) { - statDataHarmRateVDService.insert(dataHarmRateVPOList); - } - if (!CollectionUtils.isEmpty(dataInHarmIPOList)) { - statDataInharmIDService.insert(dataInHarmIPOList); - } - if (!CollectionUtils.isEmpty(dataInHarmVPOList)) { - statDataInharmVDService.insert(dataInHarmVPOList); - } - if (!CollectionUtils.isEmpty(dataPltPOList)) { - statDataPltDService.insert(dataPltPOList); + //dataV数据入库 + if (!CollectionUtils.isEmpty(list1)) { + for (DataV item : list1) { + RStatDataVDPO po1 = new RStatDataVDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataVPOList.add(po1); + DayV dayV = new DayV(); + BeanUtils.copyProperties(item, dayV); + dayV.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayVList.add(dayV); } + statDataVDService.insert(dataVPOList); + dayVMapper.insertBatch(dayVList); } - - if (calType == 1 || calType == 2) { - if (!CollectionUtils.isEmpty(dayVList)) { - dayVMapper.insertBatch(dayVList); - } - if (!CollectionUtils.isEmpty(dayIList)) { - dayIMapper.insertBatch(dayIList); - } - if (!CollectionUtils.isEmpty(dayFlickerList)) { - dayFlickerMapper.insertBatch(dayFlickerList); - } - if (!CollectionUtils.isEmpty(dayFlucList)) { - dayFlucMapper.insertBatch(dayFlucList); - } - if (!CollectionUtils.isEmpty(dayHarmPhasicIList)) { - dayHarmPhasicIMapper.insertBatch(dayHarmPhasicIList); - } - if (!CollectionUtils.isEmpty(dayHarmPhasicVList)) { - dayHarmPhasicVMapper.insertBatch(dayHarmPhasicVList); - } - if (!CollectionUtils.isEmpty(dayHarmPowerPList)) { - dayHarmPowerPMapper.insertBatch(dayHarmPowerPList); - } - if (!CollectionUtils.isEmpty(dayHarmPowerQList)) { - dayHarmPowerQMapper.insertBatch(dayHarmPowerQList); - } - if (!CollectionUtils.isEmpty(dayHarmPowerSList)) { - dayHarmPowerSMapper.insertBatch(dayHarmPowerSList); - } - if (!CollectionUtils.isEmpty(dayHarmRateIList)) { - dayHarmRateIMapper.insertBatch(dayHarmRateIList); - } - if (!CollectionUtils.isEmpty(dayHarmRateVList)) { - dayHarmRateVMapper.insertBatch(dayHarmRateVList); - } - if (!CollectionUtils.isEmpty(dayInHarmIList)) { - dayInHarmIRateMapper.insertBatch(dayInHarmIList); - } - if (!CollectionUtils.isEmpty(dayInHarmVList)) { - dayInHarmVRateMapper.insertBatch(dayInHarmVList); - } - if (!CollectionUtils.isEmpty(dayPltList)) { - dayPltMapper.insertBatch(dayPltList); + //dataI数据入库 + if (!CollectionUtils.isEmpty(list2)) { + for (DataI item : list2) { + RStatDataIDPO po1 = new RStatDataIDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataIPOList.add(po1); + DayI dayI = new DayI(); + BeanUtils.copyProperties(item, dayI); + dayI.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayIList.add(dayI); } + statDataIDService.insert(dataIPOList); + dayIMapper.insertBatch(dayIList); + } + //dataFlicker数据入库 + if (!CollectionUtils.isEmpty(list3)) { + for (DataFlicker item : list3) { + RStatDataFlickerDPO po1 = new RStatDataFlickerDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataFlickerPOList.add(po1); + + DayFlicker dayFlicker = new DayFlicker(); + BeanUtils.copyProperties(item, dayFlicker); + dayFlicker.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayFlickerList.add(dayFlicker); + } + statDataFlickerDService.insert(dataFlickerPOList); + dayFlickerMapper.insertBatch(dayFlickerList); + } + //dataFluc数据入库 + if (!CollectionUtils.isEmpty(list4)) { + for (DataFluc item : list4) { + RStatDataFlucDPO po1 = new RStatDataFlucDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataFlucPOList.add(po1); + + DayFluc dayFluc = new DayFluc(); + BeanUtils.copyProperties(item, dayFluc); + dayFluc.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayFlucList.add(dayFluc); + } + statDataFlucDService.insert(dataFlucPOList); + dayFlucMapper.insertBatch(dayFlucList); + } + //data_harmphasic_i数据入库 + if (!CollectionUtils.isEmpty(list5)) { + for (DataHarmPhasicI item : list5) { + RStatDataHarmphasicIDPO po1 = new RStatDataHarmphasicIDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataHarmPhasicIPOList.add(po1); + + DayHarmPhasicI dayHarmPhasicI = new DayHarmPhasicI(); + BeanUtils.copyProperties(item, dayHarmPhasicI); + dayHarmPhasicI.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayHarmPhasicIList.add(dayHarmPhasicI); + } + statDataHarmphasicIDService.insert(dataHarmPhasicIPOList); + dayHarmPhasicIMapper.insertBatch(dayHarmPhasicIList); + } + //data_harmphasic_v数据入库 + if (!CollectionUtils.isEmpty(list6)) { + for (DataHarmPhasicV item : list6) { + RStatDataHarmphasicVDPO po1 = new RStatDataHarmphasicVDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataHarmPhasicVPOList.add(po1); + + DayHarmPhasicV dayHarmPhasicV = new DayHarmPhasicV(); + BeanUtils.copyProperties(item, dayHarmPhasicV); + dayHarmPhasicV.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayHarmPhasicVList.add(dayHarmPhasicV); + } + statDataHarmphasicVDService.insert(dataHarmPhasicVPOList); + dayHarmPhasicVMapper.insertBatch(dayHarmPhasicVList); + } + //data_harmpower_p数据入库 + if (!CollectionUtils.isEmpty(list7)) { + for (DataHarmPowerP item : list7) { + RStatDataHarmpowerPDPO po1 = new RStatDataHarmpowerPDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataHarmPowerPPOList.add(po1); + + DayHarmPowerP dayHarmPowerP = new DayHarmPowerP(); + BeanUtils.copyProperties(item, dayHarmPowerP); + dayHarmPowerP.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayHarmPowerPList.add(dayHarmPowerP); + } + statDataHarmpowerPDService.insert(dataHarmPowerPPOList); + dayHarmPowerPMapper.insertBatch(dayHarmPowerPList); + } + //data_harmpower_q数据入库 + if (!CollectionUtils.isEmpty(list8)) { + for (DataHarmPowerQ item : list8) { + RStatDataHarmpowerQDPO po1 = new RStatDataHarmpowerQDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataHarmPowerQPOList.add(po1); + + DayHarmPowerQ dayHarmPowerQ = new DayHarmPowerQ(); + BeanUtils.copyProperties(item, dayHarmPowerQ); + dayHarmPowerQ.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayHarmPowerQList.add(dayHarmPowerQ); + } + statDataHarmpowerQDService.insert(dataHarmPowerQPOList); + dayHarmPowerQMapper.insertBatch(dayHarmPowerQList); + } + //data_harmpower_s数据入库 + if (!CollectionUtils.isEmpty(list9)) { + for (DataHarmPowerS item : list9) { + RStatDataHarmpowerSDPO po1 = new RStatDataHarmpowerSDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataHarmPowerSPOList.add(po1); + + DayHarmPowerS dayHarmPowerS = new DayHarmPowerS(); + BeanUtils.copyProperties(item, dayHarmPowerS); + dayHarmPowerS.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayHarmPowerSList.add(dayHarmPowerS); + } + statDataHarmpowerSDService.insert(dataHarmPowerSPOList); + dayHarmPowerSMapper.insertBatch(dayHarmPowerSList); + } + //data_harmrate_i数据入库 + if (!CollectionUtils.isEmpty(list10)) { + for (DataHarmRateI item : list10) { + RStatDataHarmrateIDPO po1 = new RStatDataHarmrateIDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataHarmRateIPOList.add(po1); + + DayHarmRateI dayHarmRateI = new DayHarmRateI(); + BeanUtils.copyProperties(item, dayHarmRateI); + dayHarmRateI.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayHarmRateIList.add(dayHarmRateI); + } + statDataHarmRateIDService.insert(dataHarmRateIPOList); + dayHarmRateIMapper.insertBatch(dayHarmRateIList); + } + //data_harmrate_v数据入库 + if (!CollectionUtils.isEmpty(list11)) { + for (DataHarmRateV item : list11) { + RStatDataHarmrateVDPO po1 = new RStatDataHarmrateVDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataHarmRateVPOList.add(po1); + + DayHarmRateV dayHarmRateV = new DayHarmRateV(); + BeanUtils.copyProperties(item, dayHarmRateV); + dayHarmRateV.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayHarmRateVList.add(dayHarmRateV); + } + statDataHarmRateVDService.insert(dataHarmRateVPOList); + dayHarmRateVMapper.insertBatch(dayHarmRateVList); + } + //data_inharm_i数据入库 + if (!CollectionUtils.isEmpty(list12)) { + for (DataInHarmI item : list12) { + RStatDataInharmIDPO po1 = new RStatDataInharmIDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataInHarmIPOList.add(po1); + + DayInHarmI dayInHarmI = new DayInHarmI(); + BeanUtils.copyProperties(item, dayInHarmI); + dayInHarmI.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayInHarmIList.add(dayInHarmI); + } + statDataInharmIDService.insert(dataInHarmIPOList); + dayInHarmIMapper.insertBatch(dayInHarmIList); + } + //data_inharm_v数据入库 + if (!CollectionUtils.isEmpty(list13)) { + for (DataInHarmV item : list13) { + RStatDataInharmVDPO po1 = new RStatDataInharmVDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataInHarmVPOList.add(po1); + + DayInHarmV dayInHarmV = new DayInHarmV(); + BeanUtils.copyProperties(item, dayInHarmV); + dayInHarmV.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayInHarmVList.add(dayInHarmV); + } + statDataInharmVDService.insert(dataInHarmVPOList); + dayInHarmVMapper.insertBatch(dayInHarmVList); + } + //data_plt数据入库 + if (!CollectionUtils.isEmpty(list16)) { + for (DataPlt item : list16) { + RStatDataPltDPO po1 = new RStatDataPltDPO(); + BeanUtils.copyProperties(item, po1); + po1.setTime(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + po1.setQualityFlag(Integer.parseInt(item.getQualityFlag())); + dataPltPOList.add(po1); + + DayPlt dayPlt = new DayPlt(); + BeanUtils.copyProperties(item, dayPlt); + dayPlt.setTime(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER).toInstant()); + dayPltList.add(dayPlt); + } + statDataPltDService.insert(dataPltPOList); + dayPltMapper.insertBatch(dayPltList); } - log.info(LocalDateTime.now() + "data表转day结束=====》"); } - /** * 功能描述:获取dataV数据 - * - * @param lineIndex 监测点集ID + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataV(String lineIndex, String startTime, String endTime) { + public List getDataV(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - stringBuilder1.append("min(freq) AS freq,min(freq_dev) AS freq_dev,min(rms) AS rms,min(rms_lvr) AS rms_lvr,min(v_neg) AS v_neg,min(v_pos) AS v_pos,min(v_thd) AS v_thd,min(v_unbalance) AS v_unbalance,min(v_zero) AS v_zero,min(vl_dev) AS vl_dev,min(vu_dev) AS vu_dev,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder2.append("line_id='").append(lineIndex).append("' and ").append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_V + " where " + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataV.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataV::getLineId, lineIndex) + .eq(DataV::getValueType, InfluxDbSqlConstant.MIN) + .min(DataV::getFreq) + .min(DataV::getFreqDev) + .min(DataV::getRms) + .min(DataV::getRmsLvr) + .min(DataV::getVNeg) + .min(DataV::getVPos) + .min(DataV::getVThd) + .min(DataV::getVUnbalance) + .min(DataV::getVZero) + .min(DataV::getVlDev) + .min(DataV::getVuDev) + .groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType) + .between(DataV::getTime, startTime, endTime); + List result1 = dataVMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - stringBuilder3.append("max(freq) AS freq,max(freq_dev) AS freq_dev,max(rms) AS rms,max(rms_lvr) AS rms_lvr,max(v_neg) AS v_neg,max(v_pos) AS v_pos,max(v_thd) AS v_thd,max(v_unbalance) AS v_unbalance,max(v_zero) AS v_zero,max(vl_dev) AS vl_dev,max(vu_dev) AS vu_dev,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder4.append("line_id='").append(lineIndex).append("' and ").append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_V + " where " + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataV.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataV.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataV::getLineId, lineIndex) + .eq(DataV::getValueType, InfluxDbSqlConstant.MAX) + .max(DataV::getFreq) + .max(DataV::getFreqDev) + .max(DataV::getRms) + .max(DataV::getRmsLvr) + .max(DataV::getVNeg) + .max(DataV::getVPos) + .max(DataV::getVThd) + .max(DataV::getVUnbalance) + .max(DataV::getVZero) + .max(DataV::getVlDev) + .max(DataV::getVuDev) + .groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType) + .between(DataV::getTime, startTime, endTime); + List result2 = dataVMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - stringBuilder5.append("mean(freq) AS freq,mean(freq_dev) AS freq_dev,mean(rms) AS rms,mean(rms_lvr) AS rms_lvr,mean(v_neg) AS v_neg,mean(v_pos) AS v_pos,mean(v_thd) AS v_thd,mean(v_unbalance) AS v_unbalance,mean(v_zero) AS v_zero,mean(vl_dev) AS vl_dev,mean(vu_dev) AS vu_dev,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder6.append("line_id='").append(lineIndex).append("' and ").append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_V + " where " + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataV.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - stringBuilder7.append("percentile(freq,95) AS freq,percentile(freq_dev,95) AS freq_dev,percentile(rms,95) AS rms,percentile(rms_lvr,95) AS rms_lvr,percentile(v_neg,95) AS v_neg,percentile(v_pos,95) AS v_pos,percentile(v_thd,95) AS v_thd,percentile(v_unbalance,95) AS v_unbalance,percentile(v_zero,95) AS v_zero,percentile(vl_dev,95) AS vl_dev,percentile(vu_dev,95) AS vu_dev,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); - } else { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); - } - } - stringBuilder8.append("line_id='").append(lineIndex).append("' and ").append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_V + " where " + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataV.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataV.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataV::getLineId, lineIndex) + .eq(DataV::getValueType, InfluxDbSqlConstant.AVG_WEB) + .mean(DataV::getFreq) + .mean(DataV::getFreqDev) + .mean(DataV::getRms) + .mean(DataV::getRmsLvr) + .mean(DataV::getVNeg) + .mean(DataV::getVPos) + .mean(DataV::getVThd) + .mean(DataV::getVUnbalance) + .mean(DataV::getVZero) + .mean(DataV::getVlDev) + .mean(DataV::getVuDev) + .groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType) + .between(DataV::getTime, startTime, endTime); + List result3 = dataVMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataV.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataV::getLineId, lineIndex) + .eq(DataV::getValueType, InfluxDbSqlConstant.AVG_WEB) + .percentile(DataV::getFreq,95) + .percentile(DataV::getFreqDev,95) + .percentile(DataV::getRms,95) + .percentile(DataV::getRmsLvr,95) + .percentile(DataV::getVNeg,95) + .percentile(DataV::getVPos,95) + .percentile(DataV::getVThd,95) + .percentile(DataV::getVUnbalance,95) + .percentile(DataV::getVZero,95) + .percentile(DataV::getVlDev,95) + .percentile(DataV::getVuDev,95) + .groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType) + .between(DataV::getTime, startTime, endTime); + List result4 = dataVMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } - /** * 功能描述:获取dataI数据 - * - * @param lineIndex 监测点ID + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataI(String lineIndex, String startTime, String endTime) { + public List getDataI(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - stringBuilder1.append("min(rms) AS rms,min(i_neg) AS i_neg,min(i_pos) AS i_pos,min(i_thd) AS i_thd,min(i_unbalance) AS i_unbalance,min(i_zero) AS i_zero,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder2.append("line_id='").append(lineIndex).append("' and ").append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_I + " where " + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataI.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataI.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataI::getLineId, lineIndex) + .eq(DataI::getValueType, InfluxDbSqlConstant.MIN) + .min(DataI::getINeg) + .min(DataI::getIPos) + .min(DataI::getRms) + .min(DataI::getIThd) + .min(DataI::getIUnbalance) + .min(DataI::getIZero) + .groupBy(DataI::getLineId,DataI::getPhaseType,DataI::getQualityFlag,DataI::getValueType) + .between(DataI::getTime, startTime, endTime); + List result1 = dataIMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - stringBuilder3.append("max(rms) AS rms,max(i_neg) AS i_neg,max(i_pos) AS i_pos,max(i_thd) AS i_thd,max(i_unbalance) AS i_unbalance,max(i_zero) AS i_zero,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder4.append("line_id='").append(lineIndex).append("' and ").append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_I + " where " + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataI.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataI.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataI::getLineId, lineIndex) + .eq(DataI::getValueType, InfluxDbSqlConstant.MAX) + .max(DataI::getINeg) + .max(DataI::getIPos) + .max(DataI::getRms) + .max(DataI::getIThd) + .max(DataI::getIUnbalance) + .max(DataI::getIZero) + .groupBy(DataI::getLineId,DataI::getPhaseType,DataI::getQualityFlag,DataI::getValueType) + .between(DataI::getTime, startTime, endTime); + List result2 = dataIMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - stringBuilder5.append("mean(rms) AS rms,mean(i_neg) AS i_neg,mean(i_pos) AS i_pos,mean(i_thd) AS i_thd,mean(i_unbalance) AS i_unbalance,mean(i_zero) AS i_zero,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder6.append("line_id='").append(lineIndex).append("' and ").append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_I + " where " + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataI.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - stringBuilder7.append("percentile(rms,95) AS rms,percentile(i_neg,95) AS i_neg,percentile(i_pos,95) AS i_pos,percentile(i_thd,95) AS i_thd,percentile(i_unbalance,95) AS i_unbalance,percentile(i_zero,95) AS i_zero,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); - } else { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); - } - } - stringBuilder8.append("line_id='").append(lineIndex).append("' and ").append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_I + " where " + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataI.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataI.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataI::getLineId, lineIndex) + .eq(DataI::getValueType, InfluxDbSqlConstant.AVG_WEB) + .mean(DataI::getINeg) + .mean(DataI::getIPos) + .mean(DataI::getRms) + .mean(DataI::getIThd) + .mean(DataI::getIUnbalance) + .mean(DataI::getIZero) + .groupBy(DataI::getLineId,DataI::getPhaseType,DataI::getQualityFlag,DataI::getValueType) + .between(DataI::getTime, startTime, endTime); + List result3 = dataIMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataI.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataI::getLineId, lineIndex) + .eq(DataI::getValueType, InfluxDbSqlConstant.AVG_WEB) + .percentile(DataI::getINeg,95) + .percentile(DataI::getIPos,95) + .percentile(DataI::getRms,95) + .percentile(DataI::getIThd,95) + .percentile(DataI::getIUnbalance,95) + .percentile(DataI::getIZero,95) + .groupBy(DataI::getLineId,DataI::getPhaseType,DataI::getQualityFlag,DataI::getValueType) + .between(DataI::getTime, startTime, endTime); + List result4 = dataIMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } /** * 功能描述:获取dataFlicker数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataFlicker(String lineIndex, String startTime, String endTime) { + public List getDataFlicker(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - String sql1 = "select min(fluc) AS fluc,min(plt) AS plt,min(pst) AS pst from " + InfluxDBPublicParam.DATA_FLICKER + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataFlicker.class); - list1.forEach(item -> { - item.setValueType("MIN"); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataFlicker.class); + influxQueryWrapper.regular(DataFlicker::getLineId, lineIndex) + .min(DataFlicker::getFluc) + .min(DataFlicker::getPlt) + .min(DataFlicker::getPst) + .groupBy(DataFlicker::getLineId,DataFlicker::getPhaseType,DataFlicker::getQualityFlag) + .between(DataFlicker::getTime, startTime, endTime); + List result1 = dataFlickerMapper.getStatisticsByWraper2(influxQueryWrapper); + result1.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.MIN); }); + result.addAll(result1); //最大值 - String sql2 = "select max(fluc) AS fluc,max(plt) AS plt,max(pst) AS pst from " + InfluxDBPublicParam.DATA_FLICKER + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataFlicker.class); - list2.forEach(item -> { - item.setValueType("MAX"); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataFlicker.class); + influxQueryWrapper2.regular(DataFlicker::getLineId, lineIndex) + .max(DataFlicker::getFluc) + .max(DataFlicker::getPlt) + .max(DataFlicker::getPst) + .groupBy(DataFlicker::getLineId,DataFlicker::getPhaseType,DataFlicker::getQualityFlag) + .between(DataFlicker::getTime, startTime, endTime); + List result2 = dataFlickerMapper.getStatisticsByWraper2(influxQueryWrapper2); + result2.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.MAX); }); + result.addAll(result2); //平均值 - String sql3 = "select mean(fluc) AS fluc,mean(plt) AS plt,mean(pst) AS pst from " + InfluxDBPublicParam.DATA_FLICKER + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataFlicker.class); - list3.forEach(item -> { - item.setValueType("AVG"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataFlicker.class); + influxQueryWrapper3.regular(DataFlicker::getLineId, lineIndex) + .mean(DataFlicker::getFluc) + .mean(DataFlicker::getPlt) + .mean(DataFlicker::getPst) + .groupBy(DataFlicker::getLineId,DataFlicker::getPhaseType,DataFlicker::getQualityFlag) + .between(DataFlicker::getTime, startTime, endTime); + List result3 = dataFlickerMapper.getStatisticsByWraper2(influxQueryWrapper3); + result3.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.AVG_WEB); }); - //CP95值 - String sql4 = "select percentile(fluc,95) AS fluc,percentile(plt,95) AS plt,percentile(pst,95) AS pst from " + InfluxDBPublicParam.DATA_FLICKER + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - ; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataFlicker.class); - list4.forEach(item -> { - item.setValueType("CP95"); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataFlicker.class); + influxQueryWrapper4.regular(DataFlicker::getLineId, lineIndex) + .percentile(DataFlicker::getFluc,95) + .percentile(DataFlicker::getPlt,95) + .percentile(DataFlicker::getPst,95) + .groupBy(DataFlicker::getLineId,DataFlicker::getPhaseType,DataFlicker::getQualityFlag) + .between(DataFlicker::getTime, startTime, endTime); + List result4 = dataFlickerMapper.getStatisticsByWraper2(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } - /** * 功能描述:获取dataFluc数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataFluc(String lineIndex, String startTime, String endTime) { + public List getDataFluc(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - String sql1 = "select min(fluc) AS fluc,min(fluccf) AS fluccf from " + InfluxDBPublicParam.DATA_FLUC + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataFluc.class); - list1.forEach(item -> { - item.setValueType("MIN"); - }); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataFluc.class); + influxQueryWrapper.regular(DataFluc::getLineId, lineIndex) + .eq(DataFluc::getValueType, InfluxDbSqlConstant.MIN) + .min(DataFluc::getFluc) + .min(DataFluc::getFluccf) + .groupBy(DataFluc::getLineId,DataFluc::getPhaseType,DataFluc::getQualityFlag,DataFluc::getValueType) + .between(DataFluc::getTime, startTime, endTime); + List result1 = dataFlucMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - String sql2 = "select max(fluc) AS fluc,max(fluccf) AS fluccf from " + InfluxDBPublicParam.DATA_FLUC + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataFluc.class); - list2.forEach(item -> { - item.setValueType("MAX"); - }); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataFluc.class); + influxQueryWrapper2.regular(DataFluc::getLineId, lineIndex) + .eq(DataFluc::getValueType, InfluxDbSqlConstant.MAX) + .max(DataFluc::getFluc) + .max(DataFluc::getFluccf) + .groupBy(DataFluc::getLineId,DataFluc::getPhaseType,DataFluc::getQualityFlag,DataFluc::getValueType) + .between(DataFluc::getTime, startTime, endTime); + List result2 = dataFlucMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - String sql3 = "select mean(fluc) AS fluc,mean(fluccf) AS fluccf from " + InfluxDBPublicParam.DATA_FLUC + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataFluc.class); - list3.forEach(item -> { - item.setValueType("AVG"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataFluc.class); + influxQueryWrapper3.regular(DataFluc::getLineId, lineIndex) + .eq(DataFluc::getValueType, InfluxDbSqlConstant.AVG_WEB) + .mean(DataFluc::getFluc) + .mean(DataFluc::getFluccf) + .groupBy(DataFluc::getLineId,DataFluc::getPhaseType,DataFluc::getQualityFlag,DataFluc::getValueType) + .between(DataFluc::getTime, startTime, endTime); + List result3 = dataFlucMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataFluc.class); + influxQueryWrapper4.regular(DataFluc::getLineId, lineIndex) + .eq(DataFluc::getValueType, InfluxDbSqlConstant.AVG_WEB) + .percentile(DataFluc::getFluc,95) + .percentile(DataFluc::getFluccf,95) + .groupBy(DataFluc::getLineId,DataFluc::getPhaseType,DataFluc::getQualityFlag,DataFluc::getValueType) + .between(DataFluc::getTime, startTime, endTime); + List result4 = dataFlucMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - //CP95值 - String sql4 = "select percentile(fluc,95) AS fluc,percentile(fluccf,95) AS fluccf from " + InfluxDBPublicParam.DATA_FLUC + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataFluc.class); - list4.forEach(item -> { - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } /** * 功能描述:获取data_harmphasic_i数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataHarmphasicI(String lineIndex, String startTime, String endTime) { + public List getDataHarmphasicI(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_HARM_PHASIC_I + " where " + stringBuilder + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPhasicI.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmPhasicI.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataHarmPhasicI::getLineId, lineIndex) + .eq(DataHarmPhasicI::getValueType, InfluxDbSqlConstant.MIN) + .groupBy(DataHarmPhasicI::getLineId,DataHarmPhasicI::getPhaseType,DataHarmPhasicI::getQualityFlag,DataHarmPhasicI::getValueType) + .between(DataHarmPhasicI::getTime, startTime, endTime); + List result1 = dataHarmPhasicIMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_HARM_PHASIC_I + " where " + stringBuilder + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPhasicI.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataHarmPhasicI.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataHarmPhasicI::getLineId, lineIndex) + .eq(DataHarmPhasicI::getValueType, InfluxDbSqlConstant.MAX) + .groupBy(DataHarmPhasicI::getLineId,DataHarmPhasicI::getPhaseType,DataHarmPhasicI::getQualityFlag,DataHarmPhasicI::getValueType) + .between(DataHarmPhasicI::getTime, startTime, endTime); + List result2 = dataHarmPhasicIMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_HARM_PHASIC_I + " where " + stringBuilder + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPhasicI.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); - } else { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_HARM_PHASIC_I + " where " + stringBuilder + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPhasicI.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataHarmPhasicI.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataHarmPhasicI::getLineId, lineIndex) + .eq(DataHarmPhasicI::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataHarmPhasicI::getLineId,DataHarmPhasicI::getPhaseType,DataHarmPhasicI::getQualityFlag,DataHarmPhasicI::getValueType) + .between(DataHarmPhasicI::getTime, startTime, endTime); + List result3 = dataHarmPhasicIMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataHarmPhasicI.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataHarmPhasicI::getLineId, lineIndex) + .eq(DataHarmPhasicI::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataHarmPhasicI::getLineId,DataHarmPhasicI::getPhaseType,DataHarmPhasicI::getQualityFlag,DataHarmPhasicI::getValueType) + .between(DataHarmPhasicI::getTime, startTime, endTime); + List result4 = dataHarmPhasicIMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } - /** * 功能描述:获取data_harmphasic_v数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataHarmphasicV(String lineIndex, String startTime, String endTime) { + public List getDataHarmphasicV(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_HARM_PHASIC_V + " where " + stringBuilder + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPhasicV.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmPhasicV.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataHarmPhasicV::getLineId, lineIndex) + .eq(DataHarmPhasicV::getValueType, InfluxDbSqlConstant.MIN) + .groupBy(DataHarmPhasicV::getLineId,DataHarmPhasicV::getPhaseType,DataHarmPhasicV::getQualityFlag,DataHarmPhasicV::getValueType) + .between(DataHarmPhasicV::getTime, startTime, endTime); + List result1 = dataHarmPhasicVMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_HARM_PHASIC_V + " where " + stringBuilder + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPhasicV.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataHarmPhasicV.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataHarmPhasicV::getLineId, lineIndex) + .eq(DataHarmPhasicV::getValueType, InfluxDbSqlConstant.MAX) + .groupBy(DataHarmPhasicV::getLineId,DataHarmPhasicV::getPhaseType,DataHarmPhasicV::getQualityFlag,DataHarmPhasicV::getValueType) + .between(DataHarmPhasicV::getTime, startTime, endTime); + List result2 = dataHarmPhasicVMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_HARM_PHASIC_V + " where " + stringBuilder + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPhasicV.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); - } else { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_HARM_PHASIC_V + " where " + stringBuilder + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPhasicV.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataHarmPhasicV.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataHarmPhasicV::getLineId, lineIndex) + .eq(DataHarmPhasicV::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataHarmPhasicV::getLineId,DataHarmPhasicV::getPhaseType,DataHarmPhasicV::getQualityFlag,DataHarmPhasicV::getValueType) + .between(DataHarmPhasicV::getTime, startTime, endTime); + List result3 = dataHarmPhasicVMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataHarmPhasicV.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataHarmPhasicV::getLineId, lineIndex) + .eq(DataHarmPhasicV::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataHarmPhasicV::getLineId,DataHarmPhasicV::getPhaseType,DataHarmPhasicV::getQualityFlag,DataHarmPhasicV::getValueType) + .between(DataHarmPhasicV::getTime, startTime, endTime); + List result4 = dataHarmPhasicVMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } - /** * 功能描述:获取data_harmpower_p数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataHarmPowerP(String lineIndex, String startTime, String endTime) { + public List getDataHarmPowerP(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - stringBuilder1.append("min(p) AS p,min(df) AS df,min(pf) AS pf,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(p_").append(i).append(") AS p_").append(i); - } else { - stringBuilder1.append("min(p_").append(i).append(") AS p_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_P + " where " + stringBuilder + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPowerP.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmPowerP.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.P,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataHarmPowerP::getLineId, lineIndex) + .eq(DataHarmPowerP::getValueType, InfluxDbSqlConstant.MIN) + .min(DataHarmPowerP::getP) + .min(DataHarmPowerP::getPf) + .min(DataHarmPowerP::getDf) + .groupBy(DataHarmPowerP::getLineId,DataHarmPowerP::getPhaseType,DataHarmPowerP::getQualityFlag,DataHarmPowerP::getValueType) + .between(DataHarmPowerP::getTime, startTime, endTime); + List result1 = dataHarmPowerPMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - stringBuilder3.append("max(p) AS p,max(df) AS df,max(pf) AS pf,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(p_").append(i).append(") AS p_").append(i); - } else { - stringBuilder3.append("max(p_").append(i).append(") AS p_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_P + " where " + stringBuilder + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPowerP.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataHarmPowerP.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.P,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataHarmPowerP::getLineId, lineIndex) + .eq(DataHarmPowerP::getValueType, InfluxDbSqlConstant.MAX) + .max(DataHarmPowerP::getP) + .max(DataHarmPowerP::getPf) + .max(DataHarmPowerP::getDf) + .groupBy(DataHarmPowerP::getLineId,DataHarmPowerP::getPhaseType,DataHarmPowerP::getQualityFlag,DataHarmPowerP::getValueType) + .between(DataHarmPowerP::getTime, startTime, endTime); + List result2 = dataHarmPowerPMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - stringBuilder5.append("mean(p) AS p,mean(df) AS df,mean(pf) AS pf,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(p_").append(i).append(") AS p_").append(i); - } else { - stringBuilder5.append("mean(p_").append(i).append(") AS p_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_P + " where " + stringBuilder + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPowerP.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - stringBuilder7.append("percentile(p,95) AS p,percentile(df,95) AS df,percentile(pf,95) AS pf,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(p_").append(i).append(",95) AS p_").append(i); - } else { - stringBuilder7.append("percentile(p_").append(i).append(",95) AS p_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_P + " where " + stringBuilder + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPowerP.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataHarmPowerP.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.P,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataHarmPowerP::getLineId, lineIndex) + .eq(DataHarmPowerP::getValueType, InfluxDbSqlConstant.AVG_WEB) + .mean(DataHarmPowerP::getP) + .mean(DataHarmPowerP::getPf) + .mean(DataHarmPowerP::getDf) + .groupBy(DataHarmPowerP::getLineId,DataHarmPowerP::getPhaseType,DataHarmPowerP::getQualityFlag,DataHarmPowerP::getValueType) + .between(DataHarmPowerP::getTime, startTime, endTime); + List result3 = dataHarmPowerPMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataHarmPowerP.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.P,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataHarmPowerP::getLineId, lineIndex) + .eq(DataHarmPowerP::getValueType, InfluxDbSqlConstant.AVG_WEB) + .percentile(DataHarmPowerP::getP,95) + .percentile(DataHarmPowerP::getPf,95) + .percentile(DataHarmPowerP::getDf,95) + .groupBy(DataHarmPowerP::getLineId,DataHarmPowerP::getPhaseType,DataHarmPowerP::getQualityFlag,DataHarmPowerP::getValueType) + .between(DataHarmPowerP::getTime, startTime, endTime); + List result4 = dataHarmPowerPMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } /** * 功能描述:获取data_harmpower_q数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataHarmPowerQ(String lineIndex, String startTime, String endTime) { + public List getDataHarmPowerQ(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - stringBuilder1.append("min(q) AS q,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(q_").append(i).append(") AS q_").append(i); - } else { - stringBuilder1.append("min(q_").append(i).append(") AS q_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_Q + " where " + stringBuilder + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPowerQ.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmPowerQ.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.Q,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataHarmPowerQ::getLineId, lineIndex) + .eq(DataHarmPowerQ::getValueType, InfluxDbSqlConstant.MIN) + .min(DataHarmPowerQ::getQ) + .groupBy(DataHarmPowerQ::getLineId,DataHarmPowerQ::getPhaseType,DataHarmPowerQ::getQualityFlag,DataHarmPowerQ::getValueType) + .between(DataHarmPowerQ::getTime, startTime, endTime); + List result1 = dataHarmPowerQMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - stringBuilder3.append("max(q) AS q,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(q_").append(i).append(") AS q_").append(i); - } else { - stringBuilder3.append("max(q_").append(i).append(") AS q_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_Q + " where " + stringBuilder + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPowerQ.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataHarmPowerQ.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.Q,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataHarmPowerQ::getLineId, lineIndex) + .eq(DataHarmPowerQ::getValueType, InfluxDbSqlConstant.MAX) + .max(DataHarmPowerQ::getQ) + .groupBy(DataHarmPowerQ::getLineId,DataHarmPowerQ::getPhaseType,DataHarmPowerQ::getQualityFlag,DataHarmPowerQ::getValueType) + .between(DataHarmPowerQ::getTime, startTime, endTime); + List result2 = dataHarmPowerQMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - stringBuilder5.append("mean(q) AS q,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(q_").append(i).append(") AS q_").append(i); - } else { - stringBuilder5.append("mean(q_").append(i).append(") AS q_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_Q + " where " + stringBuilder + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPowerQ.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - stringBuilder7.append("percentile(q,95) AS q,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(q_").append(i).append(",95) AS q_").append(i); - } else { - stringBuilder7.append("percentile(q_").append(i).append(",95) AS q_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_Q + " where " + stringBuilder + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPowerQ.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataHarmPowerQ.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.Q,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataHarmPowerQ::getLineId, lineIndex) + .eq(DataHarmPowerQ::getValueType, InfluxDbSqlConstant.AVG_WEB) + .mean(DataHarmPowerQ::getQ) + .groupBy(DataHarmPowerQ::getLineId,DataHarmPowerQ::getPhaseType,DataHarmPowerQ::getQualityFlag,DataHarmPowerQ::getValueType) + .between(DataHarmPowerQ::getTime, startTime, endTime); + List result3 = dataHarmPowerQMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataHarmPowerQ.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.Q,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataHarmPowerQ::getLineId, lineIndex) + .eq(DataHarmPowerQ::getValueType, InfluxDbSqlConstant.AVG_WEB) + .percentile(DataHarmPowerQ::getQ,95) + .groupBy(DataHarmPowerQ::getLineId,DataHarmPowerQ::getPhaseType,DataHarmPowerQ::getQualityFlag,DataHarmPowerQ::getValueType) + .between(DataHarmPowerQ::getTime, startTime, endTime); + List result4 = dataHarmPowerQMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } /** * 功能描述:获取data_harmpower_s数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataHarmPowerS(String lineIndex, String startTime, String endTime) { + public List getDataHarmPowerS(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - stringBuilder1.append("min(s) AS s,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(s_").append(i).append(") AS s_").append(i); - } else { - stringBuilder1.append("min(s_").append(i).append(") AS s_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_S + " where " + stringBuilder + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPowerS.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmPowerS.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.S,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataHarmPowerS::getLineId, lineIndex) + .eq(DataHarmPowerS::getValueType, InfluxDbSqlConstant.MIN) + .min(DataHarmPowerS::getS) + .groupBy(DataHarmPowerS::getLineId,DataHarmPowerS::getPhaseType,DataHarmPowerS::getQualityFlag,DataHarmPowerS::getValueType) + .between(DataHarmPowerS::getTime, startTime, endTime); + List result1 = dataHarmPowerSMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - stringBuilder3.append("max(s) AS s,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(s_").append(i).append(") AS s_").append(i); - } else { - stringBuilder3.append("max(s_").append(i).append(") AS s_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_S + " where " + stringBuilder + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPowerS.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataHarmPowerS.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.S,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataHarmPowerS::getLineId, lineIndex) + .eq(DataHarmPowerS::getValueType, InfluxDbSqlConstant.MAX) + .max(DataHarmPowerS::getS) + .groupBy(DataHarmPowerS::getLineId,DataHarmPowerS::getPhaseType,DataHarmPowerS::getQualityFlag,DataHarmPowerS::getValueType) + .between(DataHarmPowerS::getTime, startTime, endTime); + List result2 = dataHarmPowerSMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - stringBuilder5.append("mean(s) AS s,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(s_").append(i).append(") AS s_").append(i); - } else { - stringBuilder5.append("mean(s_").append(i).append(") AS s_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_S + " where " + stringBuilder + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPowerS.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - stringBuilder7.append("percentile(s,95) AS s,"); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(s_").append(i).append(",95) AS s_").append(i); - } else { - stringBuilder7.append("percentile(s_").append(i).append(",95) AS s_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_HARM_POWER_S + " where " + stringBuilder + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPowerS.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataHarmPowerS.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.S,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataHarmPowerS::getLineId, lineIndex) + .eq(DataHarmPowerS::getValueType, InfluxDbSqlConstant.AVG_WEB) + .mean(DataHarmPowerS::getS) + .groupBy(DataHarmPowerS::getLineId,DataHarmPowerS::getPhaseType,DataHarmPowerS::getQualityFlag,DataHarmPowerS::getValueType) + .between(DataHarmPowerS::getTime, startTime, endTime); + List result3 = dataHarmPowerSMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataHarmPowerS.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.S,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataHarmPowerS::getLineId, lineIndex) + .eq(DataHarmPowerS::getValueType, InfluxDbSqlConstant.AVG_WEB) + .percentile(DataHarmPowerS::getS,95) + .groupBy(DataHarmPowerS::getLineId,DataHarmPowerS::getPhaseType,DataHarmPowerS::getQualityFlag,DataHarmPowerS::getValueType) + .between(DataHarmPowerS::getTime, startTime, endTime); + List result4 = dataHarmPowerSMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } - /** * 功能描述:获取data_harmrate_i数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataHarmRateI(String lineIndex, String startTime, String endTime) { + public List getDataHarmRateI(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_HARM_RATE_I + " where " + stringBuilder + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmRateI.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmRateI.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataHarmRateI::getLineId, lineIndex) + .eq(DataHarmRateI::getValueType, InfluxDbSqlConstant.MIN) + .groupBy(DataHarmRateI::getLineId,DataHarmRateI::getPhaseType,DataHarmRateI::getQualityFlag,DataHarmRateI::getValueType) + .between(DataHarmRateI::getTime, startTime, endTime); + List result1 = dataHarmRateIMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_HARM_RATE_I + " where " + stringBuilder + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmRateI.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataHarmRateI.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataHarmRateI::getLineId, lineIndex) + .eq(DataHarmRateI::getValueType, InfluxDbSqlConstant.MAX) + .groupBy(DataHarmRateI::getLineId,DataHarmRateI::getPhaseType,DataHarmRateI::getQualityFlag,DataHarmRateI::getValueType) + .between(DataHarmRateI::getTime, startTime, endTime); + List result2 = dataHarmRateIMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_HARM_RATE_I + " where " + stringBuilder + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmRateI.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); - } else { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_HARM_RATE_I + " where " + stringBuilder + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmRateI.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataHarmRateI.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataHarmRateI::getLineId, lineIndex) + .eq(DataHarmRateI::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataHarmRateI::getLineId,DataHarmRateI::getPhaseType,DataHarmRateI::getQualityFlag,DataHarmRateI::getValueType) + .between(DataHarmRateI::getTime, startTime, endTime); + List result3 = dataHarmRateIMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataHarmRateI.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataHarmRateI::getLineId, lineIndex) + .eq(DataHarmRateI::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataHarmRateI::getLineId,DataHarmRateI::getPhaseType,DataHarmRateI::getQualityFlag,DataHarmRateI::getValueType) + .between(DataHarmRateI::getTime, startTime, endTime); + List result4 = dataHarmRateIMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } /** * 功能描述:获取data_harmrate_v数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataHarmRateV(String lineIndex, String startTime, String endTime) { + public List getDataHarmRateV(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_HARM_RATE_V + " where " + stringBuilder + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmRateV.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmRateV.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataHarmRateV::getLineId, lineIndex) + .eq(DataHarmRateV::getValueType, InfluxDbSqlConstant.MIN) + .groupBy(DataHarmRateV::getLineId,DataHarmRateV::getPhaseType,DataHarmRateV::getQualityFlag,DataHarmRateV::getValueType) + .between(DataHarmRateV::getTime, startTime, endTime); + List result1 = dataHarmRateVMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_HARM_RATE_V + " where " + stringBuilder + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmRateV.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataHarmRateV.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataHarmRateV::getLineId, lineIndex) + .eq(DataHarmRateV::getValueType, InfluxDbSqlConstant.MAX) + .groupBy(DataHarmRateV::getLineId,DataHarmRateV::getPhaseType,DataHarmRateV::getQualityFlag,DataHarmRateV::getValueType) + .between(DataHarmRateV::getTime, startTime, endTime); + List result2 = dataHarmRateVMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_HARM_RATE_V + " where " + stringBuilder + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmRateV.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); - } else { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_HARM_RATE_V + " where " + stringBuilder + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmRateV.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataHarmRateV.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataHarmRateV::getLineId, lineIndex) + .eq(DataHarmRateV::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataHarmRateV::getLineId,DataHarmRateV::getPhaseType,DataHarmRateV::getQualityFlag,DataHarmRateV::getValueType) + .between(DataHarmRateV::getTime, startTime, endTime); + List result3 = dataHarmRateVMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataHarmRateV.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataHarmRateV::getLineId, lineIndex) + .eq(DataHarmRateV::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataHarmRateV::getLineId,DataHarmRateV::getPhaseType,DataHarmRateV::getQualityFlag,DataHarmRateV::getValueType) + .between(DataHarmRateV::getTime, startTime, endTime); + List result4 = dataHarmRateVMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } /** * 功能描述:获取data_inharm_i数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataInHarmI(String lineIndex, String startTime, String endTime) { + public List getDataInHarmI(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - - - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_IN_HARM_I + " where " + stringBuilder + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmI.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataInHarmI.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataInHarmI::getLineId, lineIndex) + .eq(DataInHarmI::getValueType, InfluxDbSqlConstant.MIN) + .groupBy(DataInHarmI::getLineId,DataInHarmI::getPhaseType,DataInHarmI::getQualityFlag,DataInHarmI::getValueType) + .between(DataInHarmI::getTime, startTime, endTime); + List result1 = dataInHarmIMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_IN_HARM_I + " where " + stringBuilder + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmI.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataInHarmI.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataInHarmI::getLineId, lineIndex) + .eq(DataInHarmI::getValueType, InfluxDbSqlConstant.MAX) + .groupBy(DataInHarmI::getLineId,DataInHarmI::getPhaseType,DataInHarmI::getQualityFlag,DataInHarmI::getValueType) + .between(DataInHarmI::getTime, startTime, endTime); + List result2 = dataInHarmIMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_IN_HARM_I + " where " + stringBuilder + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmI.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); - } else { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_IN_HARM_I + " where " + stringBuilder + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmI.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataInHarmI.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataInHarmI::getLineId, lineIndex) + .eq(DataInHarmI::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataInHarmI::getLineId,DataInHarmI::getPhaseType,DataInHarmI::getQualityFlag,DataInHarmI::getValueType) + .between(DataInHarmI::getTime, startTime, endTime); + List result3 = dataInHarmIMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataInHarmI.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataInHarmI::getLineId, lineIndex) + .eq(DataInHarmI::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataInHarmI::getLineId,DataInHarmI::getPhaseType,DataInHarmI::getQualityFlag,DataInHarmI::getValueType) + .between(DataInHarmI::getTime, startTime, endTime); + List result4 = dataInHarmIMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } - /** * 功能描述:获取data_inharm_v数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataInHarmV(String lineIndex, String startTime, String endTime) { + public List getDataInHarmV(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_IN_HARM_V + " where " + stringBuilder + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmV.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataInHarmV.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataInHarmV::getLineId, lineIndex) + .eq(DataInHarmV::getValueType, InfluxDbSqlConstant.MIN) + .groupBy(DataInHarmV::getLineId,DataInHarmV::getPhaseType,DataInHarmV::getQualityFlag,DataInHarmV::getValueType) + .between(DataInHarmV::getTime, startTime, endTime); + List result1 = dataInHarmVMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_IN_HARM_V + " where " + stringBuilder + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmV.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataInHarmV.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataInHarmV::getLineId, lineIndex) + .eq(DataInHarmV::getValueType, InfluxDbSqlConstant.MAX) + .groupBy(DataInHarmV::getLineId,DataInHarmV::getPhaseType,DataInHarmV::getQualityFlag,DataInHarmV::getValueType) + .between(DataInHarmV::getTime, startTime, endTime); + List result2 = dataInHarmVMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_IN_HARM_V + " where " + stringBuilder + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmV.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); - } else { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_IN_HARM_V + " where " + stringBuilder + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmV.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataInHarmV.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataInHarmV::getLineId, lineIndex) + .eq(DataInHarmV::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataInHarmV::getLineId,DataInHarmV::getPhaseType,DataInHarmV::getQualityFlag,DataInHarmV::getValueType) + .between(DataInHarmV::getTime, startTime, endTime); + List result3 = dataInHarmVMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataInHarmV.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataInHarmV::getLineId, lineIndex) + .eq(DataInHarmV::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataInHarmV::getLineId,DataInHarmV::getPhaseType,DataInHarmV::getQualityFlag,DataInHarmV::getValueType) + .between(DataInHarmV::getTime, startTime, endTime); + List result4 = dataInHarmVMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } /** * 功能描述:获取data_inharmrate_i数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataInHarmRateI(String lineIndex, String startTime, String endTime) { + public List getDataInHarmRateI(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_IN_HARM_I + " where " + stringBuilder + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmRateI.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataInHarmRateI.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataInHarmRateI::getLineId, lineIndex) + .eq(DataInHarmRateI::getValueType, InfluxDbSqlConstant.MIN) + .groupBy(DataInHarmRateI::getLineId,DataInHarmRateI::getPhaseType,DataInHarmRateI::getQualityFlag,DataInHarmRateI::getValueType) + .between(DataInHarmRateI::getTime, startTime, endTime); + List result1 = dataInHarmRateIMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_IN_HARM_I + " where " + stringBuilder + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmRateI.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataInHarmRateI.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataInHarmRateI::getLineId, lineIndex) + .eq(DataInHarmRateI::getValueType, InfluxDbSqlConstant.MAX) + .groupBy(DataInHarmRateI::getLineId,DataInHarmRateI::getPhaseType,DataInHarmRateI::getQualityFlag,DataInHarmRateI::getValueType) + .between(DataInHarmRateI::getTime, startTime, endTime); + List result2 = dataInHarmRateIMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_IN_HARM_I + " where " + stringBuilder + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmRateI.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); - } else { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_IN_HARM_I + " where " + stringBuilder + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmRateI.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataInHarmRateI.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataInHarmRateI::getLineId, lineIndex) + .eq(DataInHarmRateI::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataInHarmRateI::getLineId,DataInHarmRateI::getPhaseType,DataInHarmRateI::getQualityFlag,DataInHarmRateI::getValueType) + .between(DataInHarmRateI::getTime, startTime, endTime); + List result3 = dataInHarmRateIMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataInHarmRateI.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.I,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataInHarmRateI::getLineId, lineIndex) + .eq(DataInHarmRateI::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataInHarmRateI::getLineId,DataInHarmRateI::getPhaseType,DataInHarmRateI::getQualityFlag,DataInHarmRateI::getValueType) + .between(DataInHarmRateI::getTime, startTime, endTime); + List result4 = dataInHarmRateIMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } /** * 功能描述:获取data_inharmrate_v数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 + * @return */ - public List getDataInHarmRateV(String lineIndex, String startTime, String endTime) { + public List getDataInHarmRateV(List lineIndex, String startTime, String endTime) { List result = new ArrayList<>(); - - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select " + stringBuilder1 + " from " + InfluxDBPublicParam.DATA_IN_HARM_V + " where " + stringBuilder + stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmRateV.class); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataInHarmRateV.class); + influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper.regular(DataInHarmRateV::getLineId, lineIndex) + .eq(DataInHarmRateV::getValueType, InfluxDbSqlConstant.MIN) + .groupBy(DataInHarmRateV::getLineId,DataInHarmRateV::getPhaseType,DataInHarmRateV::getQualityFlag,DataInHarmRateV::getValueType) + .between(DataInHarmRateV::getTime, startTime, endTime); + List result1 = dataInHarmRateVMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select " + stringBuilder3 + " from " + InfluxDBPublicParam.DATA_IN_HARM_V + " where " + stringBuilder + stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmRateV.class); + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataInHarmRateV.class); + influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper2.regular(DataInHarmRateV::getLineId, lineIndex) + .eq(DataInHarmRateV::getValueType, InfluxDbSqlConstant.MAX) + .groupBy(DataInHarmRateV::getLineId,DataInHarmRateV::getPhaseType,DataInHarmRateV::getQualityFlag,DataInHarmRateV::getValueType) + .between(DataInHarmRateV::getTime, startTime, endTime); + List result2 = dataInHarmRateVMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select " + stringBuilder5 + " from " + InfluxDBPublicParam.DATA_IN_HARM_V + " where " + stringBuilder + stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmRateV.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <= 50; i++) { - if (i == 50) { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); - } else { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select " + stringBuilder7 + " from " + InfluxDBPublicParam.DATA_IN_HARM_V + " where " + stringBuilder + stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmRateV.class); - list4.forEach(item -> { - item.setValueType("CP95"); + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataInHarmRateV.class); + influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1)); + influxQueryWrapper3.regular(DataInHarmRateV::getLineId, lineIndex) + .eq(DataInHarmRateV::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataInHarmRateV::getLineId,DataInHarmRateV::getPhaseType,DataInHarmRateV::getQualityFlag,DataInHarmRateV::getValueType) + .between(DataInHarmRateV::getTime, startTime, endTime); + List result3 = dataInHarmRateVMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataInHarmRateV.class); + influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95); + influxQueryWrapper4.regular(DataInHarmRateV::getLineId, lineIndex) + .eq(DataInHarmRateV::getValueType, InfluxDbSqlConstant.AVG_WEB) + .groupBy(DataInHarmRateV::getLineId,DataInHarmRateV::getPhaseType,DataInHarmRateV::getQualityFlag,DataInHarmRateV::getValueType) + .between(DataInHarmRateV::getTime, startTime, endTime); + List result4 = dataInHarmRateVMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); + result.addAll(result4); return result; } /** * 功能描述:获取data_plt数据 - * + * @param lineIndex 监测点集合 * @param startTime 起始时间 * @param endTime 结束时间 - * @return List - * @author xy - * @date 2022/5/10 14:56 - */ - public List getDataPlt(String lineIndex, String startTime, String endTime) { - List result = new ArrayList<>(); - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("line_id='").append(lineIndex).append("' and "); - //最小值 - String sql1 = "select min(plt) AS plt from " + InfluxDBPublicParam.DATA_PLT + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataPlt.class); - list1.forEach(item -> { - item.setValueType("MIN"); - }); - //最大值 - String sql2 = "select max(plt) AS plt from " + InfluxDBPublicParam.DATA_PLT + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataPlt.class); - list2.forEach(item -> { - item.setValueType("MAX"); - }); - //平均值 - String sql3 = "select mean(plt) AS plt from " + InfluxDBPublicParam.DATA_PLT + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataPlt.class); - list3.forEach(item -> { - item.setValueType("AVG"); - }); - //CP95值 - String sql4 = "select percentile(plt,95) AS plt from " + InfluxDBPublicParam.DATA_PLT + " where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag " + InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataPlt.class); - list4.forEach(item -> { - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入dayV表数据 - * - * @param list dataV集合 - * @param time 时间戳 - * @author xy - * @date 2022/5/11 14:55 - */ - private void insertDayV(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap(); - Map fields = new HashMap(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhasicType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("freq", item.getFreq()); - fields.put("freq_dev", item.getFreqDev()); - fields.put("rms", item.getRms()); - fields.put("rms_lvr", item.getRmsLvr()); - fields.put("v_neg", item.getVNeg()); - fields.put("v_pos", item.getVPos()); - fields.put("v_thd", item.getVThd()); - fields.put("v_unbalance", item.getVUnbalance()); - fields.put("v_zero", item.getVZero()); - fields.put("vl_dev", item.getVlDev()); - fields.put("vu_dev", item.getVuDev()); - fields.put("v_1", item.getV1()); - fields.put("v_2", item.getV2()); - fields.put("v_3", item.getV3()); - fields.put("v_4", item.getV4()); - fields.put("v_5", item.getV5()); - fields.put("v_6", item.getV6()); - fields.put("v_7", item.getV7()); - fields.put("v_8", item.getV8()); - fields.put("v_9", item.getV9()); - fields.put("v_10", item.getV10()); - fields.put("v_11", item.getV11()); - fields.put("v_12", item.getV12()); - fields.put("v_13", item.getV13()); - fields.put("v_14", item.getV14()); - fields.put("v_15", item.getV15()); - fields.put("v_16", item.getV16()); - fields.put("v_17", item.getV17()); - fields.put("v_18", item.getV18()); - fields.put("v_19", item.getV19()); - fields.put("v_20", item.getV20()); - fields.put("v_21", item.getV21()); - fields.put("v_22", item.getV22()); - fields.put("v_23", item.getV23()); - fields.put("v_24", item.getV24()); - fields.put("v_25", item.getV25()); - fields.put("v_26", item.getV26()); - fields.put("v_27", item.getV27()); - fields.put("v_28", item.getV28()); - fields.put("v_29", item.getV29()); - fields.put("v_30", item.getV30()); - fields.put("v_31", item.getV31()); - fields.put("v_32", item.getV32()); - fields.put("v_33", item.getV33()); - fields.put("v_34", item.getV34()); - fields.put("v_35", item.getV35()); - fields.put("v_36", item.getV36()); - fields.put("v_37", item.getV37()); - fields.put("v_38", item.getV38()); - fields.put("v_39", item.getV39()); - fields.put("v_40", item.getV40()); - fields.put("v_41", item.getV41()); - fields.put("v_42", item.getV42()); - fields.put("v_43", item.getV43()); - fields.put("v_44", item.getV44()); - fields.put("v_45", item.getV45()); - fields.put("v_46", item.getV46()); - fields.put("v_47", item.getV47()); - fields.put("v_48", item.getV48()); - fields.put("v_49", item.getV49()); - fields.put("v_50", item.getV50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_V, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhasicType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入dayI表数据 - * - * @param list dataI集合 - * @param time 时间戳 - * @author xy - * @date 2022/5/11 14:55 - */ - private void insertDayI(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("rms", item.getRms()); - fields.put("i_neg", item.getINeg()); - fields.put("i_pos", item.getIPos()); - fields.put("i_thd", item.getIThd()); - fields.put("i_unbalance", item.getIUnbalance()); - fields.put("i_zero", item.getIZero()); - fields.put("i_1", item.getI1()); - fields.put("i_2", item.getI2()); - fields.put("i_3", item.getI3()); - fields.put("i_4", item.getI4()); - fields.put("i_5", item.getI5()); - fields.put("i_6", item.getI6()); - fields.put("i_7", item.getI7()); - fields.put("i_8", item.getI8()); - fields.put("i_9", item.getI9()); - fields.put("i_10", item.getI10()); - fields.put("i_11", item.getI11()); - fields.put("i_12", item.getI12()); - fields.put("i_13", item.getI13()); - fields.put("i_14", item.getI14()); - fields.put("i_15", item.getI15()); - fields.put("i_16", item.getI16()); - fields.put("i_17", item.getI17()); - fields.put("i_18", item.getI18()); - fields.put("i_19", item.getI19()); - fields.put("i_20", item.getI20()); - fields.put("i_21", item.getI21()); - fields.put("i_22", item.getI22()); - fields.put("i_23", item.getI23()); - fields.put("i_24", item.getI24()); - fields.put("i_25", item.getI25()); - fields.put("i_26", item.getI26()); - fields.put("i_27", item.getI27()); - fields.put("i_28", item.getI28()); - fields.put("i_29", item.getI29()); - fields.put("i_30", item.getI30()); - fields.put("i_31", item.getI31()); - fields.put("i_32", item.getI32()); - fields.put("i_33", item.getI33()); - fields.put("i_34", item.getI34()); - fields.put("i_35", item.getI35()); - fields.put("i_36", item.getI36()); - fields.put("i_37", item.getI37()); - fields.put("i_38", item.getI38()); - fields.put("i_39", item.getI39()); - fields.put("i_40", item.getI40()); - fields.put("i_41", item.getI41()); - fields.put("i_42", item.getI42()); - fields.put("i_43", item.getI43()); - fields.put("i_44", item.getI44()); - fields.put("i_45", item.getI45()); - fields.put("i_46", item.getI46()); - fields.put("i_47", item.getI47()); - fields.put("i_48", item.getI48()); - fields.put("i_49", item.getI49()); - fields.put("i_50", item.getI50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_I, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入dayFlicker表数据 - * - * @param list dataFlicker集合 - * @param time 时间戳 - * @author xy - * @date 2022/5/11 14:55 - */ - private void insertDayFlicker(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("fluc", item.getFluc()); - fields.put("plt", item.getPlt()); - fields.put("pst", item.getPst()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_FLICKER, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - - /** - * 功能描述:插入dayFluc表数据 - * - * @param list dataFluc集合 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayFluc(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("fluc", item.getFluc()); - fields.put("fluccf", item.getFluccf()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_FLUC, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入day_harmphasic_i表数据 - * - * @param list data_harmphasic_i表数据 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayHarmphasicI(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("i_1", item.getI1()); - fields.put("i_2", item.getI2()); - fields.put("i_3", item.getI3()); - fields.put("i_4", item.getI4()); - fields.put("i_5", item.getI5()); - fields.put("i_6", item.getI6()); - fields.put("i_7", item.getI7()); - fields.put("i_8", item.getI8()); - fields.put("i_9", item.getI9()); - fields.put("i_10", item.getI10()); - fields.put("i_11", item.getI11()); - fields.put("i_12", item.getI12()); - fields.put("i_13", item.getI13()); - fields.put("i_14", item.getI14()); - fields.put("i_15", item.getI15()); - fields.put("i_16", item.getI16()); - fields.put("i_17", item.getI17()); - fields.put("i_18", item.getI18()); - fields.put("i_19", item.getI19()); - fields.put("i_20", item.getI20()); - fields.put("i_21", item.getI21()); - fields.put("i_22", item.getI22()); - fields.put("i_23", item.getI23()); - fields.put("i_24", item.getI24()); - fields.put("i_25", item.getI25()); - fields.put("i_26", item.getI26()); - fields.put("i_27", item.getI27()); - fields.put("i_28", item.getI28()); - fields.put("i_29", item.getI29()); - fields.put("i_30", item.getI30()); - fields.put("i_31", item.getI31()); - fields.put("i_32", item.getI32()); - fields.put("i_33", item.getI33()); - fields.put("i_34", item.getI34()); - fields.put("i_35", item.getI35()); - fields.put("i_36", item.getI36()); - fields.put("i_37", item.getI37()); - fields.put("i_38", item.getI38()); - fields.put("i_39", item.getI39()); - fields.put("i_40", item.getI40()); - fields.put("i_41", item.getI41()); - fields.put("i_42", item.getI42()); - fields.put("i_43", item.getI43()); - fields.put("i_44", item.getI44()); - fields.put("i_45", item.getI45()); - fields.put("i_46", item.getI46()); - fields.put("i_47", item.getI47()); - fields.put("i_48", item.getI48()); - fields.put("i_49", item.getI49()); - fields.put("i_50", item.getI50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_PHASIC_I, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入day_harmphasic_V表数据 - * - * @param list data_harmphasic_V表数据 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayHarmphasicV(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("v_1", item.getV1()); - fields.put("v_2", item.getV2()); - fields.put("v_3", item.getV3()); - fields.put("v_4", item.getV4()); - fields.put("v_5", item.getV5()); - fields.put("v_6", item.getV6()); - fields.put("v_7", item.getV7()); - fields.put("v_8", item.getV8()); - fields.put("v_9", item.getV9()); - fields.put("v_10", item.getV10()); - fields.put("v_11", item.getV11()); - fields.put("v_12", item.getV12()); - fields.put("v_13", item.getV13()); - fields.put("v_14", item.getV14()); - fields.put("v_15", item.getV15()); - fields.put("v_16", item.getV16()); - fields.put("v_17", item.getV17()); - fields.put("v_18", item.getV18()); - fields.put("v_19", item.getV19()); - fields.put("v_20", item.getV20()); - fields.put("v_21", item.getV21()); - fields.put("v_22", item.getV22()); - fields.put("v_23", item.getV23()); - fields.put("v_24", item.getV24()); - fields.put("v_25", item.getV25()); - fields.put("v_26", item.getV26()); - fields.put("v_27", item.getV27()); - fields.put("v_28", item.getV28()); - fields.put("v_29", item.getV29()); - fields.put("v_30", item.getV30()); - fields.put("v_31", item.getV31()); - fields.put("v_32", item.getV32()); - fields.put("v_33", item.getV33()); - fields.put("v_34", item.getV34()); - fields.put("v_35", item.getV35()); - fields.put("v_36", item.getV36()); - fields.put("v_37", item.getV37()); - fields.put("v_38", item.getV38()); - fields.put("v_39", item.getV39()); - fields.put("v_40", item.getV40()); - fields.put("v_41", item.getV41()); - fields.put("v_42", item.getV42()); - fields.put("v_43", item.getV43()); - fields.put("v_44", item.getV44()); - fields.put("v_45", item.getV45()); - fields.put("v_46", item.getV46()); - fields.put("v_47", item.getV47()); - fields.put("v_48", item.getV48()); - fields.put("v_49", item.getV49()); - fields.put("v_50", item.getV50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_PHASIC_V, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - - /** - * 功能描述:插入day_harmpower_p表数据 - * - * @param list data_harmpower_p表数据 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayHarmPowerP(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("df", item.getDf()); - fields.put("pf", item.getPf()); - fields.put("p", item.getP()); - fields.put("p_1", item.getP1()); - fields.put("p_2", item.getP2()); - fields.put("p_3", item.getP3()); - fields.put("p_4", item.getP4()); - fields.put("p_5", item.getP5()); - fields.put("p_6", item.getP6()); - fields.put("p_7", item.getP7()); - fields.put("p_8", item.getP8()); - fields.put("p_9", item.getP9()); - fields.put("p_10", item.getP10()); - fields.put("p_11", item.getP11()); - fields.put("p_12", item.getP12()); - fields.put("p_13", item.getP13()); - fields.put("p_14", item.getP14()); - fields.put("p_15", item.getP15()); - fields.put("p_16", item.getP16()); - fields.put("p_17", item.getP17()); - fields.put("p_18", item.getP18()); - fields.put("p_19", item.getP19()); - fields.put("p_20", item.getP20()); - fields.put("p_21", item.getP21()); - fields.put("p_22", item.getP22()); - fields.put("p_23", item.getP23()); - fields.put("p_24", item.getP24()); - fields.put("p_25", item.getP25()); - fields.put("p_26", item.getP26()); - fields.put("p_27", item.getP27()); - fields.put("p_28", item.getP28()); - fields.put("p_29", item.getP29()); - fields.put("p_30", item.getP30()); - fields.put("p_31", item.getP31()); - fields.put("p_32", item.getP32()); - fields.put("p_33", item.getP33()); - fields.put("p_34", item.getP34()); - fields.put("p_35", item.getP35()); - fields.put("p_36", item.getP36()); - fields.put("p_37", item.getP37()); - fields.put("p_38", item.getP38()); - fields.put("p_39", item.getP39()); - fields.put("p_40", item.getP40()); - fields.put("p_41", item.getP41()); - fields.put("p_42", item.getP42()); - fields.put("p_43", item.getP43()); - fields.put("p_44", item.getP44()); - fields.put("p_45", item.getP45()); - fields.put("p_46", item.getP46()); - fields.put("p_47", item.getP47()); - fields.put("p_48", item.getP48()); - fields.put("p_49", item.getP49()); - fields.put("p_50", item.getP50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_POWER_P, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入day_harmpower_q表数据 - * - * @param list data_harmpower_q表数据 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayHarmPowerQ(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("q", item.getQ()); - fields.put("q_1", item.getQ1()); - fields.put("q_2", item.getQ2()); - fields.put("q_3", item.getQ3()); - fields.put("q_4", item.getQ4()); - fields.put("q_5", item.getQ5()); - fields.put("q_6", item.getQ6()); - fields.put("q_7", item.getQ7()); - fields.put("q_8", item.getQ8()); - fields.put("q_9", item.getQ9()); - fields.put("q_10", item.getQ10()); - fields.put("q_11", item.getQ11()); - fields.put("q_12", item.getQ12()); - fields.put("q_13", item.getQ13()); - fields.put("q_14", item.getQ14()); - fields.put("q_15", item.getQ15()); - fields.put("q_16", item.getQ16()); - fields.put("q_17", item.getQ17()); - fields.put("q_18", item.getQ18()); - fields.put("q_19", item.getQ19()); - fields.put("q_20", item.getQ20()); - fields.put("q_21", item.getQ21()); - fields.put("q_22", item.getQ22()); - fields.put("q_23", item.getQ23()); - fields.put("q_24", item.getQ24()); - fields.put("q_25", item.getQ25()); - fields.put("q_26", item.getQ26()); - fields.put("q_27", item.getQ27()); - fields.put("q_28", item.getQ28()); - fields.put("q_29", item.getQ29()); - fields.put("q_30", item.getQ30()); - fields.put("q_31", item.getQ31()); - fields.put("q_32", item.getQ32()); - fields.put("q_33", item.getQ33()); - fields.put("q_34", item.getQ34()); - fields.put("q_35", item.getQ35()); - fields.put("q_36", item.getQ36()); - fields.put("q_37", item.getQ37()); - fields.put("q_38", item.getQ38()); - fields.put("q_39", item.getQ39()); - fields.put("q_40", item.getQ40()); - fields.put("q_41", item.getQ41()); - fields.put("q_42", item.getQ42()); - fields.put("q_43", item.getQ43()); - fields.put("q_44", item.getQ44()); - fields.put("q_45", item.getQ45()); - fields.put("q_46", item.getQ46()); - fields.put("q_47", item.getQ47()); - fields.put("q_48", item.getQ48()); - fields.put("q_49", item.getQ49()); - fields.put("q_50", item.getQ50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_POWER_Q, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入day_harmpower_q表数据 - * - * @param list data_harmpower_q表数据 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayHarmPowerS(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("s", item.getS()); - fields.put("s_1", item.getS1()); - fields.put("s_2", item.getS2()); - fields.put("s_3", item.getS3()); - fields.put("s_4", item.getS4()); - fields.put("s_5", item.getS5()); - fields.put("s_6", item.getS6()); - fields.put("s_7", item.getS7()); - fields.put("s_8", item.getS8()); - fields.put("s_9", item.getS9()); - fields.put("s_10", item.getS10()); - fields.put("s_11", item.getS11()); - fields.put("s_12", item.getS12()); - fields.put("s_13", item.getS13()); - fields.put("s_14", item.getS14()); - fields.put("s_15", item.getS15()); - fields.put("s_16", item.getS16()); - fields.put("s_17", item.getS17()); - fields.put("s_18", item.getS18()); - fields.put("s_19", item.getS19()); - fields.put("s_20", item.getS20()); - fields.put("s_21", item.getS21()); - fields.put("s_22", item.getS22()); - fields.put("s_23", item.getS23()); - fields.put("s_24", item.getS24()); - fields.put("s_25", item.getS25()); - fields.put("s_26", item.getS26()); - fields.put("s_27", item.getS27()); - fields.put("s_28", item.getS28()); - fields.put("s_29", item.getS29()); - fields.put("s_30", item.getS30()); - fields.put("s_31", item.getS31()); - fields.put("s_32", item.getS32()); - fields.put("s_33", item.getS33()); - fields.put("s_34", item.getS34()); - fields.put("s_35", item.getS35()); - fields.put("s_36", item.getS36()); - fields.put("s_37", item.getS37()); - fields.put("s_38", item.getS38()); - fields.put("s_39", item.getS39()); - fields.put("s_40", item.getS40()); - fields.put("s_41", item.getS41()); - fields.put("s_42", item.getS42()); - fields.put("s_43", item.getS43()); - fields.put("s_44", item.getS44()); - fields.put("s_45", item.getS45()); - fields.put("s_46", item.getS46()); - fields.put("s_47", item.getS47()); - fields.put("s_48", item.getS48()); - fields.put("s_49", item.getS49()); - fields.put("s_50", item.getS50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_POWER_S, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入day_harmrate_i表数据 - * - * @param list data_harmrate_i表数据 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayHarmRateI(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("i_1", item.getI1()); - fields.put("i_2", item.getI2()); - fields.put("i_3", item.getI3()); - fields.put("i_4", item.getI4()); - fields.put("i_5", item.getI5()); - fields.put("i_6", item.getI6()); - fields.put("i_7", item.getI7()); - fields.put("i_8", item.getI8()); - fields.put("i_9", item.getI9()); - fields.put("i_10", item.getI10()); - fields.put("i_11", item.getI11()); - fields.put("i_12", item.getI12()); - fields.put("i_13", item.getI13()); - fields.put("i_14", item.getI14()); - fields.put("i_15", item.getI15()); - fields.put("i_16", item.getI16()); - fields.put("i_17", item.getI17()); - fields.put("i_18", item.getI18()); - fields.put("i_19", item.getI19()); - fields.put("i_20", item.getI20()); - fields.put("i_21", item.getI21()); - fields.put("i_22", item.getI22()); - fields.put("i_23", item.getI23()); - fields.put("i_24", item.getI24()); - fields.put("i_25", item.getI25()); - fields.put("i_26", item.getI26()); - fields.put("i_27", item.getI27()); - fields.put("i_28", item.getI28()); - fields.put("i_29", item.getI29()); - fields.put("i_30", item.getI30()); - fields.put("i_31", item.getI31()); - fields.put("i_32", item.getI32()); - fields.put("i_33", item.getI33()); - fields.put("i_34", item.getI34()); - fields.put("i_35", item.getI35()); - fields.put("i_36", item.getI36()); - fields.put("i_37", item.getI37()); - fields.put("i_38", item.getI38()); - fields.put("i_39", item.getI39()); - fields.put("i_40", item.getI40()); - fields.put("i_41", item.getI41()); - fields.put("i_42", item.getI42()); - fields.put("i_43", item.getI43()); - fields.put("i_44", item.getI44()); - fields.put("i_45", item.getI45()); - fields.put("i_46", item.getI46()); - fields.put("i_47", item.getI47()); - fields.put("i_48", item.getI48()); - fields.put("i_49", item.getI49()); - fields.put("i_50", item.getI50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_RATE_I, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入day_harmrate_v表数据 - * - * @param list data_harmrate_v表数据 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayHarmRateV(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("v_1", item.getV1()); - fields.put("v_2", item.getV2()); - fields.put("v_3", item.getV3()); - fields.put("v_4", item.getV4()); - fields.put("v_5", item.getV5()); - fields.put("v_6", item.getV6()); - fields.put("v_7", item.getV7()); - fields.put("v_8", item.getV8()); - fields.put("v_9", item.getV9()); - fields.put("v_10", item.getV10()); - fields.put("v_11", item.getV11()); - fields.put("v_12", item.getV12()); - fields.put("v_13", item.getV13()); - fields.put("v_14", item.getV14()); - fields.put("v_15", item.getV15()); - fields.put("v_16", item.getV16()); - fields.put("v_17", item.getV17()); - fields.put("v_18", item.getV18()); - fields.put("v_19", item.getV19()); - fields.put("v_20", item.getV20()); - fields.put("v_21", item.getV21()); - fields.put("v_22", item.getV22()); - fields.put("v_23", item.getV23()); - fields.put("v_24", item.getV24()); - fields.put("v_25", item.getV25()); - fields.put("v_26", item.getV26()); - fields.put("v_27", item.getV27()); - fields.put("v_28", item.getV28()); - fields.put("v_29", item.getV29()); - fields.put("v_30", item.getV30()); - fields.put("v_31", item.getV31()); - fields.put("v_32", item.getV32()); - fields.put("v_33", item.getV33()); - fields.put("v_34", item.getV34()); - fields.put("v_35", item.getV35()); - fields.put("v_36", item.getV36()); - fields.put("v_37", item.getV37()); - fields.put("v_38", item.getV38()); - fields.put("v_39", item.getV39()); - fields.put("v_40", item.getV40()); - fields.put("v_41", item.getV41()); - fields.put("v_42", item.getV42()); - fields.put("v_43", item.getV43()); - fields.put("v_44", item.getV44()); - fields.put("v_45", item.getV45()); - fields.put("v_46", item.getV46()); - fields.put("v_47", item.getV47()); - fields.put("v_48", item.getV48()); - fields.put("v_49", item.getV49()); - fields.put("v_50", item.getV50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_RATE_V, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入day_inharm_i表数据 - * - * @param list data_inharm_i表数据 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayInHarmI(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("i_1", item.getI1()); - fields.put("i_2", item.getI2()); - fields.put("i_3", item.getI3()); - fields.put("i_4", item.getI4()); - fields.put("i_5", item.getI5()); - fields.put("i_6", item.getI6()); - fields.put("i_7", item.getI7()); - fields.put("i_8", item.getI8()); - fields.put("i_9", item.getI9()); - fields.put("i_10", item.getI10()); - fields.put("i_11", item.getI11()); - fields.put("i_12", item.getI12()); - fields.put("i_13", item.getI13()); - fields.put("i_14", item.getI14()); - fields.put("i_15", item.getI15()); - fields.put("i_16", item.getI16()); - fields.put("i_17", item.getI17()); - fields.put("i_18", item.getI18()); - fields.put("i_19", item.getI19()); - fields.put("i_20", item.getI20()); - fields.put("i_21", item.getI21()); - fields.put("i_22", item.getI22()); - fields.put("i_23", item.getI23()); - fields.put("i_24", item.getI24()); - fields.put("i_25", item.getI25()); - fields.put("i_26", item.getI26()); - fields.put("i_27", item.getI27()); - fields.put("i_28", item.getI28()); - fields.put("i_29", item.getI29()); - fields.put("i_30", item.getI30()); - fields.put("i_31", item.getI31()); - fields.put("i_32", item.getI32()); - fields.put("i_33", item.getI33()); - fields.put("i_34", item.getI34()); - fields.put("i_35", item.getI35()); - fields.put("i_36", item.getI36()); - fields.put("i_37", item.getI37()); - fields.put("i_38", item.getI38()); - fields.put("i_39", item.getI39()); - fields.put("i_40", item.getI40()); - fields.put("i_41", item.getI41()); - fields.put("i_42", item.getI42()); - fields.put("i_43", item.getI43()); - fields.put("i_44", item.getI44()); - fields.put("i_45", item.getI45()); - fields.put("i_46", item.getI46()); - fields.put("i_47", item.getI47()); - fields.put("i_48", item.getI48()); - fields.put("i_49", item.getI49()); - fields.put("i_50", item.getI50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_IN_HARM_I, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入day_inharm_v表数据 - * - * @param list data_inharm_v表数据 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayInHarmV(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("v_1", item.getV1()); - fields.put("v_2", item.getV2()); - fields.put("v_3", item.getV3()); - fields.put("v_4", item.getV4()); - fields.put("v_5", item.getV5()); - fields.put("v_6", item.getV6()); - fields.put("v_7", item.getV7()); - fields.put("v_8", item.getV8()); - fields.put("v_9", item.getV9()); - fields.put("v_10", item.getV10()); - fields.put("v_11", item.getV11()); - fields.put("v_12", item.getV12()); - fields.put("v_13", item.getV13()); - fields.put("v_14", item.getV14()); - fields.put("v_15", item.getV15()); - fields.put("v_16", item.getV16()); - fields.put("v_17", item.getV17()); - fields.put("v_18", item.getV18()); - fields.put("v_19", item.getV19()); - fields.put("v_20", item.getV20()); - fields.put("v_21", item.getV21()); - fields.put("v_22", item.getV22()); - fields.put("v_23", item.getV23()); - fields.put("v_24", item.getV24()); - fields.put("v_25", item.getV25()); - fields.put("v_26", item.getV26()); - fields.put("v_27", item.getV27()); - fields.put("v_28", item.getV28()); - fields.put("v_29", item.getV29()); - fields.put("v_30", item.getV30()); - fields.put("v_31", item.getV31()); - fields.put("v_32", item.getV32()); - fields.put("v_33", item.getV33()); - fields.put("v_34", item.getV34()); - fields.put("v_35", item.getV35()); - fields.put("v_36", item.getV36()); - fields.put("v_37", item.getV37()); - fields.put("v_38", item.getV38()); - fields.put("v_39", item.getV39()); - fields.put("v_40", item.getV40()); - fields.put("v_41", item.getV41()); - fields.put("v_42", item.getV42()); - fields.put("v_43", item.getV43()); - fields.put("v_44", item.getV44()); - fields.put("v_45", item.getV45()); - fields.put("v_46", item.getV46()); - fields.put("v_47", item.getV47()); - fields.put("v_48", item.getV48()); - fields.put("v_49", item.getV49()); - fields.put("v_50", item.getV50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_IN_HARM_V, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入day_inharmrate_i表数据 - * - * @param list data_inharmrate_i表数据 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayInHarmRateI(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("i_1", item.getI1()); - fields.put("i_2", item.getI2()); - fields.put("i_3", item.getI3()); - fields.put("i_4", item.getI4()); - fields.put("i_5", item.getI5()); - fields.put("i_6", item.getI6()); - fields.put("i_7", item.getI7()); - fields.put("i_8", item.getI8()); - fields.put("i_9", item.getI9()); - fields.put("i_10", item.getI10()); - fields.put("i_11", item.getI11()); - fields.put("i_12", item.getI12()); - fields.put("i_13", item.getI13()); - fields.put("i_14", item.getI14()); - fields.put("i_15", item.getI15()); - fields.put("i_16", item.getI16()); - fields.put("i_17", item.getI17()); - fields.put("i_18", item.getI18()); - fields.put("i_19", item.getI19()); - fields.put("i_20", item.getI20()); - fields.put("i_21", item.getI21()); - fields.put("i_22", item.getI22()); - fields.put("i_23", item.getI23()); - fields.put("i_24", item.getI24()); - fields.put("i_25", item.getI25()); - fields.put("i_26", item.getI26()); - fields.put("i_27", item.getI27()); - fields.put("i_28", item.getI28()); - fields.put("i_29", item.getI29()); - fields.put("i_30", item.getI30()); - fields.put("i_31", item.getI31()); - fields.put("i_32", item.getI32()); - fields.put("i_33", item.getI33()); - fields.put("i_34", item.getI34()); - fields.put("i_35", item.getI35()); - fields.put("i_36", item.getI36()); - fields.put("i_37", item.getI37()); - fields.put("i_38", item.getI38()); - fields.put("i_39", item.getI39()); - fields.put("i_40", item.getI40()); - fields.put("i_41", item.getI41()); - fields.put("i_42", item.getI42()); - fields.put("i_43", item.getI43()); - fields.put("i_44", item.getI44()); - fields.put("i_45", item.getI45()); - fields.put("i_46", item.getI46()); - fields.put("i_47", item.getI47()); - fields.put("i_48", item.getI48()); - fields.put("i_49", item.getI49()); - fields.put("i_50", item.getI50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_IN_HARM_I, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:插入day_inharmrate_v表数据 - * - * @param list data_inharmrate_v表数据 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayInHarmRateV(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("v_1", item.getV1()); - fields.put("v_2", item.getV2()); - fields.put("v_3", item.getV3()); - fields.put("v_4", item.getV4()); - fields.put("v_5", item.getV5()); - fields.put("v_6", item.getV6()); - fields.put("v_7", item.getV7()); - fields.put("v_8", item.getV8()); - fields.put("v_9", item.getV9()); - fields.put("v_10", item.getV10()); - fields.put("v_11", item.getV11()); - fields.put("v_12", item.getV12()); - fields.put("v_13", item.getV13()); - fields.put("v_14", item.getV14()); - fields.put("v_15", item.getV15()); - fields.put("v_16", item.getV16()); - fields.put("v_17", item.getV17()); - fields.put("v_18", item.getV18()); - fields.put("v_19", item.getV19()); - fields.put("v_20", item.getV20()); - fields.put("v_21", item.getV21()); - fields.put("v_22", item.getV22()); - fields.put("v_23", item.getV23()); - fields.put("v_24", item.getV24()); - fields.put("v_25", item.getV25()); - fields.put("v_26", item.getV26()); - fields.put("v_27", item.getV27()); - fields.put("v_28", item.getV28()); - fields.put("v_29", item.getV29()); - fields.put("v_30", item.getV30()); - fields.put("v_31", item.getV31()); - fields.put("v_32", item.getV32()); - fields.put("v_33", item.getV33()); - fields.put("v_34", item.getV34()); - fields.put("v_35", item.getV35()); - fields.put("v_36", item.getV36()); - fields.put("v_37", item.getV37()); - fields.put("v_38", item.getV38()); - fields.put("v_39", item.getV39()); - fields.put("v_40", item.getV40()); - fields.put("v_41", item.getV41()); - fields.put("v_42", item.getV42()); - fields.put("v_43", item.getV43()); - fields.put("v_44", item.getV44()); - fields.put("v_45", item.getV45()); - fields.put("v_46", item.getV46()); - fields.put("v_47", item.getV47()); - fields.put("v_48", item.getV48()); - fields.put("v_49", item.getV49()); - fields.put("v_50", item.getV50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DATA_IN_HARM_V, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - - /** - * 功能描述:插入day_plt表数据 - * - * @param list data_plt集合 - * @param time 时间戳 - * @author xy - * @date 2022/5/12 8:55 - */ - private void insertDayPlt(List list, long time) { - List records = new ArrayList<>(); - list.forEach(item -> { - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id", item.getLineId()); - tags.put("phasic_type", item.getPhaseType()); - tags.put("quality_flag", item.getQualityFlag()); - tags.put("value_type", item.getValueType()); - fields.put("plt", item.getPlt()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_PLT, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE, item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG, item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE, item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * @Description: 组装 RMpHarmonicVRateReportDPO - * @Param: [dataV, dataHarmRateVPO,PhaseType] dataV:16条datav数据 - * @return: com.njcn.prepare.harmonic.pojo.po.line.RMpHarmonicVRateReportDPO - * @Author: clam - * @Date: 2022/10/25 - */ - private RMpHarmonicVRateReportD packageRMpHarmonicVRateReportDPO(List dataV, List dataHarmRateVPOList, String PhaseType, Instant instant) { - - RMpHarmonicVRateReportD result = null; - - List a = dataV.stream(). - filter(dataVPO -> Objects.equals(dataVPO.getPhasicType(), PhaseType)). - collect(Collectors.toList()); - List b = dataHarmRateVPOList.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - RMpHarmonicVRateReportD rMpHarmonicVRateReportDPO = new RMpHarmonicVRateReportD(); - if (!CollectionUtils.isEmpty(a) && !CollectionUtils.isEmpty(b)) { - result = new RMpHarmonicVRateReportD(); - result.setPhase(PhaseType); - result.setMeasurementPointId(dataV.get(0).getLineId()); - result.setDataDate(Date.from(instant)); - - for (int i = 0; i < a.size(); i++) { - DataV dataVPO = a.get(i); - if (Objects.equals(dataVPO.getValueType(), "MIN")) { - result.setVoltageHarmonicThdMin(dataVPO.getVThd()); - } - if (Objects.equals(dataVPO.getValueType(), "MAX")) { - result.setVoltageHarmonicThdMax(dataVPO.getVThd()); - } - if (Objects.equals(dataVPO.getValueType(), "AVG")) { - result.setVoltageHarmonicThdAvg(dataVPO.getVThd()); - - } - if (Objects.equals(dataVPO.getValueType(), "CP95")) { - result.setVoltageHarmonicThd95(dataVPO.getVThd()); - } - - } - - for (int j = 0; j < b.size(); j++) { - DataHarmRateV dataHarmRateVPO = b.get(j); - if (Objects.equals(dataHarmRateVPO.getValueType(), "MIN")) { - rMpHarmonicVRateReportDPO = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.dataVPOTORMpHarmonicPReportDPOMin(dataHarmRateVPO); - BeanUtils.copyProperties(rMpHarmonicVRateReportDPO, result, getNullPropertyNames(rMpHarmonicVRateReportDPO)); - } - if (Objects.equals(dataHarmRateVPO.getValueType(), "MAX")) { - rMpHarmonicVRateReportDPO = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.dataVPOTORMpHarmonicPReportDPOMax(dataHarmRateVPO); - BeanUtils.copyProperties(rMpHarmonicVRateReportDPO, result, getNullPropertyNames(rMpHarmonicVRateReportDPO)); - } - if (Objects.equals(dataHarmRateVPO.getValueType(), "AVG")) { - rMpHarmonicVRateReportDPO = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.dataVPOTORMpHarmonicPReportDPOAvg(dataHarmRateVPO); - BeanUtils.copyProperties(rMpHarmonicVRateReportDPO, result, getNullPropertyNames(rMpHarmonicVRateReportDPO)); - } - if (Objects.equals(dataHarmRateVPO.getValueType(), "CP95")) { - rMpHarmonicVRateReportDPO = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.dataVPOTORMpHarmonicPReportDPO95(dataHarmRateVPO); - BeanUtils.copyProperties(rMpHarmonicVRateReportDPO, result, getNullPropertyNames(rMpHarmonicVRateReportDPO)); - } - } - } - - - return result; - } - - - /** - * @Description: 组装 RMpHarmonicIMagReportDPO - * @Param: [dataI, PhaseType] dataI:16条dataI数据 - * @return: com.njcn.prepare.harmonic.pojo.po.line.RMpHarmonicVRateReportDPO - * @Author: clam - * @Date: 2022/10/25 - */ - private RMpHarmonicIMagReportD packageRMpHarmonicIMagReportDPO(List dataI, String PhaseType, Instant instant) { - - RMpHarmonicIMagReportD result = null; - - List a = dataI.stream(). - filter(dataIPO -> Objects.equals(dataIPO.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - RMpHarmonicIMagReportD rMpHarmonicIMagReportDPO = new RMpHarmonicIMagReportD(); - - if (!CollectionUtils.isEmpty(a)) { - result = new RMpHarmonicIMagReportD(); - result.setPhase(PhaseType); - result.setMeasurementPointId(dataI.get(0).getLineId()); - result.setDataDate(Date.from(instant)); - } - for (int j = 0; j < a.size(); j++) { - DataI dataIPO = a.get(j); - if (Objects.equals(dataIPO.getValueType(), "MIN")) { - rMpHarmonicIMagReportDPO = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.dataIPOTORMpHarmonicIMagReportDPOMin(dataIPO); - BeanUtils.copyProperties(rMpHarmonicIMagReportDPO, result, getNullPropertyNames(rMpHarmonicIMagReportDPO)); - } - if (Objects.equals(dataIPO.getValueType(), "MAX")) { - rMpHarmonicIMagReportDPO = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.dataIPOTORMpHarmonicIMagReportDPOMax(dataIPO); - BeanUtils.copyProperties(rMpHarmonicIMagReportDPO, result, getNullPropertyNames(rMpHarmonicIMagReportDPO)); - } - if (Objects.equals(dataIPO.getValueType(), "AVG")) { - rMpHarmonicIMagReportDPO = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.dataIPOTORMpHarmonicIMagReportDPOAvg(dataIPO); - BeanUtils.copyProperties(rMpHarmonicIMagReportDPO, result, getNullPropertyNames(rMpHarmonicIMagReportDPO)); - } - if (Objects.equals(dataIPO.getValueType(), "CP95")) { - rMpHarmonicIMagReportDPO = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.dataIPOTORMpHarmonicIMagReportDPO95(dataIPO); - BeanUtils.copyProperties(rMpHarmonicIMagReportDPO, result, getNullPropertyNames(rMpHarmonicIMagReportDPO)); - } - } - - - return result; - } - - /** - * @Description: packageRMpFlickerReportDPOPO - * @Param: [dataFlickerPO, PhaseType] - * @return: com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpFlickerReportDPO - * @Author: clam - * @Date: 2022/10/26 - */ - private RMpFlickerReportDPO packageRMpFlickerReportDPOPO(List dataFlickerPO, String PhaseType, Instant instant) { - - RMpFlickerReportDPO result = null; - - List a = dataFlickerPO.stream(). - filter(dataFlicker -> Objects.equals(dataFlicker.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - RMpFlickerReportDPO covertBean = new RMpFlickerReportDPO(); - - if (!CollectionUtils.isEmpty(a)) { - result = new RMpFlickerReportDPO(); - result.setPhase(PhaseType); - result.setMeasurementPointId(dataFlickerPO.get(0).getLineId()); - result.setDataDate(Date.from(instant)); - } - - for (int j = 0; j < a.size(); j++) { - DataFlicker temp = a.get(j); - if (Objects.equals(temp.getValueType(), "MIN")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.rMpFlickerReportDPOConverterMin(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "MAX")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.rMpFlickerReportDPOConverterMax(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "AVG")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.rMpFlickerReportDPOConverterAvg(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "CP95")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.rMpFlickerReportDPOConverter95(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - } - - - return result; - } - - /** - * @Description: packageRMpPltReportDPO - * @Param: [dataFlickerPO, PhaseType] - * @return: com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpFlickerReportDPO - * @Author: clam - * @Date: 2022/10/26 - */ - private RMpPltReportDPO packageRMpPltReportDPO(List dataPlt, String PhaseType, Instant instant) { - - RMpPltReportDPO result = null; - - List a = dataPlt.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - RMpPltReportDPO covertBean = new RMpPltReportDPO(); - - if (!CollectionUtils.isEmpty(a)) { - result = new RMpPltReportDPO(); - result.setPhase(PhaseType); - result.setMeasurementPointId(dataPlt.get(0).getLineId()); - result.setDataDate(Date.from(instant)); - } - - for (int j = 0; j < a.size(); j++) { - DataPlt temp = a.get(j); - if (Objects.equals(temp.getValueType(), "MIN")) { - result.setLongTimeFlashingMin(temp.getPlt()); - } - if (Objects.equals(temp.getValueType(), "MAX")) { - result.setLongTimeFlashingMax(temp.getPlt()); - - } - if (Objects.equals(temp.getValueType(), "AVG")) { - result.setLongTimeFlashingAvg(temp.getPlt()); - - } - if (Objects.equals(temp.getValueType(), "CP95")) { - result.setLongTimeFlashing95(temp.getPlt()); - - } - } - - - return result; - } - - /** - * @Description: packageRMpHarmonicIRateReportDPO - * @Param: [dataInHarmRateIPO, PhaseType] - * @return: com.njcn.prepare.harmonic.pojo.po.line.RMpHarmonicIRateReportDPO - * @Author: clam - * @Date: 2022/10/26 - */ - private RMpHarmonicIRateReportD packageRMpHarmonicIRateReportDPO(List dataHarmRateIPOList, String PhaseType, Instant instant) { - - RMpHarmonicIRateReportD result = null; - - List a = dataHarmRateIPOList.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - RMpHarmonicIRateReportD covertBean = new RMpHarmonicIRateReportD(); - - if (!CollectionUtils.isEmpty(a)) { - result = new RMpHarmonicIRateReportD(); - result.setPhase(PhaseType); - result.setMeasurementPointId(dataHarmRateIPOList.get(0).getLineId()); - result.setDataDate(Date.from(instant)); - } - - for (int j = 0; j < a.size(); j++) { - DataHarmRateI temp = a.get(j); - if (Objects.equals(temp.getValueType(), "MIN")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpHarmonicIRateReportDPOConverterMin(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "MAX")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpHarmonicIRateReportDPOConverterMax(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "AVG")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpHarmonicIRateReportDPOConverterAvg(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "CP95")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpHarmonicIRateReportDPOConverter95(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - } - - - return result; - } - - /** - * @Description: packageRMpInharmonicIRateReportDPO - * @Param: [dataInHarmRateIPO, PhaseType] - * @return: com.njcn.prepare.harmonic.pojo.po.line.RMpInharmonicIRateReportDPO - * @Author: clam - * @Date: 2022/10/26 - */ - private RMpInharmonicIRateReportD packageRMpInharmonicIRateReportDPO(List dataInHarmRateIPO, String PhaseType, Instant instant) { - RMpInharmonicIRateReportD result = null; - - List a = dataInHarmRateIPO.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - RMpInharmonicIRateReportD covertBean = new RMpInharmonicIRateReportD(); - - if (!CollectionUtils.isEmpty(a)) { - result = new RMpInharmonicIRateReportD(); - result.setPhase(PhaseType); - result.setMeasurementPointId(dataInHarmRateIPO.get(0).getLineId()); - result.setDataDate(Date.from(instant)); - } - for (int j = 0; j < a.size(); j++) { - DataInHarmRateI temp = a.get(j); - if (Objects.equals(temp.getValueType(), "MIN")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverterMin(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "MAX")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverterMax(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "AVG")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverterAvg(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "CP95")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverter95(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - } - - - return result; - - } - - /** - * @Description: packageRMpInharmonicIMagReportDPO - * @Param: [dataInHarmIPO, PhaseType] - * @return: com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpInharmonicIMagReportDPO - * @Author: clam - * @Date: 2022/10/27 - */ - private RMpInharmonicIMagReportDPO packageRMpInharmonicIMagReportDPO(List dataInHarmIPO, String PhaseType, Instant instant) { - - RMpInharmonicIMagReportDPO result = null; - - List a = dataInHarmIPO.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - RMpInharmonicIMagReportDPO covertBean = new RMpInharmonicIMagReportDPO(); - - if (!CollectionUtils.isEmpty(a)) { - result = new RMpInharmonicIMagReportDPO(); - result.setPhase(PhaseType); - result.setMeasurementPointId(dataInHarmIPO.get(0).getLineId()); - result.setDataDate(Date.from(instant)); - } - for (int j = 0; j < a.size(); j++) { - DataInHarmI temp = a.get(j); - if (Objects.equals(temp.getValueType(), "MIN")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIMagReportDPOConverterMin(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "MAX")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIMagReportDPOConverterMax(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "AVG")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIMagReportDPOConverterAvg(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "CP95")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIMagReportDPOConverter95(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - } - - - return result; - - } - - /** - * @Description: packageRMpInharmonicVRateReportDPO - * @Param: [dataInHarmRateVPO, PhaseType] - * @return: com.njcn.prepare.harmonic.pojo.po.line.RMpInharmonicVRateReportDPO - * @Author: clam - * @Date: 2022/10/27 - */ - private RMpInharmonicVRateReportD packageRMpInharmonicVRateReportDPO(List dataInHarmRateVPO, String PhaseType, Instant instant) { - - RMpInharmonicVRateReportD result = null; - - List a = dataInHarmRateVPO.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - RMpInharmonicVRateReportD covertBean = new RMpInharmonicVRateReportD(); - - if (!CollectionUtils.isEmpty(a)) { - result = new RMpInharmonicVRateReportD(); - result.setPhase(PhaseType); - result.setMeasurementPointId(dataInHarmRateVPO.get(0).getLineId()); - result.setDataDate(Date.from(instant)); - } - - for (int j = 0; j < a.size(); j++) { - DataInHarmRateV temp = a.get(j); - if (Objects.equals(temp.getValueType(), "MIN")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicVRateReportDPOConverterMin(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "MAX")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicVRateReportDPOConverterMax(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "AVG")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicVRateReportDPOConverterAvg(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "CP95")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicVRateReportDPOConverter95(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - } - - - return result; - - } - - /** - * @Description: packageRMpHarmonicPReportDPO - * @Param: [dataHarmPowerPPO, dataHarmPowerQPO, PhaseType] - * @return: com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpHarmonicPReportDPO - * @Author: clam - * @Date: 2022/10/28 - */ - private RMpHarmonicPReportDPO packageRMpHarmonicPReportDPO(List dataHarmPowerPPO, List dataHarmPowerQPO, String PhaseType, Instant instant) { - - RMpHarmonicPReportDPO result = null; - - List a = dataHarmPowerPPO.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - - List b = dataHarmPowerQPO.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - RMpInharmonicVRateReportD covertBean = new RMpInharmonicVRateReportD(); - - if (!CollectionUtils.isEmpty(a) && !CollectionUtils.isEmpty(b)) { - result = new RMpHarmonicPReportDPO(); - result.setPhase(PhaseType); - result.setMeasurementPointId(dataHarmPowerPPO.get(0).getLineId()); - result.setDataDate(Date.from(instant)); - } - - for (int j = 0; j < b.size(); j++) { - DataHarmPowerQ temp = b.get(j); - if (Objects.equals(temp.getValueType(), "MIN")) { - result.setFundamentalRateofworkMin(temp.getQ1()); - } - if (Objects.equals(temp.getValueType(), "MAX")) { - result.setFundamentalRateofworkMax(temp.getQ1()); - - } - if (Objects.equals(temp.getValueType(), "AVG")) { - result.setFundamentalRateofworkAvg(temp.getQ1()); - - } - if (Objects.equals(temp.getValueType(), "CP95")) { - result.setFundamentalRateofwork95(temp.getQ1()); - - } - } - - - for (int j = 0; j < a.size(); j++) { - DataHarmPowerP temp = a.get(j); - if (Objects.equals(temp.getValueType(), "MIN")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpHarmonicPReportDPOConverterMin(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "MAX")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpHarmonicPReportDPOConverterMax(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "AVG")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpHarmonicPReportDPOConverterAvg(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - if (Objects.equals(temp.getValueType(), "CP95")) { - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpHarmonicPReportDPOConverter95(temp); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - } - - - return result; - } - - - private RMpMeasurePhaseReportD packageRMpMeasurePhaseReportDPO(List dataV, List dataI, List dataHarmPowerPPO, List dataHarmPowers, List dataHarmPowerQPO, String PhaseType, Instant instant) { - RMpMeasurePhaseReportD result = null; - - List a = dataV.stream(). - filter(temp -> Objects.equals(temp.getPhasicType(), PhaseType)). - collect(Collectors.toList()); - - List b = dataI.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - - List c = dataHarmPowerPPO.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - - List d = dataHarmPowers.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - - List e = dataHarmPowerQPO.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - RMpMeasurePhaseReportD covertBean = new RMpMeasurePhaseReportD(); - - if (!CollectionUtils.isEmpty(a) && !CollectionUtils.isEmpty(b)) { - result = new RMpMeasurePhaseReportD(); - result.setPhase(PhaseType); - result.setMeasurementPointId(dataHarmPowerPPO.get(0).getLineId()); - result.setDataDate(Date.from(instant)); - } - //todo 非空判断 - /*max*/ - List maxList = a.stream().filter(temp -> Objects.equals(temp.getValueType(), "MAX")). - collect(Collectors.toList()); - List max1List = b.stream().filter(temp -> Objects.equals(temp.getValueType(), "MAX")). - collect(Collectors.toList()); - List max2List = c.stream().filter(temp -> Objects.equals(temp.getValueType(), "MAX")). - collect(Collectors.toList()); - List max3List = d.stream().filter(temp -> Objects.equals(temp.getValueType(), "MAX")). - collect(Collectors.toList()); - List max4List = e.stream().filter(temp -> Objects.equals(temp.getValueType(), "MAX")). - collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(maxList) - && !CollectionUtils.isEmpty(max1List) - && !CollectionUtils.isEmpty(max2List) - && !CollectionUtils.isEmpty(max3List) - && !CollectionUtils.isEmpty(max4List)) { - DataV max = maxList.get(0); - DataI max1 = max1List.get(0); - DataHarmPowerP max2 = max2List.get(0); - DataHarmPowerS max3 = max3List.get(0); - DataHarmPowerQ max4 = max4List.get(0); - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterMax(max, max1, max2, max3, max4); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - - - /*min*/ - List minList = a.stream().filter(temp -> Objects.equals(temp.getValueType(), "MIN")). - collect(Collectors.toList()); - List min1List = b.stream().filter(temp -> Objects.equals(temp.getValueType(), "MIN")). - collect(Collectors.toList()); - List min2List = c.stream().filter(temp -> Objects.equals(temp.getValueType(), "MIN")). - collect(Collectors.toList()); - List min3List = d.stream().filter(temp -> Objects.equals(temp.getValueType(), "MIN")). - collect(Collectors.toList()); - List min4List = e.stream().filter(temp -> Objects.equals(temp.getValueType(), "MIN")). - collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(minList) - && !CollectionUtils.isEmpty(min1List) - && !CollectionUtils.isEmpty(min2List) - && !CollectionUtils.isEmpty(min3List) - && !CollectionUtils.isEmpty(min4List)) { - DataV min = minList.get(0); - DataI min1 = min1List.get(0); - DataHarmPowerP min2 = min2List.get(0); - DataHarmPowerS min3 = min3List.get(0); - DataHarmPowerQ min4 = min4List.get(0); - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterMin(min, min1, min2, min3, min4); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - - - /*avg*/ - List avgList = a.stream().filter(temp -> Objects.equals(temp.getValueType(), "AVG")). - collect(Collectors.toList()); - List avg1List = b.stream().filter(temp -> Objects.equals(temp.getValueType(), "AVG")). - collect(Collectors.toList()); - List avg2List = c.stream().filter(temp -> Objects.equals(temp.getValueType(), "AVG")). - collect(Collectors.toList()); - List avg3List = d.stream().filter(temp -> Objects.equals(temp.getValueType(), "AVG")). - collect(Collectors.toList()); - List avg4List = e.stream().filter(temp -> Objects.equals(temp.getValueType(), "AVG")). - collect(Collectors.toList()); - - if (!CollectionUtils.isEmpty(avgList) - && !CollectionUtils.isEmpty(avg1List) - && !CollectionUtils.isEmpty(avg2List) - && !CollectionUtils.isEmpty(avg3List) - && !CollectionUtils.isEmpty(avg4List)) { - DataV avg = avgList.get(0); - DataI avg1 = avg1List.get(0); - DataHarmPowerP avg2 = avg2List.get(0); - DataHarmPowerS avg3 = avg3List.get(0); - DataHarmPowerQ avg4 = avg4List.get(0); - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterAVg(avg, avg1, avg2, avg3, avg4); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - - - /*cp95*/ - List cp95List = a.stream().filter(temp -> Objects.equals(temp.getValueType(), "CP95")). - collect(Collectors.toList()); - List cp951List = b.stream().filter(temp -> Objects.equals(temp.getValueType(), "CP95")). - collect(Collectors.toList()); - List cp952List = c.stream().filter(temp -> Objects.equals(temp.getValueType(), "CP95")). - collect(Collectors.toList()); - List cp953List = d.stream().filter(temp -> Objects.equals(temp.getValueType(), "CP95")). - collect(Collectors.toList()); - List cp954List = e.stream().filter(temp -> Objects.equals(temp.getValueType(), "CP95")). - collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(cp95List) - && !CollectionUtils.isEmpty(cp951List) - && !CollectionUtils.isEmpty(cp952List) - && !CollectionUtils.isEmpty(cp953List) - && !CollectionUtils.isEmpty(cp954List)) { - DataV cp95 = cp95List.get(0); - DataI cp951 = cp951List.get(0); - DataHarmPowerP cp952 = cp952List.get(0); - DataHarmPowerS cp953 = cp953List.get(0); - DataHarmPowerQ cp954 = cp954List.get(0); - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterCp95(cp95, cp951, cp952, cp953, cp954); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - - - return result; - - } - - private RMpMeasureReportD packageRMpMeasureReportDPO(List dataV, List dataI, List dataHarmPowerPPO, List dataHarmPowers, List dataHarmPowerQPO, String PhaseType, Instant instant) { - RMpMeasureReportD result = null; - - List a = dataV.stream(). - filter(temp -> Objects.equals(temp.getPhasicType(), PhaseType)). - collect(Collectors.toList()); - - List b = dataI.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - - List c = dataHarmPowerPPO.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - - List d = dataHarmPowers.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - - List e = dataHarmPowerQPO.stream(). - filter(temp -> Objects.equals(temp.getPhaseType(), PhaseType)). - collect(Collectors.toList()); - RMpMeasureReportD covertBean = new RMpMeasureReportD(); - - if (!CollectionUtils.isEmpty(a) && !CollectionUtils.isEmpty(b)) { - result = new RMpMeasureReportD(); - result.setMeasurementPointId(dataHarmPowerPPO.get(0).getLineId()); - result.setDataDate(Date.from(instant)); - } - //todo 非空判断 - /*max*/ - List maxList = a.stream().filter(temp -> Objects.equals(temp.getValueType(), "MAX")). - collect(Collectors.toList()); - List max1List = b.stream().filter(temp -> Objects.equals(temp.getValueType(), "MAX")). - collect(Collectors.toList()); - List max2List = c.stream().filter(temp -> Objects.equals(temp.getValueType(), "MAX")). - collect(Collectors.toList()); - List max3List = d.stream().filter(temp -> Objects.equals(temp.getValueType(), "MAX")). - collect(Collectors.toList()); - List max4List = e.stream().filter(temp -> Objects.equals(temp.getValueType(), "MAX")). - collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(maxList) - && !CollectionUtils.isEmpty(max1List) - && !CollectionUtils.isEmpty(max2List) - && !CollectionUtils.isEmpty(max3List) - && !CollectionUtils.isEmpty(max4List)) { - DataV max = maxList.get(0); - DataI max1 = max1List.get(0); - DataHarmPowerP max2 = max2List.get(0); - DataHarmPowerS max3 = max3List.get(0); - DataHarmPowerQ max4 = max4List.get(0); - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasureReportDPOConverterMax(max, max1, max2, max3, max4); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - - - /*min*/ - List minList = a.stream().filter(temp -> Objects.equals(temp.getValueType(), "MIN")). - collect(Collectors.toList()); - List min1List = b.stream().filter(temp -> Objects.equals(temp.getValueType(), "MIN")). - collect(Collectors.toList()); - List min2List = c.stream().filter(temp -> Objects.equals(temp.getValueType(), "MIN")). - collect(Collectors.toList()); - List min3List = d.stream().filter(temp -> Objects.equals(temp.getValueType(), "MIN")). - collect(Collectors.toList()); - List min4List = e.stream().filter(temp -> Objects.equals(temp.getValueType(), "MIN")). - collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(minList) - && !CollectionUtils.isEmpty(min1List) - && !CollectionUtils.isEmpty(min2List) - && !CollectionUtils.isEmpty(min3List) - && !CollectionUtils.isEmpty(min4List)) { - DataV min = minList.get(0); - DataI min1 = min1List.get(0); - DataHarmPowerP min2 = min2List.get(0); - DataHarmPowerS min3 = min3List.get(0); - DataHarmPowerQ min4 = min4List.get(0); - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasureReportDPOConverterMin(min, min1, min2, min3, min4); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - - - /*avg*/ - List avgList = a.stream().filter(temp -> Objects.equals(temp.getValueType(), "AVG")). - collect(Collectors.toList()); - List avg1List = b.stream().filter(temp -> Objects.equals(temp.getValueType(), "AVG")). - collect(Collectors.toList()); - List avg2List = c.stream().filter(temp -> Objects.equals(temp.getValueType(), "AVG")). - collect(Collectors.toList()); - List avg3List = d.stream().filter(temp -> Objects.equals(temp.getValueType(), "AVG")). - collect(Collectors.toList()); - List avg4List = e.stream().filter(temp -> Objects.equals(temp.getValueType(), "AVG")). - collect(Collectors.toList()); - - if (!CollectionUtils.isEmpty(avgList) - && !CollectionUtils.isEmpty(avg1List) - && !CollectionUtils.isEmpty(avg2List) - && !CollectionUtils.isEmpty(avg3List) - && !CollectionUtils.isEmpty(avg4List)) { - DataV avg = avgList.get(0); - DataI avg1 = avg1List.get(0); - DataHarmPowerP avg2 = avg2List.get(0); - DataHarmPowerS avg3 = avg3List.get(0); - DataHarmPowerQ avg4 = avg4List.get(0); - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasureReportDPOConverterAVg(avg, avg1, avg2, avg3, avg4); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - - - /*cp95*/ - List cp95List = a.stream().filter(temp -> Objects.equals(temp.getValueType(), "CP95")). - collect(Collectors.toList()); - List cp951List = b.stream().filter(temp -> Objects.equals(temp.getValueType(), "CP95")). - collect(Collectors.toList()); - List cp952List = c.stream().filter(temp -> Objects.equals(temp.getValueType(), "CP95")). - collect(Collectors.toList()); - List cp953List = d.stream().filter(temp -> Objects.equals(temp.getValueType(), "CP95")). - collect(Collectors.toList()); - List cp954List = e.stream().filter(temp -> Objects.equals(temp.getValueType(), "CP95")). - collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(cp95List) - && !CollectionUtils.isEmpty(cp951List) - && !CollectionUtils.isEmpty(cp952List) - && !CollectionUtils.isEmpty(cp953List) - && !CollectionUtils.isEmpty(cp954List)) { - DataV cp95 = cp95List.get(0); - DataI cp951 = cp951List.get(0); - DataHarmPowerP cp952 = cp952List.get(0); - DataHarmPowerS cp953 = cp953List.get(0); - DataHarmPowerQ cp954 = cp954List.get(0); - covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasureReportDPOConverterCp95(cp95, cp951, cp952, cp953, cp954); - BeanUtils.copyProperties(covertBean, result, getNullPropertyNames(covertBean)); - } - - return result; - - } - - /** - * 获取所有字段为null的属性名 - * - * @param source * @return */ - public String[] getNullPropertyNames(Object source) { - final BeanWrapper src = new BeanWrapperImpl(source); - java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors(); - - Set emptyNames = new HashSet(); - for (java.beans.PropertyDescriptor pd : pds) { - Object srcValue = src.getPropertyValue(pd.getName()); - if (srcValue == null) { - emptyNames.add(pd.getName()); - } - } - String[] result = new String[emptyNames.size()]; - return emptyNames.toArray(result); - + public List getDataPlt(List lineIndex, String startTime, String endTime) { + List result = new ArrayList<>(); + //最小值 + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataPlt.class); + influxQueryWrapper.regular(DataInHarmRateV::getLineId, lineIndex) + .eq(DataPlt::getValueType, InfluxDbSqlConstant.MIN) + .min(DataPlt::getPlt) + .groupBy(DataPlt::getLineId,DataPlt::getPhaseType,DataPlt::getQualityFlag,DataPlt::getValueType) + .between(DataPlt::getTime, startTime, endTime); + List result1 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper); + result.addAll(result1); + //最大值 + InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataPlt.class); + influxQueryWrapper2.regular(DataPlt::getLineId, lineIndex) + .eq(DataPlt::getValueType, InfluxDbSqlConstant.MAX) + .max(DataPlt::getPlt) + .groupBy(DataPlt::getLineId,DataPlt::getPhaseType,DataPlt::getQualityFlag,DataPlt::getValueType) + .between(DataPlt::getTime, startTime, endTime); + List result2 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper2); + result.addAll(result2); + //平均值 + InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataPlt.class); + influxQueryWrapper3.regular(DataPlt::getLineId, lineIndex) + .eq(DataPlt::getValueType, InfluxDbSqlConstant.AVG_WEB) + .mean(DataPlt::getPlt) + .groupBy(DataPlt::getLineId,DataPlt::getPhaseType,DataPlt::getQualityFlag,DataPlt::getValueType) + .between(DataPlt::getTime, startTime, endTime); + List result3 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper3); + result.addAll(result3); + //CP95(取平均值的CP95值) + InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataPlt.class); + influxQueryWrapper4.regular(DataPlt::getLineId, lineIndex) + .eq(DataPlt::getValueType, InfluxDbSqlConstant.AVG_WEB) + .percentile(DataPlt::getPlt,95) + .groupBy(DataPlt::getLineId,DataPlt::getPhaseType,DataPlt::getQualityFlag,DataPlt::getValueType) + .between(DataPlt::getTime, startTime, endTime); + List result4 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper4); + result4.forEach(item->{ + item.setValueType(InfluxDbSqlConstant.CP95); + }); + result.addAll(result4); + return result; } - } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/day/IRStatDataHarmpowerPDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/day/IRStatDataHarmpowerPDService.java index 5c6173e37..2595dcb14 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/day/IRStatDataHarmpowerPDService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/day/IRStatDataHarmpowerPDService.java @@ -1,10 +1,11 @@ package com.njcn.prepare.harmonic.service.mysql.day; +import com.github.jeffreyning.mybatisplus.service.IMppService; import com.njcn.harmonic.pojo.po.day.RStatDataHarmpowerPDPO; import java.util.List; -public interface IRStatDataHarmpowerPDService { +public interface IRStatDataHarmpowerPDService extends IMppService { void insert(List list); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/DayDataService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/DayDataService.java index b5faba245..d09641fc3 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/DayDataService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/DayDataService.java @@ -1,6 +1,6 @@ package com.njcn.prepare.harmonic.service.mysql.line; -import java.util.List; +import com.njcn.prepare.bo.CalculatedParam; /** * Description: @@ -11,21 +11,13 @@ import java.util.List; * @version V1.0.0 */ public interface DayDataService { - /** - * @Description: 生成day表相关数据 - * @Param: [indexLists, startTime, endTime] - * @return: void - * @Author: clam - * @Date: 2022/10/24 - */ - //void dayDataJobHandler(List indexLists, String startTime, String endTime); - /** - * 处理day表,并将数据入MySQL库中 - * @param indexLists - * @param startTime - * @param endTime - * @param calType 0.mysql 1.influxb 2.两个都处理 + /*** + * 监测点报表_日表 + * @author xuyang + * @date 2023/11/09 10:08 + * @param calculatedParam 查询条件 */ - void dataToDayHandler(List indexLists, String startTime, String endTime,Integer calType); + void dataToDayHandler(CalculatedParam calculatedParam); + }