Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -20,7 +20,7 @@ import lombok.Setter;
|
|||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@TableName("r_dim_bus_global_d")
|
@TableName("r_dim_bus_global_d")
|
||||||
public class RDimBusGlobalD extends BaseEntity {
|
public class RDimBusGlobalD {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@@ -36,11 +36,6 @@ public class RDimBusGlobalD extends BaseEntity {
|
|||||||
@MppMultiId
|
@MppMultiId
|
||||||
private LocalDate statisDate;
|
private LocalDate statisDate;
|
||||||
|
|
||||||
/**
|
|
||||||
* 母线监测率(%)
|
|
||||||
*/
|
|
||||||
private Float monitorRate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 稳态指标超标或监测到暂态指标的变电站/换流站母线占比(%)
|
* 稳态指标超标或监测到暂态指标的变电站/换流站母线占比(%)
|
||||||
*/
|
*/
|
||||||
@@ -51,12 +46,6 @@ public class RDimBusGlobalD extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private Float limitAvgRate;
|
private Float limitAvgRate;
|
||||||
|
|
||||||
/**
|
|
||||||
* 电站监测率(%)
|
|
||||||
*/
|
|
||||||
private Float stationMonitorRate;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电站指标超标或监测到暂态指标的变电站/换流站占比(%)
|
* 电站指标超标或监测到暂态指标的变电站/换流站占比(%)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.harmonic.pojo.po.dim;
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
import com.njcn.db.bo.BaseEntity;
|
import com.njcn.db.bo.BaseEntity;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -23,16 +24,19 @@ public class RDimBusGlobalM extends BaseEntity {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
private String orgId;
|
private String orgId;
|
||||||
|
@MppMultiId
|
||||||
private LocalDate statisDate;
|
private LocalDate statisDate;
|
||||||
|
|
||||||
private Float monitorRate;
|
|
||||||
|
|
||||||
private Float limitRate;
|
private Float limitRate;
|
||||||
|
|
||||||
private Float limitAvgRate;
|
private Float limitAvgRate;
|
||||||
|
|
||||||
|
private Float stationLimitRate;
|
||||||
|
|
||||||
|
private Float stationLimitAvgRate;
|
||||||
|
|
||||||
private Integer state;
|
private Integer state;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.harmonic.pojo.po.dim;
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
import com.njcn.db.bo.BaseEntity;
|
import com.njcn.db.bo.BaseEntity;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -19,21 +20,23 @@ import lombok.Setter;
|
|||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@TableName("r_dim_bus_global_y")
|
@TableName("r_dim_bus_global_y")
|
||||||
public class RDimBusGlobalY extends BaseEntity {
|
public class RDimBusGlobalY {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
@MppMultiId
|
||||||
private String orgId;
|
private String orgId;
|
||||||
|
@MppMultiId
|
||||||
private LocalDate statisDate;
|
private LocalDate statisDate;
|
||||||
|
|
||||||
private Float monitorRate;
|
|
||||||
|
|
||||||
private Float limitRate;
|
private Float limitRate;
|
||||||
|
|
||||||
private Float limitAvgRate;
|
private Float limitAvgRate;
|
||||||
|
|
||||||
private Integer state;
|
private Float stationLimitRate;
|
||||||
|
|
||||||
|
private Float stationLimitAvgRate;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_bus_station_event_d")
|
||||||
|
public class RDimBusStationEventD {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站母线占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站母线暂态指标发生频次(次/线)
|
||||||
|
*/
|
||||||
|
private Float limitFreq;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站占比(%)
|
||||||
|
*/
|
||||||
|
private Float stationLimitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站暂态指标发生频次(次/站)
|
||||||
|
*/
|
||||||
|
private Float stationFreq;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_bus_station_event_m")
|
||||||
|
public class RDimBusStationEventM{
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站母线占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站母线暂态指标发生频次(次/线)
|
||||||
|
*/
|
||||||
|
private Float limitFreq;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站占比(%)
|
||||||
|
*/
|
||||||
|
private Float stationLimitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站暂态指标发生频次(次/站)
|
||||||
|
*/
|
||||||
|
private Float stationFreq;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_bus_station_event_y")
|
||||||
|
public class RDimBusStationEventY {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站母线占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站母线暂态指标发生频次(次/线)
|
||||||
|
*/
|
||||||
|
private Float limitFreq;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站占比(%)
|
||||||
|
*/
|
||||||
|
private Float stationLimitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站暂态指标发生频次(次/站)
|
||||||
|
*/
|
||||||
|
private Float stationFreq;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.harmonic.pojo.po.dim;
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
import com.njcn.db.bo.BaseEntity;
|
import com.njcn.db.bo.BaseEntity;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -26,16 +27,19 @@ public class RDimStationBaseD extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 统计时间yyyy-mm-dd
|
* 统计时间yyyy-mm-dd
|
||||||
*/
|
*/
|
||||||
|
@MppMultiId
|
||||||
private LocalDate statisDate;
|
private LocalDate statisDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电站id
|
* 电站id
|
||||||
*/
|
*/
|
||||||
|
@MppMultiId
|
||||||
private String stationId;
|
private String stationId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 稳态,暂态指标类型(字典)
|
* 稳态,暂态指标类型(字典)
|
||||||
*/
|
*/
|
||||||
|
@MppMultiId
|
||||||
private String targetType;
|
private String targetType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.harmonic.pojo.po.dim;
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
import com.njcn.db.bo.BaseEntity;
|
import com.njcn.db.bo.BaseEntity;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -23,13 +24,16 @@ public class RDimStationTargetM extends BaseEntity {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
private String orgId;
|
private String orgId;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
private LocalDate statisDate;
|
private LocalDate statisDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 统计类型
|
* 统计类型
|
||||||
*/
|
*/
|
||||||
|
@MppMultiId
|
||||||
private String targetType;
|
private String targetType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.harmonic.pojo.po.dim;
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
import com.njcn.db.bo.BaseEntity;
|
import com.njcn.db.bo.BaseEntity;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -23,13 +24,16 @@ public class RDimStationTargetY extends BaseEntity {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
private String orgId;
|
private String orgId;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
private LocalDate statisDate;
|
private LocalDate statisDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 统计类型
|
* 统计类型
|
||||||
*/
|
*/
|
||||||
|
@MppMultiId
|
||||||
private String targetType;
|
private String targetType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public class PmsDimExecutor extends BaseExecutor{
|
|||||||
//数据补招不执行非日表算法
|
//数据补招不执行非日表算法
|
||||||
if (!calculatedParam.isRepair()) {
|
if (!calculatedParam.isRepair()) {
|
||||||
//月表
|
//月表
|
||||||
irDimBusGlobalDService.globalCalBusBarMonth(calculatedParam);
|
//irDimBusGlobalDService.globalCalBusBarMonth(calculatedParam);
|
||||||
}
|
}
|
||||||
} else if (Objects.equals(tag,"r_dim_bus_global_y")) {
|
} else if (Objects.equals(tag,"r_dim_bus_global_y")) {
|
||||||
//数据补招不执行非日表算法
|
//数据补招不执行非日表算法
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
|||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM;
|
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -12,6 +13,6 @@ import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM;
|
|||||||
* @author hongawen
|
* @author hongawen
|
||||||
* @since 2023-11-14
|
* @since 2023-11-14
|
||||||
*/
|
*/
|
||||||
public interface RDimBusGlobalMMapper extends BaseMapper<RDimBusGlobalM> {
|
public interface RDimBusGlobalMMapper extends MppBaseMapper<RDimBusGlobalM> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
|||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY;
|
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -12,6 +13,6 @@ import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY;
|
|||||||
* @author hongawen
|
* @author hongawen
|
||||||
* @since 2023-11-14
|
* @since 2023-11-14
|
||||||
*/
|
*/
|
||||||
public interface RDimBusGlobalYMapper extends BaseMapper<RDimBusGlobalY> {
|
public interface RDimBusGlobalYMapper extends MppBaseMapper<RDimBusGlobalY> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
public interface RDimBusStationEventDMapper extends MppBaseMapper<RDimBusStationEventD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventM;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
public interface RDimBusStationEventMMapper extends MppBaseMapper<RDimBusStationEventM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventY;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
public interface RDimBusStationEventYMapper extends MppBaseMapper<RDimBusStationEventY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetD;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetD;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -11,6 +12,6 @@ import com.njcn.harmonic.pojo.po.dim.RDimStationTargetD;
|
|||||||
* @author cdf
|
* @author cdf
|
||||||
* @since 2023-11-21
|
* @since 2023-11-21
|
||||||
*/
|
*/
|
||||||
public interface RDimStationTargetDMapper extends BaseMapper<RDimStationTargetD> {
|
public interface RDimStationTargetDMapper extends MppBaseMapper<RDimStationTargetD> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetM;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -11,6 +12,6 @@ import com.njcn.harmonic.pojo.po.dim.RDimStationTargetM;
|
|||||||
* @author cdf
|
* @author cdf
|
||||||
* @since 2023-11-21
|
* @since 2023-11-21
|
||||||
*/
|
*/
|
||||||
public interface RDimStationTargetMMapper extends BaseMapper<RDimStationTargetM> {
|
public interface RDimStationTargetMMapper extends MppBaseMapper<RDimStationTargetM> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetY;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetY;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -11,6 +12,6 @@ import com.njcn.harmonic.pojo.po.dim.RDimStationTargetY;
|
|||||||
* @author cdf
|
* @author cdf
|
||||||
* @since 2023-11-21
|
* @since 2023-11-21
|
||||||
*/
|
*/
|
||||||
public interface RDimStationTargetYMapper extends BaseMapper<RDimStationTargetY> {
|
public interface RDimStationTargetYMapper extends MppBaseMapper<RDimStationTargetY> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,11 +20,4 @@ public interface IRDimBusGlobalDService extends IMppService<RDimBusGlobalD> {
|
|||||||
void globalCalBusBarDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
void globalCalBusBarDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||||
|
|
||||||
|
|
||||||
void globalCalBusBarMonth(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
|
||||||
|
|
||||||
|
|
||||||
void globalCalBusBarYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM;
|
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -11,6 +14,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
* @author hongawen
|
* @author hongawen
|
||||||
* @since 2023-11-14
|
* @since 2023-11-14
|
||||||
*/
|
*/
|
||||||
public interface IRDimBusGlobalMService extends IService<RDimBusGlobalM> {
|
public interface IRDimBusGlobalMService extends IMppService<RDimBusGlobalM> {
|
||||||
|
|
||||||
|
void globalCalBusBarMonth(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY;
|
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -11,6 +14,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
* @author hongawen
|
* @author hongawen
|
||||||
* @since 2023-11-14
|
* @since 2023-11-14
|
||||||
*/
|
*/
|
||||||
public interface IRDimBusGlobalYService extends IService<RDimBusGlobalY> {
|
public interface IRDimBusGlobalYService extends IMppService<RDimBusGlobalY> {
|
||||||
|
|
||||||
|
void globalCalBusBarYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventD;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
public interface IRDimBusStationEventDService extends IMppService<RDimBusStationEventD> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计母线电站的暂态情况
|
||||||
|
* @author cdf
|
||||||
|
* @date 2023/11/24
|
||||||
|
*/
|
||||||
|
void calEventDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventM;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
public interface IRDimBusStationEventMService extends IMppService<RDimBusStationEventM> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计母线电站的暂态情况
|
||||||
|
* @author cdf
|
||||||
|
* @date 2023/11/24
|
||||||
|
*/
|
||||||
|
void calEventMonth(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventY;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
public interface IRDimBusStationEventYService extends IMppService<RDimBusStationEventY> {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计母线电站的暂态情况
|
||||||
|
* @author cdf
|
||||||
|
* @date 2023/11/24
|
||||||
|
*/
|
||||||
|
void calEventYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||||
|
}
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
|
||||||
|
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalD;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 服务类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hongawen
|
|
||||||
* @since 2023-11-14
|
|
||||||
*/
|
|
||||||
public interface IRDimStationGlobalDService extends IService<RDimStationGlobalD> {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
|
||||||
|
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalM;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 服务类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hongawen
|
|
||||||
* @since 2023-11-14
|
|
||||||
*/
|
|
||||||
public interface IRDimStationGlobalMService extends IService<RDimStationGlobalM> {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalY;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 服务类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hongawen
|
|
||||||
* @since 2023-11-14
|
|
||||||
*/
|
|
||||||
public interface IRDimStationGlobalYService extends IService<RDimStationGlobalY> {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetD;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetD;
|
||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
@@ -13,7 +14,7 @@ import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
|||||||
* @author cdf
|
* @author cdf
|
||||||
* @since 2023-11-21
|
* @since 2023-11-21
|
||||||
*/
|
*/
|
||||||
public interface IRDimStationTargetDService extends IService<RDimStationTargetD> {
|
public interface IRDimStationTargetDService extends IMppService<RDimStationTargetD> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetM;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetM;
|
||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
@@ -13,7 +14,7 @@ import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
|||||||
* @author cdf
|
* @author cdf
|
||||||
* @since 2023-11-21
|
* @since 2023-11-21
|
||||||
*/
|
*/
|
||||||
public interface IRDimStationTargetMService extends IService<RDimStationTargetM> {
|
public interface IRDimStationTargetMService extends IMppService<RDimStationTargetM> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetY;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetY;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -11,6 +14,12 @@ import com.njcn.harmonic.pojo.po.dim.RDimStationTargetY;
|
|||||||
* @author cdf
|
* @author cdf
|
||||||
* @since 2023-11-21
|
* @since 2023-11-21
|
||||||
*/
|
*/
|
||||||
public interface IRDimStationTargetYService extends IService<RDimStationTargetY> {
|
public interface IRDimStationTargetYService extends IMppService<RDimStationTargetY> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标超标占比(%)
|
||||||
|
* @author cdf
|
||||||
|
* @date 2023/11/21
|
||||||
|
*/
|
||||||
|
void calDimStationTargetYear(CalculatedParam<DeptGetBase> calculatedParam);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,9 @@ import com.njcn.device.pms.pojo.po.Monitor;
|
|||||||
import com.njcn.harmonic.pojo.po.RMpEventDetailDPO;
|
import com.njcn.harmonic.pojo.po.RMpEventDetailDPO;
|
||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD;
|
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD;
|
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
||||||
@@ -34,6 +36,8 @@ import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
|
|||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService;
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationBaseDService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.pojo.po.Dept;
|
import com.njcn.user.pojo.po.Dept;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -81,6 +85,10 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
|||||||
|
|
||||||
private final ROperatingMonitorDMapper rOperatingMonitorDMapper;
|
private final ROperatingMonitorDMapper rOperatingMonitorDMapper;
|
||||||
|
|
||||||
|
private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService;
|
||||||
|
|
||||||
|
private final IRDimStationBaseDService irDimStationBaseDService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 本算法只有pms使用到,只针对pms主网测点
|
* 本算法只有pms使用到,只针对pms主网测点
|
||||||
@@ -93,27 +101,62 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
|||||||
List<RDimBusGlobalD> poList = new ArrayList<>();
|
List<RDimBusGlobalD> poList = new ArrayList<>();
|
||||||
LocalDate date = LocalDate.parse(calculatedParam.getDataDate());
|
LocalDate date = LocalDate.parse(calculatedParam.getDataDate());
|
||||||
|
|
||||||
List<PmsCountLedger> pmsMidLedgerList = pmsCountLedgerMapper.newDateData();
|
|
||||||
Map<String, PmsCountLedger> map = pmsMidLedgerList.stream().collect(Collectors.toMap(PmsCountLedger::getSection, Function.identity()));
|
|
||||||
|
|
||||||
List<DeptGetChildrenDTO> deptList = calculatedParam.getIdList();
|
List<DeptGetChildrenDTO> deptList = calculatedParam.getIdList();
|
||||||
|
|
||||||
for (DeptGetChildrenDTO dto : deptList) {
|
for (DeptGetChildrenDTO dto : deptList) {
|
||||||
Integer stationNum;
|
RDimBusGlobalD rDimBusGlobalD = new RDimBusGlobalD();
|
||||||
Integer busBarNum;
|
|
||||||
|
|
||||||
if (map.containsKey(dto.getDeptId())) {
|
List<String> childDept = dto.getDeptChildren();
|
||||||
PmsCountLedger pmsCountLedger = map.get(dto.getDeptId());
|
LambdaQueryWrapper<RDimBusbarHarmnicDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
stationNum = pmsCountLedger.getSubCount();
|
lambdaQueryWrapper.in(RDimBusbarHarmnicDPO::getOrgId,childDept).eq(RDimBusbarHarmnicDPO::getStatisDate,date);
|
||||||
busBarNum = pmsCountLedger.getSubvCount();
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOList = rDimBusbarHarmnicDPOService.list(lambdaQueryWrapper);
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList)){
|
||||||
|
List<String> goodIds = rDimBusbarHarmnicDPOList.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
if (stationNum == 0 || busBarNum == 0) {
|
List<RDimBusbarHarmnicDPO> limtList = rDimBusbarHarmnicDPOList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
continue;
|
if(CollUtil.isEmpty(limtList)){
|
||||||
|
rDimBusGlobalD.setLimitRate(0f);
|
||||||
|
rDimBusGlobalD.setLimitAvgRate(0f);
|
||||||
|
}else {
|
||||||
|
List<String> busBarIds = limtList.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().collect(Collectors.toList());
|
||||||
|
rDimBusGlobalD.setLimitRate((float)busBarIds.size()/goodIds.size());
|
||||||
|
rDimBusGlobalD.setLimitAvgRate((float)busBarIds.size()/goodIds.size());
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> monitorIds = dto.getLineIds();
|
|
||||||
|
LambdaQueryWrapper<RDimStationBaseD> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.in(RDimStationBaseD::getOrgId,childDept).eq(RDimStationBaseD::getStatisDate,date);
|
||||||
|
List<RDimStationBaseD> rDimStationBaseDList = irDimStationBaseDService.list(queryWrapper);
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
long goodStation = rDimStationBaseDList.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
|
||||||
|
List<RDimStationBaseD> limtList = rDimStationBaseDList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
if(CollUtil.isEmpty(limtList)){
|
||||||
|
rDimBusGlobalD.setStationLimitRate(0f);
|
||||||
|
rDimBusGlobalD.setStationLimitAvgRate(0f);
|
||||||
|
}else {
|
||||||
|
long limitCount = limtList.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
rDimBusGlobalD.setStationLimitRate((float)limitCount/goodStation);
|
||||||
|
rDimBusGlobalD.setStationLimitAvgRate((float)limitCount/goodStation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(CollUtil.isEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusGlobalD.setLimitRate(3.14159f);
|
||||||
|
rDimBusGlobalD.setLimitAvgRate(3.14159f);
|
||||||
|
}
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusGlobalD.setStationLimitRate(3.14159f);
|
||||||
|
rDimBusGlobalD.setStationLimitAvgRate(3.14159f);
|
||||||
|
}
|
||||||
|
poList.add(rDimBusGlobalD);
|
||||||
|
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||||
|
|
||||||
|
/* List<String> monitorIds = dto.getLineIds();
|
||||||
if (CollectionUtil.isNotEmpty(monitorIds)) {
|
if (CollectionUtil.isNotEmpty(monitorIds)) {
|
||||||
RDimBusGlobalD rDimBusGlobalD = new RDimBusGlobalD();
|
RDimBusGlobalD rDimBusGlobalD = new RDimBusGlobalD();
|
||||||
rDimBusGlobalD.setOrgId(dto.getDeptId());
|
rDimBusGlobalD.setOrgId(dto.getDeptId());
|
||||||
@@ -124,11 +167,9 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
|||||||
List<RStatIntegrityD> integrityDList = rStatIntegrityDMapper.selectList(lambdaQueryWrapper);
|
List<RStatIntegrityD> integrityDList = rStatIntegrityDMapper.selectList(lambdaQueryWrapper);
|
||||||
|
|
||||||
if (CollectionUtil.isEmpty(integrityDList)) {
|
if (CollectionUtil.isEmpty(integrityDList)) {
|
||||||
rDimBusGlobalD.setMonitorRate(0f);
|
|
||||||
rDimBusGlobalD.setLimitRate(3.14159f);
|
rDimBusGlobalD.setLimitRate(3.14159f);
|
||||||
rDimBusGlobalD.setLimitAvgRate(3.14159f);
|
rDimBusGlobalD.setLimitAvgRate(3.14159f);
|
||||||
|
|
||||||
rDimBusGlobalD.setStationMonitorRate(0f);
|
|
||||||
rDimBusGlobalD.setStationLimitRate(3.14159f);
|
rDimBusGlobalD.setStationLimitRate(3.14159f);
|
||||||
rDimBusGlobalD.setStationLimitAvgRate(3.14159f);
|
rDimBusGlobalD.setStationLimitAvgRate(3.14159f);
|
||||||
poList.add(rDimBusGlobalD);
|
poList.add(rDimBusGlobalD);
|
||||||
@@ -140,11 +181,9 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
|||||||
.filter(it -> it.getRealTime() / it.getDueTime() >= 0.95f)
|
.filter(it -> it.getRealTime() / it.getDueTime() >= 0.95f)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
if (CollectionUtil.isEmpty(integrityDList)) {
|
if (CollectionUtil.isEmpty(integrityDList)) {
|
||||||
rDimBusGlobalD.setMonitorRate(0f);
|
|
||||||
rDimBusGlobalD.setLimitRate(3.14159f);
|
rDimBusGlobalD.setLimitRate(3.14159f);
|
||||||
rDimBusGlobalD.setLimitAvgRate(3.14159f);
|
rDimBusGlobalD.setLimitAvgRate(3.14159f);
|
||||||
|
|
||||||
rDimBusGlobalD.setStationMonitorRate(0f);
|
|
||||||
rDimBusGlobalD.setStationLimitRate(3.14159f);
|
rDimBusGlobalD.setStationLimitRate(3.14159f);
|
||||||
rDimBusGlobalD.setStationLimitAvgRate(3.14159f);
|
rDimBusGlobalD.setStationLimitAvgRate(3.14159f);
|
||||||
poList.add(rDimBusGlobalD);
|
poList.add(rDimBusGlobalD);
|
||||||
@@ -159,8 +198,6 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
|||||||
|
|
||||||
List<String> goodStationIds = monitorList.stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList());
|
List<String> goodStationIds = monitorList.stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
rDimBusGlobalD.setMonitorRate((float) goodLineIds.size() / busBarNum * 100);
|
|
||||||
rDimBusGlobalD.setStationMonitorRate((float) goodStationIds.size() / stationNum * 100);
|
|
||||||
|
|
||||||
LambdaQueryWrapper<RStatLimitTargetDPO> limitWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<RStatLimitTargetDPO> limitWrapper = new LambdaQueryWrapper<>();
|
||||||
limitWrapper.in(RStatLimitTargetDPO::getLineId, goodMonitorIds).eq(RStatLimitTargetDPO::getTime, date);
|
limitWrapper.in(RStatLimitTargetDPO::getLineId, goodMonitorIds).eq(RStatLimitTargetDPO::getTime, date);
|
||||||
@@ -216,43 +253,13 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
poList.add(rDimBusGlobalD);
|
poList.add(rDimBusGlobalD);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
poList = poList.stream().peek(item -> item.setState(DataStateEnum.ENABLE.getCode())).collect(Collectors.toList());
|
|
||||||
this.saveOrUpdateBatchByMultiId(poList);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void globalCalBusBarMonth(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
|
||||||
DateTime start = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT));
|
|
||||||
DateTime end = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT));
|
|
||||||
|
|
||||||
|
|
||||||
LambdaQueryWrapper<RDimBusGlobalD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
lambdaQueryWrapper.between(RDimBusGlobalD::getStatisDate, start, end)
|
|
||||||
.eq(RDimBusGlobalD::getState, DataStateEnum.ENABLE.getCode());
|
|
||||||
List<RDimBusGlobalD> dayDataList = this.list(lambdaQueryWrapper);
|
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(dayDataList)) {
|
|
||||||
Map<String, DeptGetChildrenDTO> deptMap = calculatedParam.getIdList().stream().collect(Collectors.toMap(DeptGetChildrenDTO::getDeptId, Function.identity()));
|
|
||||||
Map<String, List<RDimBusGlobalD>> map = dayDataList.stream().collect(Collectors.groupingBy(RDimBusGlobalD::getOrgId));
|
|
||||||
|
|
||||||
map.forEach((key, val) -> {
|
|
||||||
DeptGetChildrenDTO dto = deptMap.get(key);
|
|
||||||
List<String> monitorIds = dto.getLineIds();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void globalCalBusBarYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,34 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM;
|
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalMMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalMMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalMService;
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalMService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationBaseDService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 服务实现类
|
* 服务实现类
|
||||||
@@ -16,6 +38,84 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2023-11-14
|
* @since 2023-11-14
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class RDimBusGlobalMServiceImpl extends ServiceImpl<RDimBusGlobalMMapper, RDimBusGlobalM> implements IRDimBusGlobalMService {
|
@RequiredArgsConstructor
|
||||||
|
public class RDimBusGlobalMServiceImpl extends MppServiceImpl<RDimBusGlobalMMapper, RDimBusGlobalM> implements IRDimBusGlobalMService {
|
||||||
|
|
||||||
|
private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService;
|
||||||
|
|
||||||
|
private final IRDimStationBaseDService irDimStationBaseDService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void globalCalBusBarMonth(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||||
|
List<RDimBusGlobalM> poList = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
DateTime start = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT));
|
||||||
|
DateTime end = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT));
|
||||||
|
|
||||||
|
List<DeptGetChildrenDTO> deptList = calculatedParam.getIdList();
|
||||||
|
|
||||||
|
for (DeptGetChildrenDTO dto : deptList) {
|
||||||
|
RDimBusGlobalM rDimBusGlobalM = new RDimBusGlobalM();
|
||||||
|
|
||||||
|
List<String> childDept = dto.getDeptChildren();
|
||||||
|
QueryWrapper<RDimBusbarHarmnicDPO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.select("BusBar_Id,Statis_Date,sum(limit_count) as limit_count");
|
||||||
|
queryWrapper.lambda().in(RDimBusbarHarmnicDPO::getOrgId,childDept).between(RDimBusbarHarmnicDPO::getStatisDate,start,end);
|
||||||
|
queryWrapper.groupBy("Statis_Date,BusBar_Id");
|
||||||
|
|
||||||
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOList = rDimBusbarHarmnicDPOService.list(queryWrapper);
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList)){
|
||||||
|
List<RDimBusbarHarmnicDPO> limtList = rDimBusbarHarmnicDPOList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isEmpty(limtList)){
|
||||||
|
rDimBusGlobalM.setLimitRate(0f);
|
||||||
|
rDimBusGlobalM.setLimitAvgRate(0f);
|
||||||
|
}else {
|
||||||
|
long good =rDimBusbarHarmnicDPOList.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
long limit =limtList.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
rDimBusGlobalM.setLimitRate((float)limit/good);
|
||||||
|
rDimBusGlobalM.setLimitAvgRate((float)limtList.size()/rDimBusbarHarmnicDPOList.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LambdaQueryWrapper<RDimStationBaseD> stationQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.select("Station_Id,Statis_Date,sum(limit_count) as limit_count");
|
||||||
|
queryWrapper.lambda().in(RDimBusbarHarmnicDPO::getOrgId,childDept).between(RDimBusbarHarmnicDPO::getStatisDate,start,end);
|
||||||
|
queryWrapper.groupBy("Statis_Date,Station_Id");
|
||||||
|
List<RDimStationBaseD> rDimStationBaseDList = irDimStationBaseDService.list(stationQueryWrapper);
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
List<RDimStationBaseD> limtList = rDimStationBaseDList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isEmpty(limtList)){
|
||||||
|
rDimBusGlobalM.setStationLimitRate(0f);
|
||||||
|
rDimBusGlobalM.setStationLimitAvgRate(0f);
|
||||||
|
}else {
|
||||||
|
|
||||||
|
long good =rDimStationBaseDList.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
long limit =limtList.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
rDimBusGlobalM.setStationLimitRate((float)limit/good);
|
||||||
|
rDimBusGlobalM.setStationLimitAvgRate((float)limtList.size()/rDimStationBaseDList.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(CollUtil.isEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusGlobalM.setLimitRate(3.14159f);
|
||||||
|
rDimBusGlobalM.setLimitAvgRate(3.14159f);
|
||||||
|
}
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusGlobalM.setStationLimitRate(3.14159f);
|
||||||
|
rDimBusGlobalM.setStationLimitAvgRate(3.14159f);
|
||||||
|
}
|
||||||
|
poList.add(rDimBusGlobalM);
|
||||||
|
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,31 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalM;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY;
|
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalY;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalYMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalYMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalYService;
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalYService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationBaseDService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 服务实现类
|
* 服务实现类
|
||||||
@@ -16,6 +35,83 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2023-11-14
|
* @since 2023-11-14
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class RDimBusGlobalYServiceImpl extends ServiceImpl<RDimBusGlobalYMapper, RDimBusGlobalY> implements IRDimBusGlobalYService {
|
@RequiredArgsConstructor
|
||||||
|
public class RDimBusGlobalYServiceImpl extends MppServiceImpl<RDimBusGlobalYMapper, RDimBusGlobalY> implements IRDimBusGlobalYService {
|
||||||
|
|
||||||
|
private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService;
|
||||||
|
|
||||||
|
private final IRDimStationBaseDService irDimStationBaseDService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void globalCalBusBarYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||||
|
|
||||||
|
List<RDimBusGlobalY> poList = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
DateTime start = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT));
|
||||||
|
DateTime end = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT));
|
||||||
|
|
||||||
|
List<DeptGetChildrenDTO> deptList = calculatedParam.getIdList();
|
||||||
|
|
||||||
|
for (DeptGetChildrenDTO dto : deptList) {
|
||||||
|
RDimBusGlobalY rDimBusGlobalY = new RDimBusGlobalY();
|
||||||
|
|
||||||
|
List<String> childDept = dto.getDeptChildren();
|
||||||
|
QueryWrapper<RDimBusbarHarmnicDPO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.select("BusBar_Id,Statis_Date,sum(limit_count) as limit_count");
|
||||||
|
queryWrapper.lambda().in(RDimBusbarHarmnicDPO::getOrgId,childDept).between(RDimBusbarHarmnicDPO::getStatisDate,start,end);
|
||||||
|
queryWrapper.groupBy("Statis_Date,BusBar_Id");
|
||||||
|
|
||||||
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOList = rDimBusbarHarmnicDPOService.list(queryWrapper);
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList)){
|
||||||
|
List<RDimBusbarHarmnicDPO> limtList = rDimBusbarHarmnicDPOList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isEmpty(limtList)){
|
||||||
|
rDimBusGlobalY.setLimitRate(0f);
|
||||||
|
rDimBusGlobalY.setLimitAvgRate(0f);
|
||||||
|
}else {
|
||||||
|
long good =rDimBusbarHarmnicDPOList.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
long limit =limtList.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
rDimBusGlobalY.setLimitRate((float)limit/good);
|
||||||
|
rDimBusGlobalY.setLimitAvgRate((float)limtList.size()/rDimBusbarHarmnicDPOList.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LambdaQueryWrapper<RDimStationBaseD> stationQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.select("Station_Id,Statis_Date,sum(limit_count) as limit_count");
|
||||||
|
queryWrapper.lambda().in(RDimBusbarHarmnicDPO::getOrgId,childDept).between(RDimBusbarHarmnicDPO::getStatisDate,start,end);
|
||||||
|
queryWrapper.groupBy("Statis_Date,Station_Id");
|
||||||
|
List<RDimStationBaseD> rDimStationBaseDList = irDimStationBaseDService.list(stationQueryWrapper);
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
List<RDimStationBaseD> limtList = rDimStationBaseDList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isEmpty(limtList)){
|
||||||
|
rDimBusGlobalY.setStationLimitRate(0f);
|
||||||
|
rDimBusGlobalY.setStationLimitAvgRate(0f);
|
||||||
|
}else {
|
||||||
|
|
||||||
|
long good =rDimStationBaseDList.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
long limit =limtList.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
rDimBusGlobalY.setStationLimitRate((float)limit/good);
|
||||||
|
rDimBusGlobalY.setStationLimitAvgRate((float)limtList.size()/rDimStationBaseDList.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(CollUtil.isEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusGlobalY.setLimitRate(3.14159f);
|
||||||
|
rDimBusGlobalY.setLimitAvgRate(3.14159f);
|
||||||
|
}
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusGlobalY.setStationLimitRate(3.14159f);
|
||||||
|
rDimBusGlobalY.setStationLimitAvgRate(3.14159f);
|
||||||
|
}
|
||||||
|
poList.add(rDimBusGlobalY);
|
||||||
|
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,112 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventD;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusStationEventDMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusStationEventDService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationBaseDService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RDimBusStationEventDServiceImpl extends MppServiceImpl<RDimBusStationEventDMapper, RDimBusStationEventD> implements IRDimBusStationEventDService {
|
||||||
|
|
||||||
|
private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService;
|
||||||
|
|
||||||
|
private final IRDimStationBaseDService irDimStationBaseDService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void calEventDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||||
|
List<RDimBusStationEventD> poList = new ArrayList<>();
|
||||||
|
LocalDate date = LocalDate.parse(calculatedParam.getDataDate());
|
||||||
|
|
||||||
|
List<DeptGetChildrenDTO> deptList = calculatedParam.getIdList();
|
||||||
|
for(DeptGetChildrenDTO dto : deptList){
|
||||||
|
List<String> deptIds = dto.getDeptChildren();
|
||||||
|
RDimBusStationEventD rDimBusStationEventD = new RDimBusStationEventD();
|
||||||
|
rDimBusStationEventD.setOrgId(dto.getDeptId());
|
||||||
|
rDimBusStationEventD.setStatisDate(date);
|
||||||
|
|
||||||
|
LambdaQueryWrapper<RDimBusbarHarmnicDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.in(RDimBusbarHarmnicDPO::getOrgId,deptIds)
|
||||||
|
.eq(RDimBusbarHarmnicDPO::getStatisDate,date)
|
||||||
|
.eq(RDimBusbarHarmnicDPO::getLevel,1);
|
||||||
|
|
||||||
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOList = rDimBusbarHarmnicDPOService.list(lambdaQueryWrapper);
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList)){
|
||||||
|
long allBus = rDimBusbarHarmnicDPOList.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
List<RDimBusbarHarmnicDPO> limitBus = rDimBusbarHarmnicDPOList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
if(CollUtil.isEmpty(limitBus)){
|
||||||
|
rDimBusStationEventD.setLimitRate(0f);
|
||||||
|
rDimBusStationEventD.setLimitFreq(0f);
|
||||||
|
}else {
|
||||||
|
long limit = limitBus.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
rDimBusStationEventD.setLimitRate((float)limit/allBus);
|
||||||
|
|
||||||
|
int sum = limitBus.stream().mapToInt(RDimBusbarHarmnicDPO::getLimitCount).sum();
|
||||||
|
rDimBusStationEventD.setLimitFreq((float)sum/allBus);
|
||||||
|
|
||||||
|
//TODO 后续加入暂态指标的代码
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
LambdaQueryWrapper<RDimStationBaseD> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.in(RDimStationBaseD::getOrgId,deptIds)
|
||||||
|
.eq(RDimStationBaseD::getStatisDate,date)
|
||||||
|
.eq(RDimStationBaseD::getLevel,1);
|
||||||
|
|
||||||
|
List<RDimStationBaseD> rDimStationBaseDList = irDimStationBaseDService.list(queryWrapper);
|
||||||
|
if(CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
long allStation = rDimStationBaseDList.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
List<RDimStationBaseD> limitStation = rDimStationBaseDList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
if(CollUtil.isEmpty(limitStation)){
|
||||||
|
rDimBusStationEventD.setStationLimitRate(0f);
|
||||||
|
rDimBusStationEventD.setStationFreq(0f);
|
||||||
|
}else {
|
||||||
|
long limitNum = limitStation.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
rDimBusStationEventD.setLimitRate((float)limitNum/allStation);
|
||||||
|
|
||||||
|
int sum = limitStation.stream().mapToInt(RDimStationBaseD::getLimitCount).sum();
|
||||||
|
rDimBusStationEventD.setLimitFreq((float)sum/allStation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusStationEventD.setStationLimitRate(3.14159f);
|
||||||
|
rDimBusStationEventD.setStationFreq(3.14159f);
|
||||||
|
}
|
||||||
|
if(CollUtil.isEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusStationEventD.setLimitRate(3.14159f);
|
||||||
|
rDimBusStationEventD.setLimitFreq(3.14159f);
|
||||||
|
}
|
||||||
|
poList.add(rDimBusStationEventD);
|
||||||
|
|
||||||
|
}
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventD;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventM;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusStationEventMMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusStationEventMService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationBaseDService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RDimBusStationEventMServiceImpl extends MppServiceImpl<RDimBusStationEventMMapper, RDimBusStationEventM> implements IRDimBusStationEventMService {
|
||||||
|
|
||||||
|
private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService;
|
||||||
|
|
||||||
|
private final IRDimStationBaseDService irDimStationBaseDService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void calEventMonth(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||||
|
List<RDimBusStationEventM> poList = new ArrayList<>();
|
||||||
|
|
||||||
|
DateTime start = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT));
|
||||||
|
DateTime end = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT));
|
||||||
|
|
||||||
|
|
||||||
|
List<DeptGetChildrenDTO> deptList = calculatedParam.getIdList();
|
||||||
|
for(DeptGetChildrenDTO dto : deptList){
|
||||||
|
List<String> deptIds = dto.getDeptChildren();
|
||||||
|
RDimBusStationEventM rDimBusStationEventM = new RDimBusStationEventM();
|
||||||
|
rDimBusStationEventM.setOrgId(dto.getDeptId());
|
||||||
|
rDimBusStationEventM.setStatisDate(LocalDate.parse(DateUtil.format(start,DatePattern.NORM_DATE_PATTERN)));
|
||||||
|
|
||||||
|
QueryWrapper<RDimBusbarHarmnicDPO> lambdaQueryWrapper = new QueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.select("BusBar_Id,Statis_Date,sum(limit_count) as limit_count");
|
||||||
|
lambdaQueryWrapper.lambda().in(RDimBusbarHarmnicDPO::getOrgId,deptIds).between(RDimBusbarHarmnicDPO::getStatisDate,start,end).eq(RDimBusbarHarmnicDPO::getLevel,1);
|
||||||
|
lambdaQueryWrapper.groupBy("Statis_Date,BusBar_Id");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOList = rDimBusbarHarmnicDPOService.list(lambdaQueryWrapper);
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList)){
|
||||||
|
List<RDimBusbarHarmnicDPO> limitBus = rDimBusbarHarmnicDPOList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isEmpty(limitBus)){
|
||||||
|
rDimBusStationEventM.setLimitRate(0f);
|
||||||
|
rDimBusStationEventM.setLimitFreq(0f);
|
||||||
|
}else {
|
||||||
|
long allBus = rDimBusbarHarmnicDPOList.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
long limit = limitBus.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
rDimBusStationEventM.setLimitRate((float)limit/allBus);
|
||||||
|
|
||||||
|
int sum = limitBus.stream().mapToInt(RDimBusbarHarmnicDPO::getLimitCount).sum();
|
||||||
|
rDimBusStationEventM.setLimitFreq((float)sum/allBus);
|
||||||
|
|
||||||
|
//TODO 后续加入暂态指标的代码
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryWrapper<RDimStationBaseD> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.select("Station_Id,Statis_Date,sum(limit_count) as limit_count");
|
||||||
|
queryWrapper.lambda().in(RDimStationBaseD::getOrgId,deptIds).between(RDimStationBaseD::getStatisDate,start,end);
|
||||||
|
queryWrapper.groupBy("Statis_Date,Station_Id");
|
||||||
|
List<RDimStationBaseD> rDimStationBaseDList = irDimStationBaseDService.list(queryWrapper);
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
long allStation = rDimStationBaseDList.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
List<RDimStationBaseD> limitStation = rDimStationBaseDList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
if(CollUtil.isEmpty(limitStation)){
|
||||||
|
rDimBusStationEventM.setStationLimitRate(0f);
|
||||||
|
rDimBusStationEventM.setStationFreq(0f);
|
||||||
|
}else {
|
||||||
|
long limitNum = limitStation.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
rDimBusStationEventM.setStationLimitRate((float)limitNum/allStation);
|
||||||
|
int sum = limitStation.stream().mapToInt(RDimStationBaseD::getLimitCount).sum();
|
||||||
|
rDimBusStationEventM.setStationFreq((float)sum/allStation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusStationEventM.setStationLimitRate(3.14159f);
|
||||||
|
rDimBusStationEventM.setStationFreq(3.14159f);
|
||||||
|
}
|
||||||
|
if(CollUtil.isEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusStationEventM.setLimitRate(3.14159f);
|
||||||
|
rDimBusStationEventM.setLimitFreq(3.14159f);
|
||||||
|
}
|
||||||
|
poList.add(rDimBusStationEventM);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventM;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventY;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusStationEventYMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusStationEventYService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationBaseDService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-24
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RDimBusStationEventYServiceImpl extends MppServiceImpl<RDimBusStationEventYMapper, RDimBusStationEventY> implements IRDimBusStationEventYService {
|
||||||
|
|
||||||
|
private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService;
|
||||||
|
|
||||||
|
private final IRDimStationBaseDService irDimStationBaseDService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void calEventYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||||
|
List<RDimBusStationEventY> poList = new ArrayList<>();
|
||||||
|
|
||||||
|
DateTime start = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT));
|
||||||
|
DateTime end = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT));
|
||||||
|
|
||||||
|
|
||||||
|
List<DeptGetChildrenDTO> deptList = calculatedParam.getIdList();
|
||||||
|
for(DeptGetChildrenDTO dto : deptList){
|
||||||
|
List<String> deptIds = dto.getDeptChildren();
|
||||||
|
RDimBusStationEventY rDimBusStationEventY = new RDimBusStationEventY();
|
||||||
|
rDimBusStationEventY.setOrgId(dto.getDeptId());
|
||||||
|
rDimBusStationEventY.setStatisDate(LocalDate.parse(DateUtil.format(start,DatePattern.NORM_DATE_PATTERN)));
|
||||||
|
|
||||||
|
QueryWrapper<RDimBusbarHarmnicDPO> lambdaQueryWrapper = new QueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.select("BusBar_Id,Statis_Date,sum(limit_count) as limit_count");
|
||||||
|
lambdaQueryWrapper.lambda().in(RDimBusbarHarmnicDPO::getOrgId,deptIds).between(RDimBusbarHarmnicDPO::getStatisDate,start,end).eq(RDimBusbarHarmnicDPO::getLevel,1);
|
||||||
|
lambdaQueryWrapper.groupBy("Statis_Date,BusBar_Id");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOList = rDimBusbarHarmnicDPOService.list(lambdaQueryWrapper);
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList)){
|
||||||
|
List<RDimBusbarHarmnicDPO> limitBus = rDimBusbarHarmnicDPOList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isEmpty(limitBus)){
|
||||||
|
rDimBusStationEventY.setLimitRate(0f);
|
||||||
|
rDimBusStationEventY.setLimitFreq(0f);
|
||||||
|
}else {
|
||||||
|
long allBus = rDimBusbarHarmnicDPOList.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
long limit = limitBus.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
rDimBusStationEventY.setLimitRate((float)limit/allBus);
|
||||||
|
|
||||||
|
int sum = limitBus.stream().mapToInt(RDimBusbarHarmnicDPO::getLimitCount).sum();
|
||||||
|
rDimBusStationEventY.setLimitFreq((float)sum/allBus);
|
||||||
|
|
||||||
|
//TODO 后续加入暂态指标的代码
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryWrapper<RDimStationBaseD> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.select("Station_Id,Statis_Date,sum(limit_count) as limit_count");
|
||||||
|
queryWrapper.lambda().in(RDimStationBaseD::getOrgId,deptIds).between(RDimStationBaseD::getStatisDate,start,end);
|
||||||
|
queryWrapper.groupBy("Statis_Date,Station_Id");
|
||||||
|
List<RDimStationBaseD> rDimStationBaseDList = irDimStationBaseDService.list(queryWrapper);
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
long allStation = rDimStationBaseDList.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
List<RDimStationBaseD> limitStation = rDimStationBaseDList.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
if(CollUtil.isEmpty(limitStation)){
|
||||||
|
rDimBusStationEventY.setStationLimitRate(0f);
|
||||||
|
rDimBusStationEventY.setStationFreq(0f);
|
||||||
|
}else {
|
||||||
|
long limitNum = limitStation.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
rDimBusStationEventY.setStationLimitRate((float)limitNum/allStation);
|
||||||
|
int sum = limitStation.stream().mapToInt(RDimStationBaseD::getLimitCount).sum();
|
||||||
|
rDimBusStationEventY.setStationFreq((float)sum/allStation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusStationEventY.setStationLimitRate(3.14159f);
|
||||||
|
rDimBusStationEventY.setStationFreq(3.14159f);
|
||||||
|
}
|
||||||
|
if(CollUtil.isEmpty(rDimBusbarHarmnicDPOList) && CollUtil.isNotEmpty(rDimStationBaseDList)){
|
||||||
|
rDimBusStationEventY.setLimitRate(3.14159f);
|
||||||
|
rDimBusStationEventY.setLimitFreq(3.14159f);
|
||||||
|
}
|
||||||
|
poList.add(rDimBusStationEventY);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalD;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalD;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalDMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalDMapper;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationGlobalDService;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -16,6 +16,6 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2023-11-14
|
* @since 2023-11-14
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class RDimStationGlobalDServiceImpl extends ServiceImpl<RDimStationGlobalDMapper, RDimStationGlobalD> implements IRDimStationGlobalDService {
|
public class RDimStationGlobalDServiceImpl extends ServiceImpl<RDimStationGlobalDMapper, RDimStationGlobalD> implements IService<RDimStationGlobalD> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalM;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalM;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalMMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalMMapper;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationGlobalMService;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -16,6 +16,6 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2023-11-14
|
* @since 2023-11-14
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class RDimStationGlobalMServiceImpl extends ServiceImpl<RDimStationGlobalMMapper, RDimStationGlobalM> implements IRDimStationGlobalMService {
|
public class RDimStationGlobalMServiceImpl extends ServiceImpl<RDimStationGlobalMMapper, RDimStationGlobalM> implements IService<RDimStationGlobalM> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalY;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationGlobalY;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalYMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationGlobalYMapper;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationGlobalYService;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -16,6 +16,6 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2023-11-14
|
* @since 2023-11-14
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class RDimStationGlobalYServiceImpl extends ServiceImpl<RDimStationGlobalYMapper, RDimStationGlobalY> implements IRDimStationGlobalYService {
|
public class RDimStationGlobalYServiceImpl extends ServiceImpl<RDimStationGlobalYMapper, RDimStationGlobalY> implements IService<RDimStationGlobalY> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
|||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
@@ -31,7 +32,7 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class RDimStationTargetDServiceImpl extends ServiceImpl<RDimStationTargetDMapper, RDimStationTargetD> implements IRDimStationTargetDService {
|
public class RDimStationTargetDServiceImpl extends MppServiceImpl<RDimStationTargetDMapper, RDimStationTargetD> implements IRDimStationTargetDService {
|
||||||
|
|
||||||
|
|
||||||
private final IRDimStationBaseDService irDimStationBaseDService;
|
private final IRDimStationBaseDService irDimStationBaseDService;
|
||||||
@@ -58,7 +59,7 @@ public class RDimStationTargetDServiceImpl extends ServiceImpl<RDimStationTarget
|
|||||||
|
|
||||||
Map<String,List<RDimStationBaseD>> voltageMap = rDimStationBaseDList.stream().collect(Collectors.groupingBy(RDimStationBaseD::getVoltageLevel));
|
Map<String,List<RDimStationBaseD>> voltageMap = rDimStationBaseDList.stream().collect(Collectors.groupingBy(RDimStationBaseD::getVoltageLevel));
|
||||||
voltageMap.forEach((voltageKey,voltageVal)->{
|
voltageMap.forEach((voltageKey,voltageVal)->{
|
||||||
int stationNum = voltageVal.stream().map(RDimStationBaseD::getStationId).distinct().collect(Collectors.toList()).size();
|
long stationNum = voltageVal.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
|
||||||
Map<String,List<RDimStationBaseD>> targetMap = voltageVal.stream().collect(Collectors.groupingBy(RDimStationBaseD::getTargetType));
|
Map<String,List<RDimStationBaseD>> targetMap = voltageVal.stream().collect(Collectors.groupingBy(RDimStationBaseD::getTargetType));
|
||||||
targetMap.forEach((targetKey,targetVal)->{
|
targetMap.forEach((targetKey,targetVal)->{
|
||||||
@@ -80,7 +81,7 @@ public class RDimStationTargetDServiceImpl extends ServiceImpl<RDimStationTarget
|
|||||||
poList.add(rDimStationTargetD);
|
poList.add(rDimStationTargetD);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
this.saveBatch(poList);
|
this.saveOrUpdateBatch(poList,100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateTime;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
@@ -34,7 +35,7 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class RDimStationTargetMServiceImpl extends ServiceImpl<RDimStationTargetMMapper, RDimStationTargetM> implements IRDimStationTargetMService {
|
public class RDimStationTargetMServiceImpl extends MppServiceImpl<RDimStationTargetMMapper, RDimStationTargetM> implements IRDimStationTargetMService {
|
||||||
|
|
||||||
private final IRDimStationBaseDService irDimStationBaseDService;
|
private final IRDimStationBaseDService irDimStationBaseDService;
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,31 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetM;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetY;
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetY;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationTargetYMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationTargetYMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationBaseDService;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationTargetYService;
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationTargetYService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 服务实现类
|
* 服务实现类
|
||||||
@@ -16,6 +35,61 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2023-11-21
|
* @since 2023-11-21
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class RDimStationTargetYServiceImpl extends ServiceImpl<RDimStationTargetYMapper, RDimStationTargetY> implements IRDimStationTargetYService {
|
@RequiredArgsConstructor
|
||||||
|
public class RDimStationTargetYServiceImpl extends MppServiceImpl<RDimStationTargetYMapper, RDimStationTargetY> implements IRDimStationTargetYService {
|
||||||
|
|
||||||
|
private final IRDimStationBaseDService irDimStationBaseDService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void calDimStationTargetYear(CalculatedParam<DeptGetBase> calculatedParam) {
|
||||||
|
List<RDimStationTargetY> poList = new ArrayList<>();
|
||||||
|
DateTime start = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||||
|
DateTime end = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||||
|
|
||||||
|
List<DeptGetBase> deptList = calculatedParam.getIdList();
|
||||||
|
|
||||||
|
for(DeptGetBase deptGetBase : deptList){
|
||||||
|
List<String> deptCodes = deptGetBase.getUnitChildrenList();
|
||||||
|
|
||||||
|
LambdaQueryWrapper<RDimStationBaseD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.in(RDimStationBaseD::getOrgId,deptCodes)
|
||||||
|
.between(RDimStationBaseD::getStatisDate,start,end).eq(RDimStationBaseD::getLevel,0);
|
||||||
|
|
||||||
|
List<RDimStationBaseD> rDimStationBaseDList = irDimStationBaseDService.list(lambdaQueryWrapper);
|
||||||
|
if(CollectionUtil.isEmpty(rDimStationBaseDList)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Map<String,List<RDimStationBaseD>> voltageMap = rDimStationBaseDList.stream().collect(Collectors.groupingBy(RDimStationBaseD::getVoltageLevel));
|
||||||
|
voltageMap.forEach((voltageKey,voltageVal)->{
|
||||||
|
int stationNum = (int) voltageVal.stream().map(RDimStationBaseD::getStationId).distinct().count();
|
||||||
|
int stationAllNum = (int) voltageVal.stream().map(RDimStationBaseD::getStationId).count();
|
||||||
|
|
||||||
|
Map<String,List<RDimStationBaseD>> targetMap = voltageVal.stream().collect(Collectors.groupingBy(RDimStationBaseD::getTargetType));
|
||||||
|
targetMap.forEach((targetKey,targetVal)->{
|
||||||
|
RDimStationTargetY rDimStationTargetY = new RDimStationTargetY();
|
||||||
|
rDimStationTargetY.setOrgId(deptGetBase.getUnitId());
|
||||||
|
rDimStationTargetY.setStatisDate(LocalDate.parse(calculatedParam.getDataDate()));
|
||||||
|
rDimStationTargetY.setVoltageLevel(voltageKey);
|
||||||
|
rDimStationTargetY.setTargetType(targetKey);
|
||||||
|
|
||||||
|
List<String> limitList = targetVal.stream().filter(targetItem->targetItem.getLimitCount()>0).map(RDimStationBaseD::getStationId).distinct().collect(Collectors.toList());
|
||||||
|
rDimStationTargetY.setLimitRate((double) (limitList.size() / stationNum));
|
||||||
|
|
||||||
|
long limitAllList = targetVal.stream().filter(targetItem->targetItem.getLimitCount()>0).map(RDimStationBaseD::getStationId).count();
|
||||||
|
rDimStationTargetY.setLimitAvgRate((double) (limitAllList / stationAllNum));
|
||||||
|
|
||||||
|
//**kV变电站**指标合格率(%)
|
||||||
|
int limit = targetVal.stream().mapToInt(RDimStationBaseD::getLimitCount).sum();
|
||||||
|
int all = targetVal.stream().mapToInt(RDimStationBaseD::getStatisCount).sum();
|
||||||
|
rDimStationTargetY.setPassRate((double)(all-limit)/all);
|
||||||
|
rDimStationTargetY.setPassAvgRate((double)(all-limit)/all);
|
||||||
|
rDimStationTargetY.setState(DataStateEnum.ENABLE.getCode());
|
||||||
|
poList.add(rDimStationTargetY);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user