fix: 控制器新增报警开关控制,过期提醒只在8:00~21:00打电话。
This commit is contained in:
@@ -318,6 +318,7 @@ public class DeviceController extends BaseController {
|
||||
data.setSalinityCompensation(device.getSalinityCompensation());
|
||||
data.setInputVoltage(device.getInputVoltage());
|
||||
data.setVoltageWarnOpen(device.getVoltageWarnOpen());
|
||||
data.setControllerFaultCallOpen(device.getControllerFaultCallOpen() == null ? 1 : device.getControllerFaultCallOpen());
|
||||
data.setBatteryWarnCallOpen(device.getBatteryWarnCallOpen());
|
||||
data.setBatteryWarnCallNoDis(device.getBatteryWarnCallNoDis());
|
||||
data.setBatteryWarnLower(device.getBatteryWarnLower());
|
||||
@@ -1040,6 +1041,62 @@ public class DeviceController extends BaseController {
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置控制器故障电话报警开关。
|
||||
* 仅控制缺相、过压、欠压、开关空载/欠流/过流等故障的电话通知;断电电话通知不受此开关限制。
|
||||
*
|
||||
* @param rootUserId 用户ID
|
||||
* @param request 请求对象(包含设备ID和开关状态)
|
||||
* @return 操作结果
|
||||
*/
|
||||
@PutMapping("/controller_fault_call_open")
|
||||
public R<Void> updateControllerFaultCallOpen(
|
||||
@RequestParam("rootUserId") Long rootUserId,
|
||||
@Validated @RequestBody ReqTurnOpen request) {
|
||||
|
||||
Device device = deviceMapper.selectOne(
|
||||
new LambdaQueryWrapper<Device>()
|
||||
.eq(Device::getId, request.getId())
|
||||
.select(Device::getId, Device::getUserId, Device::getSerialNum,
|
||||
Device::getDeviceName, Device::getDeviceType,
|
||||
Device::getControllerFaultCallOpen, Device::getDeadTime)
|
||||
);
|
||||
|
||||
if (device == null || device.getUserId() == null || !device.getUserId().equals(rootUserId)
|
||||
|| device.getDeviceType() == null || device.getDeviceType() != 2) {
|
||||
return R.fail("设备不存在或无权限操作");
|
||||
}
|
||||
|
||||
if (device.getDeadTime() != null && device.getDeadTime().before(new Date())) {
|
||||
return R.fail("设备服务已过期");
|
||||
}
|
||||
|
||||
Integer currentOpen = device.getControllerFaultCallOpen() == null ? 1 : device.getControllerFaultCallOpen();
|
||||
if (currentOpen.equals(request.getIsOpen())) {
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
boolean updated = deviceMapper.update(null,
|
||||
new LambdaUpdateWrapper<Device>()
|
||||
.eq(Device::getId, request.getId())
|
||||
.set(Device::getControllerFaultCallOpen, request.getIsOpen())
|
||||
) > 0;
|
||||
|
||||
if (!updated) {
|
||||
return R.fail("更新失败");
|
||||
}
|
||||
|
||||
String op = request.getIsOpen() == 1 ? "开启" : "关闭";
|
||||
MessageOpRecordUtil.addMessageOpRecordUser(
|
||||
rootUserId,
|
||||
"设备告警设置",
|
||||
String.format("%s(%s) 设置控制器故障电话报警开关:%s",
|
||||
device.getDeviceName(), device.getSerialNum(), op)
|
||||
);
|
||||
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置测控一体机溶解氧启用/禁用
|
||||
* 启用时:同时启用溶解氧和温度告警及免打扰
|
||||
|
||||
@@ -208,6 +208,11 @@ public class Device extends TenantEntity {
|
||||
*/
|
||||
private Integer voltageWarnOpen;
|
||||
|
||||
/**
|
||||
* 控制器故障电话报警开关(断电不受此开关限制)
|
||||
*/
|
||||
private Integer controllerFaultCallOpen;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
||||
@@ -240,6 +240,11 @@ public class DeviceBo extends BaseEntity {
|
||||
// @NotNull(message = "电压告警开关不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Integer voltageWarnOpen;
|
||||
|
||||
/**
|
||||
* 控制器故障电话报警开关(断电不受此开关限制)
|
||||
*/
|
||||
private Integer controllerFaultCallOpen;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
||||
@@ -270,6 +270,12 @@ public class DeviceVo implements Serializable {
|
||||
@ExcelProperty(value = "电压告警开关")
|
||||
private Integer voltageWarnOpen;
|
||||
|
||||
/**
|
||||
* 控制器故障电话报警开关(断电不受此开关限制)
|
||||
*/
|
||||
@ExcelProperty(value = "控制器故障电话报警开关")
|
||||
private Integer controllerFaultCallOpen;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
||||
@@ -109,6 +109,11 @@ public class PublicDeviceBaseData implements Serializable {
|
||||
*/
|
||||
private Integer voltageWarnOpen;
|
||||
|
||||
/**
|
||||
* 控制器故障电话报警开关(断电不受此开关限制)
|
||||
*/
|
||||
private Integer controllerFaultCallOpen;
|
||||
|
||||
/**
|
||||
* 低电量电话告警开关(太阳能网控专用)
|
||||
*/
|
||||
|
||||
@@ -373,6 +373,7 @@ public class DeviceServiceImpl implements IDeviceService {
|
||||
newDevice.setOxyWarnCallNoDis(0);
|
||||
newDevice.setTempWarnCallOpen(0);
|
||||
newDevice.setTempWarnCallNoDis(0);
|
||||
newDevice.setControllerFaultCallOpen(1);
|
||||
newDevice.setWarnCode(DefineDeviceWarnCode.None);
|
||||
newDevice.setCategory(device.getCategory());
|
||||
baseMapper.insert(newDevice);
|
||||
|
||||
Reference in New Issue
Block a user