AlarmRuleConfigService.java 6.3 KB
package com.skua.modules.alarmtmp.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.skua.modules.alarmtmp.entity.AlarmRuleAndRuleLevelConfig;
import com.skua.modules.alarmtmp.entity.AlarmRuleConfig;
import com.skua.modules.alarmtmp.entity.AlarmRuleLevelConfigTemplate;
import com.skua.modules.alarmtmp.vo.*;


import java.util.List;
import java.util.Map;

/**
 * @program: skboot
 * @description:
 * @author: xie chao
 * @create: 2020-11-02 09:59
 */
public interface AlarmRuleConfigService extends IService<AlarmRuleConfig> {

    Page<AlarmRuleAndAlarmRuleLevelVO> getAlarmRuleAndAlarmRuleLevePage(Page<AlarmRuleAndAlarmRuleLevelVO> page, QueryWrapper<AlarmRuleAndAlarmRuleLevelVO> queryWrapper);

    /**
     * <pre>
     * 获取已开启报警配置,报警规则、报警级别数据
     * </pre>
     * @param queryTag 报警类型,报警规则方案查询标记
     * @return
     * @author Li Yuanyuan, 2023年3月29日 下午6:17:39
     * @Description: TODO(这里描述这个方法的需求变更情况)
     */
    List<AlarmRuleConfigAndLevelVO> getAlarmRuleAndAlarmRuleLeveList(String queryTag);


    Page<AlarmRuleConfigVO> getPage(Page<AlarmRuleConfigVO> page, QueryWrapper<AlarmRuleConfigVO> queryWrapper);

    List<Map<String, String>> getDataSourceBydepartId(String departId);
    
    Map<String, Object> getAlarmConfigTemplateByType(String type, String departId);

    /**
     * <pre>
     * 	保存报警规则
     * </pre>
     * @param alarmRuleAndRuleLevelConfig
     * @author Li Yuanyuan, 2023年3月24日 下午2:27:55
     * @Description: TODO(这里描述这个方法的需求变更情况)
     */
    void saveAlarmRuleAndRuleLevelConfig(AlarmRuleAndRuleLevelConfig alarmRuleAndRuleLevelConfig);

    /**
     * @Description 查询批次的名称和批次id
     * @Date 2020-12-14 15:02
     * @Param []
     **/
    List<AlarmRuleConfigBatchInfoVO> queryBatchInfoList(String alarmRuleName);

    AlarmRuleConfigBatchInfoVO queryBatchInfoByBatchId(String batchId);

    /**
     * 修改报警规则配置以及报警规则级别配置
     *
     * @param alarmRuleAndRuleLevelConfig
     */
    void editAlarmInfo(AlarmRuleAndRuleLevelConfig alarmRuleAndRuleLevelConfig) throws Exception;

    /**
     * 批量更新报警规则配置以及报警规则配置
     *
     * @param alarmRuleAndRuleLevelConfig
     */
    void batchUpdateInfo(AlarmRuleAndRuleLevelConfig alarmRuleAndRuleLevelConfig) throws Exception;

    /**
     * <pre>
     * 	批量配置报警规则
     * </pre>
     * @param alarmRuleAndRuleLevelConfigs				报警规则集合
     * @author Li Yuanyuan, 2023年3月24日 下午2:26:45
     * @Description: TODO(这里描述这个方法的需求变更情况)
     */
    void saveAlarmRuleAndRuleLevelConfigBatch(List<AlarmRuleAndRuleLevelConfig> alarmRuleAndRuleLevelConfigs);

    /**
     * @return void
     * @Description 出水标准配置
     * @Date 2021-05-13 19:55
     **/
    void saveAlarmRuleAndRuleLevelConfigByStandard(String departId);

    /**
     * @return java.lang.String
     * @Description 校验级别
     * @Date 2021-05-17 18:00
     * @Param [batchId, alarmProgramCode, alarmRuleLevelName, departId]
     **/
    String checkLevel(String batchId, String alarmProgramCode, String alarmRuleLevelName, String departId, String alarmRuleType);

    List<AlarmRuleLevelConfigTemplate> getAlarmConfigTemplateByAlarmType(String alarmType, String departId);

    /**
     * <pre>
     * 	一键配仪表和设备报警-有用
     * </pre>
     * @param tabPageType	页签类型,请参照数据字典【报警配置大类】
     * @param departId		机构id
     * @author Li Yuanyuan, 2023年3月23日 下午6:03:10
     * @Description: TODO(这里描述这个方法的需求变更情况)
     */
    void addAllAlarmConfigByType(String tabPageType, String departId);

    List<AlarmRuleLevelConfigTemplate> getAlarmRuleTemplateList(String departId, String alarmTemplateType);
    /**
     * @return void
     * @Description 编辑修改不同级别对应的上下限
     * @Date 2021-08-26 10:17
     * @Param [alarmRuleAndRuleLevelConfig]
     **/
    void exitInfoById(AlarmRuleConfigVO alarmRuleConfigVO);

    /**
     * @return void
     * @Description 编辑修改仪表和设备短信报警配置模板
     * @Date 2021-08-26 10:22
     **/
    void updAlarmConfigTemplateByType(AlarmRuleLevelConfigTemplate alarmRuleLevelConfigTemplate);

    /**
     * @return void
     * @Description 一键启用停用
     * @Date 2021-08-26 15:34
     * @Param [type, status, departId, anType]
     **/
    void startAndEnd(String type, String status, String departId, String anType);

    /**
     * @return void
     * @Description 列表启用停用
     * @Date 2021-08-26 16:02
     * @Param [id, departId, anType]
     **/
    void updConfigStatus(String id, String departId, String anType, String status);


    /**
     *
     * @Description getMonitorByType
     * @Date 2021-08-26 17:18
     * @Param [type, departId]
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     **/
    List<Map<String, Object>> getMonitorByType(String type, String departId);


    /**
     *
     * @Description 获取报警规则
     * @Date 2021-08-30 14:27
     * @Param [newAlarmRuleConfigVO]
     * @return java.util.List<com.skua.modules.system.alarm.vo.NewAlarmRuleConfigVO>
     **/
    List<NewAlarmRuleConfigVO> getEquipAlarmInfo();

    /**
     *
     * @Description 根据设备点查询状态点
     * @Date 2021-08-31 17:38
     * @Param [equipId]
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     **/
    List<Map<String, Object>> getEquipStatus(String equipId);

    /**
     *
     * @Description 总一键配仪表和设备报警
     * @Date 2021-09-06 10:33
     * @Param []
     * @return void
     **/
    void totalAddAllAlarmConfigByType();
    /**
     * <pre>
     * 报警配置同步更新采集数据标签分类变更数据
     * </pre>
     * @author Li Yuanyuan, 2023年3月27日 上午10:36:38
     * @Description: TODO(这里描述这个方法的需求变更情况)
     */
	void updateAlarmRuleTypeFormMetricDict();
	
	boolean syncStandard(String departId, String tabPageType);
}