fix: 完善监测指标同步至设备

master
wangrunpu 1 month ago
parent 2f1c26065c
commit f9f78fcb1c

@ -0,0 +1,23 @@
package cn.iocoder.yudao.module.system.enums.dusttargetinfo;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
*
*/
@Getter
@AllArgsConstructor
public enum SignalTypeEnum {
ANALOG("01"), // 模拟量
SWITCH("02"), // 开关量
;
/**
*
*/
private final String type;
}

@ -1,35 +1,38 @@
package cn.iocoder.yudao.module.system.controller.admin.dusttargetinfo;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.system.controller.admin.dusttargetinfo.vo.DustTargetinfoPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dusttargetinfo.vo.DustTargetinfoRespVO;
import cn.iocoder.yudao.module.system.controller.admin.dusttargetinfo.vo.DustTargetinfoSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.dusttargetinfo.DustTargetinfoDO;
import cn.iocoder.yudao.module.system.enums.dusttargetinfo.SignalTypeEnum;
import cn.iocoder.yudao.module.system.service.dustequipinfo.DustEquipinfoService;
import org.springframework.web.bind.annotation.*;
import cn.iocoder.yudao.module.system.service.dusttargetinfo.DustTargetinfoService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.apache.commons.lang3.StringUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.error;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.system.controller.admin.dusttargetinfo.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.dusttargetinfo.DustTargetinfoDO;
import cn.iocoder.yudao.module.system.service.dusttargetinfo.DustTargetinfoService;
@Tag(name = "管理后台 - 除尘系统监测指标信息")
@RestController
@RequestMapping("/system/dust-targetinfo")
@ -45,6 +48,19 @@ public class DustTargetinfoController {
@Operation(summary = "创建除尘系统监测指标信息")
@PreAuthorize("@ss.hasPermission('system:dust-targetinfo:create')")
public CommonResult<String> createDustTargetinfo(@Valid @RequestBody DustTargetinfoSaveReqVO createReqVO) {
String signalType = createReqVO.getSignalType();
if (SignalTypeEnum.ANALOG.getType().equals(signalType)) {
if (StringUtils.isEmpty(createReqVO.getTargetUnit()))
return error(new ErrorCode(400, "请填写计量单位"));
if (ObjectUtil.isNull(createReqVO.getThresholdUpLimit())
&& ObjectUtil.isNull(createReqVO.getThresholdUpUpLimit())
&& ObjectUtil.isNull(createReqVO.getThresholdDownLimit())
&& ObjectUtil.isNull(createReqVO.getThresholdDownDownLimit())
) return error(400, "高报阈值、高高报阈值、低报阈值、低低报阈值,至少填一项");
} else if (SignalTypeEnum.SWITCH.getType().equals(signalType)) {
if (ObjectUtil.isNull(createReqVO.getAlarmValue()))
return error(new ErrorCode(400, "请选择开关量报警值"));
}
return success(dustTargetinfoService.createDustTargetinfo(createReqVO));
}
@ -52,6 +68,19 @@ public class DustTargetinfoController {
@Operation(summary = "更新除尘系统监测指标信息")
@PreAuthorize("@ss.hasPermission('system:dust-targetinfo:update')")
public CommonResult<Boolean> updateDustTargetinfo(@Valid @RequestBody DustTargetinfoSaveReqVO updateReqVO) {
String signalType = updateReqVO.getSignalType();
if (SignalTypeEnum.ANALOG.getType().equals(signalType)) {
if (StringUtils.isEmpty(updateReqVO.getTargetUnit()))
return error(new ErrorCode(400, "请填写计量单位"));
if (ObjectUtil.isNull(updateReqVO.getThresholdUpLimit())
&& ObjectUtil.isNull(updateReqVO.getThresholdUpUpLimit())
&& ObjectUtil.isNull(updateReqVO.getThresholdDownLimit())
&& ObjectUtil.isNull(updateReqVO.getThresholdDownDownLimit())
) return error(400, "高报阈值、高高报阈值、低报阈值、低低报阈值,至少填一项");
} else if (SignalTypeEnum.SWITCH.getType().equals(signalType)) {
if (ObjectUtil.isNull(updateReqVO.getAlarmValue()))
return error(new ErrorCode(400, "请选择开关量报警值"));
}
dustTargetinfoService.updateDustTargetinfo(updateReqVO);
return success(true);
}

@ -66,4 +66,6 @@ public class DustTargetinfoPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "指标对应标识")
private String identifier;
}

@ -93,4 +93,7 @@ public class DustTargetinfoRespVO {
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "指标对应标识", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("指标对应标识")
private String identifier;
}

@ -72,4 +72,7 @@ public class DustTargetinfoSaveReqVO {
@NotEmpty(message = "指标停用状态不能为空")
private String targetStatus;
@Schema(description = "指标对应标识", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "指标对应标识不能为空")
private String identifier;
}

@ -112,5 +112,9 @@ public class DustTargetinfoDO extends BaseDO {
*/
private String targetStatus;
/**
*
*/
private String identifier;
}

Loading…
Cancel
Save