1.解决device模块Swagger无法显示bug
2.修改监测点评价,数据异常,指标数据质量算法兼容修改
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
package com.njcn.device.biz.commApi;
|
||||
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.device.biz.commApi.fallback.CommTerminalGeneralClientFallbackFactory;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
@@ -12,11 +16,17 @@ import org.springframework.cloud.openfeign.FeignClient;
|
||||
*/
|
||||
@FeignClient(
|
||||
value = ServerInfo.DEVICE,
|
||||
path = "CommLineClient",
|
||||
contextId = "CommLineClient",
|
||||
path = "commLine",
|
||||
contextId = "commLine",
|
||||
fallbackFactory = CommTerminalGeneralClientFallbackFactory.class)
|
||||
public interface CommLineClient {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 获取监测点信息
|
||||
* @param id
|
||||
* @Author: wr
|
||||
* @Date: 2023/9/22 11:11
|
||||
*/
|
||||
@GetMapping("/getLineDetail")
|
||||
HttpResult<LineDTO> getLineDetail(@RequestParam("id") String id);
|
||||
}
|
||||
|
||||
@@ -142,7 +142,6 @@ public interface CommTerminalGeneralClient {
|
||||
HttpResult<List<LineDevGetDTO>> getMonitorDetailList(@RequestBody List<String> list);
|
||||
|
||||
|
||||
|
||||
@GetMapping("/lineUnitDetail")
|
||||
HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineId") String lineId);
|
||||
|
||||
|
||||
@@ -3,10 +3,9 @@ package com.njcn.device.biz.commApi.fallback;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.device.biz.commApi.CommLedgerDeptClient;
|
||||
import com.njcn.device.biz.commApi.CommLineClient;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.biz.utils.DeviceEnumUtil;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -30,8 +29,11 @@ public class CommLineClientFallbackFactory implements FallbackFactory<CommLineCl
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
|
||||
return new CommLineClient() {
|
||||
|
||||
|
||||
@Override
|
||||
public HttpResult<LineDTO> getLineDetail(String id) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取监测点信息", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.njcn.device.biz.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author wr
|
||||
* @description
|
||||
* @date 2023/9/22 10:09
|
||||
*/
|
||||
@Data
|
||||
public class LineDTO {
|
||||
|
||||
@ApiModelProperty(name = "lineId",value = "监测点id")
|
||||
private String lineId;
|
||||
|
||||
@ApiModelProperty(name = "devId",value = "终端id")
|
||||
private String devId;
|
||||
|
||||
@ApiModelProperty(name = "timeInterval",value = "测量间隔(1-10分钟)")
|
||||
private Integer timeInterval;
|
||||
|
||||
@ApiModelProperty(name = "voltageLevel",value = "电压等级")
|
||||
private String voltageLevel;
|
||||
|
||||
@ApiModelProperty(name = "ptType",value = "接线方式")
|
||||
private String ptType;
|
||||
|
||||
@ApiModelProperty(name = "runFlag",value = "终端运行状态")
|
||||
private String runFlag;
|
||||
|
||||
@ApiModelProperty(name = "ptPhaseType",value = "监测点接线相别(0,单相,1,三相,默认三相)")
|
||||
private String ptPhaseType;
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.njcn.device.pms.controller.ledgerManger;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
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.commApi.fallback.CommTerminalGeneralClientFallbackFactory;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2023/9/14
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/commLine")
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
@Api(tags = "通用台账查询")
|
||||
public class CommLineController extends BaseController {
|
||||
|
||||
private final IMonitorService monitorService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@GetMapping("/getLineDetail")
|
||||
@ApiOperation("获取监测点id取监测点信息")
|
||||
public HttpResult<LineDTO> getLineDetail(@RequestParam("id") String id) {
|
||||
String methodDescribe = getMethodDescribe("getLineDetail");
|
||||
LineDTO result = monitorService.getLineDetail(id);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
}
|
||||
@@ -300,7 +300,7 @@ public class CommTerminalController extends BaseController {
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@GetMapping("/lineUnitDetail")
|
||||
@ApiOperation("根据监测点id获取数据单位")
|
||||
@ApiImplicitParam(name = "lineID", value = "实体", required = true)
|
||||
@ApiImplicitParam(name = "lineId", value = "实体", required = true)
|
||||
public HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineId") String lineId) {
|
||||
String methodDescribe = getMethodDescribe("lineUnitDetail");
|
||||
PqsDeviceUnit pqsDeviceUnit = new PqsDeviceUnit();
|
||||
@@ -316,7 +316,7 @@ public class CommTerminalController extends BaseController {
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@GetMapping("/getMonitorDetail")
|
||||
@ApiOperation("根据监测点id获取数据单位")
|
||||
@ApiImplicitParam(name = "lineID", value = "实体", required = true)
|
||||
@ApiImplicitParam(name = "lineId", value = "实体", required = true)
|
||||
public HttpResult<LineDevGetDTO> getMonitorDetail(@RequestParam("lineId") String lineId) {
|
||||
String methodDescribe = getMethodDescribe("getMonitorDetail");
|
||||
Monitor monitor = monitorService.getById(lineId);
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.device.pms.mapper.majornetwork;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
||||
@@ -76,10 +77,12 @@ public interface MonitorMapper extends BaseMapper<Monitor> {
|
||||
*/
|
||||
MonitorVO getPwMonitorTerminal(@Param("id")String id);
|
||||
|
||||
|
||||
/**
|
||||
* 获取主网监测点装置信息
|
||||
* @author cdf
|
||||
* @date 2023/7/10
|
||||
* @Description: 根据监测点id获取监测点信息
|
||||
* @param id
|
||||
* @return: com.njcn.device.biz.pojo.dto.LineDTO
|
||||
* @Author: wr
|
||||
* @Date: 2023/9/22 10:20
|
||||
*/
|
||||
LineDTO selectLineDetail(@Param("id")String id);
|
||||
}
|
||||
|
||||
@@ -162,5 +162,19 @@
|
||||
INNER JOIN pms_terminal pt ON pt.Id = pm.Terminal_Id
|
||||
where pm.Monitor_Id = #{id}
|
||||
</select>
|
||||
<select id="selectLineDetail" resultType="com.njcn.device.biz.pojo.dto.LineDTO">
|
||||
SELECT
|
||||
pm.Id as lineId,
|
||||
pm.Terminal_Id as devId,
|
||||
pm.Statistical_Interval as timeInterval,
|
||||
pm.Voltage_Level as voltageLevel,
|
||||
pm.Monitor_State as runFlag,
|
||||
pm.Terminal_Wiring_Method as ptType,
|
||||
pm.PT_Phase_Type as ptPhaseType
|
||||
FROM
|
||||
pms_monitor pm
|
||||
WHERE
|
||||
pm.id = #{id}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
|
||||
@@ -172,4 +173,11 @@ public interface IMonitorService extends IService<Monitor> {
|
||||
* @Date: 2023/9/21 13:19
|
||||
*/
|
||||
Map<String, List<String>> getLineBySubstationRelation(Integer devDataType);
|
||||
|
||||
/**
|
||||
* 根据监测点id获取监测点信息
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
LineDTO getLineDetail(String id);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.biz.enums.DeviceResponseEnum;
|
||||
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.biz.pojo.po.DeviceBak;
|
||||
import com.njcn.device.biz.utils.COverlimit;
|
||||
@@ -436,6 +437,21 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LineDTO getLineDetail(String id) {
|
||||
List<DictData> voltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||
Map<String, String> voltageMap = voltage.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
||||
List<DictData> connect = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData();
|
||||
Map<String, String> connectMap = connect.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
||||
LineDTO lineDTO = this.baseMapper.selectLineDetail(id);
|
||||
if(voltageMap.containsKey(lineDTO.getVoltageLevel())&&connectMap.containsKey(lineDTO.getPtType())){
|
||||
lineDTO.setVoltageLevel(voltageMap.get(lineDTO.getVoltageLevel()));
|
||||
lineDTO.setPtType(connectMap.get(lineDTO.getPtType()));
|
||||
return lineDTO;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取主配网监测点id集合
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.njcn.device.pq.controller;
|
||||
|
||||
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.LineDTO;
|
||||
import com.njcn.device.pq.service.LineService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2023/9/14
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/commLine")
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
@Api(tags = "通用台账查询")
|
||||
public class CommLineController extends BaseController {
|
||||
|
||||
private final LineService lineService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@GetMapping("/getLineDetail")
|
||||
@ApiOperation("获取监测点id取监测点信息")
|
||||
public HttpResult<LineDTO> getLineDetail(@RequestParam("id") String id) {
|
||||
String methodDescribe = getMethodDescribe("getLineDetail");
|
||||
LineDTO result = lineService.getLineDetail(id);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.pq.pojo.advanced.UpDevVO;
|
||||
@@ -513,4 +514,13 @@ public interface LineMapper extends BaseMapper<Line> {
|
||||
* @Date: 2023/8/29 12:50
|
||||
*/
|
||||
Page<HalfReportVO> selectHalfReport(Page page,@Param("param") TerminalMainQueryParam param);
|
||||
|
||||
/**
|
||||
* @Description: 根据监测点id获取监测点信息
|
||||
* @param id
|
||||
* @return: com.njcn.device.biz.pojo.dto.LineDTO
|
||||
* @Author: wr
|
||||
* @Date: 2023/9/22 10:20
|
||||
*/
|
||||
LineDTO selectLineDetail(@Param("id") String id);
|
||||
}
|
||||
|
||||
@@ -1340,5 +1340,29 @@
|
||||
devName,
|
||||
lineName
|
||||
</select>
|
||||
<select id="selectLineDetail" resultType="com.njcn.device.biz.pojo.dto.LineDTO">
|
||||
SELECT
|
||||
line.id AS lineId,
|
||||
dev.id AS devId,
|
||||
detail.Time_Interval AS timeInterval,
|
||||
vg.Scale AS voltageLevel,
|
||||
pqd.Run_Flag as runFlag,
|
||||
detail.PT_Type AS ptType,
|
||||
detail.PT_Phase_Type AS ptPhaseType
|
||||
FROM
|
||||
pq_line line,
|
||||
pq_line_detail detail,
|
||||
pq_line vo,
|
||||
pq_voltage vg,
|
||||
pq_line dev,
|
||||
pq_device pqd
|
||||
WHERE
|
||||
line.id = detail.id
|
||||
AND vo.id = line.pid
|
||||
AND dev.id = vo.pid
|
||||
AND vo.id = vg.id
|
||||
AND pqd.id = dev.id
|
||||
AND line.id = #{id}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.device.pq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.pq.pojo.dto.PollutionLineDTO;
|
||||
import com.njcn.device.pq.pojo.dto.PollutionParamDTO;
|
||||
import com.njcn.device.pq.pojo.dto.PollutionSubstationDTO;
|
||||
@@ -181,4 +182,13 @@ public interface LineService {
|
||||
List<TopMsgPO> dailyDeviceAbnormal(DeviceInfoParam.BusinessParam conditionBusinessParam);
|
||||
|
||||
Page<HalfReportVO> halfReport(TerminalMainQueryParam param);
|
||||
|
||||
/**
|
||||
* @Description: 根据监测点获取监测点信息
|
||||
* @param id
|
||||
* @return: com.njcn.device.biz.pojo.dto.LineDTO
|
||||
* @Author: wr
|
||||
* @Date: 2023/9/22 10:46
|
||||
*/
|
||||
LineDTO getLineDetail(String id);
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.utils.EnumUtils;
|
||||
import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.device.biz.enums.DeviceResponseEnum;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.pq.enums.LineBaseEnum;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
@@ -35,6 +36,8 @@ import com.njcn.influx.pojo.po.PqsCommunicate;
|
||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||
import com.njcn.system.api.AreaFeignClient;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.web.pojo.vo.LineDataVO;
|
||||
import com.njcn.web.utils.GeneralUtil;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
@@ -469,6 +472,18 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
|
||||
return this.baseMapper.selectHalfReport(page,param);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LineDTO getLineDetail(String id) {
|
||||
List<DictData> data = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData();
|
||||
Map<String, String> dicMap = data.stream().collect(Collectors.toMap(DictData::getId, DictData::getValue));
|
||||
LineDTO lineDTO = this.baseMapper.selectLineDetail(id);
|
||||
if(dicMap.containsKey(lineDTO.getVoltageLevel())){
|
||||
lineDTO.setVoltageLevel(dicMap.get(lineDTO.getVoltageLevel()));
|
||||
return lineDTO;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Overlimit> getOverLimitByList(PollutionParamDTO pollutionParamDTO) {
|
||||
return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList());
|
||||
|
||||
@@ -32,6 +32,7 @@ public class RMpMonitorEvaluateJob {
|
||||
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY));
|
||||
lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY));
|
||||
lineParam.setDataSource(2);
|
||||
CommonExecutorUtils.commDefineDate(BizParamConstant.STAT_BIZ_DAY,lineParam);
|
||||
rMpMonitorEvaluateFeignClient.handlerMonitorEvaluate(lineParam);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ public class ROperatingMonitorJob {
|
||||
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY));
|
||||
lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY));
|
||||
lineParam.setDataSource(2);
|
||||
CommonExecutorUtils.commDefineDate(BizParamConstant.STAT_BIZ_DAY,lineParam);
|
||||
rOperatingMonitorFeignClient.handlerMonitorOperatingD(lineParam);
|
||||
}
|
||||
|
||||
@@ -43,6 +44,7 @@ public class ROperatingMonitorJob {
|
||||
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH));
|
||||
lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_MONTH));
|
||||
lineParam.setDataSource(2);
|
||||
CommonExecutorUtils.commDefineDate(BizParamConstant.STAT_BIZ_MONTH,lineParam);
|
||||
rOperatingMonitorFeignClient.handlerMonitorOperatingM(lineParam);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ public class RStatAbnormalJob {
|
||||
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY));
|
||||
lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY));
|
||||
lineParam.setDataSource(2);
|
||||
CommonExecutorUtils.commDefineDate(BizParamConstant.STAT_BIZ_DAY,lineParam);
|
||||
rStatAbnormalFeignClient.handlerMonitorAbnormal(lineParam);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,9 +23,6 @@ import java.util.Date;
|
||||
@Data
|
||||
@TableName(value = "r_mp_monitor_evaluate_d")
|
||||
public class RMpMonitorEvaluateDPO {
|
||||
@MppMultiId(value = "data_date")
|
||||
@ApiModelProperty(value="")
|
||||
private Date dataDate;
|
||||
|
||||
/**
|
||||
* 监测点Id
|
||||
@@ -33,6 +30,9 @@ public class RMpMonitorEvaluateDPO {
|
||||
@MppMultiId(value = "measurement_point_id")
|
||||
private String measurementPointId;
|
||||
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
|
||||
@TableField(value = "device_id")
|
||||
private String deviceId;
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@ 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.common.utils.NjcnDateUtils;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.RStatAbnormalDService;
|
||||
@@ -38,7 +40,7 @@ import java.util.List;
|
||||
@Api(tags = "监测点异常_日统计")
|
||||
@AllArgsConstructor
|
||||
public class RMStatAbnormalDController extends BaseController {
|
||||
private final LineFeignClient lineFeignClient;
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
private final RStatAbnormalDService rStatAbnormalDService;
|
||||
|
||||
|
||||
@@ -47,17 +49,23 @@ public class RMStatAbnormalDController extends BaseController {
|
||||
@PostMapping("handlerMonitorAbnormal")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
|
||||
public HttpResult<Boolean> handlerMonitorAbnormal(@RequestBody LineParam jobParam ){
|
||||
|
||||
log.info(LocalDateTime.now()+"handlerMonitorAbnormal开始执行");
|
||||
String methodDescribe = getMethodDescribe("handlerMonitorAbnormal");
|
||||
List<String> indexLists = new ArrayList<> ();
|
||||
List<String> indexLists;
|
||||
if (CollectionUtils.isEmpty(jobParam.getLineIds())) {
|
||||
indexLists = lineFeignClient.getLineList ( ).getData ( );
|
||||
indexLists = commTerminalGeneralClient.getRunMonitorIds().getData();
|
||||
} else {
|
||||
indexLists = jobParam.getLineIds();
|
||||
}
|
||||
|
||||
rStatAbnormalDService.handlerMonitorAbnormal (indexLists,jobParam.getDataDate ());
|
||||
if (jobParam.getRepairFlag()){
|
||||
List<String> timeRange = NjcnDateUtils.findEveryDay(jobParam.getBeginTime(),jobParam.getEndTime());
|
||||
for (String item : timeRange) {
|
||||
log.info(item+"-->开始执行");
|
||||
rStatAbnormalDService.handlerMonitorAbnormal(indexLists,item);
|
||||
}
|
||||
} else {
|
||||
rStatAbnormalDService.handlerMonitorAbnormal (indexLists,jobParam.getBeginTime());
|
||||
}
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,8 @@ 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.pq.api.LineFeignClient;
|
||||
import com.njcn.common.utils.NjcnDateUtils;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.RMpMonitorEvaluateDService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -21,7 +22,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -38,7 +38,8 @@ import java.util.List;
|
||||
@Api(tags = "监测点评价_日统计")
|
||||
@AllArgsConstructor
|
||||
public class RMpMonitorEvaluateDController extends BaseController {
|
||||
private final LineFeignClient lineFeignClient;
|
||||
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
private final RMpMonitorEvaluateDService rMpMonitorEvaluateDService;
|
||||
|
||||
|
||||
@@ -47,17 +48,26 @@ public class RMpMonitorEvaluateDController extends BaseController {
|
||||
@PostMapping("handlerMonitorEvaluate")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
|
||||
public HttpResult<Boolean> handlerMonitorEvaluate(@RequestBody LineParam jobParam) {
|
||||
|
||||
log.info(LocalDateTime.now() + "handlerMonitorEvaluate开始执行");
|
||||
String methodDescribe = getMethodDescribe("handlerMonitorEvaluate");
|
||||
List<String> indexLists = new ArrayList<> ();
|
||||
String startTime,endTime;
|
||||
List<String> indexLists;
|
||||
if (CollectionUtils.isEmpty(jobParam.getLineIds())) {
|
||||
indexLists = lineFeignClient.getLineList ( ).getData ( );
|
||||
indexLists = commTerminalGeneralClient.getRunMonitorIds().getData();
|
||||
} else {
|
||||
indexLists = jobParam.getLineIds();
|
||||
}
|
||||
|
||||
rMpMonitorEvaluateDService.dayDataJobHandler (indexLists,jobParam.getDataDate ());
|
||||
if (jobParam.getRepairFlag()){
|
||||
List<String> timeRange = NjcnDateUtils.findEveryDay(jobParam.getBeginTime(),jobParam.getEndTime());
|
||||
for (String item : timeRange) {
|
||||
log.info(item+"-->开始执行");
|
||||
startTime = item+" "+"00:00:00";
|
||||
endTime = item+" "+"23:59:59";
|
||||
rMpMonitorEvaluateDService.dayDataJobHandler(indexLists,startTime, endTime);
|
||||
}
|
||||
} else {
|
||||
rMpMonitorEvaluateDService.dayDataJobHandler(indexLists, jobParam.getBeginTime(), jobParam.getEndTime());
|
||||
}
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,8 @@ 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.pq.api.LineFeignClient;
|
||||
import com.njcn.common.utils.NjcnDateUtils;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.ROperatingMonitorMService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.ROperatingMonitorService;
|
||||
@@ -22,7 +23,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -39,8 +39,7 @@ import java.util.List;
|
||||
@Api(tags = "监测点数据质量")
|
||||
@AllArgsConstructor
|
||||
public class ROperatingMonitorController extends BaseController {
|
||||
private final LineFeignClient lineFeignClient;
|
||||
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
private final ROperatingMonitorService rOperatingMonitorService;
|
||||
private final ROperatingMonitorMService rOperatingMonitorMService;
|
||||
|
||||
@@ -49,17 +48,23 @@ public class ROperatingMonitorController extends BaseController {
|
||||
@PostMapping("handlerMonitorOperatingD")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
|
||||
public HttpResult<Boolean> handlerMonitorOperatingD(@RequestBody LineParam jobParam) {
|
||||
|
||||
log.info(LocalDateTime.now() + "handlerMonitorOperatingD开始执行");
|
||||
String methodDescribe = getMethodDescribe("handlerMonitorOperatingD");
|
||||
List<String> indexLists = new ArrayList<> ();
|
||||
List<String> indexLists;
|
||||
if (CollectionUtils.isEmpty(jobParam.getLineIds())) {
|
||||
indexLists = lineFeignClient.getLineList ( ).getData ( );
|
||||
indexLists = commTerminalGeneralClient.getRunMonitorIds().getData();
|
||||
} else {
|
||||
indexLists = jobParam.getLineIds();
|
||||
}
|
||||
|
||||
if (jobParam.getRepairFlag()) {
|
||||
List<String> timeRange = NjcnDateUtils.findEveryDay(jobParam.getBeginTime(), jobParam.getEndTime());
|
||||
for (String item : timeRange) {
|
||||
log.info(item + "-->开始执行");
|
||||
rOperatingMonitorService.handlerMonitorOperatingD(indexLists, item);
|
||||
}
|
||||
} else {
|
||||
rOperatingMonitorService.handlerMonitorOperatingD(indexLists, jobParam.getDataDate());
|
||||
}
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
}
|
||||
|
||||
@@ -71,14 +76,13 @@ public class ROperatingMonitorController extends BaseController {
|
||||
|
||||
log.info(LocalDateTime.now() + "handlerMonitorOperatingM开始执行");
|
||||
String methodDescribe = getMethodDescribe("handlerMonitorOperatingM");
|
||||
List<String> indexLists = new ArrayList<> ();
|
||||
List<String> indexLists;
|
||||
if (CollectionUtils.isEmpty(jobParam.getLineIds())) {
|
||||
indexLists = lineFeignClient.getLineList ( ).getData ( );
|
||||
indexLists = commTerminalGeneralClient.getRunMonitorIds().getData();
|
||||
} else {
|
||||
indexLists = jobParam.getLineIds();
|
||||
}
|
||||
|
||||
rOperatingMonitorMService.handlerMonitorOperatingM (indexLists,jobParam.getDataDate ());
|
||||
rOperatingMonitorMService.handlerMonitorOperatingM(indexLists,jobParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,6 @@ public interface DataVInfluxdbService
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
List<DataVFiveItemDTO> getFiveItems(String lineId, String date, Integer statisticalInterval);
|
||||
List<DataVFiveItemDTO> getFiveItems(String lineId, String beginTime, String endTime, Integer statisticalInterval);
|
||||
|
||||
}
|
||||
|
||||
@@ -72,20 +72,18 @@ public class DataVInfluxdbServiceImpl implements DataVInfluxdbService {
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
@Override
|
||||
public List<DataVFiveItemDTO> getFiveItems(String lineId, String date, Integer statisticalInterval) {
|
||||
public List<DataVFiveItemDTO> getFiveItems(String lineId,String beginTime, String endTime, Integer statisticalInterval) {
|
||||
/*按时间分组每组16条,*/
|
||||
/*freq,v_thd,v_unbalance 取T项数据*/
|
||||
String startTime = date+" "+"00:00:00";
|
||||
String endTime = date+" "+"23:59:59";
|
||||
String Sql = "SELECT time, MAX(freq) as freq_max,MIN(freq) as freq_min,MAX(v_thd) as v_thd_max,MIN(v_thd) as v_thd_min,MAX(v_unbalance) as v_unbalance_max,MIN(v_unbalance) as v_unbalance_min from data_v where line_id='"+lineId+
|
||||
"'and "+ InfluxDBPublicParam.TIME+">='"+startTime+"'and "+ InfluxDBPublicParam.TIME+"<='"+endTime+"' and phasic_type ='T' and value_type='AVG' group by time("+statisticalInterval+"m ) fill(none) "+InfluxDBPublicParam.TIME_ZONE;
|
||||
"'and "+ InfluxDBPublicParam.TIME+">='"+beginTime+"'and "+ InfluxDBPublicParam.TIME+"<='"+endTime+"' and phasic_type ='T' and value_type='AVG' group by time("+statisticalInterval+"m ) fill(none) "+InfluxDBPublicParam.TIME_ZONE;
|
||||
QueryResult query = influxDbUtils.query(Sql);
|
||||
InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
|
||||
List<DataV> dataVS = resultMapper.toPOJO(query, DataV.class);
|
||||
/*rms,rms_lvr 取ABC项数据任意一个数据*/
|
||||
|
||||
String Sql2 = "SELECT time, MAX(rms) as rms_max,MIN(rms) as rms_min,MAX(rms_lvr) as rms_lvr_max,MIN(rms_lvr) as rms_lvr_min from data_v where line_id='"+lineId+
|
||||
"'and "+ InfluxDBPublicParam.TIME+">='"+startTime+"'and "+ InfluxDBPublicParam.TIME+"<='"+endTime+"' and phasic_type ='A' and value_type='AVG' group by time("+statisticalInterval+"m ) fill(none) "+InfluxDBPublicParam.TIME_ZONE;
|
||||
"'and "+ InfluxDBPublicParam.TIME+">='"+beginTime+"'and "+ InfluxDBPublicParam.TIME+"<='"+endTime+"' and phasic_type ='A' and value_type='AVG' group by time("+statisticalInterval+"m ) fill(none) "+InfluxDBPublicParam.TIME_ZONE;
|
||||
QueryResult query2 = influxDbUtils.query(Sql2);
|
||||
InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper();
|
||||
List<DataV> dataVS2 = resultMapper2.toPOJO(query2, DataV.class);
|
||||
|
||||
@@ -151,7 +151,7 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ
|
||||
/*统计间隔*/
|
||||
Integer statisticalInterval = temp.getStatisticalInterval ( );
|
||||
/*获取监测点当天的所有数据*/
|
||||
List<DataVFiveItemDTO> fiveItems = dataVInfluxdbService.getFiveItems (temp.getId (), dataDate,statisticalInterval);
|
||||
List<DataVFiveItemDTO> fiveItems = dataVInfluxdbService.getFiveItems (temp.getId (), dataDate+" "+"00:00:00",dataDate+" "+"23:59:59",statisticalInterval);
|
||||
|
||||
/*过滤出有效接入分钟数量*/
|
||||
Integer count = calculateEffectiveMinute (fiveItems, pmsAbnormalRules, voltage);
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.device.biz.commApi.CommLineClient;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.pq.constant.Param;
|
||||
import com.njcn.device.pq.pojo.po.PmsAbnormalRules;
|
||||
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.PmsAbnormalRulesMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpMonitorEvaluateDMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.DataVFiveItemDTO;
|
||||
@@ -14,9 +16,6 @@ import com.njcn.prepare.harmonic.pojo.po.DataFlicker;
|
||||
import com.njcn.prepare.harmonic.service.influxdb.DataIntegrityRateInfluxService;
|
||||
import com.njcn.prepare.harmonic.service.influxdb.DataVInfluxdbService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.RMpMonitorEvaluateDService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
@@ -42,8 +41,7 @@ import java.util.stream.Collectors;
|
||||
@RequiredArgsConstructor
|
||||
public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEvaluateDMapper, RMpMonitorEvaluateDPO> implements RMpMonitorEvaluateDService {
|
||||
|
||||
private final LineFeignClient lineFeignClient;
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
private final CommLineClient commLineClient;
|
||||
private final DataVInfluxdbService dataVInfluxdbService;
|
||||
private final PmsAbnormalRulesMapper pmsAbnormalRulesMapper;
|
||||
private final DataIntegrityRateInfluxService dataIntegrityRateInfluxService;
|
||||
@@ -52,33 +50,25 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
@Async("asyncExecutor")
|
||||
@SneakyThrows
|
||||
public void dayDataJobHandler(List<String> indexLists, String dataDate) {
|
||||
|
||||
public void dayDataJobHandler(List<String> indexLists, String beginTime, String endTime) {
|
||||
//1、取出规则
|
||||
List<PmsAbnormalRules> pmsAbnormalRules = pmsAbnormalRulesMapper.selectList(null);
|
||||
|
||||
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeName (DicDataTypeEnum.DEV_VOLTAGE.getName ( )).getData ( );
|
||||
|
||||
List<RMpMonitorEvaluateDPO> rMpMonitorEvaluateDPOS = new ArrayList<>();
|
||||
|
||||
indexLists.forEach(temp -> {
|
||||
LineDetailDataVO data = lineFeignClient.getLineDetailData (temp).getData ( );
|
||||
String devid = lineFeignClient.getLineIdByDevId(temp).getData();
|
||||
|
||||
|
||||
LineDTO data = commLineClient.getLineDetail(temp).getData();
|
||||
if (ObjectUtil.isNotNull(data)) {
|
||||
/*todo 统计间隔,电压等级取值方式后期提供融合版本接口获取不然pms,pqs系统取值方式不一样*/
|
||||
/*统计间隔*/
|
||||
Integer statisticalInterval = data.getTimeInterval();
|
||||
/*电压等级*/
|
||||
// Double voltage = PublicUtil.getVoltage (temp, dictDataList);
|
||||
Double voltage =Double.parseDouble (data.getScale ().substring (0, data.getScale ().length ()-2));
|
||||
Double voltage = Double.parseDouble(data.getVoltageLevel());
|
||||
|
||||
List<DataVFiveItemDTO> fiveItems = dataVInfluxdbService.getFiveItems (temp, dataDate, statisticalInterval);
|
||||
List<DataVFiveItemDTO> fiveItems = dataVInfluxdbService.getFiveItems(temp, beginTime,endTime, statisticalInterval);
|
||||
RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO();
|
||||
|
||||
|
||||
rMpMonitorEvaluateDPO = calculateRMpMonitorEvaluateDPO(rMpMonitorEvaluateDPO, fiveItems, pmsAbnormalRules, voltage, data);
|
||||
Date date = DateUtil.parse(dataDate);
|
||||
Date date = DateUtil.parse(beginTime);
|
||||
|
||||
DataFlicker twoFlickerData = dataIntegrityRateInfluxService.getTwoFlickerData(temp, date, 5);
|
||||
|
||||
@@ -90,15 +80,17 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
|
||||
rMpMonitorEvaluateDPO.setPstCount(twoFlickerData.getPstCount());
|
||||
}
|
||||
rMpMonitorEvaluateDPO.setAllMinuteCount(fiveItems.size());
|
||||
rMpMonitorEvaluateDPO.setDeviceId(devid);
|
||||
rMpMonitorEvaluateDPO.setDeviceId(data.getDevId());
|
||||
rMpMonitorEvaluateDPO.setDataDate(date);
|
||||
rMpMonitorEvaluateDPO.setMeasurementPointId(temp);
|
||||
|
||||
rMpMonitorEvaluateDPOS.add(rMpMonitorEvaluateDPO);
|
||||
|
||||
}
|
||||
});
|
||||
if (CollUtil.isNotEmpty(rMpMonitorEvaluateDPOS)) {
|
||||
this.saveOrUpdateBatchByMultiId(rMpMonitorEvaluateDPOS, 500);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -112,7 +104,7 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
private RMpMonitorEvaluateDPO calculateRMpMonitorEvaluateDPO(RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO,List<DataVFiveItemDTO> fiveItems, List<PmsAbnormalRules> pmsAbnormalRules, Double voltage,LineDetailDataVO data) {
|
||||
private RMpMonitorEvaluateDPO calculateRMpMonitorEvaluateDPO(RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO, List<DataVFiveItemDTO> fiveItems, List<PmsAbnormalRules> pmsAbnormalRules, Double voltage, LineDTO data) {
|
||||
|
||||
Integer freqCount = 0;
|
||||
Integer unbalanceCount = 0;
|
||||
|
||||
@@ -2,9 +2,8 @@ package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
|
||||
import com.njcn.device.biz.commApi.CommLineClient;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.RMpMonitorEvaluateDPO;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
||||
@@ -38,7 +37,7 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
|
||||
|
||||
private final RMpMonitorEvaluateDService rMpMonitorEvaluateDService;
|
||||
private final RStatAbnormalDService rStatAbnormalDService;
|
||||
private final LineFeignClient lineFeignClient;
|
||||
private final CommLineClient commLineClient;
|
||||
|
||||
/**
|
||||
* @Description: 采用以下公式计算数据完整率:
|
||||
@@ -66,11 +65,11 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
|
||||
indexLists.forEach (temp -> {
|
||||
ROperatingMonitorDPO rOperatingMonitorDPO = new ROperatingMonitorDPO();
|
||||
|
||||
LineDetailDataVO data = lineFeignClient.getLineDetailData (temp).getData ( );
|
||||
LineDTO data = commLineClient.getLineDetail(temp).getData();
|
||||
|
||||
/*todo 统计间隔,电压等级取值方式,devid后期提供融合版本接口获取不然pms,pqs系统取值方式不一样*/
|
||||
/*统计间隔*/
|
||||
Integer statisticalInterval = data.getTimeInterval ();
|
||||
String devid = lineFeignClient.getLineIdByDevId(temp).getData();
|
||||
|
||||
RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO();
|
||||
rMpMonitorEvaluateDPO.setMeasurementPointId (temp);
|
||||
@@ -108,8 +107,8 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
|
||||
rMpMonitorEvaluateDPO.getVThdCount ())*statisticalInterval/(5*1440)
|
||||
)
|
||||
);
|
||||
rOperatingMonitorDPO.setDevId (devid);
|
||||
rOperatingMonitorDPO.setMonitorState (PubUtils.getRunFlag(data.getRunFlag())+"");
|
||||
rOperatingMonitorDPO.setDevId (data.getDevId());
|
||||
rOperatingMonitorDPO.setMonitorState("0");
|
||||
rOperatingMonitorDPOList.add (rOperatingMonitorDPO);
|
||||
});
|
||||
this.saveOrUpdateBatchByMultiId (rOperatingMonitorDPOList,500);
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorMMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorMPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.ROperatingMonitorMService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.ROperatingMonitorService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -37,38 +38,25 @@ public class ROperatingMonitorMServiceImpl extends MppServiceImpl<ROperatingMoni
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
@Async("asyncExecutor")
|
||||
public void handlerMonitorOperatingM(List<String> indexLists, String dataDate) {
|
||||
Date date = DateUtil.parse (dataDate);
|
||||
public void handlerMonitorOperatingM(List<String> indexLists,LineParam jobParam) {
|
||||
List<ROperatingMonitorMPO> rOperatingMonitorMPOList = new ArrayList<>();
|
||||
QueryWrapper<ROperatingMonitorDPO> queryWrapper = new QueryWrapper<>();
|
||||
|
||||
indexLists.forEach(temp -> {
|
||||
queryWrapper.clear();
|
||||
queryWrapper.eq ("measurement_point_id", temp).
|
||||
eq ("DATE_FORMAT( data_date ,'%Y-%m')", dataDate.substring (0, 7));
|
||||
queryWrapper.eq("measurement_point_id", temp)
|
||||
.ge("data_date", jobParam.getBeginTime())
|
||||
.le("data_date", jobParam.getEndTime());
|
||||
List<ROperatingMonitorDPO> list = rOperatingMonitorService.list(queryWrapper);
|
||||
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return;
|
||||
}
|
||||
ROperatingMonitorMPO rOperatingMonitorMPO = new ROperatingMonitorMPO();
|
||||
BigDecimal dataIntegrityRate = BigDecimal.valueOf (
|
||||
list.stream ( ).
|
||||
mapToDouble (po -> po.getDataIntegrityRate ( ).doubleValue ( ))
|
||||
.average ( ).getAsDouble ( )
|
||||
);
|
||||
BigDecimal dataRightRate = BigDecimal.valueOf (
|
||||
list.stream ( ).
|
||||
mapToDouble (po -> po.getDataRightRate ( ).doubleValue ( ))
|
||||
.average ( ).getAsDouble ( )
|
||||
);
|
||||
BigDecimal indexIntegrityRate = BigDecimal.valueOf (
|
||||
list.stream ( ).
|
||||
mapToDouble (po -> po.getIndexIntegrityRate ( ).doubleValue ( ))
|
||||
.average ( ).getAsDouble ( )
|
||||
);
|
||||
BigDecimal dataIntegrityRate = BigDecimal.valueOf(list.stream().mapToDouble(po -> po.getDataIntegrityRate().doubleValue()).average().getAsDouble());
|
||||
BigDecimal dataRightRate = BigDecimal.valueOf(list.stream().mapToDouble(po -> po.getDataRightRate().doubleValue()).average().getAsDouble());
|
||||
BigDecimal indexIntegrityRate = BigDecimal.valueOf(list.stream().mapToDouble(po -> po.getIndexIntegrityRate().doubleValue()).average().getAsDouble());
|
||||
rOperatingMonitorMPO.setMeasurementPointId(temp);
|
||||
rOperatingMonitorMPO.setDataDate (date);
|
||||
rOperatingMonitorMPO.setDataDate(DateUtil.parse(jobParam.getDataDate()));
|
||||
rOperatingMonitorMPO.setDataIntegrityRate(dataIntegrityRate);
|
||||
rOperatingMonitorMPO.setDataRightRate(dataRightRate);
|
||||
rOperatingMonitorMPO.setIndexIntegrityRate(indexIntegrityRate);
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.njcn.prepare.harmonic.pojo.mysql.RMpMonitorEvaluateDPO;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/4/19 15:42【需求编号】
|
||||
@@ -23,5 +22,5 @@ public interface RMpMonitorEvaluateDService extends IMppService<RMpMonitorEvalua
|
||||
* @Author: clam
|
||||
* @Date: 2023/4/19
|
||||
*/
|
||||
void dayDataJobHandler(List<String> indexLists, String dataDate);
|
||||
void dayDataJobHandler(List<String> indexLists, String beginTime, String endTime);
|
||||
}
|
||||
|
||||
@@ -2,11 +2,11 @@ package com.njcn.prepare.harmonic.service.mysql.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorMPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/4/21 15:41【需求编号】
|
||||
@@ -23,5 +23,5 @@ public interface ROperatingMonitorMService extends IMppService<ROperatingMonitor
|
||||
* @Author: clam
|
||||
* @Date: 2023/4/21
|
||||
*/
|
||||
void handlerMonitorOperatingM(List<String> indexLists, String dataDate);
|
||||
void handlerMonitorOperatingM(List<String> indexLists, LineParam jobParam);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/4/21 10:17【需求编号】
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.njcn.prepare.harmonic.pojo.mysql.RStatAbnormalDPO;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/4/21 9:07【需求编号】
|
||||
|
||||
Reference in New Issue
Block a user