1.技术监督月报,供电次数重新统计

2.终端通信管理_日表和终端数据评价_日表,pq和pms兼容修改
This commit is contained in:
wr
2023-09-28 14:33:24 +08:00
parent d327814ade
commit 76afa647bb
16 changed files with 196 additions and 80 deletions

View File

@@ -6,13 +6,13 @@ import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.NjcnDateUtils;
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
import com.njcn.device.biz.pojo.dto.DeptGetDeviceDTO;
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.prepare.harmonic.pojo.param.DeviceParam;
import com.njcn.prepare.harmonic.service.mysql.area.RMpDevEvaluateDetailPOService;
import com.njcn.prepare.harmonic.service.mysql.device.RStatDevSignalDPOService;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import com.njcn.web.controller.BaseController;
@@ -32,7 +32,6 @@ import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -59,45 +58,50 @@ public class RMpDevEvaluateDetailController extends BaseController {
@PostMapping("/handler")
@ApiOperation("终端数据评价_日统计")
@ApiImplicitParam(name = "deviceParam", value = "参数", required = true)
public HttpResult<String> handler(@RequestBody @Validated DeviceParam deviceParam){
log.info(LocalDateTime.now()+"handler始执行");
public HttpResult<String> handler(@RequestBody @Validated DeviceParam deviceParam) {
log.info(LocalDateTime.now() + "handler始执行");
String methodDescribe = getMethodDescribe("handler");
/**
* 支持补录
*/
if(CollectionUtils.isEmpty(deviceParam.getDetailList())){
/**
* 支持补录
*/
if (CollectionUtils.isEmpty(deviceParam.getDetailList())) {
List<DeviceParam.DeviceDetail> list = new ArrayList<>();
Dept data = deptFeignClient.getRootDept().getData();
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(data.getId());
deptGetLineParam.setServerName(ServerInfo.PREPARE_BOOT);
List<DeptGetDeviceDTO> data1 = commTerminalGeneralClient.deptGetDevice(deptGetLineParam).getData();
List<DeptGetDeviceDTO> data1 = commTerminalGeneralClient.deptGetDeviceAndMonitor(deptGetLineParam).getData();
List<LineDevGetDTO> info = new ArrayList<>();
/*主网*/
List<LineDevGetDTO> collect = data1.stream().map(DeptGetDeviceDTO::getDeviceList).flatMap(Collection::stream).collect(Collectors.toList());
collect.forEach(temp -> {
DeviceParam.DeviceDetail deviceDetail = new DeviceParam.DeviceDetail();
deviceDetail.setDevId(temp.getDevId());
deviceDetail.setLineIds(temp.getMonitorIds());
deviceDetail.setUpdateTime(temp.getUpdateTime()+"");
list.add(deviceDetail);
});
/*配网*/
List<LineDevGetDTO> collect2 = data1.stream().map(DeptGetDeviceDTO::getPwDeviceList).flatMap(Collection::stream).collect(Collectors.toList());
collect2.forEach(temp -> {
info.addAll(collect);
info.addAll(collect2);
List<LineDevGetDTO> collect1 = info.stream().distinct().collect(Collectors.toList());
collect1.forEach(temp -> {
DeviceParam.DeviceDetail deviceDetail = new DeviceParam.DeviceDetail();
deviceDetail.setDevId(temp.getDevId());
deviceDetail.setLineIds(temp.getMonitorIds());
deviceDetail.setUpdateTime(temp.getUpdateTime()+"");
deviceDetail.setUpdateTime(temp.getUpdateTime() + "");
deviceDetail.setDeviceStatus(temp.getComFlag() + "");
list.add(deviceDetail);
});
deviceParam.setDetailList(list);
}
rMpDevEvaluateDetailPOService.handler (deviceParam);
if (deviceParam.getRepairFlag()) {
List<String> timeRange = NjcnDateUtils.findEveryDay(deviceParam.getBeginTime(), deviceParam.getEndTime());
for (String item : timeRange) {
log.info(item + "-->开始执行");
deviceParam.setDataDate(item);
deviceParam.setBeginTime(item + " " + "00:00:00");
deviceParam.setEndTime(item + " " + "23:59:59");
rMpDevEvaluateDetailPOService.handler(deviceParam);
}
} else {
rMpDevEvaluateDetailPOService.handler(deviceParam);
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
}

View File

@@ -6,16 +6,13 @@ import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.NjcnDateUtils;
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
import com.njcn.device.biz.pojo.dto.DeptGetDeviceDTO;
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.pq.api.DeptLineFeignClient;
import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.prepare.harmonic.pojo.param.DeviceParam;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import com.njcn.prepare.harmonic.service.mysql.device.RStatDevSignalDPOService;
import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailService;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import com.njcn.web.controller.BaseController;
@@ -35,7 +32,6 @@ import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -57,46 +53,56 @@ public class RStatDevSignalController extends BaseController {
private final RStatDevSignalDPOService rStatDevSignalDPOService;
private final CommTerminalGeneralClient commTerminalGeneralClient;
private final DeptFeignClient deptFeignClient;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/rstatdevsignalHandler")
@ApiOperation("终端通信管理_日统计")
@ApiImplicitParam(name = "deviceParam", value = "参数", required = true)
public HttpResult<String> rstatdevsignalHandler(@RequestBody @Validated DeviceParam deviceParam ){
log.info(LocalDateTime.now()+"rstatdevsignalHandler始执行");
public HttpResult<String> rstatdevsignalHandler(@RequestBody @Validated DeviceParam deviceParam) {
log.info(LocalDateTime.now() + "rstatdevsignalHandler始执行");
String methodDescribe = getMethodDescribe("rstatdevsignalHandler");
/**
* 支持补录
*/
if(CollectionUtils.isEmpty(deviceParam.getDetailList())){
if (CollectionUtils.isEmpty(deviceParam.getDetailList())) {
List<DeviceParam.DeviceDetail> list = new ArrayList<>();
Dept data = deptFeignClient.getRootDept().getData();
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(data.getId());
deptGetLineParam.setServerName(ServerInfo.PREPARE_BOOT);
List<DeptGetDeviceDTO> data1 = commTerminalGeneralClient.deptGetDevice(deptGetLineParam).getData();
List<DeptGetDeviceDTO> data1 = commTerminalGeneralClient.deptGetDeviceAndMonitor(deptGetLineParam).getData();
List<LineDevGetDTO> info=new ArrayList<>();
/*主网*/
List<LineDevGetDTO> collect = data1.stream().map(DeptGetDeviceDTO::getDeviceList).flatMap(Collection::stream).collect(Collectors.toList());
collect.forEach(temp -> {
DeviceParam.DeviceDetail deviceDetail = new DeviceParam.DeviceDetail();
deviceDetail.setDevId(temp.getDevId());
deviceDetail.setLineIds(temp.getMonitorIds());
deviceDetail.setUpdateTime(temp.getUpdateTime()+"");
list.add(deviceDetail);
});
/*配网*/
List<LineDevGetDTO> collect2 = data1.stream().map(DeptGetDeviceDTO::getPwDeviceList).flatMap(Collection::stream).collect(Collectors.toList());
collect2.forEach(temp -> {
info.addAll(collect);
info.addAll(collect2);
List<LineDevGetDTO> collect1 = info.stream().distinct().collect(Collectors.toList());
collect1.forEach(temp -> {
DeviceParam.DeviceDetail deviceDetail = new DeviceParam.DeviceDetail();
deviceDetail.setDevId(temp.getDevId());
deviceDetail.setLineIds(temp.getMonitorIds());
deviceDetail.setUpdateTime(temp.getUpdateTime()+"");
deviceDetail.setUpdateTime(temp.getUpdateTime() + "");
deviceDetail.setDeviceStatus(temp.getComFlag()+ "");
list.add(deviceDetail);
});
deviceParam.setDetailList(list);
}
rStatDevSignalDPOService.eventdetailHandler (deviceParam);
if (deviceParam.getRepairFlag()) {
List<String> timeRange = NjcnDateUtils.findEveryDay(deviceParam.getBeginTime(), deviceParam.getEndTime());
for (String item : timeRange) {
log.info(item + "-->开始执行");
deviceParam.setDataDate(item);
deviceParam.setBeginTime(item + " " + "00:00:00");
deviceParam.setEndTime(item + " " + "23:59:59");
rStatDevSignalDPOService.eventdetailHandler(deviceParam);
}
} else {
rStatDevSignalDPOService.eventdetailHandler(deviceParam);
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
}

View File

@@ -1,5 +1,6 @@
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
@@ -7,17 +8,11 @@ import com.njcn.common.utils.PubUtils;
import com.njcn.harmonic.pojo.po.RMpDevEvaluateDetailPO;
import com.njcn.prepare.harmonic.mapper.mysql.area.RMpDevEvaluateDetailPOMapper;
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
import com.njcn.prepare.harmonic.pojo.mysql.RMpMonitorEvaluateDPO;
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
import com.njcn.prepare.harmonic.pojo.param.DeviceParam;
import com.njcn.prepare.harmonic.pojo.po.RMpDevSolveDetailPO;
import com.njcn.prepare.harmonic.pojo.po.RStatDevSignalDPO;
import com.njcn.prepare.harmonic.service.mysql.area.RMpDevEvaluateDetailPOService;
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexDPOService;
import com.njcn.prepare.harmonic.service.mysql.device.RMpDevSolveDetailPOService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.po.DictData;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.scheduling.annotation.Async;
@@ -29,7 +24,6 @@ import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.OptionalDouble;
/**
*
@@ -77,7 +71,7 @@ public class RMpDevEvaluateDetailPOServiceImpl extends MppServiceImpl<RMpDevEval
List<ROperatingMonitorDPO> rOperatingMonitorDPOS = new ArrayList<>();
List<String> lineIds = temp.getLineIds();
if(lineIds.size() > 0){
if(CollUtil.isNotEmpty(lineIds)){
wrapper.in("measurement_point_id", lineIds);
rOperatingMonitorDPOS = rOperatingMonitorDMapper.selectList(wrapper);
}

View File

@@ -1,5 +1,6 @@
package com.njcn.prepare.harmonic.service.mysql.Impl.device;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
@@ -24,22 +25,20 @@ import java.util.Date;
import java.util.List;
/**
*
* Description:
* Date: 2023/5/4 14:25【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
@RequiredArgsConstructor
public class RStatDevSignalDPOServiceImpl extends MppServiceImpl<RStatDevSignalDPOMapper,RStatDevSignalDPO > implements RStatDevSignalDPOService{
public class RStatDevSignalDPOServiceImpl extends MppServiceImpl<RStatDevSignalDPOMapper, RStatDevSignalDPO> implements RStatDevSignalDPOService {
private final RMpMonitorEvaluateDMapper revaluateDMapper;
private final
DicDataFeignClient dicDataFeignClient;
@Override
@Transactional(rollbackFor = {Exception.class})
@Async("asyncExecutor")
@@ -52,7 +51,7 @@ public class RStatDevSignalDPOServiceImpl extends MppServiceImpl<RStatDevSignalD
deviceParam.getDetailList().forEach(temp -> {
RStatDevSignalDPO rStatDevSignalDPO = new RStatDevSignalDPO();
rStatDevSignalDPO.setDevId(temp.getDevId());
rStatDevSignalDPO.setDeviceId(temp.getDevId());
rStatDevSignalDPO.setDeviceStatus(data.getId());
rStatDevSignalDPO.setUpdateTime(temp.getUpdateTime());
rStatDevSignalDPO.setDataDate(date);
@@ -61,7 +60,7 @@ public class RStatDevSignalDPOServiceImpl extends MppServiceImpl<RStatDevSignalD
*/
Integer effective_minute_count = 0;
List<String> lineIds = temp.getLineIds();
if(lineIds.size() > 0){
if (CollUtil.isNotEmpty(lineIds)) {
wrapper.clear();
wrapper.select("sum(effective_minute_count) as effective_minute_count ");
wrapper.eq("device_id", temp.getDevId());
@@ -70,13 +69,13 @@ public class RStatDevSignalDPOServiceImpl extends MppServiceImpl<RStatDevSignalD
effective_minute_count = rMpMonitorEvaluateDPO.getEffectiveMinuteCount();
}
String runStatus = "0";
if(effective_minute_count>0&&temp.getDeviceStatus().equals("0")){
if (effective_minute_count > 0 && temp.getDeviceStatus().equals("1")) {
runStatus = "1";
}
rStatDevSignalDPO.setRunStatus(runStatus);
rStatDevSignalDPOList.add(rStatDevSignalDPO);
});
this.saveOrUpdateBatchByMultiId(rStatDevSignalDPOList,500);
this.saveOrUpdateBatchByMultiId(rStatDevSignalDPOList, 500);
}
}

View File

@@ -4,7 +4,6 @@ import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.harmonic.pojo.po.RMpDevEvaluateDetailPO;
import com.njcn.prepare.harmonic.pojo.param.DeviceParam;
import java.util.List;
/**
*

View File

@@ -3,12 +3,8 @@ package com.njcn.prepare.harmonic.service.mysql.device;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.prepare.harmonic.pojo.param.DeviceParam;
import com.njcn.prepare.harmonic.pojo.po.RStatDevSignalDPO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
*
* Description:
* Date: 2023/5/4 14:25【需求编号】
*
@@ -17,6 +13,6 @@ import java.util.List;
*/
public interface RStatDevSignalDPOService extends IMppService<RStatDevSignalDPO> {
void eventdetailHandler(DeviceParam deviceParam);
void eventdetailHandler(DeviceParam deviceParam);
}
}