Merge remote-tracking branch 'origin/liaoning' into liaoning

This commit is contained in:
wr
2025-05-08 13:53:32 +08:00
9 changed files with 93 additions and 18 deletions

View File

@@ -0,0 +1,31 @@
package com.njcn.device.pq.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: cdf
* @CreateTime: 2025-05-08
* @Description: 不同运行状态的终端数量
*/
@Data
public class DevStatusNumVO {
@ApiModelProperty("总数")
private Integer allNum;
@ApiModelProperty("在运数量")
private Integer runNum;
@ApiModelProperty("检修数量")
private Integer checkNum;
@ApiModelProperty("停运数量")
private Integer stopRunNum;
private Integer testNum;
@ApiModelProperty("退役数量")
private Integer quiteNum;
}

View File

@@ -158,10 +158,8 @@ public class CommTerminalController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true)
public HttpResult<List<DeptGetBusBarDTO>> deptBusBar(@RequestBody @Validated DeptGetLineParam deptGetLineParam) {
TimeInterval timer = new TimeInterval();
String methodDescribe = getMethodDescribe("deptBusBar");
List<DeptGetBusBarDTO> result = commTerminalService.deptBusBar(deptGetLineParam);
log.info("运行时长" + timer.intervalSecond());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@@ -177,10 +175,8 @@ public class CommTerminalController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true)
public HttpResult<List<DeptGetDeviceDTO>> deptGetDevice(@RequestBody @Validated DeptGetLineParam deptGetLineParam) {
TimeInterval timer = new TimeInterval();
String methodDescribe = getMethodDescribe("deptGetDevice");
List<DeptGetDeviceDTO> result = commTerminalService.deptGetDevice(deptGetLineParam,3);
log.info("运行时长" + timer.intervalSecond());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@@ -194,10 +190,8 @@ public class CommTerminalController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true)
public HttpResult<List<DeptGetDeviceDTO>> deptGetDeviceAndMonitor(@RequestBody @Validated DeptGetLineParam deptGetLineParam) {
TimeInterval timer = new TimeInterval();
String methodDescribe = getMethodDescribe("deptGetDeviceAndMonitor");
List<DeptGetDeviceDTO> result = commTerminalService.deptGetDevice(deptGetLineParam,1);
log.info("运行时长" + timer.intervalSecond());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@@ -211,10 +205,8 @@ public class CommTerminalController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiImplicitParam(name = "substationId", value = "请求体", required = true)
public HttpResult<LineDevGetBandDTO> substationGetLine(@RequestParam("substationId")String substationId) {
TimeInterval timer = new TimeInterval();
String methodDescribe = getMethodDescribe("substationGetLine");
LineDevGetBandDTO result = commTerminalService.substationGetLine(substationId);
log.info("运行时长" + timer.intervalSecond());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@@ -229,10 +221,8 @@ public class CommTerminalController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiImplicitParam(name = "busBarId", value = "请求体", required = true)
public HttpResult<LineDevGetBandDTO> busBarGetLine(@RequestParam("busBarId")String busBarId) {
TimeInterval timer = new TimeInterval();
String methodDescribe = getMethodDescribe("busBarGetLine");
LineDevGetBandDTO result = commTerminalService.substationGetLine(busBarId);
log.info("运行时长" + timer.intervalSecond());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}

View File

@@ -1,19 +1,25 @@
package com.njcn.device.pq.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Console;
import cn.hutool.core.util.StrUtil;
import com.github.tocrhz.mqtt.annotation.MqttSubscribe;
import com.github.tocrhz.mqtt.annotation.NamedValue;
import com.github.tocrhz.mqtt.annotation.Payload;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.dto.SimpleDTO;
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.dto.DevComFlagDTO;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.ConstantValueParam;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.po.Device;
import com.njcn.device.pq.pojo.vo.DevStatusNumVO;
import com.njcn.device.pq.service.IDeviceService;
import com.njcn.device.pq.service.impl.GeneralDeviceService;
import com.njcn.web.controller.BaseController;
import com.njcn.web.utils.RequestUtil;
import io.swagger.annotations.Api;
@@ -25,8 +31,11 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
@@ -43,6 +52,9 @@ import java.util.Objects;
public class DeviceController extends BaseController {
private final IDeviceService iDeviceService;
private final GeneralDeviceService generalDeviceService;
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/socketLine")
@ApiOperation("获取监测点定值信息")
@@ -188,4 +200,23 @@ public class DeviceController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, update, methodDescribe);
}
@ApiOperation("台账状态统计")
@PostMapping(value = "statisticDevNum")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
public HttpResult<DevStatusNumVO> statisticDevNum(@RequestParam Integer powerFlag, @RequestParam String deptId) {
DevStatusNumVO devStatusNumVO = new DevStatusNumVO();
String methodDescribe = getMethodDescribe("statisticDevNum");
DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
deviceInfoParam.setDeptIndex(deptId);
deviceInfoParam.setStatisticalType(new SimpleDTO());
deviceInfoParam.setPowerFlag(powerFlag);
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam,new ArrayList<>(), Stream.of(1).collect(Collectors.toList()));
List<String> devIds = generalDeviceDTOList.stream().flatMap(list->list.getDeviceIndexes().stream()).collect(Collectors.toList());
if(CollectionUtil.isEmpty(devIds)){
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, devStatusNumVO, methodDescribe);
}
devStatusNumVO = iDeviceService.statisticDevNum(devIds);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, devStatusNumVO, methodDescribe);
}
}

View File

@@ -17,10 +17,7 @@ import com.njcn.device.pq.pojo.bo.excel.TerminalBaseExcel;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.*;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
import com.njcn.device.pq.pojo.vo.LineWiringDiagramVO;
import com.njcn.device.pq.pojo.vo.TerminalBaseVO;
import com.njcn.device.pq.pojo.vo.TerminalVO;
import com.njcn.device.pq.pojo.vo.*;
import com.njcn.device.pq.service.LineService;
import com.njcn.device.pq.service.TerminalBaseService;
import com.njcn.device.pq.service.impl.GeneralDeviceService;
@@ -467,6 +464,4 @@ public class TerminalBaseController extends BaseController {
}
}

View File

@@ -4,6 +4,7 @@ package com.njcn.device.pq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pq.pojo.param.ConstantValueParam;
import com.njcn.device.pq.pojo.po.Device;
import com.njcn.device.pq.pojo.vo.DevStatusNumVO;
import java.util.List;
@@ -133,4 +134,11 @@ public interface IDeviceService extends IService<Device> {
* @Description: 技术监督修改装置定检时间
*/
void updateDevCheckTime(String devId, String thisTimeCheck, String nextTimeCheck);
/**
* 统计不同运行状态的终端数量
*/
DevStatusNumVO statisticDevNum(List<String> devIds);
}

View File

@@ -9,6 +9,7 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.SyncTerminalParam;
import com.njcn.device.pq.pojo.param.UpdateTerminalParam;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.vo.DevStatusNumVO;
import com.njcn.device.pq.pojo.vo.LineWiringDiagramVO;
import com.njcn.device.pq.pojo.vo.TerminalBaseVO;
import com.njcn.device.pq.pojo.vo.TerminalVO;
@@ -290,4 +291,6 @@ public interface TerminalBaseService {
void askRestartDevice(List<String> devId, String deviceRebootType,Integer processNo);
void ledgerChangePush();
}

View File

@@ -8,6 +8,7 @@ import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.device.biz.enums.RunFlagEnum;
import com.njcn.device.pq.mapper.DevVersionMapper;
import com.njcn.device.pq.mapper.DeviceMapper;
import com.njcn.device.pq.mapper.LineMapper;
@@ -17,6 +18,7 @@ import com.njcn.device.pq.pojo.po.DevVersion;
import com.njcn.device.pq.pojo.po.Device;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.po.Version;
import com.njcn.device.pq.pojo.vo.DevStatusNumVO;
import com.njcn.device.pq.pojo.vo.DeviceIpRVO;
import com.njcn.device.pq.service.IDeviceService;
import com.njcn.device.pq.service.ProgramVersionService;
@@ -408,4 +410,19 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
}
@Override
public DevStatusNumVO statisticDevNum(List<String> devIds) {
DevStatusNumVO devStatusNumVO = new DevStatusNumVO();
List<Device> deviceList = this.baseMapper.selectList(new LambdaQueryWrapper<Device>().in(Device::getId,devIds));
Map<Integer,Long> map = deviceList.stream().collect(Collectors.groupingBy(Device::getRunFlag,Collectors.counting()));
devStatusNumVO.setRunNum(map.getOrDefault(RunFlagEnum.RUNNING.getStatus(),0L).intValue());
devStatusNumVO.setCheckNum(map.getOrDefault(RunFlagEnum.CHECK.getStatus(),0L).intValue());
devStatusNumVO.setStopRunNum(map.getOrDefault(RunFlagEnum.STOP.getStatus(),0L).intValue());
devStatusNumVO.setQuiteNum(map.getOrDefault(RunFlagEnum.QUIT.getStatus(),0L).intValue());
devStatusNumVO.setTestNum(map.getOrDefault(RunFlagEnum.TEST.getStatus(),0L).intValue());
devStatusNumVO.setAllNum(deviceList.size());
return devStatusNumVO;
}
}

View File

@@ -3786,6 +3786,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
}
/**
* 终端日志记录
*/

View File

@@ -76,7 +76,6 @@ public class HarmonicServiceImpl implements IHarmonicService {
if (StringUtils.isBlank(RequestUtil.getDeptIndex())) {
return list;
}
Map<String, UserLedgerVO> userLedgerVOMap;
if (Objects.isNull(harmonicPublicParam.getPowerFlag()) || !PowerFlagEnum.GRID_SIDE.getCode().equals(harmonicPublicParam.getPowerFlag())) {
List<UserLedgerVO> userLedgerVOList = userLedgerFeignClient.selectUserList(new UserReportParam()).getData();
@@ -85,7 +84,6 @@ public class HarmonicServiceImpl implements IHarmonicService {
userLedgerVOMap = new HashMap<>();
}
List<GeneralDeviceDTO> deptList = generalDeviceInfoClient.getPracticalRunDeviceInfo(harmonicPublicParam).getData();
deptList.forEach(dept -> lineList.addAll(dept.getLineIndexes()));
//获取所有的数据信息