1.技术监督月报,供电次数重新统计
2.终端通信管理_日表和终端数据评价_日表,pq和pms兼容修改
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user