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 00000000..4dc0f548 --- /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 00000000..70d4af4c --- /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 00000000..fa55a69f --- /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 00000000..950c781f --- /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 00000000..e86c4845 --- /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 00000000..5df1a28a --- /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 00000000..7273b87e --- /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 00000000..af4d97f7 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmType.java @@ -0,0 +1,73 @@ +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; + + /** + * 设备大类名称 + */ + @TableField(exist = false) + private String deviceCategoryName; + + /** + * 设备类型名称 + */ + @TableField(exist = false) + private String deviceTypeName; + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceCategory.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceCategory.java new file mode 100644 index 00000000..01e3b97a --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceCategory.java @@ -0,0 +1,53 @@ +package org.dromara.dms.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; + +/** + * 设备大类信息对象 base_device_category + * + * @author xins + * @date 2025-02-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("base_device_category") +public class DmsBaseDeviceCategory extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 大类ID + */ + @TableId(value = "device_category_id", type = IdType.AUTO) + private Long deviceCategoryId; + + /** + * 大类编号 + */ + private String deviceCategoryCode; + + /** + * 大类名称 + */ + private String deviceCategoryName; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceType.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceType.java new file mode 100644 index 00000000..eb0d6ea5 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceType.java @@ -0,0 +1,65 @@ +package org.dromara.dms.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; + +/** + * 设备类型信息对象 base_device_type + * + * @author xins + * @date 2025-02-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("base_device_type") +public class DmsBaseDeviceType extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 设备类型ID + */ + private Long deviceTypeId; + + /** + * 父级标识 + */ + private Long parentId; + + /** + * 设备类型编号 + */ + private String deviceTypeCode; + + /** + * 设备类型名称 + */ + private String deviceTypeName; + + /** + * 祖级列表 + */ + private String ancestors; + + /** + * 设备大类ID(大类ID(关联base_category表category_type为2的)) + */ + private Long deviceCategoryId; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + 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 00000000..931e9486 --- /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 00000000..da27ed2b --- /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 00000000..cd7ac0bc --- /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 00000000..d0ba09d3 --- /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/bo/DmsDeviceModeFunctionBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsDeviceModeFunctionBo.java index a8e68ff5..6c8032df 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsDeviceModeFunctionBo.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsDeviceModeFunctionBo.java @@ -8,6 +8,9 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import org.dromara.dms.domain.DmsDeviceModeParameter; + +import java.util.List; /** * 设备模型功能业务对象 dms_device_mode_function @@ -127,5 +130,15 @@ public class DmsDeviceModeFunctionBo extends BaseEntity { */ private String propertyField; + /** + * 输入参数 + */ + private List inputParametersData; + + /** + * 输出参数 + */ + private List outputParametersData; + } 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 00000000..f3f63fb0 --- /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 00000000..a0881719 --- /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 00000000..78694bde --- /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 00000000..665f5809 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmTypeVo.java @@ -0,0 +1,83 @@ +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; + + +/** + * 报警类型视图对象 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; + + /** + * 设备大类名称 + */ + @ExcelProperty(value = "设备大类名称") + private String deviceCategoryName; + + /** + * 设备类型名称 + */ + @ExcelProperty(value = "设备类型名称") + private String deviceTypeName; +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsDeviceModeFunctionVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsDeviceModeFunctionVo.java index d4575f39..225ad239 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsDeviceModeFunctionVo.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsDeviceModeFunctionVo.java @@ -7,11 +7,12 @@ import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.dms.domain.DmsDeviceModeParameter; import java.io.Serial; import java.io.Serializable; import java.util.Date; - +import java.util.List; /** @@ -164,5 +165,13 @@ public class DmsDeviceModeFunctionVo implements Serializable { @ExcelProperty(value = "预留字段") private String propertyField; + /** + * 输入参数 + */ + private List inputParametersData; + /** + * 输出参数 + */ + private List outputParametersData; } 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 00000000..4fb6adc6 --- /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 00000000..51a3557a --- /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 00000000..536814dc --- /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 00000000..c73ce9d0 --- /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/mapper/DmsDeviceCategoryMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsDeviceCategoryMapper.java new file mode 100644 index 00000000..9189f2ad --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsDeviceCategoryMapper.java @@ -0,0 +1,14 @@ +package org.dromara.dms.mapper; + +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.dms.domain.DmsBaseDeviceCategory; + +/** + * 设备大类信息Mapper接口 + * + * @author Yinq + * @date 2025-02-21 + */ +public interface DmsDeviceCategoryMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsDeviceTypeMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsDeviceTypeMapper.java new file mode 100644 index 00000000..01282a75 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsDeviceTypeMapper.java @@ -0,0 +1,14 @@ +package org.dromara.dms.mapper; + +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.dms.domain.DmsBaseDeviceType; + +/** + * 设备大类信息Mapper接口 + * + * @author Yinq + * @date 2025-02-21 + */ +public interface DmsDeviceTypeMapper 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 00000000..f4efd570 --- /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 00000000..d099d51f --- /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 00000000..410bbe69 --- /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 00000000..ba8e4adb --- /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 00000000..a55bbb1d --- /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 00000000..fae2e9b5 --- /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 00000000..ec2c60d0 --- /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 00000000..dc632b60 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmTypeServiceImpl.java @@ -0,0 +1,143 @@ +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.dromara.dms.domain.DmsBaseDeviceCategory; +import org.dromara.dms.domain.DmsBaseDeviceType; +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) + .select(DmsBaseDeviceCategory::getDeviceCategoryName) + .select(DmsBaseDeviceType::getDeviceTypeName) + .leftJoin(DmsBaseDeviceCategory.class, DmsBaseDeviceCategory::getDeviceCategoryId, BaseAlarmType::getDeviceCategoryId) + .leftJoin(DmsBaseDeviceType.class, DmsBaseDeviceType::getDeviceTypeId, BaseAlarmType::getDeviceTypeId) + .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/java/org/dromara/dms/service/impl/DmsDeviceModeFunctionServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeFunctionServiceImpl.java index ddc2904b..8d667782 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeFunctionServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeFunctionServiceImpl.java @@ -7,18 +7,18 @@ 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.dromara.dms.domain.DmsDeviceModeParameter; +import org.dromara.dms.mapper.DmsDeviceModeParameterMapper; import org.springframework.stereotype.Service; import org.dromara.dms.domain.bo.DmsDeviceModeFunctionBo; import org.dromara.dms.domain.vo.DmsDeviceModeFunctionVo; import org.dromara.dms.domain.DmsDeviceModeFunction; import org.dromara.dms.mapper.DmsDeviceModeFunctionMapper; import org.dromara.dms.service.IDmsDeviceModeFunctionService; +import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.util.*; /** * 设备模型功能Service业务层处理 @@ -32,6 +32,8 @@ public class DmsDeviceModeFunctionServiceImpl implements IDmsDeviceModeFunctionS private final DmsDeviceModeFunctionMapper baseMapper; + private final DmsDeviceModeParameterMapper dmsDeviceModeParameterMapper; + /** * 查询设备模型功能 * @@ -40,7 +42,24 @@ public class DmsDeviceModeFunctionServiceImpl implements IDmsDeviceModeFunctionS */ @Override public DmsDeviceModeFunctionVo queryById(Long modeFunctionId) { - return baseMapper.selectVoById(modeFunctionId); + DmsDeviceModeFunctionVo modeFunctionVo = baseMapper.selectVoById(modeFunctionId); + MPJLambdaWrapper lqw = JoinWrappers.lambda(DmsDeviceModeParameter.class) + .selectAll(DmsDeviceModeParameter.class) + .eq(DmsDeviceModeParameter::getModeFunctionId, modeFunctionId); + List parameterList = dmsDeviceModeParameterMapper.selectList(lqw); + List inputParametersData = new ArrayList<>(); + List outputParametersData = new ArrayList<>(); + parameterList.forEach(e -> { + if (e.getParameterType().equals("1")) { + inputParametersData.add(e); + } + if (e.getParameterType().equals("2")) { + outputParametersData.add(e); + } + }); + modeFunctionVo.setInputParametersData(inputParametersData); + modeFunctionVo.setOutputParametersData(outputParametersData); + return modeFunctionVo; } /** @@ -104,12 +123,27 @@ public class DmsDeviceModeFunctionServiceImpl implements IDmsDeviceModeFunctionS * @return 是否新增成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean insertByBo(DmsDeviceModeFunctionBo bo) { DmsDeviceModeFunction add = MapstructUtils.convert(bo, DmsDeviceModeFunction.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setModeFunctionId(add.getModeFunctionId()); + List inputParametersDataList = bo.getInputParametersData(); + List outputParametersDataList = bo.getOutputParametersData(); + if (inputParametersDataList.size() > 0) { + inputParametersDataList.forEach(e -> { + e.setModeFunctionId(add.getModeFunctionId()); + dmsDeviceModeParameterMapper.insert(e); + }); + } + if (outputParametersDataList.size() > 0) { + outputParametersDataList.forEach(e -> { + e.setModeFunctionId(add.getModeFunctionId()); + dmsDeviceModeParameterMapper.insert(e); + }); + } } return flag; } @@ -121,9 +155,25 @@ public class DmsDeviceModeFunctionServiceImpl implements IDmsDeviceModeFunctionS * @return 是否修改成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean updateByBo(DmsDeviceModeFunctionBo bo) { DmsDeviceModeFunction update = MapstructUtils.convert(bo, DmsDeviceModeFunction.class); validEntityBeforeSave(update); + assert update != null; + List inputParametersDataList = bo.getInputParametersData(); + List outputParametersDataList = bo.getOutputParametersData(); + if (inputParametersDataList.size() > 0) { + inputParametersDataList.forEach(e -> { + e.setModeFunctionId(update.getModeFunctionId()); + dmsDeviceModeParameterMapper.insertOrUpdate(e); + }); + } + if (outputParametersDataList.size() > 0) { + outputParametersDataList.forEach(e -> { + e.setModeFunctionId(update.getModeFunctionId()); + dmsDeviceModeParameterMapper.insertOrUpdate(e); + }); + } return baseMapper.updateById(update) > 0; } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeParameterServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeParameterServiceImpl.java index 755b4ba5..6cc83f12 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeParameterServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeParameterServiceImpl.java @@ -83,7 +83,7 @@ public class DmsDeviceModeParameterServiceImpl implements IDmsDeviceModeParamete .eq(StringUtils.isNotBlank(bo.getDataDefinition()), DmsDeviceModeParameter::getDataDefinition, bo.getDataDefinition()) .eq(StringUtils.isNotBlank(bo.getPropertyUnit()), DmsDeviceModeParameter::getPropertyUnit, bo.getPropertyUnit()) .eq(bo.getPropertyStep() != null, DmsDeviceModeParameter::getPropertyStep, bo.getPropertyStep()) - .orderByDesc(DmsDeviceModeParameter::getModeParameterId); + .orderByAsc(DmsDeviceModeParameter::getModeParameterId); return lqw; } 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 00000000..fc9dcbb8 --- /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 00000000..d04e1003 --- /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 00000000..bba33722 --- /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 00000000..aeb97603 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/BaseAlarmTypeMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseDeviceType.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseDeviceType.java index 50c1ae28..b7010dac 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseDeviceType.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseDeviceType.java @@ -49,7 +49,7 @@ public class BaseDeviceType extends TenantEntity { /** * 设备大类ID(大类ID(关联base_category表category_type为2的)) */ - private Long categoryId; + private Long deviceCategoryId; /** * 激活标识(1是 0否) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java index fce67663..fda02444 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java @@ -54,7 +54,7 @@ public class BaseDeviceTypeBo extends BaseEntity { * 设备大类ID(大类ID(关联base_category表category_type为2的)) */ @NotNull(message = "设备大类不能为空", groups = { AddGroup.class, EditGroup.class }) - private Long categoryId; + private Long deviceCategoryId; /** * 激活标识(1是 0否) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseDeviceTypeVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseDeviceTypeVo.java index 95d8b227..fd77434d 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseDeviceTypeVo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseDeviceTypeVo.java @@ -63,7 +63,7 @@ public class BaseDeviceTypeVo implements Serializable { */ @ExcelProperty(value = "设备大类ID", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "大=类ID(关联base_category表category_type为2的") - private Long categoryId; + private Long deviceCategoryId; /** * 激活标识(1是 0否) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseDeviceTypeServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseDeviceTypeServiceImpl.java index 051a1e66..de2f880d 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseDeviceTypeServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseDeviceTypeServiceImpl.java @@ -78,7 +78,7 @@ public class BaseDeviceTypeServiceImpl implements IBaseDeviceTypeService { .eq(StringUtils.isNotBlank(bo.getDeviceTypeCode()), BaseDeviceType::getDeviceTypeCode, bo.getDeviceTypeCode()) .like(StringUtils.isNotBlank(bo.getDeviceTypeName()), BaseDeviceType::getDeviceTypeName, bo.getDeviceTypeName()) .eq(StringUtils.isNotBlank(bo.getAncestors()), BaseDeviceType::getAncestors, bo.getAncestors()) - .eq(bo.getCategoryId() != null, BaseDeviceType::getCategoryId, bo.getCategoryId()) + .eq(bo.getDeviceCategoryId() != null, BaseDeviceType::getDeviceCategoryId, bo.getDeviceCategoryId()) .eq(StringUtils.isNotBlank(bo.getActiveFlag()), BaseDeviceType::getActiveFlag, bo.getActiveFlag()) .orderByDesc(BaseDeviceType::getCreateTime); return lqw;