AlarmSettingController.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package com.huaxu.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.huaxu.dto.AlarmSettingDto;
  5. import com.huaxu.entity.AlarmSetting;
  6. import com.huaxu.entity.GisSetting;
  7. import com.huaxu.model.AjaxMessage;
  8. import com.huaxu.model.LoginUser;
  9. import com.huaxu.model.Pagination;
  10. import com.huaxu.model.ResultStatus;
  11. import com.huaxu.service.AlarmSettingService;
  12. import com.huaxu.service.SceneService;
  13. import com.huaxu.util.UserUtil;
  14. import com.huaxu.util.OrgInfoUtil;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import io.swagger.annotations.ApiParam;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.*;
  20. import java.util.List;
  21. /**
  22. * 报警设置控制层
  23. *
  24. * @author yjy
  25. * @since 2020-11-17
  26. */
  27. @RestController
  28. @RequestMapping("/alarmSetting")
  29. @Api(tags = "报警管理")
  30. public class AlarmSettingController {
  31. /**
  32. * 服务对象
  33. */
  34. @Autowired
  35. private AlarmSettingService alarmSettingService;
  36. @Autowired
  37. private SceneService sceneService;
  38. @Autowired
  39. private OrgInfoUtil orgInfoUtil;
  40. /**
  41. * 删除多条数据
  42. *
  43. * @param ids
  44. * @return Response对象
  45. */
  46. @RequestMapping(value = "deleteByAlarmIds", method = RequestMethod.POST)
  47. @ApiOperation(value = "删除报警配置信息")
  48. public AjaxMessage<Boolean> deleteByAlarmIds(@ApiParam(value = "报警配置ids", required = true) @RequestBody Long[] ids) {
  49. boolean result = alarmSettingService.deleteByAlarmIds(ids);
  50. return new AjaxMessage<>(ResultStatus.OK, result);
  51. }
  52. /**
  53. * 修改数据
  54. *
  55. * @param
  56. * @return Response对象
  57. */
  58. @RequestMapping(value = "updateByAlarmId", method = RequestMethod.POST)
  59. @ApiOperation(value = "修改报警配置信息")
  60. public AjaxMessage<Boolean> updateByAlarmId(@ApiParam(value = "报警配置信息", required = true) @RequestBody AlarmSetting alarmSetting) {
  61. if(alarmSetting.getId()==null) {
  62. return new AjaxMessage<>(ResultStatus.PARAM_ERROR);
  63. }
  64. LoginUser currentUser = UserUtil.getCurrentUser();
  65. alarmSetting.setUpdateBy(currentUser.getUsername());
  66. boolean result = alarmSettingService.updateByAlarmId(alarmSetting);
  67. return new AjaxMessage<>(ResultStatus.OK, result);
  68. }
  69. /**
  70. * 增加数据
  71. *
  72. * @param
  73. * @return Response对象
  74. */
  75. @RequestMapping(value = "insertBatch", method = RequestMethod.POST)
  76. @ApiOperation(value = "批量增加报警配置信息",notes = "alarmType 为参数报警或状态报警")
  77. public AjaxMessage<Boolean> insertBatch(@ApiParam(value = "报警配置列表", required = true) @RequestBody List<AlarmSetting> listAlarmSetting) {
  78. LoginUser currentUser = UserUtil.getCurrentUser();
  79. for (AlarmSetting alarm:listAlarmSetting) {
  80. alarm.setCreateBy(currentUser.getUsername());
  81. alarm.setTenantId(currentUser.getTenantId());
  82. alarm.setStatus(1);
  83. }
  84. boolean result = alarmSettingService.insertBatch(listAlarmSetting);
  85. return new AjaxMessage<>(ResultStatus.OK, result);
  86. }
  87. /**
  88. * 分页查询报警设置数据
  89. *
  90. * @param attributeName 报警参数
  91. * @param sceneId 场景id
  92. * @return
  93. */
  94. @RequestMapping(value = "selectPage", method = RequestMethod.GET)
  95. @ApiOperation(value = "分页查询报警设置数据")
  96. public AjaxMessage<Pagination<AlarmSettingDto>> selectPage(
  97. @ApiParam(value = "页数", required = true)@RequestParam Integer pageNum,
  98. @ApiParam(value = "条数", required = true)@RequestParam Integer pageSize,
  99. @ApiParam(value = "报警设置id", required = false) @RequestParam(required = false) Integer id,
  100. @ApiParam(value = "报警参数", required = false) @RequestParam(required = false) String attributeName,
  101. @ApiParam(value = "场景id", required = false) @RequestParam(required = false) Long sceneId) {
  102. AlarmSettingDto alarmSettingDto=new AlarmSettingDto();
  103. alarmSettingDto.setId(id);
  104. alarmSettingDto.setAttributeName(attributeName);
  105. alarmSettingDto.setSceneId(sceneId);
  106. alarmSettingDto.setSceneIds(sceneService.findByParentIdsLike(sceneId));
  107. IPage<AlarmSettingDto> iPage = new Page<>(pageNum, pageSize);
  108. iPage = alarmSettingService.selectPage(iPage, alarmSettingDto);
  109. Pagination<AlarmSettingDto> pages = new Pagination<>(iPage);
  110. for(AlarmSettingDto alarm : pages.getList()){
  111. alarm.setCompanyOrgName(orgInfoUtil.getOrgName(alarm.getCompanyOrgId()));
  112. alarm.setDeptOrgName(orgInfoUtil.getOrgName(alarm.getDeptOrgId()));
  113. }
  114. return new AjaxMessage<>(ResultStatus.OK, pages);
  115. }
  116. /**
  117. * 根据设备id查询属性信息
  118. *
  119. * @param deviceId
  120. * @return
  121. */
  122. @RequestMapping(value = "selectAttributes", method = RequestMethod.GET)
  123. @ApiOperation(value = "根据设备id查询属性信息")
  124. public AjaxMessage<List<AlarmSettingDto>> selectAttributes(@RequestParam Integer deviceId) {
  125. if(deviceId==null) {
  126. return new AjaxMessage<>(ResultStatus.PARAM_ERROR);
  127. }
  128. List<AlarmSettingDto> result = alarmSettingService.selectAttributes(deviceId);
  129. return new AjaxMessage<>(ResultStatus.OK, result);
  130. }
  131. }