添加算法
This commit is contained in:
@@ -0,0 +1,53 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:09【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName(value = "r_dim_bus_station_event_startis_d")
|
||||||
|
public class RDimBusStationEventStartisDPO {
|
||||||
|
@MppMultiId(value = "Org_Id")
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
@MppMultiId(value = "Statis_Date")
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
@MppMultiId(value = "Startis_Type")
|
||||||
|
private String startisType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站母线占比(%)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Limit_Rate")
|
||||||
|
private Double limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站母线暂态指标发生频次(次/线)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Limit_Freq")
|
||||||
|
private Double limitFreq;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站占比(%)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Station_Limit_Rate")
|
||||||
|
private Double stationLimitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站暂态指标发生频次(次/站)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Station_Freq")
|
||||||
|
private Double stationFreq;
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:09【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName(value = "r_dim_bus_station_event_startis_m")
|
||||||
|
public class RDimBusStationEventStartisMPO {
|
||||||
|
@MppMultiId(value = "Org_Id")
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
@MppMultiId(value = "Statis_Date")
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
@MppMultiId(value = "Startis_Type")
|
||||||
|
private String startisType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站母线占比(%)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Limit_Rate")
|
||||||
|
private Double limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站母线暂态指标发生频次(次/线)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Limit_Freq")
|
||||||
|
private Double limitFreq;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站占比(%)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Station_Limit_Rate")
|
||||||
|
private Double stationLimitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站暂态指标发生频次(次/站)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Station_Freq")
|
||||||
|
private Double stationFreq;
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package com.njcn.harmonic.pojo.po.dim;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:10【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName(value = "r_dim_bus_station_event_startis_y")
|
||||||
|
public class RDimBusStationEventStartisYPO {
|
||||||
|
@MppMultiId(value = "Org_Id")
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
@MppMultiId(value = "Statis_Date")
|
||||||
|
private LocalDate statisDate;
|
||||||
|
|
||||||
|
@MppMultiId(value = "Startis_Type")
|
||||||
|
private String startisType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站母线占比(%)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Limit_Rate")
|
||||||
|
private Double limitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站母线暂态指标发生频次(次/线)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Limit_Freq")
|
||||||
|
private Double limitFreq;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测到暂态指标的变电站占比(%)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Station_Limit_Rate")
|
||||||
|
private Double stationLimitRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变电站暂态指标发生频次(次/站)
|
||||||
|
*/
|
||||||
|
@TableField(value = "Station_Freq")
|
||||||
|
private Double stationFreq;
|
||||||
|
}
|
||||||
@@ -20,7 +20,7 @@ public class CalculatedParam<T> implements Serializable {
|
|||||||
* 是否全链路执行算法
|
* 是否全链路执行算法
|
||||||
* 非全链路执行时,tag集合必须非空
|
* 非全链路执行时,tag集合必须非空
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(name = "repair",value = "是否全链执行")
|
@ApiModelProperty(name = "fullChain",value = "是否全链执行")
|
||||||
private boolean fullChain;
|
private boolean fullChain;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -64,8 +64,9 @@ public class OrgPointExecutor extends BaseExecutor{
|
|||||||
private final IRDimObjGlobalMService irDimObjGlobalMService;
|
private final IRDimObjGlobalMService irDimObjGlobalMService;
|
||||||
private final IRDimObjGlobalYService irDimObjGlobalYService;
|
private final IRDimObjGlobalYService irDimObjGlobalYService;
|
||||||
|
|
||||||
|
private final RDimBusStationEventStartisDPOService rDimBusStationEventStartisDPOService;
|
||||||
|
private final RDimBusStationEventStartisMPOService rDimBusStationEventStartisMPOService;
|
||||||
|
private final RDimBusStationEventStartisYPOService rDimBusStationEventStartisYPOService;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* 3.3.2. 单位标数据质量
|
* 3.3.2. 单位标数据质量
|
||||||
@@ -565,5 +566,34 @@ public class OrgPointExecutor extends BaseExecutor{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 河北主网新增算法表r_dim_obj_target_d/m/y
|
||||||
|
*/
|
||||||
|
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rDimObjBusStationEventStartis", nodeType = NodeTypeEnum.COMMON)
|
||||||
|
public boolean processRDimObjBusStationEventStartisAccess(NodeComponent bindCmp) {
|
||||||
|
return isAccess(bindCmp);
|
||||||
|
}
|
||||||
|
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rDimObjBusStationEventStartis", nodeType = NodeTypeEnum.COMMON)
|
||||||
|
public void processDimObjBusStationEventStartisProcess(NodeComponent bindCmp) {
|
||||||
|
String tag = bindCmp.getTag();
|
||||||
|
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = bindCmp.getRequestData();
|
||||||
|
if (tag.equalsIgnoreCase("r_dim_bus_station_event_startis_d")) {
|
||||||
|
//日表
|
||||||
|
rDimBusStationEventStartisDPOService.handleDay(calculatedParam);
|
||||||
|
} else if (tag.equalsIgnoreCase("r_dim_bus_station_event_startis_m")) {
|
||||||
|
//数据补招不执行非日表算法
|
||||||
|
if (!calculatedParam.isRepair()) {
|
||||||
|
//月表
|
||||||
|
rDimBusStationEventStartisMPOService.handleMonth(calculatedParam);
|
||||||
|
}
|
||||||
|
}else if (tag.equalsIgnoreCase("r_dim_bus_station_event_startis_y")) {
|
||||||
|
//数据补招不执行非日表算法
|
||||||
|
if (!calculatedParam.isRepair()) {
|
||||||
|
//年表
|
||||||
|
rDimBusStationEventStartisYPOService.handleYear(calculatedParam);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisDPO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:09【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface RDimBusStationEventStartisDPOMapper extends MppBaseMapper<RDimBusStationEventStartisDPO> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisMPO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:09【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface RDimBusStationEventStartisMPOMapper extends MppBaseMapper<RDimBusStationEventStartisMPO> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisYPO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:10【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface RDimBusStationEventStartisYPOMapper extends MppBaseMapper<RDimBusStationEventStartisYPO> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusStationEventStartisDPOMapper">
|
||||||
|
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisDPO">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
<!--@Table r_dim_bus_station_event_startis_d-->
|
||||||
|
<id column="Org_Id" jdbcType="CHAR" property="orgId" />
|
||||||
|
<id column="Statis_Date" jdbcType="DATE" property="statisDate" />
|
||||||
|
<id column="Startis_Type" jdbcType="VARCHAR" property="startisType" />
|
||||||
|
<result column="Limit_Rate" jdbcType="REAL" property="limitRate" />
|
||||||
|
<result column="Limit_Freq" jdbcType="REAL" property="limitFreq" />
|
||||||
|
<result column="Station_Limit_Rate" jdbcType="REAL" property="stationLimitRate" />
|
||||||
|
<result column="Station_Freq" jdbcType="REAL" property="stationFreq" />
|
||||||
|
</resultMap>
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
Org_Id, Statis_Date, Startis_Type, Limit_Rate, Limit_Freq, Station_Limit_Rate, Station_Freq
|
||||||
|
</sql>
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusStationEventStartisMPOMapper">
|
||||||
|
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisMPO">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
<!--@Table r_dim_bus_station_event_startis_m-->
|
||||||
|
<id column="Org_Id" jdbcType="CHAR" property="orgId" />
|
||||||
|
<id column="Statis_Date" jdbcType="DATE" property="statisDate" />
|
||||||
|
<id column="Startis_Type" jdbcType="VARCHAR" property="startisType" />
|
||||||
|
<result column="Limit_Rate" jdbcType="REAL" property="limitRate" />
|
||||||
|
<result column="Limit_Freq" jdbcType="REAL" property="limitFreq" />
|
||||||
|
<result column="Station_Limit_Rate" jdbcType="REAL" property="stationLimitRate" />
|
||||||
|
<result column="Station_Freq" jdbcType="REAL" property="stationFreq" />
|
||||||
|
</resultMap>
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
Org_Id, Statis_Date, Startis_Type, Limit_Rate, Limit_Freq, Station_Limit_Rate, Station_Freq
|
||||||
|
</sql>
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusStationEventStartisYPOMapper">
|
||||||
|
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisYPO">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
<!--@Table r_dim_bus_station_event_startis_y-->
|
||||||
|
<id column="Org_Id" jdbcType="CHAR" property="orgId" />
|
||||||
|
<id column="Statis_Date" jdbcType="DATE" property="statisDate" />
|
||||||
|
<id column="Startis_Type" jdbcType="VARCHAR" property="startisType" />
|
||||||
|
<result column="Limit_Rate" jdbcType="REAL" property="limitRate" />
|
||||||
|
<result column="Limit_Freq" jdbcType="REAL" property="limitFreq" />
|
||||||
|
<result column="Station_Limit_Rate" jdbcType="REAL" property="stationLimitRate" />
|
||||||
|
<result column="Station_Freq" jdbcType="REAL" property="stationFreq" />
|
||||||
|
</resultMap>
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
Org_Id, Statis_Date, Startis_Type, Limit_Rate, Limit_Freq, Station_Limit_Rate, Station_Freq
|
||||||
|
</sql>
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisDPO;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:09【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface RDimBusStationEventStartisDPOService extends IMppService<RDimBusStationEventStartisDPO> {
|
||||||
|
|
||||||
|
|
||||||
|
void handleDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisMPO;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:09【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface RDimBusStationEventStartisMPOService extends IMppService<RDimBusStationEventStartisMPO> {
|
||||||
|
|
||||||
|
|
||||||
|
void handleMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisYPO;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:10【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface RDimBusStationEventStartisYPOService extends IMppService<RDimBusStationEventStartisYPO> {
|
||||||
|
|
||||||
|
|
||||||
|
void handleYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||||
|
}
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
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.DeptGetChildrenMoreDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisDPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationHarmnicDPO;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusStationEventStartisDPOMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusStationEventStartisDPOService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimStationHarmnicDPOService;
|
||||||
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
|
import com.njcn.system.enums.DicDataEnum;
|
||||||
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
|
import com.njcn.system.pojo.po.DictData;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:09【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RDimBusStationEventStartisDPOServiceImpl extends MppServiceImpl<RDimBusStationEventStartisDPOMapper, RDimBusStationEventStartisDPO> implements RDimBusStationEventStartisDPOService{
|
||||||
|
|
||||||
|
private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService;
|
||||||
|
private final RDimStationHarmnicDPOService rDimStationHarmnicDPOService;
|
||||||
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handleDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||||
|
|
||||||
|
List<RDimBusStationEventStartisDPO> poList = new ArrayList<>();
|
||||||
|
LocalDate date = LocalDate.parse(calculatedParam.getDataDate());
|
||||||
|
List<DictData> eventStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData();
|
||||||
|
|
||||||
|
|
||||||
|
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
||||||
|
LambdaQueryWrapper<RDimBusbarHarmnicDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.eq(RDimBusbarHarmnicDPO::getOrgId,deptGetChildrenMoreDTO.getUnitId())
|
||||||
|
.eq(RDimBusbarHarmnicDPO::getStatisDate,date)
|
||||||
|
.eq(RDimBusbarHarmnicDPO::getLevel,1);
|
||||||
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOList = rDimBusbarHarmnicDPOService.list(lambdaQueryWrapper);
|
||||||
|
List<RDimStationHarmnicDPO> rDimStationHarmnicDPOList = rDimStationHarmnicDPOService.lambdaQuery().eq(RDimStationHarmnicDPO::getOrgId, deptGetChildrenMoreDTO.getUnitId())
|
||||||
|
.eq(RDimStationHarmnicDPO::getStatisDate, date)
|
||||||
|
.eq(RDimStationHarmnicDPO::getLevel, 1).list();
|
||||||
|
|
||||||
|
//暂态
|
||||||
|
eventStatis.forEach(dictData -> {
|
||||||
|
if (Objects.equals(dictData.getCode(), DicDataEnum.DISTURBANCE.getCode())
|
||||||
|
|| Objects.equals(dictData.getCode(), DicDataEnum.OTHER.getCode())
|
||||||
|
|| Objects.equals(dictData.getCode(), DicDataEnum.RECORDING_WAVE.getCode())
|
||||||
|
|| Objects.equals(dictData.getCode(), DicDataEnum.TOTAL_INDICATORS.getCode())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
RDimBusStationEventStartisDPO rDimBusStationEventStartisDPO = new RDimBusStationEventStartisDPO();
|
||||||
|
rDimBusStationEventStartisDPO.setOrgId(deptGetChildrenMoreDTO.getUnitId());
|
||||||
|
rDimBusStationEventStartisDPO.setStatisDate(date);
|
||||||
|
rDimBusStationEventStartisDPO.setStartisType(dictData.getId());
|
||||||
|
|
||||||
|
|
||||||
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOListBytag = rDimBusbarHarmnicDPOList.stream().filter(temp -> Objects.equals(temp.getTargetType(), dictData.getId())).collect(Collectors.toList());
|
||||||
|
List<RDimStationHarmnicDPO> rDimStationHarmnicDPOListBytag = rDimStationHarmnicDPOList.stream().filter(temp -> Objects.equals(temp.getTargetType(), dictData.getId())).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isEmpty(rDimBusbarHarmnicDPOListBytag)){
|
||||||
|
rDimBusStationEventStartisDPO.setLimitRate(0.00);
|
||||||
|
rDimBusStationEventStartisDPO.setLimitFreq(0.00);
|
||||||
|
}else {
|
||||||
|
long allBus = rDimBusbarHarmnicDPOListBytag.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
List<RDimBusbarHarmnicDPO> limitBus = rDimBusbarHarmnicDPOListBytag.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
long limit = rDimBusbarHarmnicDPOListBytag.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
rDimBusStationEventStartisDPO.setLimitRate(Double.valueOf((float)limit/allBus));
|
||||||
|
|
||||||
|
int sum = limitBus.stream().mapToInt(RDimBusbarHarmnicDPO::getLimitCount).sum();
|
||||||
|
rDimBusStationEventStartisDPO.setLimitFreq(Double.valueOf((float)sum/allBus));
|
||||||
|
|
||||||
|
}
|
||||||
|
if(CollUtil.isEmpty(rDimStationHarmnicDPOListBytag)){
|
||||||
|
rDimBusStationEventStartisDPO.setStationFreq(0.00);
|
||||||
|
rDimBusStationEventStartisDPO.setStationLimitRate(0.00);
|
||||||
|
}else {
|
||||||
|
long allBus = rDimStationHarmnicDPOListBytag.stream().map(RDimStationHarmnicDPO::getStationId).distinct().count();
|
||||||
|
List<RDimStationHarmnicDPO> limitstation = rDimStationHarmnicDPOListBytag.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
long limit = rDimStationHarmnicDPOListBytag.stream().map(RDimStationHarmnicDPO::getStationId).distinct().count();
|
||||||
|
rDimBusStationEventStartisDPO.setLimitRate(Double.valueOf((float)limit/allBus));
|
||||||
|
|
||||||
|
int sum = limitstation.stream().mapToInt(RDimStationHarmnicDPO::getLimitCount).sum();
|
||||||
|
rDimBusStationEventStartisDPO.setLimitFreq(Double.valueOf((float)sum/allBus));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
poList.add(rDimBusStationEventStartisDPO);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!CollectionUtils.isEmpty(poList) ) {
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList,500);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisMPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationHarmnicDPO;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusStationEventStartisMPOMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusStationEventStartisMPOService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimStationHarmnicDPOService;
|
||||||
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
|
import com.njcn.system.enums.DicDataEnum;
|
||||||
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
|
import com.njcn.system.pojo.po.DictData;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:09【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RDimBusStationEventStartisMPOServiceImpl extends MppServiceImpl<RDimBusStationEventStartisMPOMapper, RDimBusStationEventStartisMPO> implements RDimBusStationEventStartisMPOService{
|
||||||
|
|
||||||
|
|
||||||
|
private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService;
|
||||||
|
private final RDimStationHarmnicDPOService rDimStationHarmnicDPOService;
|
||||||
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handleMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||||
|
List<RDimBusStationEventStartisMPO> poList = new ArrayList<>();
|
||||||
|
LocalDate date = LocalDate.parse(calculatedParam.getDataDate());
|
||||||
|
//获取日期
|
||||||
|
DateTime begin = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||||
|
DateTime end = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||||
|
List<DictData> eventStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData();
|
||||||
|
|
||||||
|
|
||||||
|
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
||||||
|
LambdaQueryWrapper<RDimBusbarHarmnicDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.eq(RDimBusbarHarmnicDPO::getOrgId,deptGetChildrenMoreDTO.getUnitId())
|
||||||
|
.between(RDimBusbarHarmnicDPO::getStatisDate,begin,end)
|
||||||
|
.eq(RDimBusbarHarmnicDPO::getLevel,1);
|
||||||
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOList = rDimBusbarHarmnicDPOService.list(lambdaQueryWrapper);
|
||||||
|
List<RDimStationHarmnicDPO> rDimStationHarmnicDPOList = rDimStationHarmnicDPOService.lambdaQuery().eq(RDimStationHarmnicDPO::getOrgId, deptGetChildrenMoreDTO.getUnitId())
|
||||||
|
.between(RDimStationHarmnicDPO::getStatisDate,begin,end)
|
||||||
|
.eq(RDimStationHarmnicDPO::getLevel, 1).list();
|
||||||
|
|
||||||
|
//暂态
|
||||||
|
eventStatis.forEach(dictData -> {
|
||||||
|
if (Objects.equals(dictData.getCode(), DicDataEnum.DISTURBANCE.getCode())
|
||||||
|
|| Objects.equals(dictData.getCode(), DicDataEnum.OTHER.getCode())
|
||||||
|
|| Objects.equals(dictData.getCode(), DicDataEnum.RECORDING_WAVE.getCode())
|
||||||
|
|| Objects.equals(dictData.getCode(), DicDataEnum.TOTAL_INDICATORS.getCode())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
RDimBusStationEventStartisMPO rDimBusStationEventStartisMPO = new RDimBusStationEventStartisMPO();
|
||||||
|
rDimBusStationEventStartisMPO.setOrgId(deptGetChildrenMoreDTO.getUnitId());
|
||||||
|
rDimBusStationEventStartisMPO.setStatisDate(date);
|
||||||
|
rDimBusStationEventStartisMPO.setStartisType(dictData.getId());
|
||||||
|
|
||||||
|
|
||||||
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOListBytag = rDimBusbarHarmnicDPOList.stream().filter(temp -> Objects.equals(temp.getTargetType(), dictData.getId())).collect(Collectors.toList());
|
||||||
|
List<RDimStationHarmnicDPO> rDimStationHarmnicDPOListBytag = rDimStationHarmnicDPOList.stream().filter(temp -> Objects.equals(temp.getTargetType(), dictData.getId())).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isEmpty(rDimBusbarHarmnicDPOListBytag)){
|
||||||
|
rDimBusStationEventStartisMPO.setLimitRate(0.00);
|
||||||
|
rDimBusStationEventStartisMPO.setLimitFreq(0.00);
|
||||||
|
}else {
|
||||||
|
long allBus = rDimBusbarHarmnicDPOListBytag.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
List<RDimBusbarHarmnicDPO> limitBus = rDimBusbarHarmnicDPOListBytag.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
long limit = rDimBusbarHarmnicDPOListBytag.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
rDimBusStationEventStartisMPO.setLimitRate(Double.valueOf((float)limit/allBus));
|
||||||
|
|
||||||
|
int sum = limitBus.stream().mapToInt(RDimBusbarHarmnicDPO::getLimitCount).sum();
|
||||||
|
rDimBusStationEventStartisMPO.setLimitFreq(Double.valueOf((float)sum/allBus));
|
||||||
|
|
||||||
|
}
|
||||||
|
if(CollUtil.isEmpty(rDimStationHarmnicDPOListBytag)){
|
||||||
|
rDimBusStationEventStartisMPO.setStationFreq(0.00);
|
||||||
|
rDimBusStationEventStartisMPO.setStationLimitRate(0.00);
|
||||||
|
}else {
|
||||||
|
long allBus = rDimStationHarmnicDPOListBytag.stream().map(RDimStationHarmnicDPO::getStationId).distinct().count();
|
||||||
|
List<RDimStationHarmnicDPO> limitstation = rDimStationHarmnicDPOListBytag.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
long limit = rDimStationHarmnicDPOListBytag.stream().map(RDimStationHarmnicDPO::getStationId).distinct().count();
|
||||||
|
rDimBusStationEventStartisMPO.setLimitRate(Double.valueOf((float)limit/allBus));
|
||||||
|
|
||||||
|
int sum = limitstation.stream().mapToInt(RDimStationHarmnicDPO::getLimitCount).sum();
|
||||||
|
rDimBusStationEventStartisMPO.setLimitFreq(Double.valueOf((float)sum/allBus));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
poList.add(rDimBusStationEventStartisMPO);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!CollectionUtils.isEmpty(poList) ) {
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList,500);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
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.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusStationEventStartisYPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimBusbarHarmnicDPO;
|
||||||
|
import com.njcn.harmonic.pojo.po.dim.RDimStationHarmnicDPO;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusStationEventStartisYPOMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusStationEventStartisYPOService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimBusbarHarmnicDPOService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.dim.RDimStationHarmnicDPOService;
|
||||||
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
|
import com.njcn.system.enums.DicDataEnum;
|
||||||
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
|
import com.njcn.system.pojo.po.DictData;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/11/27 15:10【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RDimBusStationEventStartisYPOServiceImpl extends MppServiceImpl<RDimBusStationEventStartisYPOMapper, RDimBusStationEventStartisYPO> implements RDimBusStationEventStartisYPOService{
|
||||||
|
|
||||||
|
|
||||||
|
private final RDimBusbarHarmnicDPOService rDimBusbarHarmnicDPOService;
|
||||||
|
private final RDimStationHarmnicDPOService rDimStationHarmnicDPOService;
|
||||||
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handleYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||||
|
List<RDimBusStationEventStartisYPO> poList = new ArrayList<>();
|
||||||
|
LocalDate date = LocalDate.parse(calculatedParam.getDataDate());
|
||||||
|
//获取日期
|
||||||
|
DateTime begin = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||||
|
DateTime end = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||||
|
List<DictData> eventStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData();
|
||||||
|
|
||||||
|
|
||||||
|
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
||||||
|
LambdaQueryWrapper<RDimBusbarHarmnicDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.eq(RDimBusbarHarmnicDPO::getOrgId,deptGetChildrenMoreDTO.getUnitId())
|
||||||
|
.between(RDimBusbarHarmnicDPO::getStatisDate,begin,end)
|
||||||
|
.eq(RDimBusbarHarmnicDPO::getLevel,1);
|
||||||
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOList = rDimBusbarHarmnicDPOService.list(lambdaQueryWrapper);
|
||||||
|
List<RDimStationHarmnicDPO> rDimStationHarmnicDPOList = rDimStationHarmnicDPOService.lambdaQuery().eq(RDimStationHarmnicDPO::getOrgId, deptGetChildrenMoreDTO.getUnitId())
|
||||||
|
.between(RDimStationHarmnicDPO::getStatisDate,begin,end)
|
||||||
|
.eq(RDimStationHarmnicDPO::getLevel, 1).list();
|
||||||
|
|
||||||
|
//暂态
|
||||||
|
eventStatis.forEach(dictData -> {
|
||||||
|
if (Objects.equals(dictData.getCode(), DicDataEnum.DISTURBANCE.getCode())
|
||||||
|
|| Objects.equals(dictData.getCode(), DicDataEnum.OTHER.getCode())
|
||||||
|
|| Objects.equals(dictData.getCode(), DicDataEnum.RECORDING_WAVE.getCode())
|
||||||
|
|| Objects.equals(dictData.getCode(), DicDataEnum.TOTAL_INDICATORS.getCode())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
RDimBusStationEventStartisYPO rDimBusStationEventStartisYPO = new RDimBusStationEventStartisYPO();
|
||||||
|
rDimBusStationEventStartisYPO.setOrgId(deptGetChildrenMoreDTO.getUnitId());
|
||||||
|
rDimBusStationEventStartisYPO.setStatisDate(date);
|
||||||
|
rDimBusStationEventStartisYPO.setStartisType(dictData.getId());
|
||||||
|
|
||||||
|
|
||||||
|
List<RDimBusbarHarmnicDPO> rDimBusbarHarmnicDPOListBytag = rDimBusbarHarmnicDPOList.stream().filter(temp -> Objects.equals(temp.getTargetType(), dictData.getId())).collect(Collectors.toList());
|
||||||
|
List<RDimStationHarmnicDPO> rDimStationHarmnicDPOListBytag = rDimStationHarmnicDPOList.stream().filter(temp -> Objects.equals(temp.getTargetType(), dictData.getId())).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isEmpty(rDimBusbarHarmnicDPOListBytag)){
|
||||||
|
rDimBusStationEventStartisYPO.setLimitRate(0.00);
|
||||||
|
rDimBusStationEventStartisYPO.setLimitFreq(0.00);
|
||||||
|
}else {
|
||||||
|
long allBus = rDimBusbarHarmnicDPOListBytag.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
List<RDimBusbarHarmnicDPO> limitBus = rDimBusbarHarmnicDPOListBytag.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
long limit = rDimBusbarHarmnicDPOListBytag.stream().map(RDimBusbarHarmnicDPO::getBusbarId).distinct().count();
|
||||||
|
rDimBusStationEventStartisYPO.setLimitRate(Double.valueOf((float)limit/allBus));
|
||||||
|
|
||||||
|
int sum = limitBus.stream().mapToInt(RDimBusbarHarmnicDPO::getLimitCount).sum();
|
||||||
|
rDimBusStationEventStartisYPO.setLimitFreq(Double.valueOf((float)sum/allBus));
|
||||||
|
|
||||||
|
}
|
||||||
|
if(CollUtil.isEmpty(rDimStationHarmnicDPOListBytag)){
|
||||||
|
rDimBusStationEventStartisYPO.setStationFreq(0.00);
|
||||||
|
rDimBusStationEventStartisYPO.setStationLimitRate(0.00);
|
||||||
|
}else {
|
||||||
|
long allBus = rDimStationHarmnicDPOListBytag.stream().map(RDimStationHarmnicDPO::getStationId).distinct().count();
|
||||||
|
List<RDimStationHarmnicDPO> limitstation = rDimStationHarmnicDPOListBytag.stream().filter(item->item.getLimitCount()>0).collect(Collectors.toList());
|
||||||
|
|
||||||
|
long limit = rDimStationHarmnicDPOListBytag.stream().map(RDimStationHarmnicDPO::getStationId).distinct().count();
|
||||||
|
rDimBusStationEventStartisYPO.setLimitRate(Double.valueOf((float)limit/allBus));
|
||||||
|
|
||||||
|
int sum = limitstation.stream().mapToInt(RDimStationHarmnicDPO::getLimitCount).sum();
|
||||||
|
rDimBusStationEventStartisYPO.setLimitFreq(Double.valueOf((float)sum/allBus));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
poList.add(rDimBusStationEventStartisYPO);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!CollectionUtils.isEmpty(poList) ) {
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList,500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user