设备退运bug修复

This commit is contained in:
hzj
2026-04-27 16:23:53 +08:00
parent 82ab1de5b9
commit 4a5fde6a47
4 changed files with 50 additions and 11 deletions

View File

@@ -1,6 +1,8 @@
package com.njcn.device.pq.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
@@ -17,6 +19,7 @@ import java.io.Serializable;
public class DeviceProcess implements Serializable {
private static final long serialVersionUID = 1L;
//设备id
@TableId("Id")
private String id;
//设备设备所在前置机进程号
private Integer processNo;

View File

@@ -139,7 +139,7 @@ public class RunManageServiceImpl implements RunManageService {
List<String> devIndexes = generalDeviceDTOList.stream().flatMap(list -> list.getDeviceIndexes().stream()).collect(Collectors.toList());
List<String> manuList = runManageParam.getManufacturer().stream().map(SimpleDTO::getId).collect(Collectors.toList());
if (CollectionUtil.isEmpty(devIndexes)) {
throw new BusinessException("当前部门没有装置台账");
return new Page<>(PageFactory.getPageNum(runManageParam), PageFactory.getPageSize(runManageParam));
}
return deviceMapper.getRunManageDevList(new Page<>(PageFactory.getPageNum(runManageParam), PageFactory.getPageSize(runManageParam)),devIndexes, runManageParam.getComFlag(), runManageParam.getRunFlag(), manuList, runManageParam.getSearchValue());
}

View File

@@ -853,7 +853,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
if (!Objects.equals(lineDetail.getCt1(), lineDetailRes.getCt1()) || !Objects.equals(lineDetail.getCt2(), lineDetailRes.getCt2())
|| !Objects.equals(lineDetail.getPt1(), lineDetailRes.getPt1()) || !Objects.equals(lineDetail.getPt2(), lineDetailRes.getPt2())
|| !Objects.equals(lineDetail.getDevCapacity(), lineDetailRes.getDevCapacity()) || !Objects.equals(lineDetail.getShortCapacity(), lineDetailRes.getShortCapacity())
|| !Objects.equals(lineDetail.getStandardCapacity(), lineDetailRes.getStandardCapacity()) || !Objects.equals(lineDetail.getDealCapacity(), lineDetailRes.getDealCapacity())) {
|| !Objects.equals(lineDetail.getStandardCapacity(), lineDetailRes.getStandardCapacity()) || !Objects.equals(lineDetail.getDealCapacity(), lineDetailRes.getDealCapacity())
|| !Objects.equals(lineDetail.getPtType(), lineDetailRes.getPtType())) {
//获取用户信息
String index = RequestUtil.getUserIndex();
queryUpdateAndInsertLog(userName, index, lineDetail, lineDetailRes);
@@ -959,6 +960,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
sbNew.append("协议容量: ").append(newLine.getDealCapacity()).append(";");
sbOld.append("协议容量: ").append(oldLine.getDealCapacity()).append(";");
}
//接线方式
if (!Objects.equals(newLine.getPtType(), oldLine.getPtType())) {
sbNew.append("接线方式: ").append(newLine.getPtType()).append(";");
sbOld.append("接线方式: ").append(oldLine.getPtType()).append(";");
}
sb.append(sbNew).append(sbOld);
HttpResult<DictData> dicDataByCode = dicDataFeignClient.getDicDataByCode(DicDataEnum.LINE_PARAMETER.getCode());
DictData data = dicDataByCode.getData();
@@ -3851,14 +3857,29 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
}
//设备删除找不到设备名称,重日志截取
if (Objects.equals(temp.getOperateType(), Param.DEL)) {
String temLos = "%s名称:%s;前置信息:%s";
List<String> strings = this.parseTemplateValues(temLos, temp.getTerminalDescribe());
String devName = strings.get(1); // 设备名称
String nodeName = strings.get(2); // 进程名称
pqsTerminalPushLogDTO.setDevName(devName);
String nodeId = nodeNameMap.get(nodeName).getId();
pqsTerminalPushLogDTO.setNodeId(nodeId);
pqsTerminalPushLogDTO.setNodeName(nodeName);
//删除有2种情况1.设备删除2设备状态修改
if (lineMap.containsKey(deviceId)) {
pqsTerminalPushLogDTO.setDevName(lineMap.get(deviceId).getName());
String nodeId = deviceMap.get(deviceId).getNodeId();
pqsTerminalPushLogDTO.setNodeId(nodeId);
pqsTerminalPushLogDTO.setNodeName(nodeMap.containsKey(nodeId)?nodeMap.get(nodeId).getName():"删除前置");
}else {
if(temp.getTerminalDescribe().contains("前置信息")){
String temLos = "%s名称:%s;前置信息:%s";
List<String> strings = this.parseTemplateValues(temLos, temp.getTerminalDescribe());
String devName = strings.get(1); // 设备名称
String nodeName = strings.get(2); // 进程名称
pqsTerminalPushLogDTO.setDevName(devName);
String nodeId = nodeNameMap.get(nodeName).getId();
pqsTerminalPushLogDTO.setNodeId(nodeId);
pqsTerminalPushLogDTO.setNodeName(nodeName);
}else {
return;
}
}
} else {
//如果存在说明设备未被删除不存在说明有一条删除日志直接return
if (lineMap.containsKey(deviceId)) {

View File

@@ -13,10 +13,12 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.common.mapper.SuperDataMapper;
import com.njcn.device.common.service.GeneralDeviceService;
import com.njcn.device.device.mapper.DevFuctionMapper;
import com.njcn.device.device.service.DeviceProcessService;
import com.njcn.device.device.service.IDevMealService;
import com.njcn.device.device.service.IDevStrategyService;
import com.njcn.device.device.service.IDeviceService;
import com.njcn.device.line.service.LineService;
import com.njcn.device.pq.constant.Param;
import com.njcn.device.pq.enums.LineBaseEnum;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.*;
@@ -84,6 +86,7 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService {
private final CldStatisticsFlowMapper cldStatisticsFlowMapper;
private final LineService lineService;
private final DeviceProcessService deviceProcessService;
@Override
public List<TerminalMaintainVO> getTerminalMainList(TerminalMainQueryParam terminalMainQueryParam) {
@@ -205,7 +208,19 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService {
terminalLogsNew.setObjIndex(device.getId());
terminalLogsNew.setTerminalDescribe(sb.toString());
terminalLogsNew.setIsPush(0);
terminalLogsNew.setOperateType("update");
if(device.getRunFlag() == 0&&device1.getRunFlag()!=0){
terminalLogsNew.setOperateType(Param.DEL);
}
if(device1.getRunFlag() == 0&&device.getRunFlag()!=0){
terminalLogsNew.setOperateType(Param.ADD);
//判断device是否绑定进程号
DeviceProcess deviceProcess = new DeviceProcess();
deviceProcess.setId(device1.getId());
deviceProcess.setProcessNo(1);
deviceProcessService.saveOrUpdate(deviceProcess);
}
terminalLogsNew.setLogsType(data.getId());
terminalLogsNew.setTerminalType(LineBaseEnum.DEVICE_LEVEL.getCode());
terminalLogsNew.setState(DataStateEnum.ENABLE.getCode());