若依微服务1.9.2

business:
1、报警类型增删改查
2、报警级别增删改查
master
xins 2 years ago
parent 7a540c1b08
commit a3e416bd35

@ -163,4 +163,12 @@ public class HwDictConstants {
public static final String ALARM_INFO_FLAG_YES = "1";//有关联报警信息;
public static final String ALARM_INFO_FLAG_NO = "0";//无关联报警信息;
public static final String ALARM_LEVEL_COMMON_FLAG_YES = "1";//报警级别通用标识:是
public static final String ALARM_LEVEL_COMMON_FLAG_NO = "0";//报警级别通用标识:否
public static final String ALARM_TYPE_COMMON_FLAG_YES = "1";//报警类型通用标识:是
public static final String ALARM_TYPE_COMMON_FLAG_NO = "0";//报警类型通用标识:否
}

@ -0,0 +1,124 @@
package com.ruoyi.business.controller;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.business.domain.HwScene;
import com.ruoyi.business.service.IHwSceneService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.business.domain.HwAlarmLevel;
import com.ruoyi.business.service.IHwAlarmLevelService;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
import com.ruoyi.common.core.web.page.TableDataInfo;
/**
* Controller
*
* @author xins
* @date 2023-09-15
*/
@RestController
@RequestMapping("/alarmLevel")
public class HwAlarmLevelController extends BaseController
{
@Autowired
private IHwAlarmLevelService hwAlarmLevelService;
@Autowired
private IHwSceneService hwSceneService;
/**
*
*/
@RequiresPermissions("business:alarmLevel:list")
@GetMapping("/list")
public TableDataInfo list(HwAlarmLevel hwAlarmLevel)
{
startPage();
List<HwAlarmLevel> list = hwAlarmLevelService.selectHwAlarmLevelJoinList(hwAlarmLevel);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("business:alarmLevel:export")
@Log(title = "报警级别", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, HwAlarmLevel hwAlarmLevel)
{
List<HwAlarmLevel> list = hwAlarmLevelService.selectHwAlarmLevelJoinList(hwAlarmLevel);
ExcelUtil<HwAlarmLevel> util = new ExcelUtil<HwAlarmLevel>(HwAlarmLevel.class);
util.exportExcel(response, list, "报警级别数据");
}
/**
*
*/
@RequiresPermissions("business:alarmLevel:query")
@GetMapping(value = "/{alarmLevelId}")
public AjaxResult getInfo(@PathVariable("alarmLevelId") Long alarmLevelId)
{
return success(hwAlarmLevelService.selectHwAlarmLevelByAlarmLevelId(alarmLevelId));
}
/**
*
*/
@RequiresPermissions("business:alarmLevel:add")
@Log(title = "报警级别", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody HwAlarmLevel hwAlarmLevel)
{
return toAjax(hwAlarmLevelService.insertHwAlarmLevel(hwAlarmLevel));
}
/**
*
*/
@RequiresPermissions("business:alarmLevel:edit")
@Log(title = "报警级别", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody HwAlarmLevel hwAlarmLevel)
{
return toAjax(hwAlarmLevelService.updateHwAlarmLevel(hwAlarmLevel));
}
/**
*
*/
@RequiresPermissions("business:alarmLevel:remove")
@Log(title = "报警级别", businessType = BusinessType.DELETE)
@DeleteMapping("/{alarmLevelId}")
public AjaxResult remove(@PathVariable Long alarmLevelId)
{
return toAjax(hwAlarmLevelService.deleteHwAlarmLevelByAlarmLevelId(alarmLevelId));
}
@RequiresPermissions("business:alarmLevel:list")
@GetMapping("/getScenes")
public AjaxResult getScenes(HwScene scene) {
return success(hwSceneService.selectHwSceneList(scene));
}
@RequiresPermissions("business:alarmLevel:list")
@GetMapping("/getEditedScenes")
public AjaxResult getEditedScenes(HwScene scene) {
return success(hwSceneService.selectHwSceneList4Select(scene));
}
}

@ -58,7 +58,7 @@ public class HwAlarmRuleController extends BaseController {
@GetMapping("/list")
public TableDataInfo list(HwAlarmRule hwAlarmRule) {
startPage();
List<HwAlarmRule> list = hwAlarmRuleService.selectHwAlarmRuleList(hwAlarmRule);
List<HwAlarmRule> list = hwAlarmRuleService.selectHwAlarmRuleJoinList(hwAlarmRule);
return getDataTable(list);
}
@ -69,7 +69,7 @@ public class HwAlarmRuleController extends BaseController {
@Log(title = "报警规则", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, HwAlarmRule hwAlarmRule) {
List<HwAlarmRule> list = hwAlarmRuleService.selectHwAlarmRuleList(hwAlarmRule);
List<HwAlarmRule> list = hwAlarmRuleService.selectHwAlarmRuleJoinList(hwAlarmRule);
ExcelUtil<HwAlarmRule> util = new ExcelUtil<HwAlarmRule>(HwAlarmRule.class);
util.exportExcel(response, list, "报警规则数据");
}

@ -0,0 +1,124 @@
package com.ruoyi.business.controller;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.business.domain.HwScene;
import com.ruoyi.business.service.IHwSceneService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.business.domain.HwAlarmType;
import com.ruoyi.business.service.IHwAlarmTypeService;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
import com.ruoyi.common.core.web.page.TableDataInfo;
/**
* Controller
*
* @author xins
* @date 2023-09-15
*/
@RestController
@RequestMapping("/alarmType")
public class HwAlarmTypeController extends BaseController
{
@Autowired
private IHwAlarmTypeService hwAlarmTypeService;
@Autowired
private IHwSceneService hwSceneService;
/**
*
*/
@RequiresPermissions("business:alarmType:list")
@GetMapping("/list")
public TableDataInfo list(HwAlarmType hwAlarmType)
{
startPage();
List<HwAlarmType> list = hwAlarmTypeService.selectHwAlarmTypeJoinList(hwAlarmType);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("business:alarmType:export")
@Log(title = "报警类型", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, HwAlarmType hwAlarmType)
{
List<HwAlarmType> list = hwAlarmTypeService.selectHwAlarmTypeJoinList(hwAlarmType);
ExcelUtil<HwAlarmType> util = new ExcelUtil<HwAlarmType>(HwAlarmType.class);
util.exportExcel(response, list, "报警类型数据");
}
/**
*
*/
@RequiresPermissions("business:alarmType:query")
@GetMapping(value = "/{alarmTypeId}")
public AjaxResult getInfo(@PathVariable("alarmTypeId") Long alarmTypeId)
{
return success(hwAlarmTypeService.selectHwAlarmTypeByAlarmTypeId(alarmTypeId));
}
/**
*
*/
@RequiresPermissions("business:alarmType:add")
@Log(title = "报警类型", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody HwAlarmType hwAlarmType)
{
return toAjax(hwAlarmTypeService.insertHwAlarmType(hwAlarmType));
}
/**
*
*/
@RequiresPermissions("business:alarmType:edit")
@Log(title = "报警类型", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody HwAlarmType hwAlarmType)
{
return toAjax(hwAlarmTypeService.updateHwAlarmType(hwAlarmType));
}
/**
*
*/
@RequiresPermissions("business:alarmType:remove")
@Log(title = "报警类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{alarmTypeId}")
public AjaxResult remove(@PathVariable Long alarmTypeId)
{
return toAjax(hwAlarmTypeService.deleteHwAlarmTypeByAlarmTypeId(alarmTypeId));
}
@RequiresPermissions("business:alarmType:list")
@GetMapping("/getScenes")
public AjaxResult getScenes(HwScene scene) {
return success(hwSceneService.selectHwSceneList(scene));
}
@RequiresPermissions("business:alarmType:list")
@GetMapping("/getEditedScenes")
public AjaxResult getEditedScenes(HwScene scene) {
return success(hwSceneService.selectHwSceneList4Select(scene));
}
}

@ -16,6 +16,7 @@ public class HwAlarmLevel extends BaseEntity
private static final long serialVersionUID = 1L;
/** 报警级别ID */
@Excel(name = "报警级别ID")
private Long alarmLevelId;
/** 报警级别名称 */
@ -23,37 +24,39 @@ public class HwAlarmLevel extends BaseEntity
private String alarmLevelName;
/** 租户ID关联hw_tenant的tenant_id */
@Excel(name = "租户ID关联hw_tenant的tenant_id")
@Excel(name = "租户ID")
private Long tenantId;
/** 所属场景关联hw_scene表的scene_id字段 */
@Excel(name = "所属场景关联hw_scene表的scene_id字段")
@Excel(name = "所属场景ID")
private Long sceneId;
/** 语言code,关联表hw_language的language_code字段 */
@Excel(name = "语言code,关联表hw_language的language_code字段")
private String languageCode;
/** 通用标识10 */
@Excel(name = "通用标识", readConverterExp = "1=0否")
private String commonFlag;
/** 严重程度(数字越大,级别越高) */
@Excel(name = "严重程度", readConverterExp = "数=字越大,级别越高")
@Excel(name = "严重程度")
private Long levelNumber;
/** 状态1、正常9、删除 */
@Excel(name = "状态", readConverterExp = "1=、正常9、删除")
private String levelStatus;
/** 默认通知方式1、邮箱2、短信3、钉钉4、微信公众号5、企业微信多个保存用,隔开。 */
@Excel(name = "默认通知方式", readConverterExp = "1=、邮箱2、短信3、钉钉4、微信公众号5、企业微信")
//@Excel(name = "默认通知方式", readConverterExp = "1=、邮箱2、短信3、钉钉4、微信公众号5、企业微信")
private String defaultNotifyMode;
/** 预留字段 */
@Excel(name = "预留字段")
private String alarmLevelField;
@Excel(name = "租户名称")
private String tenantName;
@Excel(name = "场景名称")
private String sceneName;
public void setAlarmLevelId(Long alarmLevelId)
{
this.alarmLevelId = alarmLevelId;
@ -145,6 +148,22 @@ public class HwAlarmLevel extends BaseEntity
return alarmLevelField;
}
public String getTenantName() {
return tenantName;
}
public void setTenantName(String tenantName) {
this.tenantName = tenantName;
}
public String getSceneName() {
return sceneName;
}
public void setSceneName(String sceneName) {
this.sceneName = sceneName;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

@ -16,6 +16,7 @@ public class HwAlarmType extends BaseEntity
private static final long serialVersionUID = 1L;
/** 报警类型ID */
@Excel(name = "报警类型ID")
private Long alarmTypeId;
/** 报警类型名称 */
@ -23,33 +24,34 @@ public class HwAlarmType extends BaseEntity
private String alarmTypeName;
/** 租户ID关联hw_tenant的tenant_id */
@Excel(name = "租户ID关联hw_tenant的tenant_id")
@Excel(name = "租户ID")
private Long tenantId;
/** 所属场景关联hw_scene表的scene_id字段 */
@Excel(name = "所属场景关联hw_scene表的scene_id字段")
@Excel(name = "所属场景ID")
private Long sceneId;
/** 语言code,关联表hw_language的language_code字段 */
@Excel(name = "语言code,关联表hw_language的language_code字段")
private String languageCode;
/** 通用标识10 */
@Excel(name = "通用标识", readConverterExp = "1=0否")
private String commonFlag;
/** 处理方式1、云端处理2终端上报 */
@Excel(name = "处理方式", readConverterExp = "1=、云端处理2终端上报")
private String handleMode;
/** 状态1、正常9、删除 */
@Excel(name = "状态", readConverterExp = "1=、正常9、删除")
private String typeStatus;
/** 预留字段 */
@Excel(name = "预留字段")
private String alarmTypeField;
@Excel(name = "租户名称")
private String tenantName;
@Excel(name = "场景名称")
private String sceneName;
public void setAlarmTypeId(Long alarmTypeId)
{
this.alarmTypeId = alarmTypeId;
@ -132,6 +134,22 @@ public class HwAlarmType extends BaseEntity
return alarmTypeField;
}
public String getTenantName() {
return tenantName;
}
public void setTenantName(String tenantName) {
this.tenantName = tenantName;
}
public String getSceneName() {
return sceneName;
}
public void setSceneName(String sceneName) {
this.sceneName = sceneName;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

@ -58,4 +58,13 @@ public interface HwAlarmLevelMapper
* @return
*/
public int deleteHwAlarmLevelByAlarmLevelIds(Long[] alarmLevelIds);
/**
* join
*
* @param hwAlarmLevel
* @return
*/
public List<HwAlarmLevel> selectHwAlarmLevelJoinList(HwAlarmLevel hwAlarmLevel);
}

@ -26,6 +26,14 @@ public interface HwAlarmRuleMapper
* @param hwAlarmRule
* @return
*/
public List<HwAlarmRule> selectHwAlarmRuleList(HwAlarmRule hwAlarmRule);
/**
* Join
*
* @param hwAlarmRule
* @return
*/
public List<HwAlarmRule> selectHwAlarmRuleJoinList(HwAlarmRule hwAlarmRule);
/**

@ -58,4 +58,12 @@ public interface HwAlarmTypeMapper
* @return
*/
public int deleteHwAlarmTypeByAlarmTypeIds(Long[] alarmTypeIds);
/**
* join
*
* @param hwAlarmType
* @return
*/
public List<HwAlarmType> selectHwAlarmTypeJoinList(HwAlarmType hwAlarmType);
}

@ -27,6 +27,14 @@ public interface IHwAlarmLevelService
*/
public List<HwAlarmLevel> selectHwAlarmLevelList(HwAlarmLevel hwAlarmLevel);
/**
* Join
*
* @param hwAlarmLevel
* @return
*/
public List<HwAlarmLevel> selectHwAlarmLevelJoinList(HwAlarmLevel hwAlarmLevel);
/**
*
*

@ -20,13 +20,21 @@ public interface IHwAlarmRuleService
public HwAlarmRule selectHwAlarmRuleByAlarmRuleId(Long alarmRuleId);
/**
*
* Join
*
* @param hwAlarmRule
* @return
*/
public List<HwAlarmRule> selectHwAlarmRuleList(HwAlarmRule hwAlarmRule);
/**
* Join
*
* @param hwAlarmRule
* @return
*/
public List<HwAlarmRule> selectHwAlarmRuleJoinList(HwAlarmRule hwAlarmRule);
/**
*
*

@ -27,6 +27,14 @@ public interface IHwAlarmTypeService
*/
public List<HwAlarmType> selectHwAlarmTypeList(HwAlarmType hwAlarmType);
/**
* Join
*
* @param hwAlarmType
* @return
*/
public List<HwAlarmType> selectHwAlarmTypeJoinList(HwAlarmType hwAlarmType);
/**
*
*

@ -1,7 +1,14 @@
package com.ruoyi.business.service.impl;
import java.util.List;
import com.ruoyi.business.domain.HwAlarmRule;
import com.ruoyi.business.mapper.HwAlarmRuleMapper;
import com.ruoyi.common.core.constant.HwDictConstants;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.datascope.annotation.DataScope;
import com.ruoyi.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.business.mapper.HwAlarmLevelMapper;
@ -15,11 +22,13 @@ import com.ruoyi.business.service.IHwAlarmLevelService;
* @date 2023-09-15
*/
@Service
public class HwAlarmLevelServiceImpl implements IHwAlarmLevelService
{
public class HwAlarmLevelServiceImpl implements IHwAlarmLevelService {
@Autowired
private HwAlarmLevelMapper hwAlarmLevelMapper;
@Autowired
private HwAlarmRuleMapper hwAlarmRuleMapper;
/**
*
*
@ -27,8 +36,7 @@ public class HwAlarmLevelServiceImpl implements IHwAlarmLevelService
* @return
*/
@Override
public HwAlarmLevel selectHwAlarmLevelByAlarmLevelId(Long alarmLevelId)
{
public HwAlarmLevel selectHwAlarmLevelByAlarmLevelId(Long alarmLevelId) {
return hwAlarmLevelMapper.selectHwAlarmLevelByAlarmLevelId(alarmLevelId);
}
@ -39,11 +47,24 @@ public class HwAlarmLevelServiceImpl implements IHwAlarmLevelService
* @return
*/
@Override
public List<HwAlarmLevel> selectHwAlarmLevelList(HwAlarmLevel hwAlarmLevel)
{
@DataScope(tenantAlias = "hal")
public List<HwAlarmLevel> selectHwAlarmLevelList(HwAlarmLevel hwAlarmLevel) {
return hwAlarmLevelMapper.selectHwAlarmLevelList(hwAlarmLevel);
}
/**
*
*
* @param hwAlarmLevel
* @return
*/
@Override
@DataScope(tenantAlias = "hal")
public List<HwAlarmLevel> selectHwAlarmLevelJoinList(HwAlarmLevel hwAlarmLevel) {
return hwAlarmLevelMapper.selectHwAlarmLevelJoinList(hwAlarmLevel);
}
/**
*
*
@ -51,9 +72,12 @@ public class HwAlarmLevelServiceImpl implements IHwAlarmLevelService
* @return
*/
@Override
public int insertHwAlarmLevel(HwAlarmLevel hwAlarmLevel)
{
public int insertHwAlarmLevel(HwAlarmLevel hwAlarmLevel) {
hwAlarmLevel.setCreateTime(DateUtils.getNowDate());
hwAlarmLevel.setTenantId(SecurityUtils.getTenantId());
hwAlarmLevel.setCreateBy(SecurityUtils.getUsername());
hwAlarmLevel.setCommonFlag(HwDictConstants.ALARM_LEVEL_COMMON_FLAG_NO);
return hwAlarmLevelMapper.insertHwAlarmLevel(hwAlarmLevel);
}
@ -64,9 +88,9 @@ public class HwAlarmLevelServiceImpl implements IHwAlarmLevelService
* @return
*/
@Override
public int updateHwAlarmLevel(HwAlarmLevel hwAlarmLevel)
{
public int updateHwAlarmLevel(HwAlarmLevel hwAlarmLevel) {
hwAlarmLevel.setUpdateTime(DateUtils.getNowDate());
hwAlarmLevel.setUpdateBy(SecurityUtils.getUsername());
return hwAlarmLevelMapper.updateHwAlarmLevel(hwAlarmLevel);
}
@ -77,8 +101,8 @@ public class HwAlarmLevelServiceImpl implements IHwAlarmLevelService
* @return
*/
@Override
public int deleteHwAlarmLevelByAlarmLevelIds(Long[] alarmLevelIds)
{
public int deleteHwAlarmLevelByAlarmLevelIds(Long[] alarmLevelIds) {
return hwAlarmLevelMapper.deleteHwAlarmLevelByAlarmLevelIds(alarmLevelIds);
}
@ -89,8 +113,13 @@ public class HwAlarmLevelServiceImpl implements IHwAlarmLevelService
* @return
*/
@Override
public int deleteHwAlarmLevelByAlarmLevelId(Long alarmLevelId)
{
public int deleteHwAlarmLevelByAlarmLevelId(Long alarmLevelId) {
HwAlarmRule queryAlarmRule = new HwAlarmRule();
queryAlarmRule.setAlarmLevelId(alarmLevelId);
List<HwAlarmRule> alarmRuleList = hwAlarmRuleMapper.selectHwAlarmRuleList(queryAlarmRule);
if (alarmRuleList != null && !alarmRuleList.isEmpty()) {
throw new ServiceException("已有设备报警规则关联,不能删除!");
}
return hwAlarmLevelMapper.deleteHwAlarmLevelByAlarmLevelId(alarmLevelId);
}
}

@ -82,6 +82,7 @@ public class HwAlarmRuleServiceImpl implements IHwAlarmRuleService {
return alarmRule;
}
/**
*
*
@ -91,6 +92,18 @@ public class HwAlarmRuleServiceImpl implements IHwAlarmRuleService {
@Override
@DataScope(tenantAlias = "har")
public List<HwAlarmRule> selectHwAlarmRuleList(HwAlarmRule hwAlarmRule) {
return hwAlarmRuleMapper.selectHwAlarmRuleList(hwAlarmRule);
}
/**
*
*
* @param hwAlarmRule
* @return
*/
@Override
@DataScope(tenantAlias = "har")
public List<HwAlarmRule> selectHwAlarmRuleJoinList(HwAlarmRule hwAlarmRule) {
hwAlarmRule.setRuleType(HwDictConstants.ALARM_RULE_RULE_TYPE_DEVICE);
return hwAlarmRuleMapper.selectHwAlarmRuleJoinList(hwAlarmRule);
}

@ -1,12 +1,19 @@
package com.ruoyi.business.service.impl;
import java.util.List;
import com.ruoyi.business.domain.HwAlarmRule;
import com.ruoyi.business.domain.HwAlarmType;
import com.ruoyi.business.mapper.HwAlarmRuleMapper;
import com.ruoyi.business.mapper.HwAlarmTypeMapper;
import com.ruoyi.business.service.IHwAlarmTypeService;
import com.ruoyi.common.core.constant.HwDictConstants;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.datascope.annotation.DataScope;
import com.ruoyi.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.business.mapper.HwAlarmTypeMapper;
import com.ruoyi.business.domain.HwAlarmType;
import com.ruoyi.business.service.IHwAlarmTypeService;
import java.util.List;
/**
* Service
@ -15,11 +22,13 @@ import com.ruoyi.business.service.IHwAlarmTypeService;
* @date 2023-09-15
*/
@Service
public class HwAlarmTypeServiceImpl implements IHwAlarmTypeService
{
public class HwAlarmTypeServiceImpl implements IHwAlarmTypeService {
@Autowired
private HwAlarmTypeMapper hwAlarmTypeMapper;
@Autowired
private HwAlarmRuleMapper hwAlarmRuleMapper;
/**
*
*
@ -27,8 +36,7 @@ public class HwAlarmTypeServiceImpl implements IHwAlarmTypeService
* @return
*/
@Override
public HwAlarmType selectHwAlarmTypeByAlarmTypeId(Long alarmTypeId)
{
public HwAlarmType selectHwAlarmTypeByAlarmTypeId(Long alarmTypeId) {
return hwAlarmTypeMapper.selectHwAlarmTypeByAlarmTypeId(alarmTypeId);
}
@ -39,11 +47,23 @@ public class HwAlarmTypeServiceImpl implements IHwAlarmTypeService
* @return
*/
@Override
public List<HwAlarmType> selectHwAlarmTypeList(HwAlarmType hwAlarmType)
{
@DataScope(tenantAlias = "hat")
public List<HwAlarmType> selectHwAlarmTypeList(HwAlarmType hwAlarmType) {
return hwAlarmTypeMapper.selectHwAlarmTypeList(hwAlarmType);
}
/**
* Join
*
* @param hwAlarmType
* @return
*/
@Override
@DataScope(tenantAlias = "hat")
public List<HwAlarmType> selectHwAlarmTypeJoinList(HwAlarmType hwAlarmType) {
return hwAlarmTypeMapper.selectHwAlarmTypeJoinList(hwAlarmType);
}
/**
*
*
@ -51,9 +71,12 @@ public class HwAlarmTypeServiceImpl implements IHwAlarmTypeService
* @return
*/
@Override
public int insertHwAlarmType(HwAlarmType hwAlarmType)
{
public int insertHwAlarmType(HwAlarmType hwAlarmType) {
hwAlarmType.setCreateTime(DateUtils.getNowDate());
hwAlarmType.setCreateBy(SecurityUtils.getUsername());
hwAlarmType.setTenantId(SecurityUtils.getTenantId());
hwAlarmType.setCommonFlag(HwDictConstants.ALARM_TYPE_COMMON_FLAG_NO);
return hwAlarmTypeMapper.insertHwAlarmType(hwAlarmType);
}
@ -64,9 +87,9 @@ public class HwAlarmTypeServiceImpl implements IHwAlarmTypeService
* @return
*/
@Override
public int updateHwAlarmType(HwAlarmType hwAlarmType)
{
public int updateHwAlarmType(HwAlarmType hwAlarmType) {
hwAlarmType.setUpdateTime(DateUtils.getNowDate());
hwAlarmType.setUpdateBy(SecurityUtils.getUsername());
return hwAlarmTypeMapper.updateHwAlarmType(hwAlarmType);
}
@ -77,8 +100,7 @@ public class HwAlarmTypeServiceImpl implements IHwAlarmTypeService
* @return
*/
@Override
public int deleteHwAlarmTypeByAlarmTypeIds(Long[] alarmTypeIds)
{
public int deleteHwAlarmTypeByAlarmTypeIds(Long[] alarmTypeIds) {
return hwAlarmTypeMapper.deleteHwAlarmTypeByAlarmTypeIds(alarmTypeIds);
}
@ -89,8 +111,13 @@ public class HwAlarmTypeServiceImpl implements IHwAlarmTypeService
* @return
*/
@Override
public int deleteHwAlarmTypeByAlarmTypeId(Long alarmTypeId)
{
public int deleteHwAlarmTypeByAlarmTypeId(Long alarmTypeId) {
HwAlarmRule queryAlarmRule = new HwAlarmRule();
queryAlarmRule.setAlarmTypeId(alarmTypeId);
List<HwAlarmRule> alarmRuleList = hwAlarmRuleMapper.selectHwAlarmRuleList(queryAlarmRule);
if (alarmRuleList != null && !alarmRuleList.isEmpty()) {
throw new ServiceException("已有设备报警规则关联,不能删除!");
}
return hwAlarmTypeMapper.deleteHwAlarmTypeByAlarmTypeId(alarmTypeId);
}
}

@ -20,10 +20,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="alarmLevelField" column="alarm_level_field" />
<result property="tenantName" column="tenant_name" />
<result property="sceneName" column="scene_name" />
</resultMap>
<sql id="selectHwAlarmLevelVo">
select alarm_level_id, alarm_level_name, tenant_id, scene_id, language_code, common_flag, level_number, level_status, default_notify_mode, remark, create_by, create_time, update_by, update_time, alarm_level_field from hw_alarm_level
select alarm_level_id, alarm_level_name, tenant_id, scene_id, language_code, common_flag, level_number, level_status, default_notify_mode, remark, create_by, create_time, update_by, update_time, alarm_level_field from hw_alarm_level hal
</sql>
<select id="selectHwAlarmLevelList" parameterType="HwAlarmLevel" resultMap="HwAlarmLevelResult">
@ -38,7 +40,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="levelStatus != null and levelStatus != ''"> and level_status = #{levelStatus}</if>
<if test="defaultNotifyMode != null and defaultNotifyMode != ''"> and default_notify_mode = #{defaultNotifyMode}</if>
<if test="alarmLevelField != null and alarmLevelField != ''"> and alarm_level_field = #{alarmLevelField}</if>
<!-- 租户数据范围过滤 -->
${params.tenantDataScope}
</where>
order by hal.level_number
</select>
<select id="selectHwAlarmLevelByAlarmLevelId" parameterType="Long" resultMap="HwAlarmLevelResult">
@ -113,4 +118,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{alarmLevelId}
</foreach>
</delete>
<select id="selectHwAlarmLevelJoinList" parameterType="HwAlarmLevel" resultMap="HwAlarmLevelResult">
select hal.alarm_level_id,hal.alarm_level_name,hal.tenant_id,hal.scene_id,hal.level_number,
ht.tenant_name,hs.scene_name
from hw_alarm_level hal
left join hw_tenant ht on hal.tenant_id = ht.tenant_id
left join hw_scene hs on hal.scene_id=hs.scene_id
<where>
hal.level_status!='9'
<if test="alarmLevelName != null and alarmLevelName != ''"> and hal.alarm_level_name like concat('%', #{alarmLevelName}, '%')</if>
<if test="tenantId != null "> and hal.tenant_id = #{tenantId}</if>
<if test="sceneId != null "> and hal.scene_id = #{sceneId}</if>
<if test="languageCode != null and languageCode != ''"> and hal.language_code = #{languageCode}</if>
<if test="commonFlag != null and commonFlag != ''"> and hal.common_flag = #{commonFlag}</if>
<if test="levelNumber != null "> and hal.level_number = #{levelNumber}</if>
<if test="levelStatus != null and levelStatus != ''"> and hal.level_status = #{levelStatus}</if>
<if test="defaultNotifyMode != null and defaultNotifyMode != ''"> and hal.default_notify_mode = #{defaultNotifyMode}</if>
<!-- 租户数据范围过滤 -->
${params.tenantDataScope}
</where>
order by hal.scene_id,hal.level_number
</select>
</mapper>

@ -51,9 +51,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectHwAlarmRuleVo">
select alarm_rule_id, alarm_rule_name, tenant_id, scene_id, language_code, alarm_level_id, alarm_type_id, rule_type, rule_device_id, rule_function_total, trigger_expression, link_flag, alarm_rule_status, alarm_push_flag, alarm_push_content, alarm_recover_content, remark, create_by, create_time, update_by, update_time, alarm_rule_field from hw_alarm_rule
select alarm_rule_id, alarm_rule_name, tenant_id, scene_id, language_code, alarm_level_id, alarm_type_id, rule_type, rule_device_id, rule_function_total, trigger_expression, link_flag, alarm_rule_status, alarm_push_flag, alarm_push_content, alarm_recover_content, remark, create_by, create_time, update_by, update_time, alarm_rule_field from hw_alarm_rule har
</sql>
<select id="selectHwAlarmRuleList" parameterType="HwAlarmRule" resultMap="HwAlarmRuleResult">
<include refid="selectHwAlarmRuleVo"/>
<where>
har.alarm_rule_status !='9'
<if test="alarmRuleName != null and alarmRuleName != ''"> and har.alarm_rule_name like concat('%', #{alarmRuleName}, '%')</if>
<if test="tenantId != null "> and har.tenant_id = #{tenantId}</if>
<if test="sceneId != null "> and har.scene_id = #{sceneId}</if>
<if test="languageCode != null and languageCode != ''"> and har.language_code = #{languageCode}</if>
<if test="alarmLevelId != null "> and har.alarm_level_id = #{alarmLevelId}</if>
<if test="alarmTypeId != null "> and har.alarm_type_id = #{alarmTypeId}</if>
<if test="ruleType != null and ruleType != ''"> and har.rule_type = #{ruleType}</if>
<if test="ruleDeviceId != null "> and har.rule_device_id = #{ruleDeviceId}</if>
<if test="ruleFunctionTotal != null "> and har.rule_function_total = #{ruleFunctionTotal}</if>
<if test="triggerExpression != null and triggerExpression != ''"> and har.trigger_expression = #{triggerExpression}</if>
<if test="linkFlag != null and linkFlag != ''"> and har.link_flag = #{linkFlag}</if>
<if test="alarmRuleStatus != null and alarmRuleStatus != ''"> and har.alarm_rule_status = #{alarmRuleStatus}</if>
<if test="alarmPushFlag != null and alarmPushFlag != ''"> and har.alarm_push_flag = #{alarmPushFlag}</if>
<if test="alarmPushContent != null and alarmPushContent != ''"> and har.alarm_push_content = #{alarmPushContent}</if>
<if test="alarmRecoverContent != null and alarmRecoverContent != ''"> and har.alarm_recover_content = #{alarmRecoverContent}</if>
<if test="alarmRuleField != null and alarmRuleField != ''"> and har.alarm_rule_field = #{alarmRuleField}</if>
<!-- 租户数据范围过滤 -->
${params.tenantDataScope}
</where>
order by har.alarm_rule_id desc
</select>
<select id="selectHwAlarmRuleJoinList" parameterType="HwAlarmRule" resultMap="HwAlarmRuleResult">
select har.alarm_rule_id,har.alarm_rule_name, har.alarm_type_id,har.alarm_level_id,har.scene_id,
har.link_flag,har.alarm_rule_status,har.alarm_push_flag,har.tenant_id,har.trigger_expression,har.rule_device_id,har.rule_type,har.language_code,

@ -19,6 +19,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="alarmTypeField" column="alarm_type_field" />
<result property="tenantName" column="tenant_name" />
<result property="sceneName" column="scene_name" />
</resultMap>
<sql id="selectHwAlarmTypeVo">
@ -36,7 +38,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="handleMode != null and handleMode != ''"> and handle_mode = #{handleMode}</if>
<if test="typeStatus != null and typeStatus != ''"> and type_status = #{typeStatus}</if>
<if test="alarmTypeField != null and alarmTypeField != ''"> and alarm_type_field = #{alarmTypeField}</if>
<!-- 租户数据范围过滤 -->
${params.tenantDataScope}
</where>
order by hat.alarm_type_id desc
</select>
<select id="selectHwAlarmTypeByAlarmTypeId" parameterType="Long" resultMap="HwAlarmTypeResult">
@ -108,4 +113,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{alarmTypeId}
</foreach>
</delete>
<select id="selectHwAlarmTypeJoinList" parameterType="HwAlarmType" resultMap="HwAlarmTypeResult">
select hat.alarm_type_id, hat.alarm_type_name,hat.tenant_id,hat.scene_id,
ht.tenant_name,hs.scene_name
from hw_alarm_type hat
left join hw_tenant ht on hat.tenant_id = ht.tenant_id
left join hw_scene hs on hat.scene_id=hs.scene_id
<where>
hat.type_status!='9'
<if test="alarmTypeName != null and alarmTypeName != ''"> and hat.alarm_type_name like concat('%', #{alarmTypeName}, '%')</if>
<if test="tenantId != null "> and hat.tenant_id = #{tenantId}</if>
<if test="sceneId != null "> and hat.scene_id = #{sceneId}</if>
<if test="languageCode != null and languageCode != ''"> and hat.language_code = #{languageCode}</if>
<if test="commonFlag != null and commonFlag != ''"> and hat.common_flag = #{commonFlag}</if>
<if test="handleMode != null and handleMode != ''"> and hat.handle_mode = #{handleMode}</if>
<if test="typeStatus != null and typeStatus != ''"> and hat.type_status = #{typeStatus}</if>
<!-- 租户数据范围过滤 -->
${params.tenantDataScope}
</where>
order by hat.scene_id,hat.alarm_type_id desc
</select>
</mapper>

@ -0,0 +1,63 @@
import request from '@/utils/request'
// 查询报警级别列表
export function listAlarmLevel(query) {
return request({
url: '/business/alarmLevel/list',
method: 'get',
params: query
})
}
// 查询报警级别详细
export function getAlarmLevel(alarmLevelId) {
return request({
url: '/business/alarmLevel/' + alarmLevelId,
method: 'get'
})
}
// 新增报警级别
export function addAlarmLevel(data) {
return request({
url: '/business/alarmLevel',
method: 'post',
data: data
})
}
// 修改报警级别
export function updateAlarmLevel(data) {
return request({
url: '/business/alarmLevel',
method: 'put',
data: data
})
}
// 删除报警级别
export function delAlarmLevel(alarmLevelId) {
return request({
url: '/business/alarmLevel/' + alarmLevelId,
method: 'delete'
})
}
// 查询场景信息列表供查询页面选择使用(例如下拉列表)
export function getScenes(query) {
return request({
url: '/business/alarmLevel/getScenes',
method: 'get',
params: query
})
}
// 查询场景信息列表供编辑页面选择使用(例如下拉列表)
export function getEditedScenes(query) {
return request({
url: '/business/alarmLevel/getEditedScenes',
method: 'get',
params: query
})
}

@ -0,0 +1,63 @@
import request from '@/utils/request'
// 查询报警类型列表
export function listAlarmType(query) {
return request({
url: '/business/alarmType/list',
method: 'get',
params: query
})
}
// 查询报警类型详细
export function getAlarmType(alarmTypeId) {
return request({
url: '/business/alarmType/' + alarmTypeId,
method: 'get'
})
}
// 新增报警类型
export function addAlarmType(data) {
return request({
url: '/business/alarmType',
method: 'post',
data: data
})
}
// 修改报警类型
export function updateAlarmType(data) {
return request({
url: '/business/alarmType',
method: 'put',
data: data
})
}
// 删除报警类型
export function delAlarmType(alarmTypeId) {
return request({
url: '/business/alarmType/' + alarmTypeId,
method: 'delete'
})
}
// 查询场景信息列表供查询页面选择使用(例如下拉列表)
export function getScenes(query) {
return request({
url: '/business/alarmType/getScenes',
method: 'get',
params: query
})
}
// 查询场景信息列表供编辑页面选择使用(例如下拉列表)
export function getEditedScenes(query) {
return request({
url: '/business/alarmType/getEditedScenes',
method: 'get',
params: query
})
}

@ -0,0 +1,330 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="级别名称" prop="alarmLevelName">
<el-input
v-model="queryParams.alarmLevelName"
placeholder="请输入报警级别名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="所属场景" prop="sceneId">
<el-select v-model="queryParams.sceneId" placeholder="请选择所属场景" clearable>
<el-option
v-for="(scene, index) in scenes"
:key="index"
:label="scene.sceneName"
:value="scene.sceneId"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['business:alarmLevel:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:alarmLevel:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['business:alarmLevel:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="alarmLevelList" @selection-change="handleSelectionChange">
<el-table-column label="报警级别ID" align="center" prop="alarmLevelId" />
<el-table-column label="报警级别名称" align="center" prop="alarmLevelName" />
<el-table-column label="所属租户" align="center" prop="tenantName" />
<el-table-column label="所属场景" align="center" prop="sceneName" />
<el-table-column label="严重程度" align="center" prop="levelNumber" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:alarmLevel:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:alarmLevel:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改报警级别对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="报警级别名称" prop="alarmLevelName">
<el-input v-model="form.alarmLevelName" placeholder="请输入报警级别名称" />
</el-form-item>
<el-form-item label="所属场景" prop="sceneId">
<el-select v-model="form.sceneId" placeholder="请选择所属场景"
:disabled="sceneDisabled">
<el-option
v-for="(scene, index) in editedScenes"
:key="index"
:label="scene.sceneName"
:value="scene.sceneId"
:disabled="scene.selectedDisable && scene.selectedDisable == 1"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="严重程度" prop="levelNumber">
<span slot="label">
<el-tooltip content="数字越大,严重程度越高" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
严重程度
</span>
<el-input-number v-model="form.levelNumber" placeholder="请输入严重程度" :max="1000" :min="1"></el-input-number>
<span><br/>数字越大严重程度越高</span>
</el-form-item>
<el-form-item label="描述" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listAlarmLevel, getAlarmLevel, delAlarmLevel, addAlarmLevel, updateAlarmLevel,getScenes,getEditedScenes } from "@/api/business/alarmLevel";
export default {
name: "AlarmLevel",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
alarmLevelList: [],
scenes:[],//
editedScenes:[], //
sceneDisabled:true,
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
alarmLevelName: null,
tenantId: null,
sceneId: null,
languageCode: null,
commonFlag: null,
levelNumber: null,
levelStatus: null,
defaultNotifyMode: null,
alarmLevelField: null
},
//
form: {},
//
rules: {
alarmLevelName: [
{ required: true, message: "报警级别名称不能为空", trigger: "blur" }
],
sceneId: [
{ required: true, message: "所属场景不能为空", trigger: "change" }
],
levelNumber: [
{ required: true, message: "严重程度不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getScenes();
this.getList();
},
methods: {
getScenes() {
getScenes().then(response => {
this.scenes = response.data;
});
},
getEditedScenes() {
getEditedScenes().then(response => {
this.editedScenes = response.data;
});
},
/** 查询报警级别列表 */
getList() {
this.loading = true;
listAlarmLevel(this.queryParams).then(response => {
this.alarmLevelList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
alarmLevelId: null,
alarmLevelName: null,
tenantId: null,
sceneId: null,
languageCode: null,
commonFlag: null,
levelNumber: null,
levelStatus: null,
defaultNotifyMode: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
alarmLevelField: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.alarmLevelId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.sceneDisabled = false;
this.editedScenes = [];
this.getEditedScenes();
this.reset();
this.open = true;
this.title = "添加报警级别";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.sceneDisabled = true;
this.editedScenes = [];
this.getEditedScenes();
this.reset();
const alarmLevelId = row.alarmLevelId || this.ids
getAlarmLevel(alarmLevelId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改报警级别";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.alarmLevelId != null) {
updateAlarmLevel(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAlarmLevel(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const alarmLevelIds = row.alarmLevelId || this.ids;
this.$modal.confirm('是否确认删除报警级别ID为"' + alarmLevelIds + '"的数据项?').then(function() {
return delAlarmLevel(alarmLevelIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('business/alarmLevel/export', {
...this.queryParams
}, `alarmLevel_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -192,7 +192,7 @@
<el-form-item label="所属场景" prop="sceneId">
<el-select v-model="form.sceneId" placeholder="请选择所属场景" @input="editedSceneChange"
:disabled="sceneDisabled">j
:disabled="sceneDisabled">
<el-option
v-for="(scene, index) in editedScenes"
:key="index"

@ -0,0 +1,306 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="类型名称" prop="alarmTypeName">
<el-input
v-model="queryParams.alarmTypeName"
placeholder="请输入报警类型名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="所属场景" prop="sceneId">
<el-select v-model="queryParams.sceneId" placeholder="请选择所属场景" clearable>
<el-option
v-for="(scene, index) in scenes"
:key="index"
:label="scene.sceneName"
:value="scene.sceneId"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['business:alarmType:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:alarmType:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['business:alarmType:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="alarmTypeList" @selection-change="handleSelectionChange">
<el-table-column label="报警类型ID" align="center" prop="alarmTypeId" />
<el-table-column label="报警类型名称" align="center" prop="alarmTypeName" />
<el-table-column label="所属租户" align="center" prop="tenantName" />
<el-table-column label="所属场景" align="center" prop="sceneName" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:alarmType:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:alarmType:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改报警类型对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="报警类型名称" prop="alarmTypeName">
<el-input v-model="form.alarmTypeName" placeholder="请输入报警类型名称" />
</el-form-item>
<el-form-item label="所属场景" prop="sceneId">
<el-select v-model="form.sceneId" placeholder="请选择所属场景"
:disabled="sceneDisabled">
<el-option
v-for="(scene, index) in editedScenes"
:key="index"
:label="scene.sceneName"
:value="scene.sceneId"
:disabled="scene.selectedDisable && scene.selectedDisable == 1"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="描述" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listAlarmType, getAlarmType, delAlarmType, addAlarmType, updateAlarmType } from "@/api/business/alarmType";
import {getEditedScenes, getScenes} from "@/api/business/alarmLevel";
export default {
name: "AlarmType",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
alarmTypeList: [],
scenes:[],//
editedScenes:[], //
sceneDisabled:true,
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
alarmTypeName: null,
tenantId: null,
sceneId: null,
languageCode: null,
commonFlag: null,
handleMode: null,
typeStatus: null,
alarmTypeField: null
},
//
form: {},
//
rules: {
alarmTypeName: [
{ required: true, message: "报警类型名称不能为空", trigger: "blur" }
],
sceneId: [
{ required: true, message: "所属场景不能为空", trigger: "change" }
],
}
};
},
created() {
this.getScenes();
this.getList();
},
methods: {
getScenes() {
getScenes().then(response => {
this.scenes = response.data;
});
},
getEditedScenes() {
getEditedScenes().then(response => {
this.editedScenes = response.data;
});
},
/** 查询报警类型列表 */
getList() {
this.loading = true;
listAlarmType(this.queryParams).then(response => {
this.alarmTypeList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.editedScenes = [];
this.getEditedScenes();
this.form = {
alarmTypeId: null,
alarmTypeName: null,
tenantId: null,
sceneId: null,
languageCode: null,
commonFlag: null,
handleMode: null,
typeStatus: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
alarmTypeField: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.alarmTypeId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.sceneDisabled = false;
this.reset();
this.open = true;
this.title = "添加报警类型";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.sceneDisabled = true;
this.reset();
const alarmTypeId = row.alarmTypeId || this.ids
getAlarmType(alarmTypeId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改报警类型";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.alarmTypeId != null) {
updateAlarmType(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAlarmType(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const alarmTypeIds = row.alarmTypeId || this.ids;
this.$modal.confirm('是否确认删除报警类型编号为"' + alarmTypeIds + '"的数据项?').then(function() {
return delAlarmType(alarmTypeIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('business/alarmType/export', {
...this.queryParams
}, `alarmType_${new Date().getTime()}.xlsx`)
}
}
};
</script>
Loading…
Cancel
Save