预处理兼容pq/pms处理
This commit is contained in:
@@ -9,6 +9,7 @@ import com.njcn.device.biz.commApi.fallback.CommTerminalGeneralClientFallbackFac
|
||||
import com.njcn.device.biz.pojo.dto.*;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
@@ -119,6 +120,14 @@ public interface CommTerminalGeneralClient {
|
||||
|
||||
@PostMapping("/getMonitorDetailList")
|
||||
HttpResult<List<LineDevGetDTO>> getMonitorDetailList(@RequestBody List<String> list);
|
||||
|
||||
|
||||
@GetMapping("/lineUnitDetail")
|
||||
HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineId") String lineId);
|
||||
|
||||
|
||||
@GetMapping("/getMonitorDetail")
|
||||
HttpResult<LineDevGetDTO> getMonitorDetail(@RequestParam("lineId") String lineId);
|
||||
/**
|
||||
* 用于返回pq 还是pms系统
|
||||
* @author cdf
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
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.utils.DeviceEnumUtil;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 公共
|
||||
* @author cdf
|
||||
* @date 2023/5/17
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class CommLineClientFallbackFactory implements FallbackFactory<CommLineClient> {
|
||||
@Override
|
||||
public CommLineClient create(Throwable throwable) {
|
||||
//判断抛出异常是否为解码器抛出的业务异常
|
||||
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
|
||||
if (throwable.getCause() instanceof BusinessException) {
|
||||
BusinessException businessException = (BusinessException) throwable.getCause();
|
||||
exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult());
|
||||
}
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
|
||||
return new CommLineClient() {
|
||||
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.*;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.biz.utils.DeviceEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -98,6 +99,18 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<PqsDeviceUnit> lineUnitDetail(String lineId) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取监测点详细信息集合", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<LineDevGetDTO> getMonitorDetail(String lineId) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取监测点详细信息集合", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<String> isPqOrPms() {
|
||||
log.error("{}异常,降级处理,异常为:{}", "返回pq还是pms系统", throwable.toString());
|
||||
|
||||
@@ -23,6 +23,8 @@ public class LineDevGetDTO {
|
||||
*/
|
||||
private String pointId;
|
||||
|
||||
private String pointName;
|
||||
|
||||
/**
|
||||
* 装置监测点索引集合
|
||||
*/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.njcn.device.pq.pojo.po;
|
||||
package com.njcn.device.biz.pojo.po;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
@@ -4,11 +4,14 @@ import cn.hutool.core.date.TimeInterval;
|
||||
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.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.biz.pojo.dto.*;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
|
||||
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -21,7 +24,9 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author wr
|
||||
@@ -244,6 +249,68 @@ public class CommTerminalController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据监测点集合获取监测点详情
|
||||
* @author cdf
|
||||
* @date 2023/9/21
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getMonitorDetailList")
|
||||
@ApiOperation("根据监测点集合获取监测点详情")
|
||||
@ApiImplicitParam(name = "list", value = "监测点集合")
|
||||
public HttpResult<List<LineDevGetDTO>> getMonitorDetailList(@RequestBody List<String> list) {
|
||||
String methodDescribe = getMethodDescribe("getMonitorDetailList");
|
||||
List<LineDevGetDTO> result = new ArrayList<>();
|
||||
List<Monitor> monitorList = monitorService.getMonitorList(list);
|
||||
monitorList.forEach(item->{
|
||||
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
||||
lineDevGetDTO.setPointId(item.getId());
|
||||
lineDevGetDTO.setDevId(item.getTerminalId());
|
||||
lineDevGetDTO.setInterval(item.getStatisticalInterval());
|
||||
result.add(lineDevGetDTO);
|
||||
});
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,result, methodDescribe);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过监测点获取监测点数据单位
|
||||
* @author cdf
|
||||
* @date 2023/9/21
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@GetMapping("/lineUnitDetail")
|
||||
@ApiOperation("根据监测点id获取数据单位")
|
||||
@ApiImplicitParam(name = "lineID", value = "实体", required = true)
|
||||
public HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineId") String lineId) {
|
||||
String methodDescribe = getMethodDescribe("lineUnitDetail");
|
||||
PqsDeviceUnit pqsDeviceUnit = new PqsDeviceUnit();
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, pqsDeviceUnit, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过监测点获取监测点数据单位
|
||||
* @author cdf
|
||||
* @date 2023/9/21
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@GetMapping("/getMonitorDetail")
|
||||
@ApiOperation("根据监测点id获取数据单位")
|
||||
@ApiImplicitParam(name = "lineID", value = "实体", required = true)
|
||||
public HttpResult<LineDevGetDTO> getMonitorDetail(@RequestParam("lineId") String lineId) {
|
||||
String methodDescribe = getMethodDescribe("getMonitorDetail");
|
||||
Monitor monitor = monitorService.getById(lineId);
|
||||
if(Objects.isNull(monitor)){
|
||||
throw new BusinessException("未查询到监测点信息");
|
||||
}
|
||||
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
||||
lineDevGetDTO.setPointName(monitor.getName());
|
||||
lineDevGetDTO.setInterval(monitor.getStatisticalInterval());
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, lineDevGetDTO, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 用于返回pq 还是pms系统
|
||||
* @author cdf
|
||||
|
||||
@@ -3,15 +3,11 @@ package com.njcn.device.pq.api;
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.device.pq.api.fallback.LineIntegrityClientFallbackFactory;
|
||||
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 监测点数据完整性
|
||||
* @author cdf
|
||||
@@ -26,7 +22,7 @@ public interface DeviceUnitClient {
|
||||
/**
|
||||
* @Description: 根据监测点id获取数据单位
|
||||
* @param lineID
|
||||
* @return: com.njcn.common.pojo.response.HttpResult<com.njcn.device.pq.pojo.po.PqsDeviceUnit>
|
||||
* @return: com.njcn.common.pojo.response.HttpResult<com.njcn.device.biz.pojo.po.PqsDeviceUnit>
|
||||
* @Author: wr
|
||||
* @Date: 2023/8/22 16:21
|
||||
*/
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.device.biz.utils.DeviceEnumUtil;
|
||||
import com.njcn.device.pq.api.DeviceUnitClient;
|
||||
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.njcn.device.pq.pojo.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@@ -5,16 +5,20 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||
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.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.common.utils.LogUtil;
|
||||
import com.njcn.device.biz.pojo.dto.*;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pq.mapper.LineDetailMapper;
|
||||
import com.njcn.device.pq.mapper.LineMapper;
|
||||
import com.njcn.device.pq.pojo.po.Line;
|
||||
import com.njcn.device.pq.pojo.po.LineDetail;
|
||||
import com.njcn.device.pq.service.CommTerminalService;
|
||||
import com.njcn.device.pq.service.IPqsDeviceUnitService;
|
||||
import com.njcn.device.pq.service.LineService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -27,6 +31,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
@@ -47,6 +52,10 @@ public class CommTerminalController extends BaseController {
|
||||
|
||||
private final LineMapper lineMapper;
|
||||
|
||||
private final LineDetailMapper lineDetailMapper;
|
||||
|
||||
private final IPqsDeviceUnitService iPqsDeviceUnitService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@@ -260,4 +269,33 @@ public class CommTerminalController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@GetMapping("/lineUnitDetail")
|
||||
@ApiOperation("根据监测点id获取数据单位")
|
||||
@ApiImplicitParam(name = "lineID", value = "实体", required = true)
|
||||
public HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineID") String lineId) {
|
||||
String methodDescribe = getMethodDescribe("lineUnitDetail");
|
||||
PqsDeviceUnit pqsDeviceUnit = iPqsDeviceUnitService.lineUnitDetail(lineId);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, pqsDeviceUnit, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过监测点获取监测点数据单位
|
||||
* @author cdf
|
||||
* @date 2023/9/21
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@GetMapping("/getMonitorDetail")
|
||||
@ApiOperation("根据监测点id获取数据单位")
|
||||
@ApiImplicitParam(name = "lineID", value = "实体", required = true)
|
||||
public HttpResult<LineDevGetDTO> getMonitorDetail(@RequestParam("lineId") String lineId) {
|
||||
String methodDescribe = getMethodDescribe("getMonitorDetail");
|
||||
LineDevGetDTO monitor = lineDetailMapper.getMonitorDetail(lineId);
|
||||
if(Objects.isNull(monitor)){
|
||||
throw new BusinessException("未查询到监测点信息");
|
||||
}
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ 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.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pq.pojo.vo.PqsDeviceUnitVo;
|
||||
import com.njcn.device.pq.service.IPqsDeviceUnitService;
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.device.pq.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.pq.pojo.po.LineDetail;
|
||||
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -47,4 +48,7 @@ public interface LineDetailMapper extends BaseMapper<LineDetail> {
|
||||
|
||||
@Select ("select count(1) from pq_line a where a.`Level`=6 and SUBSTRING_INDEX(SUBSTRING_INDEX(a.Pids, ',', 4),',',-1)=#{subIndex}")
|
||||
Integer getLineCountBySubstation(@Param("subIndex")String subIndex);
|
||||
|
||||
|
||||
LineDevGetDTO getMonitorDetail(@Param("monitorId")String monitorId);
|
||||
}
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
package com.njcn.device.pq.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pq.pojo.vo.PqsDeviceUnitVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -30,7 +29,7 @@ public interface PqsDeviceUnitMapper extends BaseMapper<PqsDeviceUnit> {
|
||||
/**
|
||||
* @Description: 根据监测点信息查询
|
||||
* @param ids
|
||||
* @return: java.util.List<com.njcn.device.pq.pojo.po.PqsDeviceUnit>
|
||||
* @return: java.util.List<com.njcn.device.biz.pojo.po.PqsDeviceUnit>
|
||||
* @Author: wr
|
||||
* @Date: 2023/8/21 14:17
|
||||
*/
|
||||
|
||||
@@ -52,4 +52,12 @@
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getMonitorDetail" resultType="LineDevGetDTO">
|
||||
select a.id pointId,a.name pointName,b.Time_Interval interval
|
||||
from pq_line a
|
||||
inner join pq_line_detail b on a.id=b.id
|
||||
where a.id = #{monitorId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="deviceUnitByID" resultType="com.njcn.device.pq.pojo.po.PqsDeviceUnit">
|
||||
<select id="deviceUnitByID" resultType="com.njcn.device.biz.pojo.po.PqsDeviceUnit">
|
||||
SELECT
|
||||
unit.*
|
||||
FROM
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.njcn.device.pq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pq.pojo.vo.PqsDeviceUnitVo;
|
||||
|
||||
import java.util.List;
|
||||
@@ -37,7 +37,7 @@ public interface IPqsDeviceUnitService extends IService<PqsDeviceUnit> {
|
||||
/**
|
||||
* @param lineID
|
||||
* @Description: 根据监测点id查询数据单位
|
||||
* @return: com.njcn.device.pq.pojo.po.PqsDeviceUnit
|
||||
* @return: com.njcn.device.biz.pojo.po.PqsDeviceUnit
|
||||
* @Author: wr
|
||||
* @Date: 2023/8/21 14:02
|
||||
*/
|
||||
@@ -46,7 +46,7 @@ public interface IPqsDeviceUnitService extends IService<PqsDeviceUnit> {
|
||||
/**
|
||||
* @param devID
|
||||
* @Description: 根据终端id查询数据单位
|
||||
* @return: com.njcn.device.pq.pojo.po.PqsDeviceUnit
|
||||
* @return: com.njcn.device.biz.pojo.po.PqsDeviceUnit
|
||||
* @Author: wr
|
||||
* @Date: 2023/8/21 14:02
|
||||
*/
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.njcn.device.pq.enums.LineBaseEnum;
|
||||
import com.njcn.device.pq.mapper.LineMapper;
|
||||
import com.njcn.device.pq.mapper.PqsDeviceUnitMapper;
|
||||
import com.njcn.device.pq.pojo.po.Line;
|
||||
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pq.pojo.vo.PqsDeviceUnitVo;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalTree;
|
||||
import com.njcn.device.pq.service.IPqsDeviceUnitService;
|
||||
|
||||
@@ -4,7 +4,6 @@ package com.njcn.harmonic.controller;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
@@ -15,11 +14,10 @@ import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.device.pq.api.DeviceUnitClient;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
|
||||
import com.njcn.event.enums.EventResponseEnum;
|
||||
import com.njcn.harmonic.pojo.param.ReportQueryParam;
|
||||
import com.njcn.harmonic.pojo.po.ExcelRptTemp;
|
||||
import com.njcn.harmonic.pojo.po.report.EnumPass;
|
||||
import com.njcn.harmonic.pojo.po.report.OverLimitInfo;
|
||||
import com.njcn.harmonic.pojo.po.report.Pass;
|
||||
|
||||
@@ -13,7 +13,7 @@ import com.njcn.common.utils.FileUtil;
|
||||
import com.njcn.device.pq.api.DeptLineFeignClient;
|
||||
import com.njcn.device.pq.api.DeviceUnitClient;
|
||||
import com.njcn.device.pq.pojo.po.DeptLine;
|
||||
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.harmonic.enums.HarmonicResponseEnum;
|
||||
import com.njcn.harmonic.mapper.DeptTempMapper;
|
||||
import com.njcn.harmonic.mapper.EleEpdMapper;
|
||||
|
||||
@@ -9,11 +9,10 @@ import com.njcn.common.pojo.constant.BizParamConstant;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.device.pq.api.DeviceUnitClient;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.event.api.EventDetailFeignClient;
|
||||
import com.njcn.event.pojo.po.EventDetail;
|
||||
import com.njcn.harmonic.enums.HarmonicResponseEnum;
|
||||
@@ -65,8 +64,6 @@ import java.util.stream.Stream;
|
||||
@AllArgsConstructor
|
||||
public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
|
||||
private final LineFeignClient lineFeignClient;
|
||||
|
||||
private final EventDetailFeignClient eventDetailFeignClient;
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
@@ -85,7 +82,8 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
|
||||
private final DataHarmRateVMapper dataHarmRateVMapper;
|
||||
|
||||
private final DeviceUnitClient deviceUnitClient;
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@@ -119,12 +117,14 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
number = historyParam.getInHarmonic();
|
||||
}
|
||||
historyDataResultVO = getCondition(historyParam.getSearchBeginTime(), historyParam.getSearchEndTime(), points[i], contions[j], number, historyParam.getValueType(), historyParam.getPtType());
|
||||
historyDataResultVOList.add(historyDataResultVO);
|
||||
if (points.length == 1 && j == 0) {
|
||||
/* if (points.length == 1 && j == 0) {
|
||||
historyDataResultVO.setEventDetail(eventDetailVOList);
|
||||
} else if (points.length > 1) {
|
||||
historyDataResultVO.setEventDetail(eventDetailVOList);
|
||||
}
|
||||
}*/
|
||||
historyDataResultVO.setEventDetail(eventDetailVOList);
|
||||
historyDataResultVOList.add(historyDataResultVO);
|
||||
|
||||
}
|
||||
}
|
||||
return historyDataResultVOList;
|
||||
@@ -239,22 +239,22 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
return historyDataResultVO;
|
||||
}
|
||||
|
||||
private QueryResultLimitVO getQueryResult(String startTime, String endTime, String lineList, String contion, Integer number, Integer valueType, Integer ptType) {
|
||||
PqsDeviceUnit pqsDeviceUnit = deviceUnitClient.lineUnitDetail(lineList).getData();
|
||||
private QueryResultLimitVO getQueryResult(String startTime, String endTime, String lineId, String contion, Integer number, Integer valueType, Integer ptType) {
|
||||
PqsDeviceUnit pqsDeviceUnit = commTerminalGeneralClient.lineUnitDetail(lineId).getData();
|
||||
|
||||
QueryResultLimitVO queryResultLimitVO = new QueryResultLimitVO();
|
||||
if (!lineList.isEmpty()) {
|
||||
if (!lineId.isEmpty()) {
|
||||
Float topLimit = 0f;
|
||||
Float lowerLimit = 0f;
|
||||
//获取限值
|
||||
Overlimit overlimit = lineFeignClient.getOverLimitData(lineList).getData();
|
||||
Overlimit overlimit = commTerminalGeneralClient.getOverLimitData(lineId).getData();
|
||||
//获取监测点信息
|
||||
LineDetailDataVO lineDetailDataVO = lineFeignClient.getLineDetailData(lineList).getData();
|
||||
LineDevGetDTO lineDetailDataVO = commTerminalGeneralClient.getMonitorDetail(lineId).getData();
|
||||
//组装sql语句
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append(InfluxDBTableConstant.TIME + " >= '").append(startTime).append(InfluxDBTableConstant.START_TIME).append("' and ").append(InfluxDBTableConstant.TIME).append(" <= '").append(endTime).append(InfluxDBTableConstant.END_TIME).append("' and (");
|
||||
//sql语句
|
||||
stringBuilder.append(InfluxDBTableConstant.LINE_ID + "='").append(lineList).append("')");
|
||||
stringBuilder.append(InfluxDBTableConstant.LINE_ID + "='").append(lineId).append("')");
|
||||
String valueTypeName = "";
|
||||
switch (valueType) {
|
||||
case 1:
|
||||
@@ -754,7 +754,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
queryResultLimitVO.setLowerLimit(lowerLimit);
|
||||
queryResultLimitVO.setPhaiscType(phasicType);
|
||||
queryResultLimitVO.setUnit(unit);
|
||||
queryResultLimitVO.setLineName(lineDetailDataVO.getLineName());
|
||||
queryResultLimitVO.setLineName(lineDetailDataVO.getPointName());
|
||||
queryResultLimitVO.setHarmNum(number);
|
||||
queryResultLimitVO.setTargetName(targetName);
|
||||
} else {
|
||||
@@ -775,9 +775,9 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
String endTime = sdf.format(DateUtil.endOfDay(DateUtil.parse(normHistoryParam.getSearchTime())));
|
||||
Integer valueType = normHistoryParam.getValueType();
|
||||
//获取限值
|
||||
Overlimit overlimit = lineFeignClient.getOverLimitData(lineList).getData();
|
||||
Overlimit overlimit = commTerminalGeneralClient.getOverLimitData(lineList).getData();
|
||||
//获取监测点信息
|
||||
LineDetailDataVO lineDetailDataVO = lineFeignClient.getLineDetailData(lineList).getData();
|
||||
LineDevGetDTO lineDetailDataVO = commTerminalGeneralClient.getMonitorDetail(lineList).getData();
|
||||
//组装sql语句
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append(InfluxDBTableConstant.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBTableConstant.TIME).append(" <= '").append(endTime).append("' and (");
|
||||
@@ -910,7 +910,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
queryResultLimitVO.setLowerLimit(lowerLimit);
|
||||
queryResultLimitVO.setPhaiscType(Collections.singletonList(phasicType));
|
||||
queryResultLimitVO.setUnit(unit);
|
||||
queryResultLimitVO.setLineName(lineDetailDataVO.getLineName());
|
||||
queryResultLimitVO.setLineName(lineDetailDataVO.getPointName());
|
||||
queryResultLimitVO.setHarmNum(number);
|
||||
queryResultLimitVO.setTargetName(targetName);
|
||||
} else {
|
||||
@@ -995,7 +995,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
public HarmHistoryDataDTO getHistoryHarmData(HistoryHarmParam historyHarmParam) {
|
||||
List<HarmData> historyData;
|
||||
float overLimit;
|
||||
Overlimit overlimit = lineFeignClient.getOverLimitData(historyHarmParam.getLineId()).getData();
|
||||
Overlimit overlimit = commTerminalGeneralClient.getOverLimitData(historyHarmParam.getLineId()).getData();
|
||||
//判断是电流还是电压谐波
|
||||
if (historyHarmParam.getType() == 0) {
|
||||
historyData = getIHistoryData(historyHarmParam);
|
||||
@@ -1013,7 +1013,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
* @date 2023/7/19 10:03
|
||||
*/
|
||||
private List<HarmData> getIHistoryData(HistoryHarmParam historyHarmParam) {
|
||||
LineDetailDataVO lineDetailData = lineFeignClient.getLineDetailData(historyHarmParam.getLineId()).getData();
|
||||
LineDevGetDTO lineDetailData = commTerminalGeneralClient.getMonitorDetail(historyHarmParam.getLineId()).getData();
|
||||
List<HarmData> historyData;
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataI.class, HarmData.class);
|
||||
influxQueryWrapper
|
||||
@@ -1023,7 +1023,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
.eq(DataI::getLineId, historyHarmParam.getLineId())
|
||||
.or(DataI::getPhaseType, Stream.of(InfluxDBTableConstant.PHASE_TYPE_A, InfluxDBTableConstant.PHASE_TYPE_B, InfluxDBTableConstant.PHASE_TYPE_C).collect(Collectors.toList()))
|
||||
//以时间分组时,需要加上时间间隔,比如此处需要加上监测点的采样间隔
|
||||
.groupBy("time(" + lineDetailData.getTimeInterval() + "m)")
|
||||
.groupBy("time(" + lineDetailData.getInterval() + "m)")
|
||||
.timeAsc();
|
||||
historyData = dataIMapper.getIHistoryData(influxQueryWrapper);
|
||||
if (CollectionUtils.isEmpty(historyData)) {
|
||||
@@ -1031,7 +1031,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
throw new BusinessException(HarmonicResponseEnum.NO_DATA);
|
||||
}
|
||||
//最新两条数据的间隔与监测点查出的间隔做对比,返回一个合理的间隔
|
||||
int lineInterval = getInterval(lineDetailData.getTimeInterval(), PubUtils.instantToDate(historyData.get(historyData.size() - 1).getTime()), PubUtils.instantToDate(historyData.get(historyData.size() - 2).getTime()));
|
||||
int lineInterval = getInterval(lineDetailData.getInterval(), PubUtils.instantToDate(historyData.get(historyData.size() - 1).getTime()), PubUtils.instantToDate(historyData.get(historyData.size() - 2).getTime()));
|
||||
historyData = dealHistoryData(historyData, lineInterval);
|
||||
if (CollectionUtils.isEmpty(historyData)) {
|
||||
//如果数据为空,则提示给用户暂无数据
|
||||
@@ -1054,7 +1054,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
* 因历史谐波表data_harmrate_v
|
||||
*/
|
||||
private List<HarmData> getVHistoryData(HistoryHarmParam historyHarmParam) {
|
||||
LineDetailDataVO lineDetailData = lineFeignClient.getLineDetailData(historyHarmParam.getLineId()).getData();
|
||||
LineDevGetDTO lineDetailData = commTerminalGeneralClient.getMonitorDetail(historyHarmParam.getLineId()).getData();
|
||||
List<HarmData> historyData;
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmRateV.class, HarmData.class);
|
||||
influxQueryWrapper
|
||||
@@ -1063,14 +1063,14 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
.between(DataHarmRateV::getTime, historyHarmParam.getSearchBeginTime().concat(" 00:00:00"), historyHarmParam.getSearchEndTime().concat(" 23:59:59"))
|
||||
.eq(DataHarmRateV::getLineId, historyHarmParam.getLineId())
|
||||
.or(DataHarmRateV::getPhaseType, Stream.of(InfluxDBTableConstant.PHASE_TYPE_A, InfluxDBTableConstant.PHASE_TYPE_B, InfluxDBTableConstant.PHASE_TYPE_C).collect(Collectors.toList()))
|
||||
.groupBy("time(" + lineDetailData.getTimeInterval() + "m)")
|
||||
.groupBy("time(" + lineDetailData.getInterval() + "m)")
|
||||
.timeAsc();
|
||||
historyData = dataHarmRateVMapper.getHarmRateVHistoryData(influxQueryWrapper);
|
||||
if (CollectionUtils.isEmpty(historyData)) {
|
||||
//如果数据为空,则提示给用户暂无数据
|
||||
throw new BusinessException(HarmonicResponseEnum.NO_DATA);
|
||||
}
|
||||
int lineInterval = getInterval(lineDetailData.getTimeInterval(), PubUtils.instantToDate(historyData.get(historyData.size() - 1).getTime()), PubUtils.instantToDate(historyData.get(historyData.size() - 2).getTime()));
|
||||
int lineInterval = getInterval(lineDetailData.getInterval(), PubUtils.instantToDate(historyData.get(historyData.size() - 1).getTime()), PubUtils.instantToDate(historyData.get(historyData.size() - 2).getTime()));
|
||||
//最新两条数据的间隔与监测点查出的间隔做对比,返回一个合理的间隔
|
||||
historyData = dealHistoryData(historyData, lineInterval);
|
||||
if (CollectionUtils.isEmpty(historyData)) {
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.influx.imapper;
|
||||
|
||||
import com.njcn.influx.base.InfluxDbBaseMapper;
|
||||
import com.njcn.influx.pojo.po.DataHarmPowerP;
|
||||
import com.njcn.influx.pojo.po.DataHarmPowerQ;
|
||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0.0
|
||||
* @date 2023年05月05日 09:00
|
||||
*/
|
||||
public interface DataHarmPowerQMapper extends InfluxDbBaseMapper<DataHarmPowerQ> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.influx.imapper;
|
||||
|
||||
import com.njcn.influx.base.InfluxDbBaseMapper;
|
||||
import com.njcn.influx.pojo.po.DataHarmPowerQ;
|
||||
import com.njcn.influx.pojo.po.DataHarmPowerS;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0.0
|
||||
* @date 2023年05月05日 09:00
|
||||
*/
|
||||
public interface DataHarmPowerSMapper extends InfluxDbBaseMapper<DataHarmPowerS> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.influx.imapper;
|
||||
|
||||
import com.njcn.influx.base.InfluxDbBaseMapper;
|
||||
import com.njcn.influx.pojo.po.DataHarmPowerQ;
|
||||
import com.njcn.influx.pojo.po.DataInHarmV;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0.0
|
||||
* @date 2023年05月05日 09:00
|
||||
*/
|
||||
public interface DataInHarmVRateMapper extends InfluxDbBaseMapper<DataInHarmV> {
|
||||
|
||||
}
|
||||
@@ -53,6 +53,8 @@ public class HarmDateToDayJob {
|
||||
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);
|
||||
dayDataFeignClient.dataToDayHandler(lineParam);
|
||||
}
|
||||
|
||||
|
||||
@@ -57,6 +57,7 @@ public class LineParam {
|
||||
/**
|
||||
* 是否补招标识,默认false不补招
|
||||
*/
|
||||
private Boolean repairFlag = false;
|
||||
@ApiModelProperty(name = "repairFlag",value = "0.不补招 1.补招")
|
||||
private Integer repairFlag = 0;
|
||||
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author qijian
|
||||
* r_mp_integrity_d
|
||||
* @date 2022/10/26
|
||||
* 数据完整率算法
|
||||
*/
|
||||
@@ -35,6 +36,10 @@ public class DataIntegrityRateController extends BaseController {
|
||||
|
||||
private final DataIntegrityRateService dataIntegrityRateService;
|
||||
|
||||
/**
|
||||
* r_mp_integrity_d
|
||||
* @date 2023/9/21
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/lineDataIntegrityRate")
|
||||
@ApiOperation("监测点日数据完整率")
|
||||
|
||||
@@ -86,7 +86,7 @@ public class DayDataController extends BaseController {
|
||||
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
|
||||
public HttpResult<Boolean> dataToDayHandler(@RequestBody LineParam jobParam ){
|
||||
String startTime,endTime;
|
||||
log.info(LocalDateTime.now()+"dataToDayHandler开始执行");
|
||||
log.info(LocalDateTime.now()+"dataToDayHandler开始执行,开始时间-结束时间"+jobParam.getBeginTime()+"___"+jobParam.getEndTime());
|
||||
String methodDescribe = getMethodDescribe("dataToDayHandler");
|
||||
List<String> indexLists = new ArrayList<> ();
|
||||
if(CollectionUtils.isEmpty (jobParam.getLineIds())){
|
||||
@@ -94,7 +94,7 @@ public class DayDataController extends BaseController {
|
||||
} else{
|
||||
indexLists = jobParam.getLineIds();
|
||||
}
|
||||
if (jobParam.getRepairFlag()){
|
||||
if (jobParam.getRepairFlag() == 1){
|
||||
List<String> timeRange = NjcnDateUtils.findEveryDay(jobParam.getBeginTime(),jobParam.getEndTime());
|
||||
for (String item : timeRange) {
|
||||
log.info(item+"-->开始执行");
|
||||
|
||||
@@ -58,7 +58,7 @@ public class IntegrityController extends BaseController {
|
||||
log.info(LocalDateTime.now()+"dataIntegrity开始执行");
|
||||
String methodDescribe = getMethodDescribe("dataIntegrity");
|
||||
String startTime,endTime;
|
||||
if (lineParam.getRepairFlag()){
|
||||
if (lineParam.getRepairFlag() == 1){
|
||||
List<String> timeRange = NjcnDateUtils.findEveryDay(lineParam.getBeginTime(),lineParam.getEndTime());
|
||||
for (String item : timeRange) {
|
||||
log.info(item+"-->开始执行");
|
||||
|
||||
@@ -15,7 +15,7 @@ import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.utils.FileUtil;
|
||||
import com.njcn.device.pq.api.DeptLineFeignClient;
|
||||
import com.njcn.device.pq.api.DeviceUnitClient;
|
||||
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.harmonic.enums.HarmonicResponseEnum;
|
||||
import com.njcn.harmonic.pojo.dto.ReportTemplateDTO;
|
||||
import com.njcn.harmonic.pojo.po.ExcelRpt;
|
||||
|
||||
Reference in New Issue
Block a user