1.国网下穿-典型源荷接口编写
This commit is contained in:
@@ -0,0 +1,69 @@
|
|||||||
|
package com.njcn.device.pms.pojo.param.gw;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wr
|
||||||
|
* @description
|
||||||
|
* @date 2024/5/16 9:57
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TypicalSourceParam {
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("详情类型")
|
||||||
|
private String detailType;
|
||||||
|
|
||||||
|
@ApiModelProperty("结束日期")
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("谐波次数")
|
||||||
|
private Integer harmonicNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("各站点id")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@ApiModelProperty("指标类型:1.电压总谐波畸变率 2.谐波电压 3.谐波电流 4.三相电压不平衡都 5.负序电流 6.长时闪变")
|
||||||
|
private String indexType;
|
||||||
|
|
||||||
|
@ApiModelProperty("行业分类 00:全部 01:煤炭开采和洗选业 02:石油和天然气开采业 03:属矿采选业 04:非金属矿采选业 05:金属冶炼和压延加工业 06: 金属制品业 07: 铁路运输业 08: 其他")
|
||||||
|
private String industryType;
|
||||||
|
|
||||||
|
@ApiModelProperty("组织结构id")
|
||||||
|
private String nodeId;
|
||||||
|
|
||||||
|
@ApiModelProperty("组织结构等级")
|
||||||
|
private String nodeLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("单位id")
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
@ApiModelProperty("单位级别")
|
||||||
|
private String orgLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("开始日期")
|
||||||
|
private String startTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("统计类型: 01:年 02:月 03:日")
|
||||||
|
private String statType;
|
||||||
|
|
||||||
|
@ApiModelProperty("类型")
|
||||||
|
private String typeNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否最优监测点")
|
||||||
|
private String whetherOptimal;
|
||||||
|
|
||||||
|
@ApiModelProperty("页码")
|
||||||
|
private Integer pageNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("每页条数")
|
||||||
|
private Integer pageSize;
|
||||||
|
|
||||||
|
@ApiModelProperty("统计类型: 01-牵引站,02-风电场,03-光伏电站,04-其他干扰用户")
|
||||||
|
private String statisticsType;
|
||||||
|
|
||||||
|
@ApiModelProperty("统计时间,日数据:yyyy-mm-dd,月数据:yyyy-mm,年数据:yyyy")
|
||||||
|
private String statDate;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
package com.njcn.device.pms.pojo.vo.gw;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wr
|
||||||
|
* @description
|
||||||
|
* @date 2024/5/16 15:41
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TypicalSourceEffectiveLine {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("实收数")
|
||||||
|
private Integer actualCollectNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("母线主键")
|
||||||
|
private String busId;
|
||||||
|
|
||||||
|
@ApiModelProperty("母线名称")
|
||||||
|
private String busName;
|
||||||
|
|
||||||
|
@ApiModelProperty("母线电压等级")
|
||||||
|
private String busVoltageLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("母线电压等级名称")
|
||||||
|
private String busVoltageLevelName;
|
||||||
|
|
||||||
|
@ApiModelProperty("所属地市")
|
||||||
|
private String cityOrg;
|
||||||
|
|
||||||
|
@ApiModelProperty("所属单位名称")
|
||||||
|
private String cityOrgName;
|
||||||
|
|
||||||
|
@ApiModelProperty("数据完整率")
|
||||||
|
private Float dataFullRate;
|
||||||
|
|
||||||
|
@ApiModelProperty("应收数")
|
||||||
|
private Integer expectCollectNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("主键")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@ApiModelProperty("运维单位")
|
||||||
|
private String maintOrg;
|
||||||
|
|
||||||
|
@ApiModelProperty("运维单位名称")
|
||||||
|
private String maintOrgName;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点编码")
|
||||||
|
private String monitorId;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点名称")
|
||||||
|
private String monitorName;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测日期")
|
||||||
|
private String statDate;
|
||||||
|
|
||||||
|
@ApiModelProperty("所属电站主键")
|
||||||
|
private String stationId;
|
||||||
|
|
||||||
|
@ApiModelProperty("所属电站名称")
|
||||||
|
private String stationName;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点状态")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点状态名称")
|
||||||
|
private String statusName;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否最优")
|
||||||
|
private String whetherOptimal;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否最优监测点名称")
|
||||||
|
private String whetherOptimalName;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,121 @@
|
|||||||
|
package com.njcn.device.pms.pojo.vo.gw;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wr
|
||||||
|
* @description
|
||||||
|
* @date 2024/5/16 9:36
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TypicalSourceOnLine {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty("副备电站id")
|
||||||
|
private String auxiliarySubstationId;
|
||||||
|
|
||||||
|
@ApiModelProperty("副备电站名称")
|
||||||
|
private String auxiliarySubstationName;
|
||||||
|
|
||||||
|
@ApiModelProperty("副备电站电压等级")
|
||||||
|
private String auxiliaryVoltageLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("副备电站电压等级名称")
|
||||||
|
private String auxiliaryVoltageLevelName;
|
||||||
|
|
||||||
|
@ApiModelProperty("母线电压等级")
|
||||||
|
private String busVoltageLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("母线电压等级名称")
|
||||||
|
private String busVoltageLevelName;
|
||||||
|
|
||||||
|
@ApiModelProperty("协议容量")
|
||||||
|
private String capacity;
|
||||||
|
|
||||||
|
@ApiModelProperty("所属单位id")
|
||||||
|
private String cityOrg;
|
||||||
|
|
||||||
|
@ApiModelProperty("所属单位名称")
|
||||||
|
private String cityOrgName;
|
||||||
|
|
||||||
|
@ApiModelProperty("有效监测点数量")
|
||||||
|
private Integer effectMonitorNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("主键")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@ApiModelProperty("主备电站id")
|
||||||
|
private String mainSubstationId;
|
||||||
|
|
||||||
|
@ApiModelProperty("主备电站名称")
|
||||||
|
private String mainSubstationName;
|
||||||
|
|
||||||
|
@ApiModelProperty("主备电站电压等级")
|
||||||
|
private String mainVoltageLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("主备电站电压等级名称")
|
||||||
|
private String mainVoltageLevelName;
|
||||||
|
|
||||||
|
@ApiModelProperty("运维单位id")
|
||||||
|
private String maintOrg;
|
||||||
|
|
||||||
|
@ApiModelProperty("运维单位名称")
|
||||||
|
private String maintOrgName;
|
||||||
|
|
||||||
|
@ApiModelProperty("场站属性")
|
||||||
|
private String monitorObjectType;
|
||||||
|
|
||||||
|
@ApiModelProperty("场站属性名称")
|
||||||
|
private String monitorObjectTypeName;
|
||||||
|
|
||||||
|
@ApiModelProperty("各站点名称,如:牵引站对应牵引站名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty("铁路名称")
|
||||||
|
private String railWayName;
|
||||||
|
|
||||||
|
@ApiModelProperty("铁路编号")
|
||||||
|
private String railWayNumber;
|
||||||
|
|
||||||
|
@ApiModelProperty("铁路类型")
|
||||||
|
private String railWayType;
|
||||||
|
|
||||||
|
@ApiModelProperty("铁路类型名称")
|
||||||
|
private String railWayTypeName;
|
||||||
|
|
||||||
|
@ApiModelProperty("运行状态")
|
||||||
|
private String runStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("运行状态名称")
|
||||||
|
private String runStatusName;
|
||||||
|
|
||||||
|
@ApiModelProperty("关联变电站id")
|
||||||
|
private String stationId;
|
||||||
|
|
||||||
|
@ApiModelProperty("关联变电站名称")
|
||||||
|
private String stationName;
|
||||||
|
|
||||||
|
@ApiModelProperty("变电站类型")
|
||||||
|
private String stationType;
|
||||||
|
|
||||||
|
@ApiModelProperty("关联变电站电压等级")
|
||||||
|
private String stationVoltageLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("关联变电站电压等级名称")
|
||||||
|
private String stationVoltageLevelName;
|
||||||
|
|
||||||
|
@ApiModelProperty("行业分类")
|
||||||
|
private String tradeCode;
|
||||||
|
|
||||||
|
@ApiModelProperty("行业分类名称")
|
||||||
|
private String tradeCodeName;
|
||||||
|
|
||||||
|
@ApiModelProperty("接入电压等级")
|
||||||
|
private String voltageLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("接入电压等级名称")
|
||||||
|
private String voltageLevelName;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
package com.njcn.device.pms.controller.gwPush;
|
||||||
|
|
||||||
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
|
import com.njcn.device.pms.pojo.param.gw.TypicalSourceParam;
|
||||||
|
import com.njcn.device.pms.pojo.vo.gw.TypicalSourceEffectiveLine;
|
||||||
|
import com.njcn.device.pms.pojo.vo.gw.TypicalSourceOnLine;
|
||||||
|
import com.njcn.device.pms.service.gwPush.TypicalSourceLoadDownService;
|
||||||
|
import com.njcn.web.pojo.dto.PmsHttpResult;
|
||||||
|
import com.njcn.web.pojo.dto.PmsPage;
|
||||||
|
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.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wr
|
||||||
|
* @description
|
||||||
|
* @date 2024/5/16 9:22
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/IndexAnalysis/TypicalSourceLoad")
|
||||||
|
@Api(tags = "典型源荷下穿查询")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class TypicalSourceLoadDownController {
|
||||||
|
|
||||||
|
private final TypicalSourceLoadDownService typicalSourceLoadDownService;
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getOnlineDetail")
|
||||||
|
@ApiOperation("国网上送-接收总部典型源荷分析查询在线干扰源用户下穿接口")
|
||||||
|
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
|
||||||
|
public PmsHttpResult<PmsPage<TypicalSourceOnLine>> getOnlineDetail(@RequestBody TypicalSourceParam param) {
|
||||||
|
PmsPage<TypicalSourceOnLine> PmsPage = typicalSourceLoadDownService.getOnlineDetail(param);
|
||||||
|
return new PmsHttpResult<>(0, PmsPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getMonitorDetail")
|
||||||
|
@ApiOperation("国网上送-接收总部典型源荷分析查询监测有效干扰源用户下穿接口")
|
||||||
|
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
|
||||||
|
public PmsHttpResult<PmsPage<?>> getMonitorDetail(@RequestBody TypicalSourceParam param) {
|
||||||
|
PmsPage<?> PmsPage = typicalSourceLoadDownService.getMonitorDetail(param);
|
||||||
|
return new PmsHttpResult<>(0, PmsPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getValidMonitorList")
|
||||||
|
@ApiOperation("国网上送-接收总部典型源荷分析获取有效监测点列表下穿接口")
|
||||||
|
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
|
||||||
|
public PmsHttpResult<PmsPage<TypicalSourceEffectiveLine>> getValidMonitorList(@RequestBody TypicalSourceParam param) {
|
||||||
|
PmsPage<TypicalSourceEffectiveLine> PmsPage = typicalSourceLoadDownService.getValidMonitorList(param);
|
||||||
|
return new PmsHttpResult<>(0, PmsPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getOverStationList")
|
||||||
|
@ApiOperation("国网上送-接收总部典型源荷分析获取超标电站数据列表下穿接口")
|
||||||
|
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
|
||||||
|
public PmsHttpResult<PmsPage<?>> getOverStationList(@RequestBody TypicalSourceParam param) {
|
||||||
|
PmsPage<?> PmsPage = typicalSourceLoadDownService.getOverStationList(param);
|
||||||
|
return new PmsHttpResult<>(0, PmsPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getOverIndexList")
|
||||||
|
@ApiOperation("国网上送-接收总部典型源荷分析获取超标指标数据表下穿接口")
|
||||||
|
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
|
||||||
|
public PmsHttpResult<PmsPage<?>> getOverIndexList(@RequestBody TypicalSourceParam param) {
|
||||||
|
PmsPage<?> PmsPage = typicalSourceLoadDownService.getOverIndexList(param);
|
||||||
|
return new PmsHttpResult<>(0, PmsPage);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -141,7 +141,7 @@ public class PmsMonitorController extends BaseController {
|
|||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
@PostMapping("/getMonitorPage")
|
@PostMapping("/getMonitorPage")
|
||||||
@ApiOperation("获取所有主网监测点(或者指定监测点编号查询)")
|
@ApiOperation("获取所有主网监测点(或者指定监测点编号查询)")
|
||||||
@ApiImplicitParam(name = "monitorIds",value = "主网监测点编号",required = true)
|
@ApiImplicitParam(name = "baseParam",value = "主网监测点编号",required = true)
|
||||||
public HttpResult<Page<Monitor>> getMonitorPage(@RequestBody TerminalQueryParam baseParam) {
|
public HttpResult<Page<Monitor>> getMonitorPage(@RequestBody TerminalQueryParam baseParam) {
|
||||||
String methodDescribe = getMethodDescribe("getMonitorPage");
|
String methodDescribe = getMethodDescribe("getMonitorPage");
|
||||||
Page<Monitor> monitor= monitorService.getMonitorPage(baseParam);
|
Page<Monitor> monitor= monitorService.getMonitorPage(baseParam);
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
package com.njcn.device.pms.service.gwPush;
|
||||||
|
|
||||||
|
import com.njcn.device.pms.pojo.param.gw.TypicalSourceParam;
|
||||||
|
import com.njcn.device.pms.pojo.vo.gw.TypicalSourceEffectiveLine;
|
||||||
|
import com.njcn.device.pms.pojo.vo.gw.TypicalSourceOnLine;
|
||||||
|
import com.njcn.web.pojo.dto.PmsPage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 国网下穿-典型源荷
|
||||||
|
*/
|
||||||
|
public interface TypicalSourceLoadDownService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 接收总部典型源荷分析查询在线干扰源用户下穿接口
|
||||||
|
* @Date: 2024/5/16 10:22
|
||||||
|
*/
|
||||||
|
PmsPage<TypicalSourceOnLine> getOnlineDetail(TypicalSourceParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 接收总部典型源荷分析获取有效监测点列表下穿接口
|
||||||
|
* @param param
|
||||||
|
* @Date: 2024/5/16 10:22
|
||||||
|
*/
|
||||||
|
PmsPage<?> getMonitorDetail(TypicalSourceParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 接收总部典型源荷分析获取有效监测点列表下穿接口
|
||||||
|
* @param param
|
||||||
|
* @Date: 2024/5/16 10:22
|
||||||
|
*/
|
||||||
|
PmsPage<TypicalSourceEffectiveLine> getValidMonitorList(TypicalSourceParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 接收总部典型源荷分析获取超标电站数据列表下穿接口
|
||||||
|
* @param param
|
||||||
|
* @Date: 2024/5/16 10:22
|
||||||
|
*/
|
||||||
|
PmsPage<?> getOverStationList(TypicalSourceParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 接收总部典型源荷分析获取超标指标数据表下穿接口
|
||||||
|
* @param param
|
||||||
|
* @Date: 2024/5/16 10:22
|
||||||
|
*/
|
||||||
|
PmsPage<?> getOverIndexList(TypicalSourceParam param);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,333 @@
|
|||||||
|
package com.njcn.device.pms.service.gwPush.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.collection.ListUtil;
|
||||||
|
import cn.hutool.core.text.StrBuilder;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
|
import com.njcn.device.pms.mapper.majornetwork.PmsGeneratrixWireMapper;
|
||||||
|
import com.njcn.device.pms.pojo.param.gw.TypicalSourceParam;
|
||||||
|
import com.njcn.device.pms.pojo.po.GeneratrixWire;
|
||||||
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
|
import com.njcn.device.pms.pojo.po.StatationStat;
|
||||||
|
import com.njcn.device.pms.pojo.po.TractionStation;
|
||||||
|
import com.njcn.device.pms.pojo.vo.gw.*;
|
||||||
|
import com.njcn.device.pms.service.gwPush.TypicalSourceLoadDownService;
|
||||||
|
import com.njcn.device.pms.service.majornetwork.*;
|
||||||
|
import com.njcn.device.pq.pojo.po.Line;
|
||||||
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
|
import com.njcn.system.api.DictTreeFeignClient;
|
||||||
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
|
import com.njcn.system.enums.DicTreeEnum;
|
||||||
|
import com.njcn.system.pojo.po.DictData;
|
||||||
|
import com.njcn.system.pojo.po.SysDicTreePO;
|
||||||
|
import com.njcn.system.pojo.vo.DictTreeVO;
|
||||||
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
|
import com.njcn.web.enums.GWSendEnum;
|
||||||
|
import com.njcn.web.pojo.dto.PmsPage;
|
||||||
|
import com.njcn.web.pojo.param.SendParam;
|
||||||
|
import com.njcn.web.utils.GwSendUtil;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class TypicalSourceLoadDownServiceImpl implements TypicalSourceLoadDownService {
|
||||||
|
|
||||||
|
private final IMonitorService monitorService;
|
||||||
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
private final DeptFeignClient deptFeignClient;
|
||||||
|
private final DictTreeFeignClient dictTreeFeignClient;
|
||||||
|
private final IStatationStatService stationStatService;
|
||||||
|
private final IGeneratrixWireService iGeneratrixWireService;
|
||||||
|
private final ITractionStationService tractionStationService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PmsPage<TypicalSourceOnLine> getOnlineDetail(TypicalSourceParam param) {
|
||||||
|
Page<Monitor> monitorList = monitorList(param);
|
||||||
|
List<TypicalSourceOnLine> info = new ArrayList<>();
|
||||||
|
TypicalSourceOnLine typicalSourceOnLine;
|
||||||
|
//线路变电站
|
||||||
|
List<String> lineIds = monitorList.getRecords().stream().map(Monitor::getLineId).distinct().collect(Collectors.toList());
|
||||||
|
List<String> powerIds = monitorList.getRecords().stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList());
|
||||||
|
List<GeneratrixWire> wiresList = iGeneratrixWireService.listByIds(lineIds);
|
||||||
|
Map<String, GeneratrixWire> wireMap = wiresList.stream().collect(Collectors
|
||||||
|
.toMap(GeneratrixWire::getId, Function.identity()));
|
||||||
|
List<StatationStat> stationStats = stationStatService.listByIds(powerIds);
|
||||||
|
Map<String, StatationStat> powerMap = stationStats.stream().collect(Collectors
|
||||||
|
.toMap(StatationStat::getPowerId, Function.identity()));
|
||||||
|
//电压等级
|
||||||
|
List<DictData> voltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||||
|
Map<String, DictData> mapVoltage = voltage.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
|
//运行状态
|
||||||
|
List<DictData> lineState = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData();
|
||||||
|
Map<String, DictData> mapLineState = lineState.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
|
//分类行业
|
||||||
|
List<DictData> industryType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDUSTRY_TYPE.getCode()).getData();
|
||||||
|
Map<String, DictData> mapIndustryType = industryType.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
|
//获取已存在牵引站的信息
|
||||||
|
List<String> tractionIds = monitorList.getRecords().stream().map(Monitor::getTractionId).collect(Collectors.toList());
|
||||||
|
List<TractionStation> tractionStationList = tractionStationService.list(new LambdaQueryWrapper<TractionStation>()
|
||||||
|
.in(TractionStation::getId, tractionIds));
|
||||||
|
Map<String, TractionStation> tractionMap = tractionStationList.stream().collect(Collectors.toMap(TractionStation::getId, Function.identity()));
|
||||||
|
TractionStation traction;
|
||||||
|
for (Monitor monitor : monitorList.getRecords()) {
|
||||||
|
typicalSourceOnLine = new TypicalSourceOnLine();
|
||||||
|
typicalSourceOnLine.setId(monitor.getId());
|
||||||
|
typicalSourceOnLine.setName(monitor.getName());
|
||||||
|
//母线的电压等级
|
||||||
|
if (wireMap.containsKey(monitor.getLineId())) {
|
||||||
|
GeneratrixWire generatrixWire = wireMap.get(monitor.getLineId());
|
||||||
|
if (mapVoltage.containsKey(generatrixWire.getScale())) {
|
||||||
|
typicalSourceOnLine.setBusVoltageLevel(String.format("%02d", mapVoltage.get(generatrixWire.getScale()).getAlgoDescribe()));
|
||||||
|
typicalSourceOnLine.setBusVoltageLevelName(mapVoltage.get(generatrixWire.getScale()).getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
typicalSourceOnLine.setCapacity(monitor.getUserAgreementCapacity().toString());
|
||||||
|
typicalSourceOnLine.setCityOrg(monitor.getOrgId());
|
||||||
|
typicalSourceOnLine.setCityOrgName(monitor.getOrgName());
|
||||||
|
typicalSourceOnLine.setEffectMonitorNum(1);
|
||||||
|
typicalSourceOnLine.setMaintOrg(monitor.getOperationId());
|
||||||
|
typicalSourceOnLine.setMaintOrgName(monitor.getOperationName());
|
||||||
|
typicalSourceOnLine.setMonitorObjectType(monitor.getFieldStation());
|
||||||
|
typicalSourceOnLine.setMonitorObjectTypeName(monitorObjectTypeName(monitor.getFieldStation()));
|
||||||
|
//运行状态
|
||||||
|
if (mapLineState.containsKey(monitor.getMonitorState())) {
|
||||||
|
typicalSourceOnLine.setRunStatus(mapLineState.get(monitor.getMonitorState()).getValue());
|
||||||
|
typicalSourceOnLine.setRunStatusName(mapLineState.get(monitor.getMonitorState()).getName());
|
||||||
|
}
|
||||||
|
//变电站
|
||||||
|
if (powerMap.containsKey(monitor.getPowerrId())) {
|
||||||
|
StatationStat statationStat = powerMap.get(monitor.getPowerrId());
|
||||||
|
typicalSourceOnLine.setStationId(statationStat.getMidStationId());
|
||||||
|
typicalSourceOnLine.setStationName(statationStat.getPowerName());
|
||||||
|
typicalSourceOnLine.setMainSubstationId(statationStat.getMidStationId());
|
||||||
|
typicalSourceOnLine.setMainSubstationName(statationStat.getPowerName());
|
||||||
|
if (mapVoltage.containsKey(statationStat.getVoltageLevel())) {
|
||||||
|
typicalSourceOnLine.setStationVoltageLevel(String.format("%02d", mapVoltage.get(statationStat.getVoltageLevel()).getAlgoDescribe()));
|
||||||
|
typicalSourceOnLine.setStationVoltageLevelName(mapVoltage.get(statationStat.getVoltageLevel()).getName());
|
||||||
|
}
|
||||||
|
//牵引站的主备变电站
|
||||||
|
if (StrUtil.isNotBlank(monitor.getTractionId())) {
|
||||||
|
typicalSourceOnLine.setMainVoltageLevel(String.format("%02d", mapVoltage.get(statationStat.getVoltageLevel()).getAlgoDescribe()));
|
||||||
|
typicalSourceOnLine.setMainVoltageLevelName(mapVoltage.get(statationStat.getVoltageLevel()).getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// typicalSourceOnLine.setStationType();
|
||||||
|
//行业分类
|
||||||
|
if (mapIndustryType.containsKey(monitor.getTradeCode())) {
|
||||||
|
typicalSourceOnLine.setTradeCode(mapIndustryType.get(monitor.getTradeCode()).getValue());
|
||||||
|
typicalSourceOnLine.setTradeCodeName(mapIndustryType.get(monitor.getTradeCode()).getName());
|
||||||
|
}
|
||||||
|
//电压等级
|
||||||
|
if (mapVoltage.containsKey(monitor.getVoltageLevel())) {
|
||||||
|
typicalSourceOnLine.setVoltageLevel(String.format("%02d", mapVoltage.get(monitor.getVoltageLevel()).getAlgoDescribe()));
|
||||||
|
typicalSourceOnLine.setVoltageLevelName(mapVoltage.get(monitor.getVoltageLevel()).getName());
|
||||||
|
}
|
||||||
|
//根据是否存在牵引站id来判断是否存在牵引站
|
||||||
|
if (StrUtil.isNotBlank(monitor.getTractionId())) {
|
||||||
|
if (tractionMap.containsKey(monitor.getTractionId())) {
|
||||||
|
traction = tractionMap.get(monitor.getTractionId());
|
||||||
|
typicalSourceOnLine.setName(traction.getName());
|
||||||
|
//牵引站的主备变电站
|
||||||
|
if (mapVoltage.containsKey(traction.getVoltageLevel())) {
|
||||||
|
typicalSourceOnLine.setMainVoltageLevel(String.format("%02d", mapVoltage.get(traction.getVoltageLevel()).getAlgoDescribe()));
|
||||||
|
typicalSourceOnLine.setMainVoltageLevelName(mapVoltage.get(traction.getVoltageLevel()).getName());
|
||||||
|
}
|
||||||
|
typicalSourceOnLine.setRailWayName(traction.getRailwayLineName());
|
||||||
|
typicalSourceOnLine.setRailWayNumber(traction.getRailwayLineId());
|
||||||
|
typicalSourceOnLine.setRailWayType(traction.getRailwayType());
|
||||||
|
typicalSourceOnLine.setRailWayTypeName(railWayTypeName(traction.getRailwayType()));
|
||||||
|
|
||||||
|
}
|
||||||
|
// typicalSourceOnLine.setAuxiliarySubstationId();
|
||||||
|
// typicalSourceOnLine.setAuxiliarySubstationName();
|
||||||
|
// typicalSourceOnLine.setAuxiliaryVoltageLevel();
|
||||||
|
// typicalSourceOnLine.setAuxiliaryVoltageLevelName();
|
||||||
|
|
||||||
|
}
|
||||||
|
info.add(typicalSourceOnLine);
|
||||||
|
}
|
||||||
|
PmsPage pmsPage = BeanUtil.copyProperties(monitorList, PmsPage.class);
|
||||||
|
pmsPage.setList(info);
|
||||||
|
return pmsPage;
|
||||||
|
|
||||||
|
}
|
||||||
|
private Page<Monitor> monitorList(TypicalSourceParam param) {
|
||||||
|
List<String> objTypeIds = new ArrayList<>();
|
||||||
|
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
if (StrUtil.isNotBlank(param.getOrgId())) {
|
||||||
|
List<String> data = deptFeignClient.getDepSonSelfCodetByCode(param.getOrgId()).getData();
|
||||||
|
lambdaQueryWrapper.in(Monitor::getOrgId, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StrUtil.isBlank(param.getStatisticsType())) {
|
||||||
|
//特殊处理
|
||||||
|
List<SysDicTreePO> sysDicTreePOList = dictTreeFeignClient.queryAll().getData();
|
||||||
|
List<SysDicTreePO> typicDic = sysDicTreePOList.stream()
|
||||||
|
.filter(item -> Objects.equals(DicTreeEnum.Power_Station.getCode(), item.getCode()) ||
|
||||||
|
Objects.equals(DicTreeEnum.Ele_Railways.getCode(), item.getCode()) ||
|
||||||
|
Objects.equals(DicTreeEnum.Wind_Farms.getCode(), item.getCode()) ||
|
||||||
|
Objects.equals(DicTreeEnum.Imp_Users.getCode(), item.getCode()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
for (SysDicTreePO sysDicTreePO : typicDic) {
|
||||||
|
List<DictTreeVO> temList = dictTreeFeignClient.query(sysDicTreePO.getId()).getData();
|
||||||
|
List<String> ids = temList.stream().map(DictTreeVO::getId).collect(Collectors.toList());
|
||||||
|
objTypeIds.addAll(ids);
|
||||||
|
objTypeIds.add(sysDicTreePO.getId());
|
||||||
|
}
|
||||||
|
lambdaQueryWrapper.notIn(Monitor::getObjType, objTypeIds);
|
||||||
|
} else {
|
||||||
|
//01-牵引站,02-风电场,03-光伏电站,04-其他干扰用户
|
||||||
|
String code;
|
||||||
|
switch (param.getStatisticsType()) {
|
||||||
|
case "01":
|
||||||
|
code = DicTreeEnum.Ele_Railways.getCode();
|
||||||
|
break;
|
||||||
|
case "02":
|
||||||
|
code = DicTreeEnum.Wind_Farms.getCode();
|
||||||
|
break;
|
||||||
|
case "03":
|
||||||
|
code = DicTreeEnum.Power_Station.getCode();
|
||||||
|
break;
|
||||||
|
case "04":
|
||||||
|
code = DicTreeEnum.Imp_Users.getCode();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return new Page<>(param.getPageNum(), param.getPageSize());
|
||||||
|
}
|
||||||
|
String id = dictTreeFeignClient.queryByCode(code).getData().getId();
|
||||||
|
List<DictTreeVO> objType = dictTreeFeignClient.query(id).getData();
|
||||||
|
objTypeIds.add(id);
|
||||||
|
if (CollUtil.isNotEmpty(objType)) {
|
||||||
|
objTypeIds.addAll(objType.stream().map(DictTreeVO::getId).collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
lambdaQueryWrapper.in(Monitor::getObjType, objTypeIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取监测点信息
|
||||||
|
lambdaQueryWrapper.eq(Monitor::getIsUpToGrid, 1);
|
||||||
|
return monitorService.page(new Page<>(param.getPageNum(), param.getPageSize()), lambdaQueryWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String monitorObjectTypeName(String name) {
|
||||||
|
if(StrUtil.isNotBlank(name)){
|
||||||
|
switch (name) {
|
||||||
|
case "01":
|
||||||
|
return "在运站";
|
||||||
|
case "02":
|
||||||
|
return "新(改、扩)建站";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String railWayTypeName(String name) {
|
||||||
|
if(StrUtil.isNotBlank(name)){
|
||||||
|
switch (name) {
|
||||||
|
case "1":
|
||||||
|
return "高铁";
|
||||||
|
case "2":
|
||||||
|
return "普铁";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PmsPage<?> getMonitorDetail(TypicalSourceParam param) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PmsPage<TypicalSourceEffectiveLine> getValidMonitorList(TypicalSourceParam param) {
|
||||||
|
List<TypicalSourceEffectiveLine> info = new ArrayList<>();
|
||||||
|
Page<Monitor> monitorList = monitorList(param);
|
||||||
|
List<String> monitorIds = monitorList.getRecords().stream().map(Monitor::getId).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isNotEmpty(monitorIds)) {
|
||||||
|
//线路变电站
|
||||||
|
List<String> lineIds = monitorList.getRecords().stream().map(Monitor::getLineId).distinct().collect(Collectors.toList());
|
||||||
|
List<String> powerIds = monitorList.getRecords().stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList());
|
||||||
|
List<GeneratrixWire> wiresList = iGeneratrixWireService.listByIds(lineIds);
|
||||||
|
Map<String, GeneratrixWire> wireMap = wiresList.stream().collect(Collectors
|
||||||
|
.toMap(GeneratrixWire::getId, Function.identity()));
|
||||||
|
List<StatationStat> stationStats = stationStatService.listByIds(powerIds);
|
||||||
|
Map<String, StatationStat> powerMap = stationStats.stream().collect(Collectors
|
||||||
|
.toMap(StatationStat::getPowerId, Function.identity()));
|
||||||
|
//电压等级
|
||||||
|
List<DictData> voltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||||
|
Map<String, DictData> mapVoltage = voltage.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
|
//运行状态
|
||||||
|
List<DictData> lineState = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData();
|
||||||
|
Map<String, DictData> mapLineState = lineState.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
|
|
||||||
|
TypicalSourceEffectiveLine line ;
|
||||||
|
for (Monitor monitor : monitorList.getRecords()) {
|
||||||
|
line = new TypicalSourceEffectiveLine();
|
||||||
|
//母线信息
|
||||||
|
if (wireMap.containsKey(monitor.getLineId())) {
|
||||||
|
GeneratrixWire generatrixWire = wireMap.get(monitor.getLineId());
|
||||||
|
if (mapVoltage.containsKey(generatrixWire.getScale())) {
|
||||||
|
line.setBusId(generatrixWire.getMidBusId());
|
||||||
|
line.setBusName(generatrixWire.getName());
|
||||||
|
line.setBusVoltageLevel(String.format("%02d", mapVoltage.get(generatrixWire.getScale()).getAlgoDescribe()));
|
||||||
|
line.setBusVoltageLevelName(mapVoltage.get(generatrixWire.getScale()).getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
line.setCityOrg(monitor.getOrgId());
|
||||||
|
line.setCityOrgName(monitor.getOrgName());
|
||||||
|
line.setId(monitor.getId());
|
||||||
|
line.setMaintOrg(monitor.getOperationId());
|
||||||
|
line.setMaintOrgName(monitor.getOperationName());
|
||||||
|
line.setMonitorId(monitor.getMonitorId());
|
||||||
|
line.setMonitorName(monitor.getName());
|
||||||
|
//运行状态
|
||||||
|
if (mapLineState.containsKey(monitor.getMonitorState())) {
|
||||||
|
line.setStatus(mapLineState.get(monitor.getMonitorState()).getValue());
|
||||||
|
line.setStatusName(mapLineState.get(monitor.getMonitorState()).getName());
|
||||||
|
}
|
||||||
|
//变电站
|
||||||
|
if (powerMap.containsKey(monitor.getPowerrId())) {
|
||||||
|
StatationStat statationStat = powerMap.get(monitor.getPowerrId());
|
||||||
|
line.setStationId(statationStat.getMidStationId());
|
||||||
|
line.setStationName(statationStat.getPowerName());
|
||||||
|
}
|
||||||
|
// line.setWhetherOptimal();
|
||||||
|
// line.setWhetherOptimalName();
|
||||||
|
// line.setStatDate();
|
||||||
|
// line.setActualCollectNum();
|
||||||
|
// line.setDataFullRate();
|
||||||
|
// line.setExpectCollectNum();
|
||||||
|
|
||||||
|
|
||||||
|
info.add(line);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PmsPage pmsPage = BeanUtil.copyProperties(monitorList, PmsPage.class);
|
||||||
|
pmsPage.setList(info);
|
||||||
|
return pmsPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PmsPage<?> getOverStationList(TypicalSourceParam param) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PmsPage<?> getOverIndexList(TypicalSourceParam param) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -65,7 +65,10 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="selectTotalIntegrityByLineIds" resultType="java.lang.Float">
|
<select id="selectTotalIntegrityByLineIds" resultType="java.lang.Float">
|
||||||
select
|
select
|
||||||
IFNULL(ROUND( sum(real_time)/sum(due_time)*100,2),0) as integrityRate
|
if(sum(real_time)/sum(due_time)*100>100,
|
||||||
|
100,
|
||||||
|
IFNULL(ROUND( sum(real_time)/sum(due_time)*100,2),0))
|
||||||
|
as integrityRate
|
||||||
from
|
from
|
||||||
r_stat_integrity_d
|
r_stat_integrity_d
|
||||||
<where>
|
<where>
|
||||||
|
|||||||
@@ -26,7 +26,10 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="getTotalOnlineRates" resultType="java.lang.Float">
|
<select id="getTotalOnlineRates" resultType="java.lang.Float">
|
||||||
select
|
select
|
||||||
IFNULL(ROUND( sum(online_min)/(sum(online_min) + sum(offline_min))*100,2),0) as online_rate
|
if( sum( online_min )/( sum( online_min ) + sum( offline_min ))* 100 > 100,
|
||||||
|
100,
|
||||||
|
IFNULL( ROUND( sum( online_min )/( sum( online_min ) + sum( offline_min ))* 100, 2 ), 0 ))
|
||||||
|
as online_rate
|
||||||
from r_stat_onlinerate_d
|
from r_stat_onlinerate_d
|
||||||
<where>
|
<where>
|
||||||
<if test="param!=null and param.ids != null and param.ids.size > 0">
|
<if test="param!=null and param.ids != null and param.ids.size > 0">
|
||||||
|
|||||||
@@ -212,7 +212,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
if (CollUtil.isNotEmpty(integrityDS)) {
|
if (CollUtil.isNotEmpty(integrityDS)) {
|
||||||
double realTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getRealTime).sum();
|
double realTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getRealTime).sum();
|
||||||
double dueTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getDueTime).sum();
|
double dueTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getDueTime).sum();
|
||||||
lineStatisticsData.setIntegrityRate(NumberUtil.round(realTime * 100 / dueTime, 2).floatValue());
|
lineStatisticsData.setIntegrityRate(Math.min(NumberUtil.round(realTime * 100 / dueTime, 2).floatValue(),100));
|
||||||
} else {
|
} else {
|
||||||
lineStatisticsData.setIntegrityRate(0.0f);
|
lineStatisticsData.setIntegrityRate(0.0f);
|
||||||
}
|
}
|
||||||
@@ -221,7 +221,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
if (CollUtil.isNotEmpty(onlineRateDS)) {
|
if (CollUtil.isNotEmpty(onlineRateDS)) {
|
||||||
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOnlineMin).sum();
|
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOnlineMin).sum();
|
||||||
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOfflineMin).sum();
|
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOfflineMin).sum();
|
||||||
lineStatisticsData.setOnLineRate(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2).floatValue());
|
lineStatisticsData.setOnLineRate(Math.min(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2).floatValue(),100));
|
||||||
} else {
|
} else {
|
||||||
lineStatisticsData.setOnLineRate(0.0f);
|
lineStatisticsData.setOnLineRate(0.0f);
|
||||||
}
|
}
|
||||||
@@ -347,7 +347,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
if (CollUtil.isNotEmpty(onlineRateDS)) {
|
if (CollUtil.isNotEmpty(onlineRateDS)) {
|
||||||
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOnlineMin).sum();
|
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOnlineMin).sum();
|
||||||
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOfflineMin).sum();
|
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOfflineMin).sum();
|
||||||
data.setOnlineEvaluate(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2).doubleValue());
|
data.setOnlineEvaluate(Math.min(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2).doubleValue(),100));
|
||||||
} else {
|
} else {
|
||||||
data.setOnlineEvaluate(0.0);
|
data.setOnlineEvaluate(0.0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
if (CollUtil.isNotEmpty(integrityDS)) {
|
if (CollUtil.isNotEmpty(integrityDS)) {
|
||||||
double realTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getRealTime).sum();
|
double realTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getRealTime).sum();
|
||||||
double dueTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getDueTime).sum();
|
double dueTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getDueTime).sum();
|
||||||
lineData.setIntegrityRate(NumberUtil.round(realTime * 100.0 / dueTime, 2).floatValue());
|
lineData.setIntegrityRate(Math.min(NumberUtil.round(realTime * 100.0 / dueTime, 2).floatValue(),100));
|
||||||
} else {
|
} else {
|
||||||
lineData.setIntegrityRate(0.0f);
|
lineData.setIntegrityRate(0.0f);
|
||||||
}
|
}
|
||||||
@@ -152,7 +152,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
if (CollUtil.isNotEmpty(onlineRateDS)) {
|
if (CollUtil.isNotEmpty(onlineRateDS)) {
|
||||||
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateVO::getOnlineMin).sum();
|
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateVO::getOnlineMin).sum();
|
||||||
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateVO::getOfflineMin).sum();
|
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateVO::getOfflineMin).sum();
|
||||||
lineData.setOnLineRate(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2).floatValue());
|
lineData.setOnLineRate(Math.min(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2).floatValue(),100));
|
||||||
} else {
|
} else {
|
||||||
lineData.setOnLineRate(0.0f);
|
lineData.setOnLineRate(0.0f);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
@@ -44,12 +43,10 @@ import com.njcn.web.utils.GwSendUtil;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.ListUtils;
|
import org.apache.commons.collections4.ListUtils;
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|||||||
Reference in New Issue
Block a user