pms算法代码提交
This commit is contained in:
@@ -0,0 +1,50 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
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-22
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_obj_global_d")
|
||||||
|
public class RDimObjGlobalD extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 源荷对象类型
|
||||||
|
*/
|
||||||
|
private String objectType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象监测率(%)
|
||||||
|
*/
|
||||||
|
private Float monitorRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象平均超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitAvgRate;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
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-22
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_obj_global_m")
|
||||||
|
public class RDimObjGlobalM extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 源荷对象类型
|
||||||
|
*/
|
||||||
|
private String objectType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象监测率(%)
|
||||||
|
*/
|
||||||
|
private Float monitorRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象平均超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitAvgRate;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
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-22
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_obj_global_y")
|
||||||
|
public class RDimObjGlobalY extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 源荷对象类型
|
||||||
|
*/
|
||||||
|
private String objectType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象监测率(%)
|
||||||
|
*/
|
||||||
|
private Float monitorRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象平均超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitAvgRate;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
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-22
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_obj_target_d")
|
||||||
|
public class RDimObjTargetD extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 源荷对象类型
|
||||||
|
*/
|
||||||
|
private String objectType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 稳态指标类型
|
||||||
|
*/
|
||||||
|
private String targetType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象**指标超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float monitorRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象**指标平均超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象**指标平均超标天数(天)
|
||||||
|
*/
|
||||||
|
private Float limitAvgRate;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
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-22
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_obj_target_m")
|
||||||
|
public class RDimObjTargetM extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 源荷对象类型
|
||||||
|
*/
|
||||||
|
private String objectType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 稳态指标类型
|
||||||
|
*/
|
||||||
|
private String targetType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象**指标超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float monitorRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象**指标平均超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象**指标平均超标天数(天)
|
||||||
|
*/
|
||||||
|
private Float limitAvgRate;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
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-22
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_obj_target_y")
|
||||||
|
public class RDimObjTargetY extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 源荷对象类型
|
||||||
|
*/
|
||||||
|
private String objectType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 稳态指标类型
|
||||||
|
*/
|
||||||
|
private String targetType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象**指标超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float monitorRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象**指标平均超标占比(%)
|
||||||
|
*/
|
||||||
|
private Float limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **源荷对象**指标平均超标天数(天)
|
||||||
|
*/
|
||||||
|
private Float limitAvgRate;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_station_base_d")
|
||||||
|
public class RDimStationBaseD extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计时间yyyy-mm-dd
|
||||||
|
*/
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电站id
|
||||||
|
*/
|
||||||
|
private String stationId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 稳态,暂态指标类型(字典)
|
||||||
|
*/
|
||||||
|
private String targetType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 0.稳态指标 1.暂态指标
|
||||||
|
*/
|
||||||
|
private Boolean level;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压等级(字典)
|
||||||
|
*/
|
||||||
|
private String voltageLevel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单位code(sys_dept表)
|
||||||
|
*/
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 稳态,暂态超标次数
|
||||||
|
*/
|
||||||
|
private Integer limitCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 稳态指标统计总次数
|
||||||
|
*/
|
||||||
|
private Integer statisCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态 0.删除 1.正常
|
||||||
|
*/
|
||||||
|
private Boolean state;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_station_target_d")
|
||||||
|
public class RDimStationTargetD extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计类型
|
||||||
|
*/
|
||||||
|
private String targetType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压等级
|
||||||
|
*/
|
||||||
|
private String voltageLevel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标超标占比(%)
|
||||||
|
*/
|
||||||
|
private Double limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标合格率(%)
|
||||||
|
*/
|
||||||
|
private Double passRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标平均超标占比(%)
|
||||||
|
*/
|
||||||
|
private Double limitAvgRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标平均合格率(%)
|
||||||
|
*/
|
||||||
|
private Double passAvgRate;
|
||||||
|
|
||||||
|
private Integer state;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_station_target_m")
|
||||||
|
public class RDimStationTargetM extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计类型
|
||||||
|
*/
|
||||||
|
private String targetType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压等级
|
||||||
|
*/
|
||||||
|
private String voltageLevel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标超标占比(%)
|
||||||
|
*/
|
||||||
|
private Double limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标合格率(%)
|
||||||
|
*/
|
||||||
|
private Double passRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标平均超标占比(%)
|
||||||
|
*/
|
||||||
|
private Double limitAvgRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标平均合格率(%)
|
||||||
|
*/
|
||||||
|
private Double passAvgRate;
|
||||||
|
|
||||||
|
private Integer state;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("r_dim_station_target_y")
|
||||||
|
public class RDimStationTargetY extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计类型
|
||||||
|
*/
|
||||||
|
private String targetType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压等级
|
||||||
|
*/
|
||||||
|
private String voltageLevel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标超标占比(%)
|
||||||
|
*/
|
||||||
|
private Double limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标合格率(%)
|
||||||
|
*/
|
||||||
|
private Double passRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标平均超标占比(%)
|
||||||
|
*/
|
||||||
|
private Double limitAvgRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标平均合格率(%)
|
||||||
|
*/
|
||||||
|
private Double passAvgRate;
|
||||||
|
|
||||||
|
private Integer state;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -11,6 +11,7 @@ import com.njcn.common.pojo.annotation.OperateInfo;
|
|||||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
|
||||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||||
@@ -236,28 +237,21 @@ public class ExecutionCenter extends BaseController {
|
|||||||
* @date 2023/11/17
|
* @date 2023/11/17
|
||||||
*/
|
*/
|
||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
@ApiOperation("变电站算法执行链")
|
@ApiOperation("pms变电站母线算法执行链")
|
||||||
@PostMapping("/pmsdimexecutor")
|
@PostMapping("/pmsdimexecutor")
|
||||||
public void pmsDimExecutor(@RequestBody BaseParam baseParam) {
|
public void pmsDimExecutor(@RequestBody BaseParam baseParam) {
|
||||||
String methodDescribe = getMethodDescribe("pmsdimexecutor");
|
String methodDescribe = getMethodDescribe("pmsdimexecutor");
|
||||||
//手动判断参数是否合法,
|
//手动判断参数是否合法,
|
||||||
CalculatedParam<String> calculatedParam = judgeExecuteParam(baseParam);
|
CalculatedParam<DeptGetChildrenDTO> calculatedParam = judgeExecuteParam(baseParam);
|
||||||
// 测点索引
|
// 测点索引
|
||||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(calculatedParam.getIdList())) {
|
if (CollectionUtils.isEmpty(calculatedParam.getIdList())) {
|
||||||
Dept data = deptFeignClient.getRootDept().getData();
|
Dept data = deptFeignClient.getRootDept().getData();
|
||||||
deptGetLineParam.setDeptId(data.getId());
|
deptGetLineParam.setDeptId(data.getId());
|
||||||
List<DeptGetSubStationDTO> data1 = commTerminalGeneralClient.deptSubStation(deptGetLineParam).getData();
|
deptGetLineParam.setSystemType(0);
|
||||||
List<String> stationIds = new ArrayList<>();
|
List<DeptGetChildrenDTO> dept = commTerminalGeneralClient.deptGetLineList(deptGetLineParam).getData();
|
||||||
for (DeptGetSubStationDTO deptGetSubStationDTO : data1) {
|
calculatedParam.setIdList(dept);
|
||||||
Collection<String> union = CollectionUtils.union(Optional.ofNullable(deptGetSubStationDTO.getStationIds()).orElse(new ArrayList<String>()),
|
|
||||||
Optional.ofNullable(deptGetSubStationDTO.getStationIds()).orElse(new ArrayList<String>()));
|
|
||||||
List<String> collect = union.stream().distinct().collect(Collectors.toList());
|
|
||||||
stationIds.addAll(collect);
|
|
||||||
}
|
|
||||||
stationIds = stationIds.stream().distinct().collect(Collectors.toList());
|
|
||||||
calculatedParam.setIdList(stationIds);
|
|
||||||
}
|
}
|
||||||
LiteflowResponse liteflowResponse;
|
LiteflowResponse liteflowResponse;
|
||||||
if (baseParam.isRepair()) {
|
if (baseParam.isRepair()) {
|
||||||
@@ -271,12 +265,12 @@ public class ExecutionCenter extends BaseController {
|
|||||||
startDate = DateUtil.offsetDay(startDate, 1);
|
startDate = DateUtil.offsetDay(startDate, 1);
|
||||||
}
|
}
|
||||||
calculatedParam.setDataDate(DateUtil.format(startDate, DatePattern.NORM_DATE_PATTERN));
|
calculatedParam.setDataDate(DateUtil.format(startDate, DatePattern.NORM_DATE_PATTERN));
|
||||||
liteflowResponse = flowExecutor.execute2Resp("sub_station", calculatedParam);
|
liteflowResponse = flowExecutor.execute2Resp("dim_station_busbar", calculatedParam);
|
||||||
dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//非补招
|
//非补招
|
||||||
liteflowResponse = flowExecutor.execute2Resp("sub_station", calculatedParam);
|
liteflowResponse = flowExecutor.execute2Resp("dim_station_busbar", calculatedParam);
|
||||||
dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
package com.njcn.prepare.executor;
|
package com.njcn.prepare.executor;
|
||||||
|
|
||||||
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
|
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService;
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService;
|
||||||
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
|
import com.njcn.user.pojo.po.Dept;
|
||||||
import com.yomahub.liteflow.annotation.LiteflowComponent;
|
import com.yomahub.liteflow.annotation.LiteflowComponent;
|
||||||
import com.yomahub.liteflow.annotation.LiteflowMethod;
|
import com.yomahub.liteflow.annotation.LiteflowMethod;
|
||||||
import com.yomahub.liteflow.core.NodeComponent;
|
import com.yomahub.liteflow.core.NodeComponent;
|
||||||
@@ -8,6 +14,9 @@ import com.yomahub.liteflow.enums.LiteFlowMethodEnum;
|
|||||||
import com.yomahub.liteflow.enums.NodeTypeEnum;
|
import com.yomahub.liteflow.enums.NodeTypeEnum;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pqs
|
* pqs
|
||||||
*
|
*
|
||||||
@@ -18,6 +27,12 @@ import lombok.RequiredArgsConstructor;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class PmsDimExecutor extends BaseExecutor{
|
public class PmsDimExecutor extends BaseExecutor{
|
||||||
|
|
||||||
|
private final DeptFeignClient deptFeignClient;
|
||||||
|
|
||||||
|
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private final IRDimBusGlobalDService irDimBusGlobalDService;
|
private final IRDimBusGlobalDService irDimBusGlobalDService;
|
||||||
|
|
||||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dimBusGlobalAccess", nodeType = NodeTypeEnum.COMMON)
|
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dimBusGlobalAccess", nodeType = NodeTypeEnum.COMMON)
|
||||||
@@ -26,6 +41,24 @@ public class PmsDimExecutor extends BaseExecutor{
|
|||||||
}
|
}
|
||||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dimBusGlobalAccess", nodeType = NodeTypeEnum.COMMON)
|
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dimBusGlobalAccess", nodeType = NodeTypeEnum.COMMON)
|
||||||
public void dimBusGlobalProcess(NodeComponent bindCmp) {
|
public void dimBusGlobalProcess(NodeComponent bindCmp) {
|
||||||
|
String tag = bindCmp.getTag();
|
||||||
|
CalculatedParam calculatedParam = bindCmp.getRequestData();
|
||||||
|
if (Objects.equals(tag,"r_dim_bus_global_d")){
|
||||||
|
//日表
|
||||||
|
irDimBusGlobalDService.globalCalBusBarDay(calculatedParam);
|
||||||
|
} else if (Objects.equals(tag,"r_dim_bus_global_m")) {
|
||||||
|
//数据补招不执行非日表算法
|
||||||
|
if (!calculatedParam.isRepair()) {
|
||||||
|
//月表
|
||||||
|
irDimBusGlobalDService.globalCalBusBarMonth(calculatedParam);
|
||||||
|
}
|
||||||
|
} else if (Objects.equals(tag,"r_dim_bus_global_y")) {
|
||||||
|
//数据补招不执行非日表算法
|
||||||
|
if (!calculatedParam.isRepair()) {
|
||||||
|
//季表
|
||||||
|
irDimBusGlobalDService.globalCalBusBarDay(calculatedParam);
|
||||||
|
}
|
||||||
|
}
|
||||||
irDimBusGlobalDService.globalCalBusBarDay(bindCmp.getRequestData());
|
irDimBusGlobalDService.globalCalBusBarDay(bindCmp.getRequestData());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package com.njcn.prepare.harmonic.controller.dim;
|
||||||
|
|
||||||
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.DeviceAbnormaStatisticsParam;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService;
|
||||||
|
import com.njcn.web.controller.BaseController;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pqs
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @date 2023/11/20
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "母线变电站每日运行情况统计")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/dimGlobal")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class IRDimBusGlobalDController extends BaseController {
|
||||||
|
|
||||||
|
private final IRDimBusGlobalDService irDimBusGlobalDService;
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/dayDimGlobal")
|
||||||
|
@ApiOperation("母线变电站每日运行情况统计")
|
||||||
|
@ApiImplicitParam(name = "calculatedParam", value = "参数", required = true)
|
||||||
|
public HttpResult<Boolean> dayDimGlobal(@RequestBody CalculatedParam calculatedParam) {
|
||||||
|
String methodDescribe = getMethodDescribe("dayDimGlobal");
|
||||||
|
irDimBusGlobalDService.globalCalBusBarDay(calculatedParam);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjGlobalD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface RDimObjGlobalDMapper extends BaseMapper<RDimObjGlobalD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjGlobalM;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface RDimObjGlobalMMapper extends BaseMapper<RDimObjGlobalM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjGlobalY;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface RDimObjGlobalYMapper extends BaseMapper<RDimObjGlobalY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjTargetD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface RDimObjTargetDMapper extends BaseMapper<RDimObjTargetD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjTargetM;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface RDimObjTargetMMapper extends BaseMapper<RDimObjTargetM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjTargetY;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface RDimObjTargetYMapper extends BaseMapper<RDimObjTargetY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
public interface RDimStationBaseDMapper extends BaseMapper<RDimStationBaseD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
public interface RDimStationTargetDMapper extends BaseMapper<RDimStationTargetD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetM;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
public interface RDimStationTargetMMapper extends BaseMapper<RDimStationTargetM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetY;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
public interface RDimStationTargetYMapper extends BaseMapper<RDimStationTargetY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ 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.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD;
|
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD;
|
||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
@@ -16,6 +17,12 @@ import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
|||||||
*/
|
*/
|
||||||
public interface IRDimBusGlobalDService extends IMppService<RDimBusGlobalD> {
|
public interface IRDimBusGlobalDService extends IMppService<RDimBusGlobalD> {
|
||||||
|
|
||||||
public void globalCalBusBarDay(CalculatedParam calculatedParam);
|
void globalCalBusBarDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||||
|
|
||||||
|
|
||||||
|
void globalCalBusBarMonth(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||||
|
|
||||||
|
|
||||||
|
void globalCalBusBarYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjGlobalD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface IRDimObjGlobalDService extends IService<RDimObjGlobalD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjGlobalM;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface IRDimObjGlobalMService extends IService<RDimObjGlobalM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjGlobalY;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface IRDimObjGlobalYService extends IService<RDimObjGlobalY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjTargetD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface IRDimObjTargetDService extends IService<RDimObjTargetD> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjTargetM;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface IRDimObjTargetMService extends IService<RDimObjTargetM> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjTargetY;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
public interface IRDimObjTargetYService extends IService<RDimObjTargetY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
public interface IRDimStationBaseDService extends IService<RDimStationBaseD> {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计每天变电站运行情况
|
||||||
|
* @author cdf
|
||||||
|
* @date 2023/11/21
|
||||||
|
*/
|
||||||
|
void stationStatisticDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetD;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
public interface IRDimStationTargetDService extends IService<RDimStationTargetD> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标超标占比(%)
|
||||||
|
* @author cdf
|
||||||
|
* @date 2023/11/21
|
||||||
|
*/
|
||||||
|
void calDimStationTargetDay(CalculatedParam<DeptGetBase> calculatedParam);
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetM;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
public interface IRDimStationTargetMService extends IService<RDimStationTargetM> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **kV变电站**指标超标占比(%)
|
||||||
|
* @author cdf
|
||||||
|
* @date 2023/11/21
|
||||||
|
*/
|
||||||
|
void calDimStationTargetMonth(CalculatedParam<DeptGetBase> calculatedParam);
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetY;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
public interface IRDimStationTargetYService extends IService<RDimStationTargetY> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,7 +1,11 @@
|
|||||||
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.collection.CollectionUtil;
|
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.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.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
@@ -78,40 +82,35 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
|||||||
* @date 2023/11/15
|
* @date 2023/11/15
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void globalCalBusBarDay(CalculatedParam calculatedParam) {
|
public void globalCalBusBarDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||||
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();
|
List<PmsCountLedger> pmsMidLedgerList = pmsCountLedgerMapper.newDateData();
|
||||||
Map<String,PmsCountLedger> map = pmsMidLedgerList.stream().collect(Collectors.toMap(PmsCountLedger::getSection, Function.identity()));
|
Map<String, PmsCountLedger> map = pmsMidLedgerList.stream().collect(Collectors.toMap(PmsCountLedger::getSection, Function.identity()));
|
||||||
|
|
||||||
Dept dept = deptFeignClient.getRootDept().getData();
|
List<DeptGetChildrenDTO> deptList = calculatedParam.getIdList();
|
||||||
|
|
||||||
//获取所有层级单位
|
|
||||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
|
||||||
deptGetLineParam.setDeptId(dept.getId());
|
|
||||||
deptGetLineParam.setSystemType(0);
|
|
||||||
List<DeptGetChildrenDTO> deptList = commTerminalGeneralClient.deptGetLineList(deptGetLineParam).getData();
|
|
||||||
for (DeptGetChildrenDTO dto : deptList) {
|
for (DeptGetChildrenDTO dto : deptList) {
|
||||||
|
|
||||||
Integer stationNum;
|
Integer stationNum;
|
||||||
Integer busBarNum;
|
Integer busBarNum;
|
||||||
|
|
||||||
if(map.containsKey(dto.getDeptId())){
|
if (map.containsKey(dto.getDeptId())) {
|
||||||
PmsCountLedger pmsCountLedger = map.get(dto.getDeptId());
|
PmsCountLedger pmsCountLedger = map.get(dto.getDeptId());
|
||||||
stationNum = pmsCountLedger.getSubCount();
|
stationNum = pmsCountLedger.getSubCount();
|
||||||
busBarNum = pmsCountLedger.getSubvCount();
|
busBarNum = pmsCountLedger.getSubvCount();
|
||||||
}else {
|
|
||||||
|
if (stationNum == 0 || busBarNum == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<String> monitorIds = dto.getLineIds();
|
||||||
|
if (CollectionUtil.isNotEmpty(monitorIds)) {
|
||||||
RDimBusGlobalD rDimBusGlobalD = new RDimBusGlobalD();
|
RDimBusGlobalD rDimBusGlobalD = new RDimBusGlobalD();
|
||||||
rDimBusGlobalD.setOrgId(dto.getDeptId());
|
rDimBusGlobalD.setOrgId(dto.getDeptId());
|
||||||
rDimBusGlobalD.setStatisDate(date);
|
rDimBusGlobalD.setStatisDate(date);
|
||||||
|
|
||||||
List<String> monitorIds = dto.getLineIds();
|
|
||||||
if (CollectionUtil.isNotEmpty(monitorIds)) {
|
|
||||||
//先初步筛选出完整性大于95%的
|
//先初步筛选出完整性大于95%的
|
||||||
LambdaQueryWrapper<RStatIntegrityD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<RStatIntegrityD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.in(RStatIntegrityD::getLineIndex, monitorIds).eq(RStatIntegrityD::getTimeId, date);
|
lambdaQueryWrapper.in(RStatIntegrityD::getLineIndex, monitorIds).eq(RStatIntegrityD::getTimeId, date);
|
||||||
@@ -121,8 +120,12 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
|||||||
rDimBusGlobalD.setMonitorRate(0f);
|
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.setStationLimitAvgRate(3.14159f);
|
||||||
poList.add(rDimBusGlobalD);
|
poList.add(rDimBusGlobalD);
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//不为空还要判断完整性是否大于95%
|
//不为空还要判断完整性是否大于95%
|
||||||
@@ -133,20 +136,24 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
|||||||
rDimBusGlobalD.setMonitorRate(0f);
|
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.setStationLimitAvgRate(3.14159f);
|
||||||
poList.add(rDimBusGlobalD);
|
poList.add(rDimBusGlobalD);
|
||||||
break;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
//有效接入监测点(分母)
|
//有效接入监测点(分母)
|
||||||
List<String> goodMonitorIds = integrityDList.stream().map(RStatIntegrityD::getLineIndex).distinct().collect(Collectors.toList());
|
List<String> goodMonitorIds = integrityDList.stream().map(RStatIntegrityD::getLineIndex).distinct().collect(Collectors.toList());
|
||||||
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
monitorLambdaQueryWrapper.select(Monitor::getId, Monitor::getLineId,Monitor::getPowerrId).in(Monitor::getId, goodMonitorIds).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
|
monitorLambdaQueryWrapper.select(Monitor::getId, Monitor::getLineId, Monitor::getPowerrId).in(Monitor::getId, goodMonitorIds).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
|
||||||
List<Monitor> monitorList = pmsMonitorPOMapper.selectList(monitorLambdaQueryWrapper);
|
List<Monitor> monitorList = pmsMonitorPOMapper.selectList(monitorLambdaQueryWrapper);
|
||||||
List<String> goodLineIds = monitorList.stream().map(Monitor::getLineId).distinct().collect(Collectors.toList());
|
List<String> goodLineIds = monitorList.stream().map(Monitor::getLineId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
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.setMonitorRate((float) goodLineIds.size() / busBarNum * 100);
|
||||||
rDimBusGlobalD.setStationLimitRate((float) goodStationIds.size() / stationNum * 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);
|
||||||
@@ -160,9 +167,12 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
|||||||
|
|
||||||
|
|
||||||
if (CollectionUtil.isEmpty(rStatLimitRateDPOList) && CollectionUtil.isEmpty(eventList)) {
|
if (CollectionUtil.isEmpty(rStatLimitRateDPOList) && CollectionUtil.isEmpty(eventList)) {
|
||||||
rDimBusGlobalD.setMonitorRate(3.14159f);
|
rDimBusGlobalD.setLimitRate(3.14159f);
|
||||||
rDimBusGlobalD.setLimitAvgRate(3.14159f);
|
rDimBusGlobalD.setLimitAvgRate(3.14159f);
|
||||||
break;
|
|
||||||
|
rDimBusGlobalD.setStationLimitRate(3.14159f);
|
||||||
|
rDimBusGlobalD.setStationLimitAvgRate(3.14159f);
|
||||||
|
continue;
|
||||||
} else {
|
} else {
|
||||||
rStatLimitRateDPOList = rStatLimitRateDPOList.stream().filter(item -> item.getAllTime() == 1).collect(Collectors.toList());
|
rStatLimitRateDPOList = rStatLimitRateDPOList.stream().filter(item -> item.getAllTime() == 1).collect(Collectors.toList());
|
||||||
List<String> dianOneIds = rStatLimitRateDPOList.stream().map(RStatLimitTargetDPO::getLineId).collect(Collectors.toList());
|
List<String> dianOneIds = rStatLimitRateDPOList.stream().map(RStatLimitTargetDPO::getLineId).collect(Collectors.toList());
|
||||||
@@ -175,29 +185,67 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
|||||||
if (CollectionUtil.isEmpty(collect)) {
|
if (CollectionUtil.isEmpty(collect)) {
|
||||||
rDimBusGlobalD.setLimitRate(0f);
|
rDimBusGlobalD.setLimitRate(0f);
|
||||||
rDimBusGlobalD.setLimitAvgRate(0f);
|
rDimBusGlobalD.setLimitAvgRate(0f);
|
||||||
|
|
||||||
|
rDimBusGlobalD.setStationLimitRate(0f);
|
||||||
|
rDimBusGlobalD.setStationLimitAvgRate(0f);
|
||||||
} else {
|
} else {
|
||||||
//反推到母线
|
//反推到母线
|
||||||
monitorLambdaQueryWrapper.clear();
|
monitorLambdaQueryWrapper.clear();
|
||||||
monitorLambdaQueryWrapper.select(Monitor::getId, Monitor::getLineId,Monitor::getPowerrId).in(Monitor::getId, collect).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
|
monitorLambdaQueryWrapper.select(Monitor::getId, Monitor::getLineId, Monitor::getPowerrId).in(Monitor::getId, collect).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
|
||||||
List<Monitor> temMonitorList = pmsMonitorPOMapper.selectList(monitorLambdaQueryWrapper);
|
List<Monitor> temMonitorList = pmsMonitorPOMapper.selectList(monitorLambdaQueryWrapper);
|
||||||
List<String> targetLineIds = temMonitorList.stream().map(Monitor::getLineId).distinct().collect(Collectors.toList());
|
List<String> targetLineIds = temMonitorList.stream().map(Monitor::getLineId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
float re = (float) targetLineIds.size() / goodLineIds.size();
|
float re = (float) targetLineIds.size() / goodLineIds.size() * 100;
|
||||||
rDimBusGlobalD.setLimitRate(re);
|
rDimBusGlobalD.setLimitRate(re);
|
||||||
rDimBusGlobalD.setLimitAvgRate(re);
|
rDimBusGlobalD.setLimitAvgRate(re);
|
||||||
|
|
||||||
//反推电站
|
//反推电站
|
||||||
List<String> targetSubIds = temMonitorList.stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList());
|
List<String> targetSubIds = temMonitorList.stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList());
|
||||||
float reStation = (float) targetSubIds.size() / goodStationIds.size();
|
float reStation = (float) targetSubIds.size() / goodStationIds.size() * 100;
|
||||||
rDimBusGlobalD.setStationLimitRate(reStation);
|
rDimBusGlobalD.setStationLimitRate(reStation);
|
||||||
rDimBusGlobalD.setStationLimitAvgRate(reStation);
|
rDimBusGlobalD.setStationLimitAvgRate(reStation);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
poList.add(rDimBusGlobalD);
|
poList.add(rDimBusGlobalD);
|
||||||
}
|
}
|
||||||
this.saveOrUpdateBatchByMultiId(poList);
|
|
||||||
}
|
}
|
||||||
|
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) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjGlobalD;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjGlobalDMapper;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjGlobalDService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimObjGlobalDServiceImpl extends ServiceImpl<RDimObjGlobalDMapper, RDimObjGlobalD> implements IRDimObjGlobalDService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjGlobalM;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjGlobalMMapper;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjGlobalMService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimObjGlobalMServiceImpl extends ServiceImpl<RDimObjGlobalMMapper, RDimObjGlobalM> implements IRDimObjGlobalMService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjGlobalY;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjGlobalYMapper;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjGlobalYService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimObjGlobalYServiceImpl extends ServiceImpl<RDimObjGlobalYMapper, RDimObjGlobalY> implements IRDimObjGlobalYService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjTargetD;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjTargetDMapper;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjTargetDService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimObjTargetDServiceImpl extends ServiceImpl<RDimObjTargetDMapper, RDimObjTargetD> implements IRDimObjTargetDService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjTargetM;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjTargetMMapper;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjTargetMService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimObjTargetMServiceImpl extends ServiceImpl<RDimObjTargetMMapper, RDimObjTargetM> implements IRDimObjTargetMService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimObjTargetY;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjTargetYMapper;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjTargetYService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimObjTargetYServiceImpl extends ServiceImpl<RDimObjTargetYMapper, RDimObjTargetY> implements IRDimObjTargetYService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||||
|
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||||
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
|
import com.njcn.device.pms.pojo.po.ROperatingIndexM;
|
||||||
|
import com.njcn.event.pojo.po.PmsMonitorPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationBaseD;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationBaseDMapper;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.line.PmsMonitorMapper;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationBaseDService;
|
||||||
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
|
import com.njcn.system.pojo.po.DictData;
|
||||||
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
|
import com.njcn.user.pojo.po.Dept;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RDimStationBaseDServiceImpl extends ServiceImpl<RDimStationBaseDMapper, RDimStationBaseD> implements IRDimStationBaseDService {
|
||||||
|
|
||||||
|
private final DeptFeignClient deptFeignClient;
|
||||||
|
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||||
|
|
||||||
|
private final ROperatingMonitorDMapper rOperatingMonitorDMapper;
|
||||||
|
|
||||||
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
|
private final PmsMonitorMapper pmsMonitorMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void stationStatisticDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||||
|
List<RDimStationBaseD> poList = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
LocalDate date = LocalDate.parse(calculatedParam.getDataDate());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
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.RDimStationTargetD;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationTargetDMapper;
|
||||||
|
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.IRDimStationTargetDService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
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>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RDimStationTargetDServiceImpl extends ServiceImpl<RDimStationTargetDMapper, RDimStationTargetD> implements IRDimStationTargetDService {
|
||||||
|
|
||||||
|
|
||||||
|
private final IRDimStationBaseDService irDimStationBaseDService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void calDimStationTargetDay(CalculatedParam<DeptGetBase> calculatedParam) {
|
||||||
|
List<RDimStationTargetD> poList = new ArrayList<>();
|
||||||
|
LocalDate date = LocalDate.parse(calculatedParam.getDataDate());
|
||||||
|
|
||||||
|
List<DeptGetBase> deptList = calculatedParam.getIdList();
|
||||||
|
|
||||||
|
for(DeptGetBase deptGetBase : deptList){
|
||||||
|
List<String> deptCodes = deptGetBase.getUnitChildrenList();
|
||||||
|
|
||||||
|
LambdaQueryWrapper<RDimStationBaseD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.in(RDimStationBaseD::getOrgId,deptCodes)
|
||||||
|
.eq(RDimStationBaseD::getStatisDate,date).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 = voltageVal.stream().map(RDimStationBaseD::getStationId).distinct().collect(Collectors.toList()).size();
|
||||||
|
|
||||||
|
Map<String,List<RDimStationBaseD>> targetMap = voltageVal.stream().collect(Collectors.groupingBy(RDimStationBaseD::getTargetType));
|
||||||
|
targetMap.forEach((targetKey,targetVal)->{
|
||||||
|
RDimStationTargetD rDimStationTargetD = new RDimStationTargetD();
|
||||||
|
rDimStationTargetD.setOrgId(deptGetBase.getUnitId());
|
||||||
|
rDimStationTargetD.setStatisDate(LocalDate.parse(calculatedParam.getDataDate()));
|
||||||
|
rDimStationTargetD.setVoltageLevel(voltageKey);
|
||||||
|
rDimStationTargetD.setTargetType(targetKey);
|
||||||
|
|
||||||
|
List<String> limitList = targetVal.stream().filter(targetItem->targetItem.getLimitCount()>0).map(RDimStationBaseD::getStationId).distinct().collect(Collectors.toList());
|
||||||
|
rDimStationTargetD.setLimitRate((double) (limitList.size() / stationNum));
|
||||||
|
rDimStationTargetD.setLimitAvgRate((double) (limitList.size() / stationNum));
|
||||||
|
//**kV变电站**指标合格率(%)
|
||||||
|
int limit = targetVal.stream().mapToInt(RDimStationBaseD::getLimitCount).sum();
|
||||||
|
int all = targetVal.stream().mapToInt(RDimStationBaseD::getStatisCount).sum();
|
||||||
|
rDimStationTargetD.setPassRate((double)(all-limit)/all);
|
||||||
|
rDimStationTargetD.setPassAvgRate((double)(all-limit)/all);
|
||||||
|
rDimStationTargetD.setState(DataStateEnum.ENABLE.getCode());
|
||||||
|
poList.add(rDimStationTargetD);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
this.saveBatch(poList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
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.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.prepare.harmonic.mapper.mysql.dim.RDimStationTargetMMapper;
|
||||||
|
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.IRDimStationTargetMService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
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>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RDimStationTargetMServiceImpl extends ServiceImpl<RDimStationTargetMMapper, RDimStationTargetM> implements IRDimStationTargetMService {
|
||||||
|
|
||||||
|
private final IRDimStationBaseDService irDimStationBaseDService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void calDimStationTargetMonth(CalculatedParam<DeptGetBase> calculatedParam) {
|
||||||
|
List<RDimStationTargetM> poList = new ArrayList<>();
|
||||||
|
DateTime start = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||||
|
DateTime end = DateUtil.endOfMonth(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)->{
|
||||||
|
RDimStationTargetM rDimStationTargetD = new RDimStationTargetM();
|
||||||
|
rDimStationTargetD.setOrgId(deptGetBase.getUnitId());
|
||||||
|
rDimStationTargetD.setStatisDate(LocalDate.parse(calculatedParam.getDataDate()));
|
||||||
|
rDimStationTargetD.setVoltageLevel(voltageKey);
|
||||||
|
rDimStationTargetD.setTargetType(targetKey);
|
||||||
|
|
||||||
|
List<String> limitList = targetVal.stream().filter(targetItem->targetItem.getLimitCount()>0).map(RDimStationBaseD::getStationId).distinct().collect(Collectors.toList());
|
||||||
|
rDimStationTargetD.setLimitRate((double) (limitList.size() / stationNum));
|
||||||
|
|
||||||
|
long limitAllList = targetVal.stream().filter(targetItem->targetItem.getLimitCount()>0).map(RDimStationBaseD::getStationId).count();
|
||||||
|
rDimStationTargetD.setLimitAvgRate((double) (limitAllList / stationAllNum));
|
||||||
|
|
||||||
|
//**kV变电站**指标合格率(%)
|
||||||
|
int limit = targetVal.stream().mapToInt(RDimStationBaseD::getLimitCount).sum();
|
||||||
|
int all = targetVal.stream().mapToInt(RDimStationBaseD::getStatisCount).sum();
|
||||||
|
rDimStationTargetD.setPassRate((double)(all-limit)/all);
|
||||||
|
rDimStationTargetD.setPassAvgRate((double)(all-limit)/all);
|
||||||
|
rDimStationTargetD.setState(DataStateEnum.ENABLE.getCode());
|
||||||
|
poList.add(rDimStationTargetD);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
this.saveBatch(poList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationTargetY;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimStationTargetYMapper;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimStationTargetYService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2023-11-21
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RDimStationTargetYServiceImpl extends ServiceImpl<RDimStationTargetYMapper, RDimStationTargetY> implements IRDimStationTargetYService {
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user