diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/dusttargetinfo/SignalTypeEnum.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/dusttargetinfo/SignalTypeEnum.java new file mode 100644 index 000000000..07af1dc87 --- /dev/null +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/dusttargetinfo/SignalTypeEnum.java @@ -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; + +} diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/DustTargetinfoController.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/DustTargetinfoController.java index 4090fc21c..ad6ca147d 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/DustTargetinfoController.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/DustTargetinfoController.java @@ -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 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 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); } diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoPageReqVO.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoPageReqVO.java index ca0154b9b..4357fc31b 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoPageReqVO.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoPageReqVO.java @@ -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; } diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoRespVO.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoRespVO.java index e50769e0c..8a16f5be4 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoRespVO.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoRespVO.java @@ -93,4 +93,7 @@ public class DustTargetinfoRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; + @Schema(description = "指标对应标识", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("指标对应标识") + private String identifier; } diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoSaveReqVO.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoSaveReqVO.java index d4269eb63..3d384d97b 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dusttargetinfo/vo/DustTargetinfoSaveReqVO.java @@ -72,4 +72,7 @@ public class DustTargetinfoSaveReqVO { @NotEmpty(message = "指标停用状态不能为空") private String targetStatus; + @Schema(description = "指标对应标识", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "指标对应标识不能为空") + private String identifier; } diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dusttargetinfo/DustTargetinfoDO.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dusttargetinfo/DustTargetinfoDO.java index 3a299fd72..d670c3138 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dusttargetinfo/DustTargetinfoDO.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dusttargetinfo/DustTargetinfoDO.java @@ -112,5 +112,9 @@ public class DustTargetinfoDO extends BaseDO { */ private String targetStatus; + /** + * 指标对应标识 + */ + private String identifier; }