diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmLevelController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmLevelController.java new file mode 100644 index 0000000..4dc0f54 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmLevelController.java @@ -0,0 +1,117 @@ +package org.dromara.dms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.dms.domain.vo.BaseAlarmLevelVo; +import org.dromara.dms.domain.bo.BaseAlarmLevelBo; +import org.dromara.dms.service.IBaseAlarmLevelService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 报警级别 + * 前端访问路由地址为:/dms/alarmLevel + * + * @author Yinq + * @date 2025-03-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/alarmLevel") +public class BaseAlarmLevelController extends BaseController { + + private final IBaseAlarmLevelService baseAlarmLevelService; + + /** + * 查询报警级别列表 + */ + @SaCheckPermission("dms:alarmLevel:list") + @GetMapping("/list") + public TableDataInfo list(BaseAlarmLevelBo bo, PageQuery pageQuery) { + return baseAlarmLevelService.queryPageList(bo, pageQuery); + } + + /** + * 导出报警级别列表 + */ + @SaCheckPermission("dms:alarmLevel:export") + @Log(title = "报警级别", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BaseAlarmLevelBo bo, HttpServletResponse response) { + List list = baseAlarmLevelService.queryList(bo); + ExcelUtil.exportExcel(list, "报警级别", BaseAlarmLevelVo.class, response); + } + + /** + * 获取报警级别详细信息 + * + * @param alarmLevelId 主键 + */ + @SaCheckPermission("dms:alarmLevel:query") + @GetMapping("/{alarmLevelId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long alarmLevelId) { + return R.ok(baseAlarmLevelService.queryById(alarmLevelId)); + } + + /** + * 新增报警级别 + */ + @SaCheckPermission("dms:alarmLevel:add") + @Log(title = "报警级别", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BaseAlarmLevelBo bo) { + return toAjax(baseAlarmLevelService.insertByBo(bo)); + } + + /** + * 修改报警级别 + */ + @SaCheckPermission("dms:alarmLevel:edit") + @Log(title = "报警级别", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BaseAlarmLevelBo bo) { + return toAjax(baseAlarmLevelService.updateByBo(bo)); + } + + /** + * 删除报警级别 + * + * @param alarmLevelIds 主键串 + */ + @SaCheckPermission("dms:alarmLevel:remove") + @Log(title = "报警级别", businessType = BusinessType.DELETE) + @DeleteMapping("/{alarmLevelIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] alarmLevelIds) { + return toAjax(baseAlarmLevelService.deleteWithValidByIds(List.of(alarmLevelIds), true)); + } + + + /** + * 下拉框查询报警级别列表 + */ + + @GetMapping("/getBaseAlarmLevelList") + public R> getBaseAlarmLevelList(BaseAlarmLevelBo bo) { + List list = baseAlarmLevelService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmRuleController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmRuleController.java new file mode 100644 index 0000000..70d4af4 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmRuleController.java @@ -0,0 +1,117 @@ +package org.dromara.dms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.dms.domain.vo.BaseAlarmRuleVo; +import org.dromara.dms.domain.bo.BaseAlarmRuleBo; +import org.dromara.dms.service.IBaseAlarmRuleService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 报警规则 + * 前端访问路由地址为:/dms/alarmRule + * + * @author Yinq + * @date 2025-03-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/alarmRule") +public class BaseAlarmRuleController extends BaseController { + + private final IBaseAlarmRuleService baseAlarmRuleService; + + /** + * 查询报警规则列表 + */ + @SaCheckPermission("dms:alarmRule:list") + @GetMapping("/list") + public TableDataInfo list(BaseAlarmRuleBo bo, PageQuery pageQuery) { + return baseAlarmRuleService.queryPageList(bo, pageQuery); + } + + /** + * 导出报警规则列表 + */ + @SaCheckPermission("dms:alarmRule:export") + @Log(title = "报警规则", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BaseAlarmRuleBo bo, HttpServletResponse response) { + List list = baseAlarmRuleService.queryList(bo); + ExcelUtil.exportExcel(list, "报警规则", BaseAlarmRuleVo.class, response); + } + + /** + * 获取报警规则详细信息 + * + * @param alarmRuleId 主键 + */ + @SaCheckPermission("dms:alarmRule:query") + @GetMapping("/{alarmRuleId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long alarmRuleId) { + return R.ok(baseAlarmRuleService.queryById(alarmRuleId)); + } + + /** + * 新增报警规则 + */ + @SaCheckPermission("dms:alarmRule:add") + @Log(title = "报警规则", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BaseAlarmRuleBo bo) { + return toAjax(baseAlarmRuleService.insertByBo(bo)); + } + + /** + * 修改报警规则 + */ + @SaCheckPermission("dms:alarmRule:edit") + @Log(title = "报警规则", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BaseAlarmRuleBo bo) { + return toAjax(baseAlarmRuleService.updateByBo(bo)); + } + + /** + * 删除报警规则 + * + * @param alarmRuleIds 主键串 + */ + @SaCheckPermission("dms:alarmRule:remove") + @Log(title = "报警规则", businessType = BusinessType.DELETE) + @DeleteMapping("/{alarmRuleIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] alarmRuleIds) { + return toAjax(baseAlarmRuleService.deleteWithValidByIds(List.of(alarmRuleIds), true)); + } + + + /** + * 下拉框查询报警规则列表 + */ + + @GetMapping("/getBaseAlarmRuleList") + public R> getBaseAlarmRuleList(BaseAlarmRuleBo bo) { + List list = baseAlarmRuleService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmRuleLinkController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmRuleLinkController.java new file mode 100644 index 0000000..fa55a69 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmRuleLinkController.java @@ -0,0 +1,117 @@ +package org.dromara.dms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.dms.domain.vo.BaseAlarmRuleLinkVo; +import org.dromara.dms.domain.bo.BaseAlarmRuleLinkBo; +import org.dromara.dms.service.IBaseAlarmRuleLinkService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 报警规则联动信息 + * 前端访问路由地址为:/dms/alarmRuleLink + * + * @author Yinq + * @date 2025-03-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/alarmRuleLink") +public class BaseAlarmRuleLinkController extends BaseController { + + private final IBaseAlarmRuleLinkService baseAlarmRuleLinkService; + + /** + * 查询报警规则联动信息列表 + */ + @SaCheckPermission("dms:alarmRuleLink:list") + @GetMapping("/list") + public TableDataInfo list(BaseAlarmRuleLinkBo bo, PageQuery pageQuery) { + return baseAlarmRuleLinkService.queryPageList(bo, pageQuery); + } + + /** + * 导出报警规则联动信息列表 + */ + @SaCheckPermission("dms:alarmRuleLink:export") + @Log(title = "报警规则联动信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BaseAlarmRuleLinkBo bo, HttpServletResponse response) { + List list = baseAlarmRuleLinkService.queryList(bo); + ExcelUtil.exportExcel(list, "报警规则联动信息", BaseAlarmRuleLinkVo.class, response); + } + + /** + * 获取报警规则联动信息详细信息 + * + * @param ruleLinkId 主键 + */ + @SaCheckPermission("dms:alarmRuleLink:query") + @GetMapping("/{ruleLinkId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long ruleLinkId) { + return R.ok(baseAlarmRuleLinkService.queryById(ruleLinkId)); + } + + /** + * 新增报警规则联动信息 + */ + @SaCheckPermission("dms:alarmRuleLink:add") + @Log(title = "报警规则联动信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BaseAlarmRuleLinkBo bo) { + return toAjax(baseAlarmRuleLinkService.insertByBo(bo)); + } + + /** + * 修改报警规则联动信息 + */ + @SaCheckPermission("dms:alarmRuleLink:edit") + @Log(title = "报警规则联动信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BaseAlarmRuleLinkBo bo) { + return toAjax(baseAlarmRuleLinkService.updateByBo(bo)); + } + + /** + * 删除报警规则联动信息 + * + * @param ruleLinkIds 主键串 + */ + @SaCheckPermission("dms:alarmRuleLink:remove") + @Log(title = "报警规则联动信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ruleLinkIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ruleLinkIds) { + return toAjax(baseAlarmRuleLinkService.deleteWithValidByIds(List.of(ruleLinkIds), true)); + } + + + /** + * 下拉框查询报警规则联动信息列表 + */ + + @GetMapping("/getBaseAlarmRuleLinkList") + public R> getBaseAlarmRuleLinkList(BaseAlarmRuleLinkBo bo) { + List list = baseAlarmRuleLinkService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmTypeController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmTypeController.java new file mode 100644 index 0000000..950c781 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseAlarmTypeController.java @@ -0,0 +1,117 @@ +package org.dromara.dms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.dms.domain.vo.BaseAlarmTypeVo; +import org.dromara.dms.domain.bo.BaseAlarmTypeBo; +import org.dromara.dms.service.IBaseAlarmTypeService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 报警类型 + * 前端访问路由地址为:/dms/alarmType + * + * @author Yinq + * @date 2025-03-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/alarmType") +public class BaseAlarmTypeController extends BaseController { + + private final IBaseAlarmTypeService baseAlarmTypeService; + + /** + * 查询报警类型列表 + */ + @SaCheckPermission("dms:alarmType:list") + @GetMapping("/list") + public TableDataInfo list(BaseAlarmTypeBo bo, PageQuery pageQuery) { + return baseAlarmTypeService.queryPageList(bo, pageQuery); + } + + /** + * 导出报警类型列表 + */ + @SaCheckPermission("dms:alarmType:export") + @Log(title = "报警类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BaseAlarmTypeBo bo, HttpServletResponse response) { + List list = baseAlarmTypeService.queryList(bo); + ExcelUtil.exportExcel(list, "报警类型", BaseAlarmTypeVo.class, response); + } + + /** + * 获取报警类型详细信息 + * + * @param alarmTypeId 主键 + */ + @SaCheckPermission("dms:alarmType:query") + @GetMapping("/{alarmTypeId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long alarmTypeId) { + return R.ok(baseAlarmTypeService.queryById(alarmTypeId)); + } + + /** + * 新增报警类型 + */ + @SaCheckPermission("dms:alarmType:add") + @Log(title = "报警类型", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BaseAlarmTypeBo bo) { + return toAjax(baseAlarmTypeService.insertByBo(bo)); + } + + /** + * 修改报警类型 + */ + @SaCheckPermission("dms:alarmType:edit") + @Log(title = "报警类型", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BaseAlarmTypeBo bo) { + return toAjax(baseAlarmTypeService.updateByBo(bo)); + } + + /** + * 删除报警类型 + * + * @param alarmTypeIds 主键串 + */ + @SaCheckPermission("dms:alarmType:remove") + @Log(title = "报警类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{alarmTypeIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] alarmTypeIds) { + return toAjax(baseAlarmTypeService.deleteWithValidByIds(List.of(alarmTypeIds), true)); + } + + + /** + * 下拉框查询报警类型列表 + */ + + @GetMapping("/getBaseAlarmTypeList") + public R> getBaseAlarmTypeList(BaseAlarmTypeBo bo) { + List list = baseAlarmTypeService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmLevel.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmLevel.java new file mode 100644 index 0000000..e86c484 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmLevel.java @@ -0,0 +1,57 @@ +package org.dromara.dms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 报警级别对象 base_alarm_level + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("base_alarm_level") +public class BaseAlarmLevel extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 报警级别ID + */ + @TableId(value = "alarm_level_id", type = IdType.AUTO) + private Long alarmLevelId; + + /** + * 报警级别名称 + */ + private String alarmLevelName; + + /** + * 严重程度(数字越大,级别越高) + */ + private Long levelNumber; + + /** + * 状态(1、正常,9、删除) + */ + @TableLogic(value="1", delval="9") + private String levelStatus; + + /** + * 默认通知方式(1、邮箱,2、短信,3、钉钉,4、微信公众号,5、企业微信),多个保存用,隔开。 + */ + private String defaultNotifyMode; + + /** + * 描述 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRule.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRule.java new file mode 100644 index 0000000..5df1a28 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRule.java @@ -0,0 +1,116 @@ +package org.dromara.dms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 报警规则对象 base_alarm_rule + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("base_alarm_rule") +public class BaseAlarmRule extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 报警规则ID,主键 + */ + @TableId(value = "alarm_rule_id", type = IdType.AUTO) + private Long alarmRuleId; + + /** + * 规则名称 + */ + private String alarmRuleName; + + /** + * 报警级别,关联表hw_alarm_level字段alarm_level_id + */ + private Long alarmLevelId; + + /** + * 报警类型,关联表hw_alarm_type字段alarm_type_id + */ + private Long alarmTypeId; + + /** + * 规则类型(1、设备模型,2、设备) + */ + private String ruleType; + + /** + * 关联表hw_device字段device_id。 + */ + private Long ruleDeviceId; + + /** + * 关联表hw_device_mode字段device_mode_id; + */ + private Long ruleDeviceModeId; + + /** + * 一共有几个属性规则 + */ + private Long ruleFunctionTotal; + + /** + * 表达式,例如:{}>60 or {}<-88 + */ + private String triggerExpression; + + /** + * 联动标识(1、是,0、否) + */ + private String linkFlag; + + /** + * 报警启用状态(1、是,0、否) + */ + private String alarmRuleStatus; + + /** + * 报警推送标识(1、是,0、否) + */ + private String alarmPushFlag; + + /** + * 报警推送内容 + */ + private String alarmPushContent; + + /** + * 恢复正常推送内容 + */ + private String alarmRecoverContent; + + /** + * 时间范围(单位:秒) + */ + private Long triggerTimeFrame; + + /** + * 触发阈值次数 + */ + private Long triggerNumber; + + /** + * 触发死区 + */ + private Long triggerDeadzone; + + /** + * 描述 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRuleLink.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRuleLink.java new file mode 100644 index 0000000..7273b87 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRuleLink.java @@ -0,0 +1,66 @@ +package org.dromara.dms.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 报警规则联动信息对象 base_alarm_rule_link + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("base_alarm_rule_link") +public class BaseAlarmRuleLink extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 报警规则关联ID,主键 + */ + @TableId(value = "rule_link_id", type = IdType.AUTO) + private Long ruleLinkId; + + /** + * 报警规则类型(1=设备报警规则,2=离线报警规则) + */ + private String alarmRuleType; + + /** + * 报警规则ID,关联hw_alarm_rule的alarm_rule_id + */ + private Long alarmRuleId; + + /** + * 联动类型(1、控制,2、采集) + */ + private String linkType; + + /** + * 联动设备,关联表hw_device字段device_id + */ + private Long linkDeviceId; + + /** + * 联动设备功能,关联表hw_device_mode_function字段mode_function_id + */ + private Long linkDeviceFunctionId; + + /** + * 标识符(支持大小写字母、数字和下划线,对外暂时不超过30个字符) + */ + private String linkDeviceFunctionIdentifier; + + /** + * 联动设备服务的参数值,json格式保存 + */ + private String linkDeviceFunctionData; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmType.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmType.java new file mode 100644 index 0000000..157c7f1 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmType.java @@ -0,0 +1,62 @@ +package org.dromara.dms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 报警类型对象 base_alarm_type + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("base_alarm_type") +public class BaseAlarmType extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 报警类型ID + */ + @TableId(value = "alarm_type_id", type = IdType.AUTO) + private Long alarmTypeId; + + /** + * 报警类型编号 + */ + private String alarmTypeCode; + + /** + * 报警类型名称 + */ + private String alarmTypeName; + + /** + * 设备大类ID + */ + private Long deviceCategoryId; + + /** + * 设备类型ID + */ + private Long deviceTypeId; + + /** + * 状态(1、正常,9、删除) + */ + @TableLogic(value="1", delval="9") + private String typeStatus; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmLevelBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmLevelBo.java new file mode 100644 index 0000000..931e948 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmLevelBo.java @@ -0,0 +1,56 @@ +package org.dromara.dms.domain.bo; + +import org.dromara.dms.domain.BaseAlarmLevel; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 报警级别业务对象 base_alarm_level + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BaseAlarmLevel.class, reverseConvertGenerate = false) +public class BaseAlarmLevelBo extends BaseEntity { + + /** + * 报警级别ID + */ + private Long alarmLevelId; + + /** + * 报警级别名称 + */ + @NotBlank(message = "报警级别名称不能为空", groups = {AddGroup.class, EditGroup.class}) + private String alarmLevelName; + + /** + * 严重程度(数字越大,级别越高) + */ + private Long levelNumber; + + /** + * 状态(1、正常,9、删除) + */ + private String levelStatus; + + /** + * 默认通知方式(1、邮箱,2、短信,3、钉钉,4、微信公众号,5、企业微信),多个保存用,隔开。 + */ + @NotBlank(message = "默认通知方式(1、邮箱,2、短信,3、钉钉,4、微信公众号,5、企业微信),多个保存用,隔开。不能为空", groups = {AddGroup.class, EditGroup.class}) + private String defaultNotifyMode; + + /** + * 描述 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleBo.java new file mode 100644 index 0000000..da27ed2 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleBo.java @@ -0,0 +1,117 @@ +package org.dromara.dms.domain.bo; + +import org.dromara.dms.domain.BaseAlarmRule; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 报警规则业务对象 base_alarm_rule + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BaseAlarmRule.class, reverseConvertGenerate = false) +public class BaseAlarmRuleBo extends BaseEntity { + + /** + * 报警规则ID,主键 + */ + private Long alarmRuleId; + + /** + * 规则名称 + */ + @NotBlank(message = "规则名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String alarmRuleName; + + /** + * 报警级别,关联表hw_alarm_level字段alarm_level_id + */ + @NotNull(message = "报警级别,关联表hw_alarm_level字段alarm_level_id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long alarmLevelId; + + /** + * 报警类型,关联表hw_alarm_type字段alarm_type_id + */ + @NotNull(message = "报警类型,关联表hw_alarm_type字段alarm_type_id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long alarmTypeId; + + /** + * 规则类型(1、设备模型,2、设备) + */ + private String ruleType; + + /** + * 关联表hw_device字段device_id。 + */ + private Long ruleDeviceId; + + /** + * 关联表hw_device_mode字段device_mode_id; + */ + private Long ruleDeviceModeId; + + /** + * 一共有几个属性规则 + */ + private Long ruleFunctionTotal; + + /** + * 表达式,例如:{}>60 or {}<-88 + */ + private String triggerExpression; + + /** + * 联动标识(1、是,0、否) + */ + private String linkFlag; + + /** + * 报警启用状态(1、是,0、否) + */ + private String alarmRuleStatus; + + /** + * 报警推送标识(1、是,0、否) + */ + private String alarmPushFlag; + + /** + * 报警推送内容 + */ + private String alarmPushContent; + + /** + * 恢复正常推送内容 + */ + private String alarmRecoverContent; + + /** + * 时间范围(单位:秒) + */ + private Long triggerTimeFrame; + + /** + * 触发阈值次数 + */ + private Long triggerNumber; + + /** + * 触发死区 + */ + private Long triggerDeadzone; + + /** + * 描述 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleLinkBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleLinkBo.java new file mode 100644 index 0000000..cd7ac0b --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleLinkBo.java @@ -0,0 +1,68 @@ +package org.dromara.dms.domain.bo; + +import org.dromara.dms.domain.BaseAlarmRuleLink; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 报警规则联动信息业务对象 base_alarm_rule_link + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BaseAlarmRuleLink.class, reverseConvertGenerate = false) +public class BaseAlarmRuleLinkBo extends BaseEntity { + + /** + * 报警规则关联ID,主键 + */ + private Long ruleLinkId; + + /** + * 报警规则类型(1=设备报警规则,2=离线报警规则) + */ + @NotBlank(message = "报警规则类型(1=设备报警规则,2=离线报警规则)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String alarmRuleType; + + /** + * 报警规则ID,关联hw_alarm_rule的alarm_rule_id + */ + @NotNull(message = "报警规则ID,关联hw_alarm_rule的alarm_rule_id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long alarmRuleId; + + /** + * 联动类型(1、控制,2、采集) + */ + @NotBlank(message = "联动类型(1、控制,2、采集)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String linkType; + + /** + * 联动设备,关联表hw_device字段device_id + */ + @NotNull(message = "联动设备,关联表hw_device字段device_id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long linkDeviceId; + + /** + * 联动设备功能,关联表hw_device_mode_function字段mode_function_id + */ + private Long linkDeviceFunctionId; + + /** + * 标识符(支持大小写字母、数字和下划线,对外暂时不超过30个字符) + */ + private String linkDeviceFunctionIdentifier; + + /** + * 联动设备服务的参数值,json格式保存 + */ + private String linkDeviceFunctionData; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmTypeBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmTypeBo.java new file mode 100644 index 0000000..d0ba09d --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmTypeBo.java @@ -0,0 +1,61 @@ +package org.dromara.dms.domain.bo; + +import org.dromara.dms.domain.BaseAlarmType; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 报警类型业务对象 base_alarm_type + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BaseAlarmType.class, reverseConvertGenerate = false) +public class BaseAlarmTypeBo extends BaseEntity { + + /** + * 报警类型ID + */ + private Long alarmTypeId; + + /** + * 报警类型编号 + */ + @NotBlank(message = "报警类型编号不能为空", groups = {AddGroup.class, EditGroup.class}) + private String alarmTypeCode; + + /** + * 报警类型名称 + */ + @NotBlank(message = "报警类型名称不能为空", groups = {AddGroup.class, EditGroup.class}) + private String alarmTypeName; + + /** + * 设备大类ID + */ + private Long deviceCategoryId; + + /** + * 设备类型ID + */ + private Long deviceTypeId; + + /** + * 状态(1、正常,9、删除) + */ + private String typeStatus; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmLevelVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmLevelVo.java new file mode 100644 index 0000000..f3f63fb --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmLevelVo.java @@ -0,0 +1,71 @@ +package org.dromara.dms.domain.vo; + +import org.dromara.dms.domain.BaseAlarmLevel; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 报警级别视图对象 base_alarm_level + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BaseAlarmLevel.class) +public class BaseAlarmLevelVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 报警级别ID + */ + @ExcelProperty(value = "报警级别ID") + private Long alarmLevelId; + + /** + * 报警级别名称 + */ + @ExcelProperty(value = "报警级别名称") + private String alarmLevelName; + + /** + * 严重程度(数字越大,级别越高) + */ + @ExcelProperty(value = "严重程度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "数=字越大,级别越高") + private Long levelNumber; + + /** + * 状态(1、正常,9、删除) + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "dms_level_status") + private String levelStatus; + + /** + * 默认通知方式(1、邮箱,2、短信,3、钉钉,4、微信公众号,5、企业微信),多个保存用,隔开。 + */ + @ExcelProperty(value = "默认通知方式", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "dms_default_notify_mode") + private String defaultNotifyMode; + + /** + * 描述 + */ + @ExcelProperty(value = "描述") + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleLinkVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleLinkVo.java new file mode 100644 index 0000000..a088171 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleLinkVo.java @@ -0,0 +1,83 @@ +package org.dromara.dms.domain.vo; + +import org.dromara.dms.domain.BaseAlarmRuleLink; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 报警规则联动信息视图对象 base_alarm_rule_link + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BaseAlarmRuleLink.class) +public class BaseAlarmRuleLinkVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 报警规则关联ID,主键 + */ + @ExcelProperty(value = "报警规则关联ID,主键") + private Long ruleLinkId; + + /** + * 报警规则类型(1=设备报警规则,2=离线报警规则) + */ + @ExcelProperty(value = "报警规则类型(1=设备报警规则,2=离线报警规则)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "dms_alarm_rule_type") + private String alarmRuleType; + + /** + * 报警规则ID,关联hw_alarm_rule的alarm_rule_id + */ + @ExcelProperty(value = "报警规则ID,关联hw_alarm_rule的alarm_rule_id") + private Long alarmRuleId; + + /** + * 联动类型(1、控制,2、采集) + */ + @ExcelProperty(value = "联动类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "dms_link_type") + private String linkType; + + /** + * 联动设备,关联表hw_device字段device_id + */ + @ExcelProperty(value = "联动设备,关联表hw_device字段device_id") + private Long linkDeviceId; + + /** + * 联动设备功能,关联表hw_device_mode_function字段mode_function_id + */ + @ExcelProperty(value = "联动设备功能,关联表hw_device_mode_function字段mode_function_id") + private Long linkDeviceFunctionId; + + /** + * 标识符(支持大小写字母、数字和下划线,对外暂时不超过30个字符) + */ + @ExcelProperty(value = "标识符", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "支=持大小写字母、数字和下划线,对外暂时不超过30个字符") + private String linkDeviceFunctionIdentifier; + + /** + * 联动设备服务的参数值,json格式保存 + */ + @ExcelProperty(value = "联动设备服务的参数值,json格式保存") + private String linkDeviceFunctionData; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleVo.java new file mode 100644 index 0000000..78694bd --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleVo.java @@ -0,0 +1,145 @@ +package org.dromara.dms.domain.vo; + +import org.dromara.dms.domain.BaseAlarmRule; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 报警规则视图对象 base_alarm_rule + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BaseAlarmRule.class) +public class BaseAlarmRuleVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 报警规则ID,主键 + */ + @ExcelProperty(value = "报警规则ID,主键") + private Long alarmRuleId; + + /** + * 规则名称 + */ + @ExcelProperty(value = "规则名称") + private String alarmRuleName; + + /** + * 报警级别,关联表hw_alarm_level字段alarm_level_id + */ + @ExcelProperty(value = "报警级别,关联表hw_alarm_level字段alarm_level_id") + private Long alarmLevelId; + + /** + * 报警类型,关联表hw_alarm_type字段alarm_type_id + */ + @ExcelProperty(value = "报警类型,关联表hw_alarm_type字段alarm_type_id") + private Long alarmTypeId; + + /** + * 规则类型(1、设备模型,2、设备) + */ + @ExcelProperty(value = "规则类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "dms_rule_type") + private String ruleType; + + /** + * 关联表hw_device字段device_id。 + */ + @ExcelProperty(value = "关联表hw_device字段device_id。") + private Long ruleDeviceId; + + /** + * 关联表hw_device_mode字段device_mode_id; + */ + @ExcelProperty(value = "关联表hw_device_mode字段device_mode_id;") + private Long ruleDeviceModeId; + + /** + * 一共有几个属性规则 + */ + @ExcelProperty(value = "一共有几个属性规则") + private Long ruleFunctionTotal; + + /** + * 表达式,例如:{}>60 or {}<-88 + */ + @ExcelProperty(value = "表达式,例如:{}>60 or {}<-88") + private String triggerExpression; + + /** + * 联动标识(1、是,0、否) + */ + @ExcelProperty(value = "联动标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String linkFlag; + + /** + * 报警启用状态(1、是,0、否) + */ + @ExcelProperty(value = "报警启用状态(1、是,0、否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String alarmRuleStatus; + + /** + * 报警推送标识(1、是,0、否) + */ + @ExcelProperty(value = "报警推送标识(1、是,0、否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String alarmPushFlag; + + /** + * 报警推送内容 + */ + @ExcelProperty(value = "报警推送内容") + private String alarmPushContent; + + /** + * 恢复正常推送内容 + */ + @ExcelProperty(value = "恢复正常推送内容") + private String alarmRecoverContent; + + /** + * 时间范围(单位:秒) + */ + @ExcelProperty(value = "时间范围", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "单=位:秒") + private Long triggerTimeFrame; + + /** + * 触发阈值次数 + */ + @ExcelProperty(value = "触发阈值次数") + private Long triggerNumber; + + /** + * 触发死区 + */ + @ExcelProperty(value = "触发死区") + private Long triggerDeadzone; + + /** + * 描述 + */ + @ExcelProperty(value = "描述") + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmTypeVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmTypeVo.java new file mode 100644 index 0000000..057325e --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmTypeVo.java @@ -0,0 +1,75 @@ +package org.dromara.dms.domain.vo; + +import org.dromara.dms.domain.BaseAlarmType; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 报警类型视图对象 base_alarm_type + * + * @author Yinq + * @date 2025-03-17 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BaseAlarmType.class) +public class BaseAlarmTypeVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 报警类型ID + */ + @ExcelProperty(value = "报警类型ID") + private Long alarmTypeId; + + /** + * 报警类型编号 + */ + @ExcelProperty(value = "报警类型编号") + private String alarmTypeCode; + + /** + * 报警类型名称 + */ + @ExcelProperty(value = "报警类型名称") + private String alarmTypeName; + + /** + * 设备大类ID + */ + @ExcelProperty(value = "设备大类ID") + private Long deviceCategoryId; + + /** + * 设备类型ID + */ + @ExcelProperty(value = "设备类型ID") + private Long deviceTypeId; + + /** + * 状态(1、正常,9、删除) + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "dms_level_status") + private String typeStatus; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmLevelMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmLevelMapper.java new file mode 100644 index 0000000..4fb6adc --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmLevelMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.dms.domain.BaseAlarmLevel; +import org.dromara.dms.domain.vo.BaseAlarmLevelVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 报警级别Mapper接口 + * + * @author Yinq + * @date 2025-03-17 + */ +public interface BaseAlarmLevelMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmRuleLinkMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmRuleLinkMapper.java new file mode 100644 index 0000000..51a3557 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmRuleLinkMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.dms.domain.BaseAlarmRuleLink; +import org.dromara.dms.domain.vo.BaseAlarmRuleLinkVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 报警规则联动信息Mapper接口 + * + * @author Yinq + * @date 2025-03-17 + */ +public interface BaseAlarmRuleLinkMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmRuleMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmRuleMapper.java new file mode 100644 index 0000000..536814d --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmRuleMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.dms.domain.BaseAlarmRule; +import org.dromara.dms.domain.vo.BaseAlarmRuleVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 报警规则Mapper接口 + * + * @author Yinq + * @date 2025-03-17 + */ +public interface BaseAlarmRuleMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmTypeMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmTypeMapper.java new file mode 100644 index 0000000..c73ce9d --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseAlarmTypeMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.dms.domain.BaseAlarmType; +import org.dromara.dms.domain.vo.BaseAlarmTypeVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 报警类型Mapper接口 + * + * @author Yinq + * @date 2025-03-17 + */ +public interface BaseAlarmTypeMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmLevelService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmLevelService.java new file mode 100644 index 0000000..f4efd57 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmLevelService.java @@ -0,0 +1,69 @@ +package org.dromara.dms.service; + +import org.dromara.dms.domain.BaseAlarmLevel; +import org.dromara.dms.domain.vo.BaseAlarmLevelVo; +import org.dromara.dms.domain.bo.BaseAlarmLevelBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 报警级别Service接口 + * + * @author Yinq + * @date 2025-03-17 + */ +public interface IBaseAlarmLevelService { + + /** + * 查询报警级别 + * + * @param alarmLevelId 主键 + * @return 报警级别 + */ + BaseAlarmLevelVo queryById(Long alarmLevelId); + + /** + * 分页查询报警级别列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 报警级别分页列表 + */ + TableDataInfo queryPageList(BaseAlarmLevelBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的报警级别列表 + * + * @param bo 查询条件 + * @return 报警级别列表 + */ + List queryList(BaseAlarmLevelBo bo); + + /** + * 新增报警级别 + * + * @param bo 报警级别 + * @return 是否新增成功 + */ + Boolean insertByBo(BaseAlarmLevelBo bo); + + /** + * 修改报警级别 + * + * @param bo 报警级别 + * @return 是否修改成功 + */ + Boolean updateByBo(BaseAlarmLevelBo bo); + + /** + * 校验并批量删除报警级别信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmRuleLinkService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmRuleLinkService.java new file mode 100644 index 0000000..d099d51 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmRuleLinkService.java @@ -0,0 +1,69 @@ +package org.dromara.dms.service; + +import org.dromara.dms.domain.BaseAlarmRuleLink; +import org.dromara.dms.domain.vo.BaseAlarmRuleLinkVo; +import org.dromara.dms.domain.bo.BaseAlarmRuleLinkBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 报警规则联动信息Service接口 + * + * @author Yinq + * @date 2025-03-17 + */ +public interface IBaseAlarmRuleLinkService { + + /** + * 查询报警规则联动信息 + * + * @param ruleLinkId 主键 + * @return 报警规则联动信息 + */ + BaseAlarmRuleLinkVo queryById(Long ruleLinkId); + + /** + * 分页查询报警规则联动信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 报警规则联动信息分页列表 + */ + TableDataInfo queryPageList(BaseAlarmRuleLinkBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的报警规则联动信息列表 + * + * @param bo 查询条件 + * @return 报警规则联动信息列表 + */ + List queryList(BaseAlarmRuleLinkBo bo); + + /** + * 新增报警规则联动信息 + * + * @param bo 报警规则联动信息 + * @return 是否新增成功 + */ + Boolean insertByBo(BaseAlarmRuleLinkBo bo); + + /** + * 修改报警规则联动信息 + * + * @param bo 报警规则联动信息 + * @return 是否修改成功 + */ + Boolean updateByBo(BaseAlarmRuleLinkBo bo); + + /** + * 校验并批量删除报警规则联动信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmRuleService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmRuleService.java new file mode 100644 index 0000000..410bbe6 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmRuleService.java @@ -0,0 +1,69 @@ +package org.dromara.dms.service; + +import org.dromara.dms.domain.BaseAlarmRule; +import org.dromara.dms.domain.vo.BaseAlarmRuleVo; +import org.dromara.dms.domain.bo.BaseAlarmRuleBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 报警规则Service接口 + * + * @author Yinq + * @date 2025-03-17 + */ +public interface IBaseAlarmRuleService { + + /** + * 查询报警规则 + * + * @param alarmRuleId 主键 + * @return 报警规则 + */ + BaseAlarmRuleVo queryById(Long alarmRuleId); + + /** + * 分页查询报警规则列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 报警规则分页列表 + */ + TableDataInfo queryPageList(BaseAlarmRuleBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的报警规则列表 + * + * @param bo 查询条件 + * @return 报警规则列表 + */ + List queryList(BaseAlarmRuleBo bo); + + /** + * 新增报警规则 + * + * @param bo 报警规则 + * @return 是否新增成功 + */ + Boolean insertByBo(BaseAlarmRuleBo bo); + + /** + * 修改报警规则 + * + * @param bo 报警规则 + * @return 是否修改成功 + */ + Boolean updateByBo(BaseAlarmRuleBo bo); + + /** + * 校验并批量删除报警规则信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmTypeService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmTypeService.java new file mode 100644 index 0000000..ba8e4ad --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseAlarmTypeService.java @@ -0,0 +1,69 @@ +package org.dromara.dms.service; + +import org.dromara.dms.domain.BaseAlarmType; +import org.dromara.dms.domain.vo.BaseAlarmTypeVo; +import org.dromara.dms.domain.bo.BaseAlarmTypeBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 报警类型Service接口 + * + * @author Yinq + * @date 2025-03-17 + */ +public interface IBaseAlarmTypeService { + + /** + * 查询报警类型 + * + * @param alarmTypeId 主键 + * @return 报警类型 + */ + BaseAlarmTypeVo queryById(Long alarmTypeId); + + /** + * 分页查询报警类型列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 报警类型分页列表 + */ + TableDataInfo queryPageList(BaseAlarmTypeBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的报警类型列表 + * + * @param bo 查询条件 + * @return 报警类型列表 + */ + List queryList(BaseAlarmTypeBo bo); + + /** + * 新增报警类型 + * + * @param bo 报警类型 + * @return 是否新增成功 + */ + Boolean insertByBo(BaseAlarmTypeBo bo); + + /** + * 修改报警类型 + * + * @param bo 报警类型 + * @return 是否修改成功 + */ + Boolean updateByBo(BaseAlarmTypeBo bo); + + /** + * 校验并批量删除报警类型信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmLevelServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmLevelServiceImpl.java new file mode 100644 index 0000000..a55bbb1 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmLevelServiceImpl.java @@ -0,0 +1,136 @@ +package org.dromara.dms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.dms.domain.bo.BaseAlarmLevelBo; +import org.dromara.dms.domain.vo.BaseAlarmLevelVo; +import org.dromara.dms.domain.BaseAlarmLevel; +import org.dromara.dms.mapper.BaseAlarmLevelMapper; +import org.dromara.dms.service.IBaseAlarmLevelService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 报警级别Service业务层处理 + * + * @author Yinq + * @date 2025-03-17 + */ +@RequiredArgsConstructor +@Service +public class BaseAlarmLevelServiceImpl implements IBaseAlarmLevelService { + + private final BaseAlarmLevelMapper baseMapper; + + /** + * 查询报警级别 + * + * @param alarmLevelId 主键 + * @return 报警级别 + */ + @Override + public BaseAlarmLevelVo queryById(Long alarmLevelId){ + return baseMapper.selectVoById(alarmLevelId); + } + + /** + * 分页查询报警级别列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 报警级别分页列表 + */ + @Override + public TableDataInfo queryPageList(BaseAlarmLevelBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的报警级别列表 + * + * @param bo 查询条件 + * @return 报警级别列表 + */ + @Override + public List queryList(BaseAlarmLevelBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(BaseAlarmLevelBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseAlarmLevel.class) + .selectAll(BaseAlarmLevel.class) + .eq(bo.getAlarmLevelId() != null, BaseAlarmLevel::getAlarmLevelId, bo.getAlarmLevelId()) + .like(StringUtils.isNotBlank(bo.getAlarmLevelName()), BaseAlarmLevel::getAlarmLevelName, bo.getAlarmLevelName()) + .eq(bo.getLevelNumber() != null, BaseAlarmLevel::getLevelNumber, bo.getLevelNumber()) + .eq(StringUtils.isNotBlank(bo.getLevelStatus()), BaseAlarmLevel::getLevelStatus, bo.getLevelStatus()) + .eq(StringUtils.isNotBlank(bo.getDefaultNotifyMode()), BaseAlarmLevel::getDefaultNotifyMode, bo.getDefaultNotifyMode()) + .orderByAsc(BaseAlarmLevel::getCreateTime); + return lqw; + } + + /** + * 新增报警级别 + * + * @param bo 报警级别 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BaseAlarmLevelBo bo) { + BaseAlarmLevel add = MapstructUtils.convert(bo, BaseAlarmLevel.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setAlarmLevelId(add.getAlarmLevelId()); + } + return flag; + } + + /** + * 修改报警级别 + * + * @param bo 报警级别 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BaseAlarmLevelBo bo) { + BaseAlarmLevel update = MapstructUtils.convert(bo, BaseAlarmLevel.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BaseAlarmLevel entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除报警级别信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleLinkServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleLinkServiceImpl.java new file mode 100644 index 0000000..fae2e9b --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleLinkServiceImpl.java @@ -0,0 +1,139 @@ +package org.dromara.dms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.dms.domain.bo.BaseAlarmRuleLinkBo; +import org.dromara.dms.domain.vo.BaseAlarmRuleLinkVo; +import org.dromara.dms.domain.BaseAlarmRuleLink; +import org.dromara.dms.mapper.BaseAlarmRuleLinkMapper; +import org.dromara.dms.service.IBaseAlarmRuleLinkService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 报警规则联动信息Service业务层处理 + * + * @author Yinq + * @date 2025-03-17 + */ +@RequiredArgsConstructor +@Service +public class BaseAlarmRuleLinkServiceImpl implements IBaseAlarmRuleLinkService { + + private final BaseAlarmRuleLinkMapper baseMapper; + + /** + * 查询报警规则联动信息 + * + * @param ruleLinkId 主键 + * @return 报警规则联动信息 + */ + @Override + public BaseAlarmRuleLinkVo queryById(Long ruleLinkId){ + return baseMapper.selectVoById(ruleLinkId); + } + + /** + * 分页查询报警规则联动信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 报警规则联动信息分页列表 + */ + @Override + public TableDataInfo queryPageList(BaseAlarmRuleLinkBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的报警规则联动信息列表 + * + * @param bo 查询条件 + * @return 报警规则联动信息列表 + */ + @Override + public List queryList(BaseAlarmRuleLinkBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(BaseAlarmRuleLinkBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseAlarmRuleLink.class) + .selectAll(BaseAlarmRuleLink.class) + .eq(bo.getRuleLinkId() != null, BaseAlarmRuleLink::getRuleLinkId, bo.getRuleLinkId()) + .eq(StringUtils.isNotBlank(bo.getAlarmRuleType()), BaseAlarmRuleLink::getAlarmRuleType, bo.getAlarmRuleType()) + .eq(bo.getAlarmRuleId() != null, BaseAlarmRuleLink::getAlarmRuleId, bo.getAlarmRuleId()) + .eq(StringUtils.isNotBlank(bo.getLinkType()), BaseAlarmRuleLink::getLinkType, bo.getLinkType()) + .eq(bo.getLinkDeviceId() != null, BaseAlarmRuleLink::getLinkDeviceId, bo.getLinkDeviceId()) + .eq(bo.getLinkDeviceFunctionId() != null, BaseAlarmRuleLink::getLinkDeviceFunctionId, bo.getLinkDeviceFunctionId()) + .eq(StringUtils.isNotBlank(bo.getLinkDeviceFunctionIdentifier()), BaseAlarmRuleLink::getLinkDeviceFunctionIdentifier, bo.getLinkDeviceFunctionIdentifier()) + .eq(StringUtils.isNotBlank(bo.getLinkDeviceFunctionData()), BaseAlarmRuleLink::getLinkDeviceFunctionData, bo.getLinkDeviceFunctionData()) + .orderByDesc(BaseAlarmRuleLink::getCreateTime); + return lqw; + } + + /** + * 新增报警规则联动信息 + * + * @param bo 报警规则联动信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BaseAlarmRuleLinkBo bo) { + BaseAlarmRuleLink add = MapstructUtils.convert(bo, BaseAlarmRuleLink.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setRuleLinkId(add.getRuleLinkId()); + } + return flag; + } + + /** + * 修改报警规则联动信息 + * + * @param bo 报警规则联动信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BaseAlarmRuleLinkBo bo) { + BaseAlarmRuleLink update = MapstructUtils.convert(bo, BaseAlarmRuleLink.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BaseAlarmRuleLink entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除报警规则联动信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleServiceImpl.java new file mode 100644 index 0000000..ec2c60d --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleServiceImpl.java @@ -0,0 +1,148 @@ +package org.dromara.dms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.dms.domain.bo.BaseAlarmRuleBo; +import org.dromara.dms.domain.vo.BaseAlarmRuleVo; +import org.dromara.dms.domain.BaseAlarmRule; +import org.dromara.dms.mapper.BaseAlarmRuleMapper; +import org.dromara.dms.service.IBaseAlarmRuleService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 报警规则Service业务层处理 + * + * @author Yinq + * @date 2025-03-17 + */ +@RequiredArgsConstructor +@Service +public class BaseAlarmRuleServiceImpl implements IBaseAlarmRuleService { + + private final BaseAlarmRuleMapper baseMapper; + + /** + * 查询报警规则 + * + * @param alarmRuleId 主键 + * @return 报警规则 + */ + @Override + public BaseAlarmRuleVo queryById(Long alarmRuleId){ + return baseMapper.selectVoById(alarmRuleId); + } + + /** + * 分页查询报警规则列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 报警规则分页列表 + */ + @Override + public TableDataInfo queryPageList(BaseAlarmRuleBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的报警规则列表 + * + * @param bo 查询条件 + * @return 报警规则列表 + */ + @Override + public List queryList(BaseAlarmRuleBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(BaseAlarmRuleBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseAlarmRule.class) + .selectAll(BaseAlarmRule.class) + .eq(bo.getAlarmRuleId() != null, BaseAlarmRule::getAlarmRuleId, bo.getAlarmRuleId()) + .like(StringUtils.isNotBlank(bo.getAlarmRuleName()), BaseAlarmRule::getAlarmRuleName, bo.getAlarmRuleName()) + .eq(bo.getAlarmLevelId() != null, BaseAlarmRule::getAlarmLevelId, bo.getAlarmLevelId()) + .eq(bo.getAlarmTypeId() != null, BaseAlarmRule::getAlarmTypeId, bo.getAlarmTypeId()) + .eq(StringUtils.isNotBlank(bo.getRuleType()), BaseAlarmRule::getRuleType, bo.getRuleType()) + .eq(bo.getRuleDeviceId() != null, BaseAlarmRule::getRuleDeviceId, bo.getRuleDeviceId()) + .eq(bo.getRuleDeviceModeId() != null, BaseAlarmRule::getRuleDeviceModeId, bo.getRuleDeviceModeId()) + .eq(bo.getRuleFunctionTotal() != null, BaseAlarmRule::getRuleFunctionTotal, bo.getRuleFunctionTotal()) + .eq(StringUtils.isNotBlank(bo.getTriggerExpression()), BaseAlarmRule::getTriggerExpression, bo.getTriggerExpression()) + .eq(StringUtils.isNotBlank(bo.getLinkFlag()), BaseAlarmRule::getLinkFlag, bo.getLinkFlag()) + .eq(StringUtils.isNotBlank(bo.getAlarmRuleStatus()), BaseAlarmRule::getAlarmRuleStatus, bo.getAlarmRuleStatus()) + .eq(StringUtils.isNotBlank(bo.getAlarmPushFlag()), BaseAlarmRule::getAlarmPushFlag, bo.getAlarmPushFlag()) + .eq(StringUtils.isNotBlank(bo.getAlarmPushContent()), BaseAlarmRule::getAlarmPushContent, bo.getAlarmPushContent()) + .eq(StringUtils.isNotBlank(bo.getAlarmRecoverContent()), BaseAlarmRule::getAlarmRecoverContent, bo.getAlarmRecoverContent()) + .eq(bo.getTriggerTimeFrame() != null, BaseAlarmRule::getTriggerTimeFrame, bo.getTriggerTimeFrame()) + .eq(bo.getTriggerNumber() != null, BaseAlarmRule::getTriggerNumber, bo.getTriggerNumber()) + .eq(bo.getTriggerDeadzone() != null, BaseAlarmRule::getTriggerDeadzone, bo.getTriggerDeadzone()) + .orderByAsc(BaseAlarmRule::getCreateTime); + return lqw; + } + + /** + * 新增报警规则 + * + * @param bo 报警规则 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BaseAlarmRuleBo bo) { + BaseAlarmRule add = MapstructUtils.convert(bo, BaseAlarmRule.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setAlarmRuleId(add.getAlarmRuleId()); + } + return flag; + } + + /** + * 修改报警规则 + * + * @param bo 报警规则 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BaseAlarmRuleBo bo) { + BaseAlarmRule update = MapstructUtils.convert(bo, BaseAlarmRule.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BaseAlarmRule entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除报警规则信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmTypeServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmTypeServiceImpl.java new file mode 100644 index 0000000..a2f78b4 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmTypeServiceImpl.java @@ -0,0 +1,137 @@ +package org.dromara.dms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.dms.domain.bo.BaseAlarmTypeBo; +import org.dromara.dms.domain.vo.BaseAlarmTypeVo; +import org.dromara.dms.domain.BaseAlarmType; +import org.dromara.dms.mapper.BaseAlarmTypeMapper; +import org.dromara.dms.service.IBaseAlarmTypeService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 报警类型Service业务层处理 + * + * @author Yinq + * @date 2025-03-17 + */ +@RequiredArgsConstructor +@Service +public class BaseAlarmTypeServiceImpl implements IBaseAlarmTypeService { + + private final BaseAlarmTypeMapper baseMapper; + + /** + * 查询报警类型 + * + * @param alarmTypeId 主键 + * @return 报警类型 + */ + @Override + public BaseAlarmTypeVo queryById(Long alarmTypeId){ + return baseMapper.selectVoById(alarmTypeId); + } + + /** + * 分页查询报警类型列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 报警类型分页列表 + */ + @Override + public TableDataInfo queryPageList(BaseAlarmTypeBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的报警类型列表 + * + * @param bo 查询条件 + * @return 报警类型列表 + */ + @Override + public List queryList(BaseAlarmTypeBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(BaseAlarmTypeBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseAlarmType.class) + .selectAll(BaseAlarmType.class) + .eq(bo.getAlarmTypeId() != null, BaseAlarmType::getAlarmTypeId, bo.getAlarmTypeId()) + .eq(StringUtils.isNotBlank(bo.getAlarmTypeCode()), BaseAlarmType::getAlarmTypeCode, bo.getAlarmTypeCode()) + .like(StringUtils.isNotBlank(bo.getAlarmTypeName()), BaseAlarmType::getAlarmTypeName, bo.getAlarmTypeName()) + .eq(bo.getDeviceCategoryId() != null, BaseAlarmType::getDeviceCategoryId, bo.getDeviceCategoryId()) + .eq(bo.getDeviceTypeId() != null, BaseAlarmType::getDeviceTypeId, bo.getDeviceTypeId()) + .eq(StringUtils.isNotBlank(bo.getTypeStatus()), BaseAlarmType::getTypeStatus, bo.getTypeStatus()) + .orderByAsc(BaseAlarmType::getCreateTime); + return lqw; + } + + /** + * 新增报警类型 + * + * @param bo 报警类型 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BaseAlarmTypeBo bo) { + BaseAlarmType add = MapstructUtils.convert(bo, BaseAlarmType.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setAlarmTypeId(add.getAlarmTypeId()); + } + return flag; + } + + /** + * 修改报警类型 + * + * @param bo 报警类型 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BaseAlarmTypeBo bo) { + BaseAlarmType update = MapstructUtils.convert(bo, BaseAlarmType.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BaseAlarmType entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除报警类型信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmLevelMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmLevelMapper.xml new file mode 100644 index 0000000..fc9dcbb --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmLevelMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmRuleLinkMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmRuleLinkMapper.xml new file mode 100644 index 0000000..d04e100 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmRuleLinkMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmRuleMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmRuleMapper.xml new file mode 100644 index 0000000..bba3372 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmRuleMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmTypeMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmTypeMapper.xml new file mode 100644 index 0000000..aeb9760 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmTypeMapper.xml @@ -0,0 +1,7 @@ + + + + +