1.解决device模块Swagger无法显示bug

2.修改监测点评价,数据异常,指标数据质量算法兼容修改
This commit is contained in:
wr
2023-09-22 16:13:16 +08:00
parent 66322e6c39
commit c686694c74
32 changed files with 502 additions and 268 deletions

View File

@@ -1,8 +1,12 @@
package com.njcn.device.biz.commApi; package com.njcn.device.biz.commApi;
import com.njcn.common.pojo.constant.ServerInfo; 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.commApi.fallback.CommTerminalGeneralClientFallbackFactory;
import com.njcn.device.biz.pojo.dto.LineDTO;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/** /**
* pqs * pqs
@@ -12,11 +16,17 @@ import org.springframework.cloud.openfeign.FeignClient;
*/ */
@FeignClient( @FeignClient(
value = ServerInfo.DEVICE, value = ServerInfo.DEVICE,
path = "CommLineClient", path = "commLine",
contextId = "CommLineClient", contextId = "commLine",
fallbackFactory = CommTerminalGeneralClientFallbackFactory.class) fallbackFactory = CommTerminalGeneralClientFallbackFactory.class)
public interface CommLineClient { public interface CommLineClient {
/**
* @Description: 获取监测点信息
* @param id
* @Author: wr
* @Date: 2023/9/22 11:11
*/
@GetMapping("/getLineDetail")
HttpResult<LineDTO> getLineDetail(@RequestParam("id") String id);
} }

View File

@@ -142,7 +142,6 @@ public interface CommTerminalGeneralClient {
HttpResult<List<LineDevGetDTO>> getMonitorDetailList(@RequestBody List<String> list); HttpResult<List<LineDevGetDTO>> getMonitorDetailList(@RequestBody List<String> list);
@GetMapping("/lineUnitDetail") @GetMapping("/lineUnitDetail")
HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineId") String lineId); HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineId") String lineId);

View File

@@ -3,10 +3,9 @@ package com.njcn.device.biz.commApi.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult; 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.commApi.CommLineClient;
import com.njcn.device.biz.pojo.dto.LineDTO;
import com.njcn.device.biz.utils.DeviceEnumUtil; import com.njcn.device.biz.utils.DeviceEnumUtil;
import com.njcn.user.pojo.po.Dept;
import feign.hystrix.FallbackFactory; import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -30,8 +29,11 @@ public class CommLineClientFallbackFactory implements FallbackFactory<CommLineCl
Enum<?> finalExceptionEnum = exceptionEnum; Enum<?> finalExceptionEnum = exceptionEnum;
return new CommLineClient() { return new CommLineClient() {
@Override
public HttpResult<LineDTO> getLineDetail(String id) {
log.error("{}异常,降级处理,异常为:{}", "获取监测点信息", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
}; };
} }

View File

@@ -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;
}

View File

@@ -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);
}
}

View File

@@ -300,7 +300,7 @@ public class CommTerminalController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/lineUnitDetail") @GetMapping("/lineUnitDetail")
@ApiOperation("根据监测点id获取数据单位") @ApiOperation("根据监测点id获取数据单位")
@ApiImplicitParam(name = "lineID", value = "实体", required = true) @ApiImplicitParam(name = "lineId", value = "实体", required = true)
public HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineId") String lineId) { public HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineId") String lineId) {
String methodDescribe = getMethodDescribe("lineUnitDetail"); String methodDescribe = getMethodDescribe("lineUnitDetail");
PqsDeviceUnit pqsDeviceUnit = new PqsDeviceUnit(); PqsDeviceUnit pqsDeviceUnit = new PqsDeviceUnit();
@@ -316,7 +316,7 @@ public class CommTerminalController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/getMonitorDetail") @GetMapping("/getMonitorDetail")
@ApiOperation("根据监测点id获取数据单位") @ApiOperation("根据监测点id获取数据单位")
@ApiImplicitParam(name = "lineID", value = "实体", required = true) @ApiImplicitParam(name = "lineId", value = "实体", required = true)
public HttpResult<LineDevGetDTO> getMonitorDetail(@RequestParam("lineId") String lineId) { public HttpResult<LineDevGetDTO> getMonitorDetail(@RequestParam("lineId") String lineId) {
String methodDescribe = getMethodDescribe("getMonitorDetail"); String methodDescribe = getMethodDescribe("getMonitorDetail");
Monitor monitor = monitorService.getById(lineId); Monitor monitor = monitorService.getById(lineId);

View File

@@ -2,6 +2,7 @@ package com.njcn.device.pms.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.common.pojo.dto.SimpleDTO; 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.PmsMonitorBaseDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
@@ -76,10 +77,12 @@ public interface MonitorMapper extends BaseMapper<Monitor> {
*/ */
MonitorVO getPwMonitorTerminal(@Param("id")String id); MonitorVO getPwMonitorTerminal(@Param("id")String id);
/** /**
* 获取主网监测点装置信息 * @Description: 根据监测点id获取监测点信息
* @author cdf * @param id
* @date 2023/7/10 * @return: com.njcn.device.biz.pojo.dto.LineDTO
* @Author: wr
* @Date: 2023/9/22 10:20
*/ */
LineDTO selectLineDetail(@Param("id")String id);
} }

View File

@@ -162,5 +162,19 @@
INNER JOIN pms_terminal pt ON pt.Id = pm.Terminal_Id INNER JOIN pms_terminal pt ON pt.Id = pm.Terminal_Id
where pm.Monitor_Id = #{id} where pm.Monitor_Id = #{id}
</select> </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> </mapper>

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; 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.param.DeptGetLineParam;
import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
@@ -172,4 +173,11 @@ public interface IMonitorService extends IService<Monitor> {
* @Date: 2023/9/21 13:19 * @Date: 2023/9/21 13:19
*/ */
Map<String, List<String>> getLineBySubstationRelation(Integer devDataType); Map<String, List<String>> getLineBySubstationRelation(Integer devDataType);
/**
* 根据监测点id获取监测点信息
* @param id
* @return
*/
LineDTO getLineDetail(String id);
} }

View File

@@ -19,6 +19,7 @@ import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.biz.enums.DeviceResponseEnum; import com.njcn.device.biz.enums.DeviceResponseEnum;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; 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.param.DeptGetLineParam;
import com.njcn.device.biz.pojo.po.DeviceBak; import com.njcn.device.biz.pojo.po.DeviceBak;
import com.njcn.device.biz.utils.COverlimit; import com.njcn.device.biz.utils.COverlimit;
@@ -436,6 +437,21 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
return null; 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集合 * 获取主配网监测点id集合

View File

@@ -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);
}
}

View File

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; 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.dto.LineDevGetDTO;
import com.njcn.device.biz.pojo.po.Overlimit; import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.pq.pojo.advanced.UpDevVO; import com.njcn.device.pq.pojo.advanced.UpDevVO;
@@ -513,4 +514,13 @@ public interface LineMapper extends BaseMapper<Line> {
* @Date: 2023/8/29 12:50 * @Date: 2023/8/29 12:50
*/ */
Page<HalfReportVO> selectHalfReport(Page page,@Param("param") TerminalMainQueryParam param); 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);
} }

View File

@@ -1340,5 +1340,29 @@
devName, devName,
lineName lineName
</select> </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> </mapper>

View File

@@ -1,6 +1,7 @@
package com.njcn.device.pq.service; package com.njcn.device.pq.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.PollutionLineDTO;
import com.njcn.device.pq.pojo.dto.PollutionParamDTO; import com.njcn.device.pq.pojo.dto.PollutionParamDTO;
import com.njcn.device.pq.pojo.dto.PollutionSubstationDTO; import com.njcn.device.pq.pojo.dto.PollutionSubstationDTO;
@@ -181,4 +182,13 @@ public interface LineService {
List<TopMsgPO> dailyDeviceAbnormal(DeviceInfoParam.BusinessParam conditionBusinessParam); List<TopMsgPO> dailyDeviceAbnormal(DeviceInfoParam.BusinessParam conditionBusinessParam);
Page<HalfReportVO> halfReport(TerminalMainQueryParam param); 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);
} }

View File

@@ -16,6 +16,7 @@ import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.utils.EnumUtils; import com.njcn.common.utils.EnumUtils;
import com.njcn.common.utils.PubUtils; import com.njcn.common.utils.PubUtils;
import com.njcn.device.biz.enums.DeviceResponseEnum; 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.biz.pojo.po.Overlimit;
import com.njcn.device.pq.enums.LineBaseEnum; import com.njcn.device.pq.enums.LineBaseEnum;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; 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.influx.query.InfluxQueryWrapper;
import com.njcn.system.api.AreaFeignClient; import com.njcn.system.api.AreaFeignClient;
import com.njcn.system.api.DicDataFeignClient; 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.pojo.vo.LineDataVO;
import com.njcn.web.utils.GeneralUtil; import com.njcn.web.utils.GeneralUtil;
import com.njcn.web.utils.RequestUtil; 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); 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 @Override
public List<Overlimit> getOverLimitByList(PollutionParamDTO pollutionParamDTO) { public List<Overlimit> getOverLimitByList(PollutionParamDTO pollutionParamDTO) {
return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList()); return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList());

View File

@@ -32,6 +32,7 @@ public class RMpMonitorEvaluateJob {
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY));
lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY));
lineParam.setDataSource(2); lineParam.setDataSource(2);
CommonExecutorUtils.commDefineDate(BizParamConstant.STAT_BIZ_DAY,lineParam);
rMpMonitorEvaluateFeignClient.handlerMonitorEvaluate(lineParam); rMpMonitorEvaluateFeignClient.handlerMonitorEvaluate(lineParam);
} }

View File

@@ -33,6 +33,7 @@ public class ROperatingMonitorJob {
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY));
lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY));
lineParam.setDataSource(2); lineParam.setDataSource(2);
CommonExecutorUtils.commDefineDate(BizParamConstant.STAT_BIZ_DAY,lineParam);
rOperatingMonitorFeignClient.handlerMonitorOperatingD(lineParam); rOperatingMonitorFeignClient.handlerMonitorOperatingD(lineParam);
} }
@@ -43,6 +44,7 @@ public class ROperatingMonitorJob {
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH)); lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH));
lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_MONTH)); lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_MONTH));
lineParam.setDataSource(2); lineParam.setDataSource(2);
CommonExecutorUtils.commDefineDate(BizParamConstant.STAT_BIZ_MONTH,lineParam);
rOperatingMonitorFeignClient.handlerMonitorOperatingM(lineParam); rOperatingMonitorFeignClient.handlerMonitorOperatingM(lineParam);
} }

View File

@@ -33,6 +33,7 @@ public class RStatAbnormalJob {
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY));
lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY));
lineParam.setDataSource(2); lineParam.setDataSource(2);
CommonExecutorUtils.commDefineDate(BizParamConstant.STAT_BIZ_DAY,lineParam);
rStatAbnormalFeignClient.handlerMonitorAbnormal(lineParam); rStatAbnormalFeignClient.handlerMonitorAbnormal(lineParam);
} }

View File

@@ -23,9 +23,6 @@ import java.util.Date;
@Data @Data
@TableName(value = "r_mp_monitor_evaluate_d") @TableName(value = "r_mp_monitor_evaluate_d")
public class RMpMonitorEvaluateDPO { public class RMpMonitorEvaluateDPO {
@MppMultiId(value = "data_date")
@ApiModelProperty(value="")
private Date dataDate;
/** /**
* 监测点Id * 监测点Id
@@ -33,6 +30,9 @@ public class RMpMonitorEvaluateDPO {
@MppMultiId(value = "measurement_point_id") @MppMultiId(value = "measurement_point_id")
private String measurementPointId; private String measurementPointId;
@MppMultiId(value = "data_date")
private Date dataDate;
@TableField(value = "device_id") @TableField(value = "device_id")
private String deviceId; private String deviceId;

View File

@@ -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.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; 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.device.pq.api.LineFeignClient;
import com.njcn.prepare.harmonic.pojo.param.LineParam; import com.njcn.prepare.harmonic.pojo.param.LineParam;
import com.njcn.prepare.harmonic.service.mysql.line.RStatAbnormalDService; import com.njcn.prepare.harmonic.service.mysql.line.RStatAbnormalDService;
@@ -38,7 +40,7 @@ import java.util.List;
@Api(tags = "监测点异常_日统计") @Api(tags = "监测点异常_日统计")
@AllArgsConstructor @AllArgsConstructor
public class RMStatAbnormalDController extends BaseController { public class RMStatAbnormalDController extends BaseController {
private final LineFeignClient lineFeignClient; private final CommTerminalGeneralClient commTerminalGeneralClient;
private final RStatAbnormalDService rStatAbnormalDService; private final RStatAbnormalDService rStatAbnormalDService;
@@ -47,17 +49,23 @@ public class RMStatAbnormalDController extends BaseController {
@PostMapping("handlerMonitorAbnormal") @PostMapping("handlerMonitorAbnormal")
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM) @OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
public HttpResult<Boolean> handlerMonitorAbnormal(@RequestBody LineParam jobParam ){ public HttpResult<Boolean> handlerMonitorAbnormal(@RequestBody LineParam jobParam ){
log.info(LocalDateTime.now()+"handlerMonitorAbnormal开始执行"); log.info(LocalDateTime.now()+"handlerMonitorAbnormal开始执行");
String methodDescribe = getMethodDescribe("handlerMonitorAbnormal"); String methodDescribe = getMethodDescribe("handlerMonitorAbnormal");
List<String> indexLists = new ArrayList<> (); List<String> indexLists;
if(CollectionUtils.isEmpty (jobParam.getLineIds ())){ if (CollectionUtils.isEmpty(jobParam.getLineIds())) {
indexLists = lineFeignClient.getLineList ( ).getData ( ); indexLists = commTerminalGeneralClient.getRunMonitorIds().getData();
}else{ } else {
indexLists = jobParam.getLineIds (); indexLists = jobParam.getLineIds();
}
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());
} }
rStatAbnormalDService.handlerMonitorAbnormal (indexLists,jobParam.getDataDate ());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
} }
} }

View File

@@ -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.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; 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.pojo.param.LineParam;
import com.njcn.prepare.harmonic.service.mysql.line.RMpMonitorEvaluateDService; import com.njcn.prepare.harmonic.service.mysql.line.RMpMonitorEvaluateDService;
import com.njcn.web.controller.BaseController; 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 org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@@ -38,26 +38,36 @@ import java.util.List;
@Api(tags = "监测点评价_日统计") @Api(tags = "监测点评价_日统计")
@AllArgsConstructor @AllArgsConstructor
public class RMpMonitorEvaluateDController extends BaseController { public class RMpMonitorEvaluateDController extends BaseController {
private final LineFeignClient lineFeignClient;
private final CommTerminalGeneralClient commTerminalGeneralClient;
private final RMpMonitorEvaluateDService rMpMonitorEvaluateDService; private final RMpMonitorEvaluateDService rMpMonitorEvaluateDService;
@ApiOperation("监测点评价_日统计(MySQL库)") @ApiOperation("监测点评价_日统计(MySQL库)")
@ApiImplicitParam(value = "jobParam",name = "jobParam",required = true) @ApiImplicitParam(value = "jobParam", name = "jobParam", required = true)
@PostMapping("handlerMonitorEvaluate") @PostMapping("handlerMonitorEvaluate")
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM) @OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
public HttpResult<Boolean> handlerMonitorEvaluate(@RequestBody LineParam jobParam ){ public HttpResult<Boolean> handlerMonitorEvaluate(@RequestBody LineParam jobParam) {
log.info(LocalDateTime.now() + "handlerMonitorEvaluate开始执行");
log.info(LocalDateTime.now()+"handlerMonitorEvaluate开始执行");
String methodDescribe = getMethodDescribe("handlerMonitorEvaluate"); String methodDescribe = getMethodDescribe("handlerMonitorEvaluate");
List<String> indexLists = new ArrayList<> (); String startTime,endTime;
if(CollectionUtils.isEmpty (jobParam.getLineIds ())){ List<String> indexLists;
indexLists = lineFeignClient.getLineList ( ).getData ( ); if (CollectionUtils.isEmpty(jobParam.getLineIds())) {
}else{ indexLists = commTerminalGeneralClient.getRunMonitorIds().getData();
indexLists = jobParam.getLineIds (); } else {
indexLists = jobParam.getLineIds();
}
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());
} }
rMpMonitorEvaluateDService.dayDataJobHandler (indexLists,jobParam.getDataDate ());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
} }
} }

View File

@@ -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.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; 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.pojo.param.LineParam;
import com.njcn.prepare.harmonic.service.mysql.line.ROperatingMonitorMService; import com.njcn.prepare.harmonic.service.mysql.line.ROperatingMonitorMService;
import com.njcn.prepare.harmonic.service.mysql.line.ROperatingMonitorService; 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 org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@@ -39,46 +39,50 @@ import java.util.List;
@Api(tags = "监测点数据质量") @Api(tags = "监测点数据质量")
@AllArgsConstructor @AllArgsConstructor
public class ROperatingMonitorController extends BaseController { public class ROperatingMonitorController extends BaseController {
private final LineFeignClient lineFeignClient; private final CommTerminalGeneralClient commTerminalGeneralClient;
private final ROperatingMonitorService rOperatingMonitorService; private final ROperatingMonitorService rOperatingMonitorService;
private final ROperatingMonitorMService rOperatingMonitorMService; private final ROperatingMonitorMService rOperatingMonitorMService;
@ApiOperation("监测点数据质量_日统计(MySQL库)") @ApiOperation("监测点数据质量_日统计(MySQL库)")
@ApiImplicitParam(value = "jobParam",name = "jobParam",required = true) @ApiImplicitParam(value = "jobParam", name = "jobParam", required = true)
@PostMapping("handlerMonitorOperatingD") @PostMapping("handlerMonitorOperatingD")
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM) @OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
public HttpResult<Boolean> handlerMonitorOperatingD(@RequestBody LineParam jobParam ){ public HttpResult<Boolean> handlerMonitorOperatingD(@RequestBody LineParam jobParam) {
log.info(LocalDateTime.now() + "handlerMonitorOperatingD开始执行");
log.info(LocalDateTime.now()+"handlerMonitorOperatingD开始执行");
String methodDescribe = getMethodDescribe("handlerMonitorOperatingD"); String methodDescribe = getMethodDescribe("handlerMonitorOperatingD");
List<String> indexLists = new ArrayList<> (); List<String> indexLists;
if(CollectionUtils.isEmpty (jobParam.getLineIds ())){ if (CollectionUtils.isEmpty(jobParam.getLineIds())) {
indexLists = lineFeignClient.getLineList ( ).getData ( ); indexLists = commTerminalGeneralClient.getRunMonitorIds().getData();
}else{ } else {
indexLists = jobParam.getLineIds (); 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());
} }
rOperatingMonitorService.handlerMonitorOperatingD (indexLists,jobParam.getDataDate ());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
} }
@ApiOperation("监测点数据质量_月统计(MySQL库)") @ApiOperation("监测点数据质量_月统计(MySQL库)")
@ApiImplicitParam(value = "jobParam",name = "jobParam",required = true) @ApiImplicitParam(value = "jobParam", name = "jobParam", required = true)
@PostMapping("handlerMonitorOperatingM") @PostMapping("handlerMonitorOperatingM")
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM) @OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
public HttpResult<Boolean> handlerMonitorOperatingM(@RequestBody LineParam jobParam ){ public HttpResult<Boolean> handlerMonitorOperatingM(@RequestBody LineParam jobParam) {
log.info(LocalDateTime.now()+"handlerMonitorOperatingM开始执行"); log.info(LocalDateTime.now() + "handlerMonitorOperatingM开始执行");
String methodDescribe = getMethodDescribe("handlerMonitorOperatingM"); String methodDescribe = getMethodDescribe("handlerMonitorOperatingM");
List<String> indexLists = new ArrayList<> (); List<String> indexLists;
if(CollectionUtils.isEmpty (jobParam.getLineIds ())){ if (CollectionUtils.isEmpty(jobParam.getLineIds())) {
indexLists = lineFeignClient.getLineList ( ).getData ( ); indexLists = commTerminalGeneralClient.getRunMonitorIds().getData();
}else{ } else {
indexLists = jobParam.getLineIds (); indexLists = jobParam.getLineIds();
} }
rOperatingMonitorMService.handlerMonitorOperatingM(indexLists,jobParam);
rOperatingMonitorMService.handlerMonitorOperatingM (indexLists,jobParam.getDataDate ());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
} }
} }

View File

@@ -30,6 +30,6 @@ public interface DataVInfluxdbService
* @Author: clam * @Author: clam
* @Date: 2023/2/23 * @Date: 2023/2/23
*/ */
List<DataVFiveItemDTO> getFiveItems(String lineId, String date, Integer statisticalInterval); List<DataVFiveItemDTO> getFiveItems(String lineId, String beginTime, String endTime, Integer statisticalInterval);
} }

View File

@@ -72,20 +72,18 @@ public class DataVInfluxdbServiceImpl implements DataVInfluxdbService {
* @Date: 2023/2/23 * @Date: 2023/2/23
*/ */
@Override @Override
public List<DataVFiveItemDTO> getFiveItems(String lineId, String date, Integer statisticalInterval) { public List<DataVFiveItemDTO> getFiveItems(String lineId,String beginTime, String endTime, Integer statisticalInterval) {
/*按时间分组每组16条*/ /*按时间分组每组16条*/
/*freq,v_thd,v_unbalance 取T项数据*/ /*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+ 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); QueryResult query = influxDbUtils.query(Sql);
InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
List<DataV> dataVS = resultMapper.toPOJO(query, DataV.class); List<DataV> dataVS = resultMapper.toPOJO(query, DataV.class);
/*rms,rms_lvr 取ABC项数据任意一个数据*/ /*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+ 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); QueryResult query2 = influxDbUtils.query(Sql2);
InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper();
List<DataV> dataVS2 = resultMapper2.toPOJO(query2, DataV.class); List<DataV> dataVS2 = resultMapper2.toPOJO(query2, DataV.class);

View File

@@ -151,7 +151,7 @@ public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountServ
/*统计间隔*/ /*统计间隔*/
Integer statisticalInterval = temp.getStatisticalInterval ( ); 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); Integer count = calculateEffectiveMinute (fiveItems, pmsAbnormalRules, voltage);

View File

@@ -1,11 +1,13 @@
package com.njcn.prepare.harmonic.service.mysql.Impl.line; 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.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; 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.constant.Param;
import com.njcn.device.pq.pojo.po.PmsAbnormalRules; 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.PmsAbnormalRulesMapper;
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpMonitorEvaluateDMapper; import com.njcn.prepare.harmonic.mapper.mysql.line.RMpMonitorEvaluateDMapper;
import com.njcn.prepare.harmonic.pojo.dto.DataVFiveItemDTO; 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.DataIntegrityRateInfluxService;
import com.njcn.prepare.harmonic.service.influxdb.DataVInfluxdbService; import com.njcn.prepare.harmonic.service.influxdb.DataVInfluxdbService;
import com.njcn.prepare.harmonic.service.mysql.line.RMpMonitorEvaluateDService; 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.RequiredArgsConstructor;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
@@ -42,8 +41,7 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor @RequiredArgsConstructor
public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEvaluateDMapper, RMpMonitorEvaluateDPO> implements RMpMonitorEvaluateDService { public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEvaluateDMapper, RMpMonitorEvaluateDPO> implements RMpMonitorEvaluateDService {
private final LineFeignClient lineFeignClient; private final CommLineClient commLineClient;
private final DicDataFeignClient dicDataFeignClient;
private final DataVInfluxdbService dataVInfluxdbService; private final DataVInfluxdbService dataVInfluxdbService;
private final PmsAbnormalRulesMapper pmsAbnormalRulesMapper; private final PmsAbnormalRulesMapper pmsAbnormalRulesMapper;
private final DataIntegrityRateInfluxService dataIntegrityRateInfluxService; private final DataIntegrityRateInfluxService dataIntegrityRateInfluxService;
@@ -52,52 +50,46 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
@Transactional(rollbackFor = {Exception.class}) @Transactional(rollbackFor = {Exception.class})
@Async("asyncExecutor") @Async("asyncExecutor")
@SneakyThrows @SneakyThrows
public void dayDataJobHandler(List<String> indexLists, String dataDate) { public void dayDataJobHandler(List<String> indexLists, String beginTime, String endTime) {
//1、取出规则 //1、取出规则
List<PmsAbnormalRules> pmsAbnormalRules = pmsAbnormalRulesMapper.selectList (null); List<PmsAbnormalRules> pmsAbnormalRules = pmsAbnormalRulesMapper.selectList(null);
List<RMpMonitorEvaluateDPO> rMpMonitorEvaluateDPOS = new ArrayList<>();
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeName (DicDataTypeEnum.DEV_VOLTAGE.getName ( )).getData ( ); indexLists.forEach(temp -> {
LineDTO data = commLineClient.getLineDetail(temp).getData();
List<RMpMonitorEvaluateDPO> rMpMonitorEvaluateDPOS = new ArrayList<> (); if (ObjectUtil.isNotNull(data)) {
indexLists.forEach (temp -> {
LineDetailDataVO data = lineFeignClient.getLineDetailData (temp).getData ( );
String devid = lineFeignClient.getLineIdByDevId(temp).getData();
/*todo 统计间隔电压等级取值方式后期提供融合版本接口获取不然pmspqs系统取值方式不一样*/ /*todo 统计间隔电压等级取值方式后期提供融合版本接口获取不然pmspqs系统取值方式不一样*/
/*统计间隔*/ /*统计间隔*/
Integer statisticalInterval = data.getTimeInterval (); Integer statisticalInterval = data.getTimeInterval();
/*电压等级*/ /*电压等级*/
// Double voltage = PublicUtil.getVoltage (temp, dictDataList); Double voltage = Double.parseDouble(data.getVoltageLevel());
Double voltage =Double.parseDouble (data.getScale ().substring (0, data.getScale ().length ()-2));
List<DataVFiveItemDTO> fiveItems = dataVInfluxdbService.getFiveItems (temp, dataDate, statisticalInterval); List<DataVFiveItemDTO> fiveItems = dataVInfluxdbService.getFiveItems(temp, beginTime,endTime, statisticalInterval);
RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO(); RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO();
rMpMonitorEvaluateDPO = calculateRMpMonitorEvaluateDPO (rMpMonitorEvaluateDPO,fiveItems, pmsAbnormalRules, voltage,data); rMpMonitorEvaluateDPO = calculateRMpMonitorEvaluateDPO(rMpMonitorEvaluateDPO, fiveItems, pmsAbnormalRules, voltage, data);
Date date = DateUtil.parse(dataDate); Date date = DateUtil.parse(beginTime);
DataFlicker twoFlickerData = dataIntegrityRateInfluxService.getTwoFlickerData (temp, date, 5); DataFlicker twoFlickerData = dataIntegrityRateInfluxService.getTwoFlickerData(temp, date, 5);
if(Objects.isNull (twoFlickerData)){ if (Objects.isNull(twoFlickerData)) {
rMpMonitorEvaluateDPO.setPltCount (0); rMpMonitorEvaluateDPO.setPltCount(0);
rMpMonitorEvaluateDPO.setPstCount (0); rMpMonitorEvaluateDPO.setPstCount(0);
}else { } else {
rMpMonitorEvaluateDPO.setPltCount (twoFlickerData.getPltCount ()); rMpMonitorEvaluateDPO.setPltCount(twoFlickerData.getPltCount());
rMpMonitorEvaluateDPO.setPstCount (twoFlickerData.getPstCount ()); rMpMonitorEvaluateDPO.setPstCount(twoFlickerData.getPstCount());
} }
rMpMonitorEvaluateDPO.setAllMinuteCount (fiveItems.size ()); rMpMonitorEvaluateDPO.setAllMinuteCount(fiveItems.size());
rMpMonitorEvaluateDPO.setDeviceId(devid); rMpMonitorEvaluateDPO.setDeviceId(data.getDevId());
rMpMonitorEvaluateDPO.setDataDate (date); rMpMonitorEvaluateDPO.setDataDate(date);
rMpMonitorEvaluateDPO.setMeasurementPointId (temp); rMpMonitorEvaluateDPO.setMeasurementPointId(temp);
rMpMonitorEvaluateDPOS.add (rMpMonitorEvaluateDPO);
rMpMonitorEvaluateDPOS.add(rMpMonitorEvaluateDPO);
}
}); });
this.saveOrUpdateBatchByMultiId (rMpMonitorEvaluateDPOS,500); if (CollUtil.isNotEmpty(rMpMonitorEvaluateDPOS)) {
this.saveOrUpdateBatchByMultiId(rMpMonitorEvaluateDPOS, 500);
}
} }
@@ -112,7 +104,7 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
* @Author: clam * @Author: clam
* @Date: 2023/2/23 * @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 freqCount = 0;
Integer unbalanceCount = 0; Integer unbalanceCount = 0;
@@ -121,75 +113,75 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
Integer vThdCount = 0; Integer vThdCount = 0;
Integer effectiveMinuteCount = 0; Integer effectiveMinuteCount = 0;
PmsAbnormalRules freqLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_FREQ)).collect (Collectors.toList ( )).get (0); PmsAbnormalRules freqLimit = pmsAbnormalRules.stream().filter(temp -> Objects.equals(temp.getTarget(), Param.TARGET_FREQ)).collect(Collectors.toList()).get(0);
PmsAbnormalRules rmsLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_RMS)).collect (Collectors.toList ( )).get (0); PmsAbnormalRules rmsLimit = pmsAbnormalRules.stream().filter(temp -> Objects.equals(temp.getTarget(), Param.TARGET_RMS)).collect(Collectors.toList()).get(0);
PmsAbnormalRules rms_lvrLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_RMS_LVR)).collect (Collectors.toList ( )).get (0); PmsAbnormalRules rms_lvrLimit = pmsAbnormalRules.stream().filter(temp -> Objects.equals(temp.getTarget(), Param.TARGET_RMS_LVR)).collect(Collectors.toList()).get(0);
PmsAbnormalRules v_thdLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_V_THD)).collect (Collectors.toList ( )).get (0); PmsAbnormalRules v_thdLimit = pmsAbnormalRules.stream().filter(temp -> Objects.equals(temp.getTarget(), Param.TARGET_V_THD)).collect(Collectors.toList()).get(0);
PmsAbnormalRules v_unbalanceLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_V_UNBALANCE)).collect (Collectors.toList ( )).get (0); PmsAbnormalRules v_unbalanceLimit = pmsAbnormalRules.stream().filter(temp -> Objects.equals(temp.getTarget(), Param.TARGET_V_UNBALANCE)).collect(Collectors.toList()).get(0);
if(!CollectionUtils.isEmpty (fiveItems)){ if (!CollectionUtils.isEmpty(fiveItems)) {
for (DataVFiveItemDTO fiveItem : fiveItems) { for (DataVFiveItemDTO fiveItem : fiveItems) {
Double freqMax = fiveItem.getFreqMax (); Double freqMax = fiveItem.getFreqMax();
Double freqMin = fiveItem.getFreqMin (); Double freqMin = fiveItem.getFreqMin();
Double rmsMax = fiveItem.getRmsMax (); Double rmsMax = fiveItem.getRmsMax();
Double rmsMin = fiveItem.getRmsMin (); Double rmsMin = fiveItem.getRmsMin();
Double vThdMax = fiveItem.getVThdMax (); Double vThdMax = fiveItem.getVThdMax();
Double vThdMin = fiveItem.getVThdMin (); Double vThdMin = fiveItem.getVThdMin();
Double vUnbalanceMax = fiveItem.getVUnbalanceMax (); Double vUnbalanceMax = fiveItem.getVUnbalanceMax();
Double vUnbalanceMin = fiveItem.getVUnbalanceMin (); Double vUnbalanceMin = fiveItem.getVUnbalanceMin();
Double rmsLvrMax = fiveItem.getRmsLvrMax (); Double rmsLvrMax = fiveItem.getRmsLvrMax();
Double rmsLvrMin = fiveItem.getRmsLvrMin (); Double rmsLvrMin = fiveItem.getRmsLvrMin();
Boolean rmsflag=false; Boolean rmsflag = false;
Boolean rmsLvrflag=false; Boolean rmsLvrflag = false;
Boolean vUnbalanceflag=false; Boolean vUnbalanceflag = false;
if(freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( )){ if (freqLimit.getLowerLimit() <= freqMin && freqMax <= freqLimit.getUpperLimit()) {
freqCount++; freqCount++;
} }
/*,监测点的接线方式,如果是星形接线这个指标要判断,角形界面则不判断,默认它是正常的*/ /*,监测点的接线方式,如果是星形接线这个指标要判断,角形界面则不判断,默认它是正常的*/
if(Objects.equals("0",data.getPtType())){ if (Objects.equals("0", data.getPtType())) {
if(rmsLimit.getLowerLimit ( ) * (voltage / 1.732) <= rmsMin&&rmsMax <= rmsLimit.getUpperLimit ( ) * (voltage / 1.732) ){ if (rmsLimit.getLowerLimit() * (voltage / 1.732) <= rmsMin && rmsMax <= rmsLimit.getUpperLimit() * (voltage / 1.732)) {
phaseVoltageCount++; phaseVoltageCount++;
rmsflag =true; rmsflag = true;
} }
}else { } else {
rmsflag =true; rmsflag = true;
phaseVoltageCount++; phaseVoltageCount++;
} }
if(Objects.equals("1",data.getPtPhaseType())){ if (Objects.equals("1", data.getPtPhaseType())) {
if(rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage){ if (rms_lvrLimit.getLowerLimit() * voltage <= rmsLvrMin && rmsLvrMax <= rms_lvrLimit.getUpperLimit() * voltage) {
lineVoltageCount++; lineVoltageCount++;
rmsLvrflag=true; rmsLvrflag = true;
} }
}else { } else {
rmsLvrflag=true; rmsLvrflag = true;
lineVoltageCount++; lineVoltageCount++;
} }
if(Objects.equals("1",data.getPtPhaseType())&&Objects.equals("0",data.getPtType())){ if (Objects.equals("1", data.getPtPhaseType()) && Objects.equals("0", data.getPtType())) {
if(v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( ) if (v_unbalanceLimit.getLowerLimit() <= vUnbalanceMin && vUnbalanceMax <= v_unbalanceLimit.getUpperLimit()
){ ) {
unbalanceCount++; unbalanceCount++;
vUnbalanceflag=true; vUnbalanceflag = true;
} }
}else { } else {
unbalanceCount++; unbalanceCount++;
vUnbalanceflag=true; vUnbalanceflag = true;
} }
if(v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( )){ if (v_thdLimit.getLowerLimit() <= vThdMin && vThdMax <= v_thdLimit.getUpperLimit()) {
vThdCount++; vThdCount++;
} }
if (freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( ) && if (freqLimit.getLowerLimit() <= freqMin && freqMax <= freqLimit.getUpperLimit() &&
rmsflag && rmsflag &&
rmsLvrflag && rmsLvrflag &&
v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( ) && v_thdLimit.getLowerLimit() <= vThdMin && vThdMax <= v_thdLimit.getUpperLimit() &&
vUnbalanceflag vUnbalanceflag
) { ) {
@@ -198,12 +190,12 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
} }
} }
rMpMonitorEvaluateDPO.setEffectiveMinuteCount (effectiveMinuteCount); rMpMonitorEvaluateDPO.setEffectiveMinuteCount(effectiveMinuteCount);
rMpMonitorEvaluateDPO.setFreqCount (freqCount); rMpMonitorEvaluateDPO.setFreqCount(freqCount);
rMpMonitorEvaluateDPO.setPhaseVoltageCount (phaseVoltageCount); rMpMonitorEvaluateDPO.setPhaseVoltageCount(phaseVoltageCount);
rMpMonitorEvaluateDPO.setLineVoltageCount (lineVoltageCount); rMpMonitorEvaluateDPO.setLineVoltageCount(lineVoltageCount);
rMpMonitorEvaluateDPO.setVThdCount (vThdCount); rMpMonitorEvaluateDPO.setVThdCount(vThdCount);
rMpMonitorEvaluateDPO.setUnbalanceCount (unbalanceCount); rMpMonitorEvaluateDPO.setUnbalanceCount(unbalanceCount);
return rMpMonitorEvaluateDPO; return rMpMonitorEvaluateDPO;
} }
} }

View File

@@ -2,9 +2,8 @@ package com.njcn.prepare.harmonic.service.mysql.Impl.line;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.common.utils.PubUtils; import com.njcn.device.biz.commApi.CommLineClient;
import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.biz.pojo.dto.LineDTO;
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper; import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
import com.njcn.prepare.harmonic.pojo.mysql.RMpMonitorEvaluateDPO; import com.njcn.prepare.harmonic.pojo.mysql.RMpMonitorEvaluateDPO;
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO; import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
@@ -38,7 +37,7 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
private final RMpMonitorEvaluateDService rMpMonitorEvaluateDService; private final RMpMonitorEvaluateDService rMpMonitorEvaluateDService;
private final RStatAbnormalDService rStatAbnormalDService; private final RStatAbnormalDService rStatAbnormalDService;
private final LineFeignClient lineFeignClient; private final CommLineClient commLineClient;
/** /**
* @Description: 采用以下公式计算数据完整率: * @Description: 采用以下公式计算数据完整率:
@@ -66,11 +65,11 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
indexLists.forEach (temp -> { indexLists.forEach (temp -> {
ROperatingMonitorDPO rOperatingMonitorDPO = new ROperatingMonitorDPO(); ROperatingMonitorDPO rOperatingMonitorDPO = new ROperatingMonitorDPO();
LineDetailDataVO data = lineFeignClient.getLineDetailData (temp).getData ( ); LineDTO data = commLineClient.getLineDetail(temp).getData();
/*todo 统计间隔,电压等级取值方式,devid后期提供融合版本接口获取不然pmspqs系统取值方式不一样*/ /*todo 统计间隔,电压等级取值方式,devid后期提供融合版本接口获取不然pmspqs系统取值方式不一样*/
/*统计间隔*/ /*统计间隔*/
Integer statisticalInterval = data.getTimeInterval (); Integer statisticalInterval = data.getTimeInterval ();
String devid = lineFeignClient.getLineIdByDevId(temp).getData();
RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO(); RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO();
rMpMonitorEvaluateDPO.setMeasurementPointId (temp); rMpMonitorEvaluateDPO.setMeasurementPointId (temp);
@@ -108,8 +107,8 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
rMpMonitorEvaluateDPO.getVThdCount ())*statisticalInterval/(5*1440) rMpMonitorEvaluateDPO.getVThdCount ())*statisticalInterval/(5*1440)
) )
); );
rOperatingMonitorDPO.setDevId (devid); rOperatingMonitorDPO.setDevId (data.getDevId());
rOperatingMonitorDPO.setMonitorState (PubUtils.getRunFlag(data.getRunFlag())+""); rOperatingMonitorDPO.setMonitorState("0");
rOperatingMonitorDPOList.add (rOperatingMonitorDPO); rOperatingMonitorDPOList.add (rOperatingMonitorDPO);
}); });
this.saveOrUpdateBatchByMultiId (rOperatingMonitorDPOList,500); this.saveOrUpdateBatchByMultiId (rOperatingMonitorDPOList,500);

View File

@@ -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.mapper.mysql.line.ROperatingMonitorMMapper;
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO; import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorMPO; 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.ROperatingMonitorMService;
import com.njcn.prepare.harmonic.service.mysql.line.ROperatingMonitorService; import com.njcn.prepare.harmonic.service.mysql.line.ROperatingMonitorService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@@ -37,46 +38,33 @@ public class ROperatingMonitorMServiceImpl extends MppServiceImpl<ROperatingMoni
@Override @Override
@Transactional(rollbackFor = {Exception.class}) @Transactional(rollbackFor = {Exception.class})
@Async("asyncExecutor") @Async("asyncExecutor")
public void handlerMonitorOperatingM(List<String> indexLists, String dataDate) { public void handlerMonitorOperatingM(List<String> indexLists,LineParam jobParam) {
Date date = DateUtil.parse (dataDate); List<ROperatingMonitorMPO> rOperatingMonitorMPOList = new ArrayList<>();
List<ROperatingMonitorMPO> rOperatingMonitorMPOList = new ArrayList<> ( ); QueryWrapper<ROperatingMonitorDPO> queryWrapper = new QueryWrapper<>();
QueryWrapper<ROperatingMonitorDPO> queryWrapper = new QueryWrapper<> ( ); indexLists.forEach(temp -> {
queryWrapper.clear();
queryWrapper.eq("measurement_point_id", temp)
.ge("data_date", jobParam.getBeginTime())
.le("data_date", jobParam.getEndTime());
List<ROperatingMonitorDPO> list = rOperatingMonitorService.list(queryWrapper);
indexLists.forEach (temp -> { if (CollectionUtils.isEmpty(list)) {
queryWrapper.clear ( );
queryWrapper.eq ("measurement_point_id", temp).
eq ("DATE_FORMAT( data_date ,'%Y-%m')", dataDate.substring (0, 7));
List<ROperatingMonitorDPO> list = rOperatingMonitorService.list (queryWrapper);
if(CollectionUtils.isEmpty(list)) {
return; return;
} }
ROperatingMonitorMPO rOperatingMonitorMPO = new ROperatingMonitorMPO ( ); ROperatingMonitorMPO rOperatingMonitorMPO = new ROperatingMonitorMPO();
BigDecimal dataIntegrityRate = BigDecimal.valueOf ( BigDecimal dataIntegrityRate = BigDecimal.valueOf(list.stream().mapToDouble(po -> po.getDataIntegrityRate().doubleValue()).average().getAsDouble());
list.stream ( ). BigDecimal dataRightRate = BigDecimal.valueOf(list.stream().mapToDouble(po -> po.getDataRightRate().doubleValue()).average().getAsDouble());
mapToDouble (po -> po.getDataIntegrityRate ( ).doubleValue ( )) BigDecimal indexIntegrityRate = BigDecimal.valueOf(list.stream().mapToDouble(po -> po.getIndexIntegrityRate().doubleValue()).average().getAsDouble());
.average ( ).getAsDouble ( ) rOperatingMonitorMPO.setMeasurementPointId(temp);
); rOperatingMonitorMPO.setDataDate(DateUtil.parse(jobParam.getDataDate()));
BigDecimal dataRightRate = BigDecimal.valueOf ( rOperatingMonitorMPO.setDataIntegrityRate(dataIntegrityRate);
list.stream ( ). rOperatingMonitorMPO.setDataRightRate(dataRightRate);
mapToDouble (po -> po.getDataRightRate ( ).doubleValue ( )) rOperatingMonitorMPO.setIndexIntegrityRate(indexIntegrityRate);
.average ( ).getAsDouble ( ) rOperatingMonitorMPO.setDevId(list.get(0).getDevId());
); List<Integer> collect = list.stream().map(ROperatingMonitorDPO::getIsUnusual).collect(Collectors.toList());
BigDecimal indexIntegrityRate = BigDecimal.valueOf ( rOperatingMonitorMPO.setIsUnusual(collect.contains(Integer.valueOf(0)) ? 0 : 1);
list.stream ( ). rOperatingMonitorMPOList.add(rOperatingMonitorMPO);
mapToDouble (po -> po.getIndexIntegrityRate ( ).doubleValue ( ))
.average ( ).getAsDouble ( )
);
rOperatingMonitorMPO.setMeasurementPointId (temp);
rOperatingMonitorMPO.setDataDate (date);
rOperatingMonitorMPO.setDataIntegrityRate (dataIntegrityRate);
rOperatingMonitorMPO.setDataRightRate (dataRightRate);
rOperatingMonitorMPO.setIndexIntegrityRate (indexIntegrityRate);
rOperatingMonitorMPO.setDevId (list.get (0).getDevId ( ));
List<Integer> collect = list.stream ( ).map (ROperatingMonitorDPO::getIsUnusual).collect (Collectors.toList ( ));
rOperatingMonitorMPO.setIsUnusual (collect.contains (Integer.valueOf (0)) ? 0 : 1);
rOperatingMonitorMPOList.add (rOperatingMonitorMPO);
}); });
this.saveOrUpdateBatchByMultiId ( rOperatingMonitorMPOList,500); this.saveOrUpdateBatchByMultiId(rOperatingMonitorMPOList, 500);
} }
} }

View File

@@ -6,7 +6,6 @@ import com.njcn.prepare.harmonic.pojo.mysql.RMpMonitorEvaluateDPO;
import java.util.List; import java.util.List;
/** /**
*
* Description: * Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html * 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/19 15:42【需求编号】 * Date: 2023/4/19 15:42【需求编号】
@@ -23,5 +22,5 @@ public interface RMpMonitorEvaluateDService extends IMppService<RMpMonitorEvalua
* @Author: clam * @Author: clam
* @Date: 2023/4/19 * @Date: 2023/4/19
*/ */
void dayDataJobHandler(List<String> indexLists, String dataDate); void dayDataJobHandler(List<String> indexLists, String beginTime, String endTime);
} }

View File

@@ -2,11 +2,11 @@ package com.njcn.prepare.harmonic.service.mysql.line;
import com.github.jeffreyning.mybatisplus.service.IMppService; import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorMPO; import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorMPO;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import java.util.List; import java.util.List;
/** /**
*
* Description: * Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html * 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/21 15:41【需求编号】 * Date: 2023/4/21 15:41【需求编号】
@@ -23,5 +23,5 @@ public interface ROperatingMonitorMService extends IMppService<ROperatingMonitor
* @Author: clam * @Author: clam
* @Date: 2023/4/21 * @Date: 2023/4/21
*/ */
void handlerMonitorOperatingM(List<String> indexLists, String dataDate); void handlerMonitorOperatingM(List<String> indexLists, LineParam jobParam);
} }

View File

@@ -6,7 +6,6 @@ import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
import java.util.List; import java.util.List;
/** /**
*
* Description: * Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html * 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/21 10:17【需求编号】 * Date: 2023/4/21 10:17【需求编号】
@@ -24,4 +23,4 @@ public interface ROperatingMonitorService extends IMppService<ROperatingMonitorD
* @Date: 2023/4/21 * @Date: 2023/4/21
*/ */
void handlerMonitorOperatingD(List<String> indexLists, String dataDate); void handlerMonitorOperatingD(List<String> indexLists, String dataDate);
} }

View File

@@ -6,7 +6,6 @@ import com.njcn.prepare.harmonic.pojo.mysql.RStatAbnormalDPO;
import java.util.List; import java.util.List;
/** /**
*
* Description: * Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html * 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/21 9:07【需求编号】 * Date: 2023/4/21 9:07【需求编号】
@@ -18,4 +17,4 @@ public interface RStatAbnormalDService extends IMppService<RStatAbnormalDPO> {
void handlerMonitorAbnormal(List<String> indexLists, String dataDate); void handlerMonitorAbnormal(List<String> indexLists, String dataDate);
} }