diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java index 969cb87..e6ffc63 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java @@ -1,16 +1,18 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.function.Function; + /** *

* 报警阈值表 @@ -23,13 +25,12 @@ @TableName("casic_smartcity_environment.biz_alarm_rule") public class BizAlarmRule extends Model { - private static final long serialVersionUID = 1L; /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; /** * 设备编号 */ @@ -77,4 +78,27 @@ protected Serializable pkVal() { return this.id; } + + /** + * 传输数据转换 + * + * @param otherConvert 其他转换操作 + * @return 业务传输数据 + */ + public AlarmRuleDTO convertDTO(Function otherConvert) { + AlarmRuleDTO dto = new AlarmRuleDTO(); + dto.setId(this.getId()); + dto.setDeviceNo(this.getDeviceNo()); + dto.setSensor(this.getSensor()); + dto.setLevel(this.getLevel()); + dto.setAlarmThreshold(this.getAlarmThreshold()); + dto.setWarningThreshold(this.getWarningThreshold()); + dto.setAlarmOpen(this.getAlarmOpen()); + dto.setOperation(this.getOperation()); + dto.setTs(this.getTs()); + dto.setDelFlag(this.getDelFlag()); + return otherConvert.apply(dto); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java index 969cb87..e6ffc63 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java @@ -1,16 +1,18 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.function.Function; + /** *

* 报警阈值表 @@ -23,13 +25,12 @@ @TableName("casic_smartcity_environment.biz_alarm_rule") public class BizAlarmRule extends Model { - private static final long serialVersionUID = 1L; /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; /** * 设备编号 */ @@ -77,4 +78,27 @@ protected Serializable pkVal() { return this.id; } + + /** + * 传输数据转换 + * + * @param otherConvert 其他转换操作 + * @return 业务传输数据 + */ + public AlarmRuleDTO convertDTO(Function otherConvert) { + AlarmRuleDTO dto = new AlarmRuleDTO(); + dto.setId(this.getId()); + dto.setDeviceNo(this.getDeviceNo()); + dto.setSensor(this.getSensor()); + dto.setLevel(this.getLevel()); + dto.setAlarmThreshold(this.getAlarmThreshold()); + dto.setWarningThreshold(this.getWarningThreshold()); + dto.setAlarmOpen(this.getAlarmOpen()); + dto.setOperation(this.getOperation()); + dto.setTs(this.getTs()); + dto.setDelFlag(this.getDelFlag()); + return otherConvert.apply(dto); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java index b1ab24a..ac49d42 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java @@ -1,13 +1,15 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -17,6 +19,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_sensor") public class BizSensor extends Model { @@ -45,47 +48,6 @@ @TableField("data_attr") private String dataAttr; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public String getDataAttr() { - return dataAttr; - } - - public void setDataAttr(String dataAttr) { - this.dataAttr = dataAttr; - } - @Override protected Serializable pkVal() { return this.id; @@ -94,11 +56,22 @@ @Override public String toString() { return "BizSensor{" + - "id=" + id + - ", name=" + name + - ", sensor=" + sensor + - ", unit=" + unit + - ", dataAttr=" + dataAttr + - "}"; + "id=" + id + + ", name=" + name + + ", sensor=" + sensor + + ", unit=" + unit + + ", dataAttr=" + dataAttr + + "}"; + } + + /** + * 判断该规则是否已在目标集合中存在 + * + * @param rules 规则配置集合 + * @return 是否已存在 + */ + public List isContains(List rules) { + + return rules.stream().filter(obj -> this.sensor.equals(obj.getSensor())).collect(Collectors.toList()); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java index 969cb87..e6ffc63 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java @@ -1,16 +1,18 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.function.Function; + /** *

* 报警阈值表 @@ -23,13 +25,12 @@ @TableName("casic_smartcity_environment.biz_alarm_rule") public class BizAlarmRule extends Model { - private static final long serialVersionUID = 1L; /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; /** * 设备编号 */ @@ -77,4 +78,27 @@ protected Serializable pkVal() { return this.id; } + + /** + * 传输数据转换 + * + * @param otherConvert 其他转换操作 + * @return 业务传输数据 + */ + public AlarmRuleDTO convertDTO(Function otherConvert) { + AlarmRuleDTO dto = new AlarmRuleDTO(); + dto.setId(this.getId()); + dto.setDeviceNo(this.getDeviceNo()); + dto.setSensor(this.getSensor()); + dto.setLevel(this.getLevel()); + dto.setAlarmThreshold(this.getAlarmThreshold()); + dto.setWarningThreshold(this.getWarningThreshold()); + dto.setAlarmOpen(this.getAlarmOpen()); + dto.setOperation(this.getOperation()); + dto.setTs(this.getTs()); + dto.setDelFlag(this.getDelFlag()); + return otherConvert.apply(dto); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java index b1ab24a..ac49d42 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java @@ -1,13 +1,15 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -17,6 +19,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_sensor") public class BizSensor extends Model { @@ -45,47 +48,6 @@ @TableField("data_attr") private String dataAttr; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public String getDataAttr() { - return dataAttr; - } - - public void setDataAttr(String dataAttr) { - this.dataAttr = dataAttr; - } - @Override protected Serializable pkVal() { return this.id; @@ -94,11 +56,22 @@ @Override public String toString() { return "BizSensor{" + - "id=" + id + - ", name=" + name + - ", sensor=" + sensor + - ", unit=" + unit + - ", dataAttr=" + dataAttr + - "}"; + "id=" + id + + ", name=" + name + + ", sensor=" + sensor + + ", unit=" + unit + + ", dataAttr=" + dataAttr + + "}"; + } + + /** + * 判断该规则是否已在目标集合中存在 + * + * @param rules 规则配置集合 + * @return 是否已存在 + */ + public List isContains(List rules) { + + return rules.stream().filter(obj -> this.sensor.equals(obj.getSensor())).collect(Collectors.toList()); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java new file mode 100644 index 0000000..324a880 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java @@ -0,0 +1,64 @@ +package com.casic.missiles.modular.system.model.dto; + +import lombok.Data; + +import java.util.Date; + + +/** + * 告警规则传输对象 + * + * @author lenovo + */ +@Data +public class AlarmRuleDTO { + /** + * 主键 + */ + private Long id; + /** + * 设备编号 + */ + private String deviceNo; + /** + * 参数编码 + */ + private String sensor; + /** + * 报警等级 + */ + private String level; + /** + * 报警阈值 + */ + private Double alarmThreshold; + /** + * 预警阈值 + */ + private Double warningThreshold; + /** + * 告警开关:1为开,0为关 + */ + private String alarmOpen; + /** + * 最新操作人id + */ + private Long operation; + /** + * 最新操作时间 + */ + private Date ts; + /** + * 删除标记 + */ + private String delFlag; + + /** + * 参数名称 + */ + private String sensorName; + /** + * 单位 + */ + private String unit; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java index 969cb87..e6ffc63 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java @@ -1,16 +1,18 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.function.Function; + /** *

* 报警阈值表 @@ -23,13 +25,12 @@ @TableName("casic_smartcity_environment.biz_alarm_rule") public class BizAlarmRule extends Model { - private static final long serialVersionUID = 1L; /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; /** * 设备编号 */ @@ -77,4 +78,27 @@ protected Serializable pkVal() { return this.id; } + + /** + * 传输数据转换 + * + * @param otherConvert 其他转换操作 + * @return 业务传输数据 + */ + public AlarmRuleDTO convertDTO(Function otherConvert) { + AlarmRuleDTO dto = new AlarmRuleDTO(); + dto.setId(this.getId()); + dto.setDeviceNo(this.getDeviceNo()); + dto.setSensor(this.getSensor()); + dto.setLevel(this.getLevel()); + dto.setAlarmThreshold(this.getAlarmThreshold()); + dto.setWarningThreshold(this.getWarningThreshold()); + dto.setAlarmOpen(this.getAlarmOpen()); + dto.setOperation(this.getOperation()); + dto.setTs(this.getTs()); + dto.setDelFlag(this.getDelFlag()); + return otherConvert.apply(dto); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java index b1ab24a..ac49d42 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java @@ -1,13 +1,15 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -17,6 +19,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_sensor") public class BizSensor extends Model { @@ -45,47 +48,6 @@ @TableField("data_attr") private String dataAttr; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public String getDataAttr() { - return dataAttr; - } - - public void setDataAttr(String dataAttr) { - this.dataAttr = dataAttr; - } - @Override protected Serializable pkVal() { return this.id; @@ -94,11 +56,22 @@ @Override public String toString() { return "BizSensor{" + - "id=" + id + - ", name=" + name + - ", sensor=" + sensor + - ", unit=" + unit + - ", dataAttr=" + dataAttr + - "}"; + "id=" + id + + ", name=" + name + + ", sensor=" + sensor + + ", unit=" + unit + + ", dataAttr=" + dataAttr + + "}"; + } + + /** + * 判断该规则是否已在目标集合中存在 + * + * @param rules 规则配置集合 + * @return 是否已存在 + */ + public List isContains(List rules) { + + return rules.stream().filter(obj -> this.sensor.equals(obj.getSensor())).collect(Collectors.toList()); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java new file mode 100644 index 0000000..324a880 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java @@ -0,0 +1,64 @@ +package com.casic.missiles.modular.system.model.dto; + +import lombok.Data; + +import java.util.Date; + + +/** + * 告警规则传输对象 + * + * @author lenovo + */ +@Data +public class AlarmRuleDTO { + /** + * 主键 + */ + private Long id; + /** + * 设备编号 + */ + private String deviceNo; + /** + * 参数编码 + */ + private String sensor; + /** + * 报警等级 + */ + private String level; + /** + * 报警阈值 + */ + private Double alarmThreshold; + /** + * 预警阈值 + */ + private Double warningThreshold; + /** + * 告警开关:1为开,0为关 + */ + private String alarmOpen; + /** + * 最新操作人id + */ + private Long operation; + /** + * 最新操作时间 + */ + private Date ts; + /** + * 删除标记 + */ + private String delFlag; + + /** + * 参数名称 + */ + private String sensorName; + /** + * 单位 + */ + private String unit; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java new file mode 100644 index 0000000..14fc3e7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +public class AlarmRecordVO { + /** + * 关键字 + */ + private String keywords; + /** + * 报警类型 + */ + private String alarmType; + /** + * 报警等级 + */ + private String alarmLevel; + /** + * 报警状态 + */ + private String status; + /** + * 开始时间 yyyy-mm-dd + */ + private String startDate; + /** + * 结束时间 yyyy-mm-dd + */ + private String endDate; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + if (StringUtils.isNotEmpty(alarmType)) { + query.eq("a.alarm_type", alarmType); + } + if (StringUtils.isNotEmpty(alarmLevel)) { + query.eq("a.alarm_level", alarmLevel); + } + if (StringUtils.isNotEmpty(keywords)) { + query.andNew().like("b.device_no", keywords).or().like("b.device_name", keywords); + } + + + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java index 969cb87..e6ffc63 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java @@ -1,16 +1,18 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.function.Function; + /** *

* 报警阈值表 @@ -23,13 +25,12 @@ @TableName("casic_smartcity_environment.biz_alarm_rule") public class BizAlarmRule extends Model { - private static final long serialVersionUID = 1L; /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; /** * 设备编号 */ @@ -77,4 +78,27 @@ protected Serializable pkVal() { return this.id; } + + /** + * 传输数据转换 + * + * @param otherConvert 其他转换操作 + * @return 业务传输数据 + */ + public AlarmRuleDTO convertDTO(Function otherConvert) { + AlarmRuleDTO dto = new AlarmRuleDTO(); + dto.setId(this.getId()); + dto.setDeviceNo(this.getDeviceNo()); + dto.setSensor(this.getSensor()); + dto.setLevel(this.getLevel()); + dto.setAlarmThreshold(this.getAlarmThreshold()); + dto.setWarningThreshold(this.getWarningThreshold()); + dto.setAlarmOpen(this.getAlarmOpen()); + dto.setOperation(this.getOperation()); + dto.setTs(this.getTs()); + dto.setDelFlag(this.getDelFlag()); + return otherConvert.apply(dto); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java index b1ab24a..ac49d42 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java @@ -1,13 +1,15 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -17,6 +19,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_sensor") public class BizSensor extends Model { @@ -45,47 +48,6 @@ @TableField("data_attr") private String dataAttr; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public String getDataAttr() { - return dataAttr; - } - - public void setDataAttr(String dataAttr) { - this.dataAttr = dataAttr; - } - @Override protected Serializable pkVal() { return this.id; @@ -94,11 +56,22 @@ @Override public String toString() { return "BizSensor{" + - "id=" + id + - ", name=" + name + - ", sensor=" + sensor + - ", unit=" + unit + - ", dataAttr=" + dataAttr + - "}"; + "id=" + id + + ", name=" + name + + ", sensor=" + sensor + + ", unit=" + unit + + ", dataAttr=" + dataAttr + + "}"; + } + + /** + * 判断该规则是否已在目标集合中存在 + * + * @param rules 规则配置集合 + * @return 是否已存在 + */ + public List isContains(List rules) { + + return rules.stream().filter(obj -> this.sensor.equals(obj.getSensor())).collect(Collectors.toList()); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java new file mode 100644 index 0000000..324a880 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java @@ -0,0 +1,64 @@ +package com.casic.missiles.modular.system.model.dto; + +import lombok.Data; + +import java.util.Date; + + +/** + * 告警规则传输对象 + * + * @author lenovo + */ +@Data +public class AlarmRuleDTO { + /** + * 主键 + */ + private Long id; + /** + * 设备编号 + */ + private String deviceNo; + /** + * 参数编码 + */ + private String sensor; + /** + * 报警等级 + */ + private String level; + /** + * 报警阈值 + */ + private Double alarmThreshold; + /** + * 预警阈值 + */ + private Double warningThreshold; + /** + * 告警开关:1为开,0为关 + */ + private String alarmOpen; + /** + * 最新操作人id + */ + private Long operation; + /** + * 最新操作时间 + */ + private Date ts; + /** + * 删除标记 + */ + private String delFlag; + + /** + * 参数名称 + */ + private String sensorName; + /** + * 单位 + */ + private String unit; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java new file mode 100644 index 0000000..14fc3e7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +public class AlarmRecordVO { + /** + * 关键字 + */ + private String keywords; + /** + * 报警类型 + */ + private String alarmType; + /** + * 报警等级 + */ + private String alarmLevel; + /** + * 报警状态 + */ + private String status; + /** + * 开始时间 yyyy-mm-dd + */ + private String startDate; + /** + * 结束时间 yyyy-mm-dd + */ + private String endDate; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + if (StringUtils.isNotEmpty(alarmType)) { + query.eq("a.alarm_type", alarmType); + } + if (StringUtils.isNotEmpty(alarmLevel)) { + query.eq("a.alarm_level", alarmLevel); + } + if (StringUtils.isNotEmpty(keywords)) { + query.andNew().like("b.device_no", keywords).or().like("b.device_name", keywords); + } + + + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java new file mode 100644 index 0000000..331453e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java @@ -0,0 +1,66 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + * 告警规则查询视图 + * + * @author lenovo + */ +@Data +public class AlarmRuleVO { + private String deviceNo; + private String sensor; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + /** + * 参数阈值查询构造 + * + * @return 检索参数 + */ + public Function> convertSensorQuery() { + return (vo) -> { + EntityWrapper query = new EntityWrapper<>(); + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + query.orderBy("sensor"); + return query; + }; + } + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + query.eq("del_flag", 0); + if (StringUtils.isNotEmpty(vo.getDeviceNo())) { + query.eq("device_no", vo.getDeviceNo()); + } + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java index 969cb87..e6ffc63 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java @@ -1,16 +1,18 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.function.Function; + /** *

* 报警阈值表 @@ -23,13 +25,12 @@ @TableName("casic_smartcity_environment.biz_alarm_rule") public class BizAlarmRule extends Model { - private static final long serialVersionUID = 1L; /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; /** * 设备编号 */ @@ -77,4 +78,27 @@ protected Serializable pkVal() { return this.id; } + + /** + * 传输数据转换 + * + * @param otherConvert 其他转换操作 + * @return 业务传输数据 + */ + public AlarmRuleDTO convertDTO(Function otherConvert) { + AlarmRuleDTO dto = new AlarmRuleDTO(); + dto.setId(this.getId()); + dto.setDeviceNo(this.getDeviceNo()); + dto.setSensor(this.getSensor()); + dto.setLevel(this.getLevel()); + dto.setAlarmThreshold(this.getAlarmThreshold()); + dto.setWarningThreshold(this.getWarningThreshold()); + dto.setAlarmOpen(this.getAlarmOpen()); + dto.setOperation(this.getOperation()); + dto.setTs(this.getTs()); + dto.setDelFlag(this.getDelFlag()); + return otherConvert.apply(dto); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java index b1ab24a..ac49d42 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java @@ -1,13 +1,15 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -17,6 +19,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_sensor") public class BizSensor extends Model { @@ -45,47 +48,6 @@ @TableField("data_attr") private String dataAttr; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public String getDataAttr() { - return dataAttr; - } - - public void setDataAttr(String dataAttr) { - this.dataAttr = dataAttr; - } - @Override protected Serializable pkVal() { return this.id; @@ -94,11 +56,22 @@ @Override public String toString() { return "BizSensor{" + - "id=" + id + - ", name=" + name + - ", sensor=" + sensor + - ", unit=" + unit + - ", dataAttr=" + dataAttr + - "}"; + "id=" + id + + ", name=" + name + + ", sensor=" + sensor + + ", unit=" + unit + + ", dataAttr=" + dataAttr + + "}"; + } + + /** + * 判断该规则是否已在目标集合中存在 + * + * @param rules 规则配置集合 + * @return 是否已存在 + */ + public List isContains(List rules) { + + return rules.stream().filter(obj -> this.sensor.equals(obj.getSensor())).collect(Collectors.toList()); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java new file mode 100644 index 0000000..324a880 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java @@ -0,0 +1,64 @@ +package com.casic.missiles.modular.system.model.dto; + +import lombok.Data; + +import java.util.Date; + + +/** + * 告警规则传输对象 + * + * @author lenovo + */ +@Data +public class AlarmRuleDTO { + /** + * 主键 + */ + private Long id; + /** + * 设备编号 + */ + private String deviceNo; + /** + * 参数编码 + */ + private String sensor; + /** + * 报警等级 + */ + private String level; + /** + * 报警阈值 + */ + private Double alarmThreshold; + /** + * 预警阈值 + */ + private Double warningThreshold; + /** + * 告警开关:1为开,0为关 + */ + private String alarmOpen; + /** + * 最新操作人id + */ + private Long operation; + /** + * 最新操作时间 + */ + private Date ts; + /** + * 删除标记 + */ + private String delFlag; + + /** + * 参数名称 + */ + private String sensorName; + /** + * 单位 + */ + private String unit; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java new file mode 100644 index 0000000..14fc3e7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +public class AlarmRecordVO { + /** + * 关键字 + */ + private String keywords; + /** + * 报警类型 + */ + private String alarmType; + /** + * 报警等级 + */ + private String alarmLevel; + /** + * 报警状态 + */ + private String status; + /** + * 开始时间 yyyy-mm-dd + */ + private String startDate; + /** + * 结束时间 yyyy-mm-dd + */ + private String endDate; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + if (StringUtils.isNotEmpty(alarmType)) { + query.eq("a.alarm_type", alarmType); + } + if (StringUtils.isNotEmpty(alarmLevel)) { + query.eq("a.alarm_level", alarmLevel); + } + if (StringUtils.isNotEmpty(keywords)) { + query.andNew().like("b.device_no", keywords).or().like("b.device_name", keywords); + } + + + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java new file mode 100644 index 0000000..331453e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java @@ -0,0 +1,66 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + * 告警规则查询视图 + * + * @author lenovo + */ +@Data +public class AlarmRuleVO { + private String deviceNo; + private String sensor; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + /** + * 参数阈值查询构造 + * + * @return 检索参数 + */ + public Function> convertSensorQuery() { + return (vo) -> { + EntityWrapper query = new EntityWrapper<>(); + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + query.orderBy("sensor"); + return query; + }; + } + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + query.eq("del_flag", 0); + if (StringUtils.isNotEmpty(vo.getDeviceNo())) { + query.eq("device_no", vo.getDeviceNo()); + } + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java index b13be1c..3817ff1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java @@ -1,7 +1,10 @@ package com.casic.missiles.modular.system.service; -import com.casic.missiles.modular.system.model.BizAlarmLevel; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.system.model.BizAlarmLevel; + +import java.util.List; /** *

@@ -13,4 +16,5 @@ */ public interface IBizAlarmLevelService extends IService { + List selectLevelList(EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java index 969cb87..e6ffc63 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java @@ -1,16 +1,18 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.function.Function; + /** *

* 报警阈值表 @@ -23,13 +25,12 @@ @TableName("casic_smartcity_environment.biz_alarm_rule") public class BizAlarmRule extends Model { - private static final long serialVersionUID = 1L; /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; /** * 设备编号 */ @@ -77,4 +78,27 @@ protected Serializable pkVal() { return this.id; } + + /** + * 传输数据转换 + * + * @param otherConvert 其他转换操作 + * @return 业务传输数据 + */ + public AlarmRuleDTO convertDTO(Function otherConvert) { + AlarmRuleDTO dto = new AlarmRuleDTO(); + dto.setId(this.getId()); + dto.setDeviceNo(this.getDeviceNo()); + dto.setSensor(this.getSensor()); + dto.setLevel(this.getLevel()); + dto.setAlarmThreshold(this.getAlarmThreshold()); + dto.setWarningThreshold(this.getWarningThreshold()); + dto.setAlarmOpen(this.getAlarmOpen()); + dto.setOperation(this.getOperation()); + dto.setTs(this.getTs()); + dto.setDelFlag(this.getDelFlag()); + return otherConvert.apply(dto); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java index b1ab24a..ac49d42 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java @@ -1,13 +1,15 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -17,6 +19,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_sensor") public class BizSensor extends Model { @@ -45,47 +48,6 @@ @TableField("data_attr") private String dataAttr; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public String getDataAttr() { - return dataAttr; - } - - public void setDataAttr(String dataAttr) { - this.dataAttr = dataAttr; - } - @Override protected Serializable pkVal() { return this.id; @@ -94,11 +56,22 @@ @Override public String toString() { return "BizSensor{" + - "id=" + id + - ", name=" + name + - ", sensor=" + sensor + - ", unit=" + unit + - ", dataAttr=" + dataAttr + - "}"; + "id=" + id + + ", name=" + name + + ", sensor=" + sensor + + ", unit=" + unit + + ", dataAttr=" + dataAttr + + "}"; + } + + /** + * 判断该规则是否已在目标集合中存在 + * + * @param rules 规则配置集合 + * @return 是否已存在 + */ + public List isContains(List rules) { + + return rules.stream().filter(obj -> this.sensor.equals(obj.getSensor())).collect(Collectors.toList()); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java new file mode 100644 index 0000000..324a880 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java @@ -0,0 +1,64 @@ +package com.casic.missiles.modular.system.model.dto; + +import lombok.Data; + +import java.util.Date; + + +/** + * 告警规则传输对象 + * + * @author lenovo + */ +@Data +public class AlarmRuleDTO { + /** + * 主键 + */ + private Long id; + /** + * 设备编号 + */ + private String deviceNo; + /** + * 参数编码 + */ + private String sensor; + /** + * 报警等级 + */ + private String level; + /** + * 报警阈值 + */ + private Double alarmThreshold; + /** + * 预警阈值 + */ + private Double warningThreshold; + /** + * 告警开关:1为开,0为关 + */ + private String alarmOpen; + /** + * 最新操作人id + */ + private Long operation; + /** + * 最新操作时间 + */ + private Date ts; + /** + * 删除标记 + */ + private String delFlag; + + /** + * 参数名称 + */ + private String sensorName; + /** + * 单位 + */ + private String unit; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java new file mode 100644 index 0000000..14fc3e7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +public class AlarmRecordVO { + /** + * 关键字 + */ + private String keywords; + /** + * 报警类型 + */ + private String alarmType; + /** + * 报警等级 + */ + private String alarmLevel; + /** + * 报警状态 + */ + private String status; + /** + * 开始时间 yyyy-mm-dd + */ + private String startDate; + /** + * 结束时间 yyyy-mm-dd + */ + private String endDate; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + if (StringUtils.isNotEmpty(alarmType)) { + query.eq("a.alarm_type", alarmType); + } + if (StringUtils.isNotEmpty(alarmLevel)) { + query.eq("a.alarm_level", alarmLevel); + } + if (StringUtils.isNotEmpty(keywords)) { + query.andNew().like("b.device_no", keywords).or().like("b.device_name", keywords); + } + + + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java new file mode 100644 index 0000000..331453e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java @@ -0,0 +1,66 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + * 告警规则查询视图 + * + * @author lenovo + */ +@Data +public class AlarmRuleVO { + private String deviceNo; + private String sensor; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + /** + * 参数阈值查询构造 + * + * @return 检索参数 + */ + public Function> convertSensorQuery() { + return (vo) -> { + EntityWrapper query = new EntityWrapper<>(); + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + query.orderBy("sensor"); + return query; + }; + } + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + query.eq("del_flag", 0); + if (StringUtils.isNotEmpty(vo.getDeviceNo())) { + query.eq("device_no", vo.getDeviceNo()); + } + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java index b13be1c..3817ff1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java @@ -1,7 +1,10 @@ package com.casic.missiles.modular.system.service; -import com.casic.missiles.modular.system.model.BizAlarmLevel; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.system.model.BizAlarmLevel; + +import java.util.List; /** *

@@ -13,4 +16,5 @@ */ public interface IBizAlarmLevelService extends IService { + List selectLevelList(EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java index ec89ae9..3e653f4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.service.IService; +import java.util.List; + /** *

* 报警表 服务类 @@ -13,4 +17,12 @@ */ public interface IBizAlarmRecordsService extends IService { + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java index 969cb87..e6ffc63 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java @@ -1,16 +1,18 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.function.Function; + /** *

* 报警阈值表 @@ -23,13 +25,12 @@ @TableName("casic_smartcity_environment.biz_alarm_rule") public class BizAlarmRule extends Model { - private static final long serialVersionUID = 1L; /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; /** * 设备编号 */ @@ -77,4 +78,27 @@ protected Serializable pkVal() { return this.id; } + + /** + * 传输数据转换 + * + * @param otherConvert 其他转换操作 + * @return 业务传输数据 + */ + public AlarmRuleDTO convertDTO(Function otherConvert) { + AlarmRuleDTO dto = new AlarmRuleDTO(); + dto.setId(this.getId()); + dto.setDeviceNo(this.getDeviceNo()); + dto.setSensor(this.getSensor()); + dto.setLevel(this.getLevel()); + dto.setAlarmThreshold(this.getAlarmThreshold()); + dto.setWarningThreshold(this.getWarningThreshold()); + dto.setAlarmOpen(this.getAlarmOpen()); + dto.setOperation(this.getOperation()); + dto.setTs(this.getTs()); + dto.setDelFlag(this.getDelFlag()); + return otherConvert.apply(dto); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java index b1ab24a..ac49d42 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java @@ -1,13 +1,15 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -17,6 +19,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_sensor") public class BizSensor extends Model { @@ -45,47 +48,6 @@ @TableField("data_attr") private String dataAttr; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public String getDataAttr() { - return dataAttr; - } - - public void setDataAttr(String dataAttr) { - this.dataAttr = dataAttr; - } - @Override protected Serializable pkVal() { return this.id; @@ -94,11 +56,22 @@ @Override public String toString() { return "BizSensor{" + - "id=" + id + - ", name=" + name + - ", sensor=" + sensor + - ", unit=" + unit + - ", dataAttr=" + dataAttr + - "}"; + "id=" + id + + ", name=" + name + + ", sensor=" + sensor + + ", unit=" + unit + + ", dataAttr=" + dataAttr + + "}"; + } + + /** + * 判断该规则是否已在目标集合中存在 + * + * @param rules 规则配置集合 + * @return 是否已存在 + */ + public List isContains(List rules) { + + return rules.stream().filter(obj -> this.sensor.equals(obj.getSensor())).collect(Collectors.toList()); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java new file mode 100644 index 0000000..324a880 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java @@ -0,0 +1,64 @@ +package com.casic.missiles.modular.system.model.dto; + +import lombok.Data; + +import java.util.Date; + + +/** + * 告警规则传输对象 + * + * @author lenovo + */ +@Data +public class AlarmRuleDTO { + /** + * 主键 + */ + private Long id; + /** + * 设备编号 + */ + private String deviceNo; + /** + * 参数编码 + */ + private String sensor; + /** + * 报警等级 + */ + private String level; + /** + * 报警阈值 + */ + private Double alarmThreshold; + /** + * 预警阈值 + */ + private Double warningThreshold; + /** + * 告警开关:1为开,0为关 + */ + private String alarmOpen; + /** + * 最新操作人id + */ + private Long operation; + /** + * 最新操作时间 + */ + private Date ts; + /** + * 删除标记 + */ + private String delFlag; + + /** + * 参数名称 + */ + private String sensorName; + /** + * 单位 + */ + private String unit; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java new file mode 100644 index 0000000..14fc3e7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +public class AlarmRecordVO { + /** + * 关键字 + */ + private String keywords; + /** + * 报警类型 + */ + private String alarmType; + /** + * 报警等级 + */ + private String alarmLevel; + /** + * 报警状态 + */ + private String status; + /** + * 开始时间 yyyy-mm-dd + */ + private String startDate; + /** + * 结束时间 yyyy-mm-dd + */ + private String endDate; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + if (StringUtils.isNotEmpty(alarmType)) { + query.eq("a.alarm_type", alarmType); + } + if (StringUtils.isNotEmpty(alarmLevel)) { + query.eq("a.alarm_level", alarmLevel); + } + if (StringUtils.isNotEmpty(keywords)) { + query.andNew().like("b.device_no", keywords).or().like("b.device_name", keywords); + } + + + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java new file mode 100644 index 0000000..331453e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java @@ -0,0 +1,66 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + * 告警规则查询视图 + * + * @author lenovo + */ +@Data +public class AlarmRuleVO { + private String deviceNo; + private String sensor; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + /** + * 参数阈值查询构造 + * + * @return 检索参数 + */ + public Function> convertSensorQuery() { + return (vo) -> { + EntityWrapper query = new EntityWrapper<>(); + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + query.orderBy("sensor"); + return query; + }; + } + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + query.eq("del_flag", 0); + if (StringUtils.isNotEmpty(vo.getDeviceNo())) { + query.eq("device_no", vo.getDeviceNo()); + } + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java index b13be1c..3817ff1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java @@ -1,7 +1,10 @@ package com.casic.missiles.modular.system.service; -import com.casic.missiles.modular.system.model.BizAlarmLevel; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.system.model.BizAlarmLevel; + +import java.util.List; /** *

@@ -13,4 +16,5 @@ */ public interface IBizAlarmLevelService extends IService { + List selectLevelList(EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java index ec89ae9..3e653f4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.service.IService; +import java.util.List; + /** *

* 报警表 服务类 @@ -13,4 +17,12 @@ */ public interface IBizAlarmRecordsService extends IService { + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java index 1addef1..1faf422 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java @@ -1,7 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizAlarmRule; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; + +import java.util.List; /** *

@@ -13,4 +18,16 @@ */ public interface IBizAlarmRuleService extends IService { + /** + * 删除阈值告警信息 + * @param ids 主键集合 + */ + void deleteBatchRuleIds(List ids); + + /** + * 根据设备查询告警阈值列表 + * @param vo 检索条件 + * @return 告警阈值列表 + */ + List selectListByDevice(AlarmRuleVO vo); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java index 969cb87..e6ffc63 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java @@ -1,16 +1,18 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.function.Function; + /** *

* 报警阈值表 @@ -23,13 +25,12 @@ @TableName("casic_smartcity_environment.biz_alarm_rule") public class BizAlarmRule extends Model { - private static final long serialVersionUID = 1L; /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; /** * 设备编号 */ @@ -77,4 +78,27 @@ protected Serializable pkVal() { return this.id; } + + /** + * 传输数据转换 + * + * @param otherConvert 其他转换操作 + * @return 业务传输数据 + */ + public AlarmRuleDTO convertDTO(Function otherConvert) { + AlarmRuleDTO dto = new AlarmRuleDTO(); + dto.setId(this.getId()); + dto.setDeviceNo(this.getDeviceNo()); + dto.setSensor(this.getSensor()); + dto.setLevel(this.getLevel()); + dto.setAlarmThreshold(this.getAlarmThreshold()); + dto.setWarningThreshold(this.getWarningThreshold()); + dto.setAlarmOpen(this.getAlarmOpen()); + dto.setOperation(this.getOperation()); + dto.setTs(this.getTs()); + dto.setDelFlag(this.getDelFlag()); + return otherConvert.apply(dto); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java index b1ab24a..ac49d42 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java @@ -1,13 +1,15 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -17,6 +19,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_sensor") public class BizSensor extends Model { @@ -45,47 +48,6 @@ @TableField("data_attr") private String dataAttr; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public String getDataAttr() { - return dataAttr; - } - - public void setDataAttr(String dataAttr) { - this.dataAttr = dataAttr; - } - @Override protected Serializable pkVal() { return this.id; @@ -94,11 +56,22 @@ @Override public String toString() { return "BizSensor{" + - "id=" + id + - ", name=" + name + - ", sensor=" + sensor + - ", unit=" + unit + - ", dataAttr=" + dataAttr + - "}"; + "id=" + id + + ", name=" + name + + ", sensor=" + sensor + + ", unit=" + unit + + ", dataAttr=" + dataAttr + + "}"; + } + + /** + * 判断该规则是否已在目标集合中存在 + * + * @param rules 规则配置集合 + * @return 是否已存在 + */ + public List isContains(List rules) { + + return rules.stream().filter(obj -> this.sensor.equals(obj.getSensor())).collect(Collectors.toList()); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java new file mode 100644 index 0000000..324a880 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java @@ -0,0 +1,64 @@ +package com.casic.missiles.modular.system.model.dto; + +import lombok.Data; + +import java.util.Date; + + +/** + * 告警规则传输对象 + * + * @author lenovo + */ +@Data +public class AlarmRuleDTO { + /** + * 主键 + */ + private Long id; + /** + * 设备编号 + */ + private String deviceNo; + /** + * 参数编码 + */ + private String sensor; + /** + * 报警等级 + */ + private String level; + /** + * 报警阈值 + */ + private Double alarmThreshold; + /** + * 预警阈值 + */ + private Double warningThreshold; + /** + * 告警开关:1为开,0为关 + */ + private String alarmOpen; + /** + * 最新操作人id + */ + private Long operation; + /** + * 最新操作时间 + */ + private Date ts; + /** + * 删除标记 + */ + private String delFlag; + + /** + * 参数名称 + */ + private String sensorName; + /** + * 单位 + */ + private String unit; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java new file mode 100644 index 0000000..14fc3e7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +public class AlarmRecordVO { + /** + * 关键字 + */ + private String keywords; + /** + * 报警类型 + */ + private String alarmType; + /** + * 报警等级 + */ + private String alarmLevel; + /** + * 报警状态 + */ + private String status; + /** + * 开始时间 yyyy-mm-dd + */ + private String startDate; + /** + * 结束时间 yyyy-mm-dd + */ + private String endDate; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + if (StringUtils.isNotEmpty(alarmType)) { + query.eq("a.alarm_type", alarmType); + } + if (StringUtils.isNotEmpty(alarmLevel)) { + query.eq("a.alarm_level", alarmLevel); + } + if (StringUtils.isNotEmpty(keywords)) { + query.andNew().like("b.device_no", keywords).or().like("b.device_name", keywords); + } + + + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java new file mode 100644 index 0000000..331453e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java @@ -0,0 +1,66 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + * 告警规则查询视图 + * + * @author lenovo + */ +@Data +public class AlarmRuleVO { + private String deviceNo; + private String sensor; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + /** + * 参数阈值查询构造 + * + * @return 检索参数 + */ + public Function> convertSensorQuery() { + return (vo) -> { + EntityWrapper query = new EntityWrapper<>(); + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + query.orderBy("sensor"); + return query; + }; + } + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + query.eq("del_flag", 0); + if (StringUtils.isNotEmpty(vo.getDeviceNo())) { + query.eq("device_no", vo.getDeviceNo()); + } + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java index b13be1c..3817ff1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java @@ -1,7 +1,10 @@ package com.casic.missiles.modular.system.service; -import com.casic.missiles.modular.system.model.BizAlarmLevel; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.system.model.BizAlarmLevel; + +import java.util.List; /** *

@@ -13,4 +16,5 @@ */ public interface IBizAlarmLevelService extends IService { + List selectLevelList(EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java index ec89ae9..3e653f4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.service.IService; +import java.util.List; + /** *

* 报警表 服务类 @@ -13,4 +17,12 @@ */ public interface IBizAlarmRecordsService extends IService { + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java index 1addef1..1faf422 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java @@ -1,7 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizAlarmRule; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; + +import java.util.List; /** *

@@ -13,4 +18,16 @@ */ public interface IBizAlarmRuleService extends IService { + /** + * 删除阈值告警信息 + * @param ids 主键集合 + */ + void deleteBatchRuleIds(List ids); + + /** + * 根据设备查询告警阈值列表 + * @param vo 检索条件 + * @return 告警阈值列表 + */ + List selectListByDevice(AlarmRuleVO vo); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java index d225426..7e81c2d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java @@ -1,11 +1,18 @@ package com.casic.missiles.modular.system.service.impl; -import com.casic.missiles.modular.system.model.BizAlarmLevel; -import com.casic.missiles.modular.system.dao.BizAlarmLevelMapper; -import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BizAlarmLevelMapper; +import com.casic.missiles.modular.system.model.BizAlarmLevel; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import com.casic.missiles.modular.system.service.IBizSensorService; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 报警等级表 服务实现类 @@ -16,5 +23,35 @@ */ @Service public class BizAlarmLevelServiceImpl extends ServiceImpl implements IBizAlarmLevelService { + private final IBizSensorService sensorService; + private final IBizAlarmRuleService ruleService; + public BizAlarmLevelServiceImpl(IBizSensorService sensorService, IBizAlarmRuleService ruleService) { + this.sensorService = sensorService; + this.ruleService = ruleService; + } + + @Override + public List selectLevelList(EntityWrapper query) { + + List levels = this.selectList(query); + + levels.stream().forEach(level -> { + // 查询告警规则 + EntityWrapper ruleQuery = new EntityWrapper<>(); + ruleQuery.eq("del_flag", 0); + ruleQuery.eq("sensor", level.getSensor()); + ruleQuery.eq("level", level.getAlarmLevel()); + level.setHasAlarmLevel(ruleService.selectCount(ruleQuery) > 0); + // 查询配置规则 + EntityWrapper sensorQuery = new EntityWrapper(); + sensorQuery.eq("sensor", level.getSensor()); + BizSensor bizSensor = sensorService.selectOne(sensorQuery); + if (bizSensor != null) { + level.setSensorName(bizSensor.getName()); + level.setUnit(bizSensor.getUnit()); + } + }); + return levels; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java index 969cb87..e6ffc63 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java @@ -1,16 +1,18 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.function.Function; + /** *

* 报警阈值表 @@ -23,13 +25,12 @@ @TableName("casic_smartcity_environment.biz_alarm_rule") public class BizAlarmRule extends Model { - private static final long serialVersionUID = 1L; /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; /** * 设备编号 */ @@ -77,4 +78,27 @@ protected Serializable pkVal() { return this.id; } + + /** + * 传输数据转换 + * + * @param otherConvert 其他转换操作 + * @return 业务传输数据 + */ + public AlarmRuleDTO convertDTO(Function otherConvert) { + AlarmRuleDTO dto = new AlarmRuleDTO(); + dto.setId(this.getId()); + dto.setDeviceNo(this.getDeviceNo()); + dto.setSensor(this.getSensor()); + dto.setLevel(this.getLevel()); + dto.setAlarmThreshold(this.getAlarmThreshold()); + dto.setWarningThreshold(this.getWarningThreshold()); + dto.setAlarmOpen(this.getAlarmOpen()); + dto.setOperation(this.getOperation()); + dto.setTs(this.getTs()); + dto.setDelFlag(this.getDelFlag()); + return otherConvert.apply(dto); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java index b1ab24a..ac49d42 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java @@ -1,13 +1,15 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -17,6 +19,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_sensor") public class BizSensor extends Model { @@ -45,47 +48,6 @@ @TableField("data_attr") private String dataAttr; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public String getDataAttr() { - return dataAttr; - } - - public void setDataAttr(String dataAttr) { - this.dataAttr = dataAttr; - } - @Override protected Serializable pkVal() { return this.id; @@ -94,11 +56,22 @@ @Override public String toString() { return "BizSensor{" + - "id=" + id + - ", name=" + name + - ", sensor=" + sensor + - ", unit=" + unit + - ", dataAttr=" + dataAttr + - "}"; + "id=" + id + + ", name=" + name + + ", sensor=" + sensor + + ", unit=" + unit + + ", dataAttr=" + dataAttr + + "}"; + } + + /** + * 判断该规则是否已在目标集合中存在 + * + * @param rules 规则配置集合 + * @return 是否已存在 + */ + public List isContains(List rules) { + + return rules.stream().filter(obj -> this.sensor.equals(obj.getSensor())).collect(Collectors.toList()); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java new file mode 100644 index 0000000..324a880 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java @@ -0,0 +1,64 @@ +package com.casic.missiles.modular.system.model.dto; + +import lombok.Data; + +import java.util.Date; + + +/** + * 告警规则传输对象 + * + * @author lenovo + */ +@Data +public class AlarmRuleDTO { + /** + * 主键 + */ + private Long id; + /** + * 设备编号 + */ + private String deviceNo; + /** + * 参数编码 + */ + private String sensor; + /** + * 报警等级 + */ + private String level; + /** + * 报警阈值 + */ + private Double alarmThreshold; + /** + * 预警阈值 + */ + private Double warningThreshold; + /** + * 告警开关:1为开,0为关 + */ + private String alarmOpen; + /** + * 最新操作人id + */ + private Long operation; + /** + * 最新操作时间 + */ + private Date ts; + /** + * 删除标记 + */ + private String delFlag; + + /** + * 参数名称 + */ + private String sensorName; + /** + * 单位 + */ + private String unit; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java new file mode 100644 index 0000000..14fc3e7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +public class AlarmRecordVO { + /** + * 关键字 + */ + private String keywords; + /** + * 报警类型 + */ + private String alarmType; + /** + * 报警等级 + */ + private String alarmLevel; + /** + * 报警状态 + */ + private String status; + /** + * 开始时间 yyyy-mm-dd + */ + private String startDate; + /** + * 结束时间 yyyy-mm-dd + */ + private String endDate; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + if (StringUtils.isNotEmpty(alarmType)) { + query.eq("a.alarm_type", alarmType); + } + if (StringUtils.isNotEmpty(alarmLevel)) { + query.eq("a.alarm_level", alarmLevel); + } + if (StringUtils.isNotEmpty(keywords)) { + query.andNew().like("b.device_no", keywords).or().like("b.device_name", keywords); + } + + + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java new file mode 100644 index 0000000..331453e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java @@ -0,0 +1,66 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + * 告警规则查询视图 + * + * @author lenovo + */ +@Data +public class AlarmRuleVO { + private String deviceNo; + private String sensor; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + /** + * 参数阈值查询构造 + * + * @return 检索参数 + */ + public Function> convertSensorQuery() { + return (vo) -> { + EntityWrapper query = new EntityWrapper<>(); + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + query.orderBy("sensor"); + return query; + }; + } + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + query.eq("del_flag", 0); + if (StringUtils.isNotEmpty(vo.getDeviceNo())) { + query.eq("device_no", vo.getDeviceNo()); + } + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java index b13be1c..3817ff1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java @@ -1,7 +1,10 @@ package com.casic.missiles.modular.system.service; -import com.casic.missiles.modular.system.model.BizAlarmLevel; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.system.model.BizAlarmLevel; + +import java.util.List; /** *

@@ -13,4 +16,5 @@ */ public interface IBizAlarmLevelService extends IService { + List selectLevelList(EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java index ec89ae9..3e653f4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.service.IService; +import java.util.List; + /** *

* 报警表 服务类 @@ -13,4 +17,12 @@ */ public interface IBizAlarmRecordsService extends IService { + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java index 1addef1..1faf422 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java @@ -1,7 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizAlarmRule; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; + +import java.util.List; /** *

@@ -13,4 +18,16 @@ */ public interface IBizAlarmRuleService extends IService { + /** + * 删除阈值告警信息 + * @param ids 主键集合 + */ + void deleteBatchRuleIds(List ids); + + /** + * 根据设备查询告警阈值列表 + * @param vo 检索条件 + * @return 告警阈值列表 + */ + List selectListByDevice(AlarmRuleVO vo); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java index d225426..7e81c2d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java @@ -1,11 +1,18 @@ package com.casic.missiles.modular.system.service.impl; -import com.casic.missiles.modular.system.model.BizAlarmLevel; -import com.casic.missiles.modular.system.dao.BizAlarmLevelMapper; -import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BizAlarmLevelMapper; +import com.casic.missiles.modular.system.model.BizAlarmLevel; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import com.casic.missiles.modular.system.service.IBizSensorService; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 报警等级表 服务实现类 @@ -16,5 +23,35 @@ */ @Service public class BizAlarmLevelServiceImpl extends ServiceImpl implements IBizAlarmLevelService { + private final IBizSensorService sensorService; + private final IBizAlarmRuleService ruleService; + public BizAlarmLevelServiceImpl(IBizSensorService sensorService, IBizAlarmRuleService ruleService) { + this.sensorService = sensorService; + this.ruleService = ruleService; + } + + @Override + public List selectLevelList(EntityWrapper query) { + + List levels = this.selectList(query); + + levels.stream().forEach(level -> { + // 查询告警规则 + EntityWrapper ruleQuery = new EntityWrapper<>(); + ruleQuery.eq("del_flag", 0); + ruleQuery.eq("sensor", level.getSensor()); + ruleQuery.eq("level", level.getAlarmLevel()); + level.setHasAlarmLevel(ruleService.selectCount(ruleQuery) > 0); + // 查询配置规则 + EntityWrapper sensorQuery = new EntityWrapper(); + sensorQuery.eq("sensor", level.getSensor()); + BizSensor bizSensor = sensorService.selectOne(sensorQuery); + if (bizSensor != null) { + level.setSensorName(bizSensor.getName()); + level.setUnit(bizSensor.getUnit()); + } + }); + return levels; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRecordsServiceImpl.java index 660b596..f934a52 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRecordsServiceImpl.java @@ -1,11 +1,15 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.casic.missiles.modular.system.dao.BizAlarmRecordsMapper; import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 报警表 服务实现类 @@ -17,4 +21,9 @@ @Service public class BizAlarmRecordsServiceImpl extends ServiceImpl implements IBizAlarmRecordsService { + @Override + public List selectRecordsPage(Page page, EntityWrapper query) { + + return baseMapper.selectRecordsPage(page,query); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java index 038e048..613bfdf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmLevelController.java @@ -1,19 +1,23 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.BizAlarmLevel; import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.Date; +import java.util.List; /** * 控制器 @@ -22,13 +26,14 @@ * @Date 2021-07-26 14:43:04 */ @Controller -@RequestMapping("/bizAlarmLevel") +@RequestMapping("/alarmLevel") public class BizAlarmLevelController extends BaseController { @Autowired private IBizAlarmLevelService bizAlarmLevelService; - + @Autowired + private ICommonPermissionService permissionService; /** * 获取列表 @@ -36,7 +41,23 @@ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { - return bizAlarmLevelService.selectList(null); + EntityWrapper levelQuery = new EntityWrapper<>(); + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectLevelList(levelQuery); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/listBySensor") + @ResponseBody + public Object listBySensor(String sensor) { + EntityWrapper levelQuery = new EntityWrapper<>(); + if (ToolUtil.isNotEmpty(sensor)) { + levelQuery.eq("sensor", sensor); + } + levelQuery.orderBy("alarm_level"); + return bizAlarmLevelService.selectList(levelQuery); } /** @@ -47,15 +68,18 @@ public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmLevelService.selectPage(page,query); + page = bizAlarmLevelService.selectPage(page, query); return super.packForBT(page); } + /** * 新增 */ - @RequestMapping(value = "/add") + @PostMapping(value = "/add") @ResponseBody public Object add(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.insert(bizAlarmLevel); return ResponseData.success(); } @@ -86,6 +110,8 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(BizAlarmLevel bizAlarmLevel) { + bizAlarmLevel.setTs(new Date()); + bizAlarmLevel.setOperation(permissionService.getCurrLoginUser().getId()); bizAlarmLevelService.updateById(bizAlarmLevel); return ResponseData.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java index a34dbd3..2582005 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRecordsController.java @@ -1,19 +1,19 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.vo.AlarmRecordVO; +import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRecords; -import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; /** * 控制器 @@ -22,12 +22,15 @@ * @Date 2021-07-26 14:38:51 */ @Controller -@RequestMapping("/bizAlarmRecords") +@RequestMapping("/alarm") public class BizAlarmRecordsController extends BaseController { - @Autowired - private IBizAlarmRecordsService bizAlarmRecordsService; + private final IBizAlarmRecordsService bizAlarmRecordsService; + + public BizAlarmRecordsController(IBizAlarmRecordsService bizAlarmRecordsService) { + this.bizAlarmRecordsService = bizAlarmRecordsService; + } /** @@ -44,12 +47,13 @@ */ @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String condition) { + public Object listPage(AlarmRecordVO recordVO) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); - page = bizAlarmRecordsService.selectPage(page,query); + List records = bizAlarmRecordsService.selectRecordsPage(page, query); return super.packForBT(page); } + /** * 新增 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java index 27b26a3..1728a47 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BizAlarmRuleController.java @@ -1,51 +1,46 @@ package com.casic.missiles.modular.system.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.IExpandComponentService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.plugins.Page; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import org.springframework.web.bind.annotation.*; import java.util.List; -import com.casic.missiles.core.common.constant.factory.PageFactory; -import org.springframework.web.bind.annotation.RequestParam; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; - /** - * 控制器 + * 设备阈值管理控制器 * * @author dev * @Date 2021-07-26 14:38:54 */ -@Controller -@RequestMapping("/bizAlarmRule") +@RestController +@RequestMapping("/alarmRule") public class BizAlarmRuleController extends BaseController { - @Autowired - private IBizAlarmRuleService bizAlarmRuleService; + private final IBizAlarmRuleService bizAlarmRuleService; + + public BizAlarmRuleController(IBizAlarmRuleService bizAlarmRuleService) { + this.bizAlarmRuleService = bizAlarmRuleService; + } /** * 获取列表 */ - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String condition) { - return bizAlarmRuleService.selectList(null); + @PostMapping(value = "/listByDevice") + public Object listByDevice(AlarmRuleVO vo) { + return bizAlarmRuleService.selectListByDevice(vo); } /** * 获取分页列表 */ - @RequestMapping(value = "/listPage") - @ResponseBody + @GetMapping(value = "/listPage") public Object listPage(String condition) { Page page = new PageFactory().defaultPage(); EntityWrapper query = new EntityWrapper<>(); @@ -54,11 +49,11 @@ } /** - * 新增 + * 新增告警阈值 */ - @RequestMapping(value = "/add") - @ResponseBody + @PostMapping(value = "/add") public Object add(BizAlarmRule bizAlarmRule) { + bizAlarmRule.setDelFlag("0"); bizAlarmRuleService.insert(bizAlarmRule); return ResponseData.success(); } @@ -66,22 +61,16 @@ /** * 删除 */ - @RequestMapping(value = "/delete") - @ResponseBody + @PostMapping(value = "/delete") public Object delete(@RequestParam("ids") List ids) { - List alarmRuleList = bizAlarmRuleService.selectBatchIds(ids); - alarmRuleList.forEach(alarmRule -> { - alarmRule.setDelFlag(System.currentTimeMillis() + ""); - }); - bizAlarmRuleService.updateBatchById(alarmRuleList); + bizAlarmRuleService.deleteBatchRuleIds(ids); return ResponseData.success(); } /** * 修改 */ - @RequestMapping(value = "/update") - @ResponseBody + @PostMapping(value = "/update") public Object update(BizAlarmRule bizAlarmRule) { bizAlarmRuleService.updateById(bizAlarmRule); return ResponseData.success(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java index af2a16c..cedddf9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BizAlarmRecordsMapper.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; + /** *

* 报警表 Mapper 接口 @@ -13,4 +17,11 @@ */ public interface BizAlarmRecordsMapper extends BaseMapper { + /** + * 告警记录分页检索 + * @param page 分页参数 + * @param query 检索条件 + * @return 结果集 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml index 5c32767..1601caf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRecordsMapper.xml @@ -4,20 +4,44 @@ - - - - - - - - - + + + + + + + + + - id, device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + id + , device_no AS deviceNo, alarm_type AS alarmType, alarm_level AS alarmLevel, alarm_content AS alarmContent, alarm_value AS alarmValue, status, alarm_time AS alarmTime, cancel_time AS cancelTime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml index 0b7c3af..1190f3b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BizAlarmRuleMapper.xml @@ -4,20 +4,19 @@ - - - - - - - - - + + + + + + + + + id, device_no AS deviceNo, sensor, level, alarm_threshold AS alarmThreshold, warning_threshold AS warningThreshold, alarm_open AS alarmOpen, operation, ts - diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java index 4a5eecd..3139718 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmLevel.java @@ -1,14 +1,14 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.Date; /** *

@@ -18,6 +18,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_alarm_level") public class BizAlarmLevel extends Model { @@ -55,63 +56,15 @@ */ private Date ts; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public Double getPercent() { - return percent; - } - - public void setPercent(Double percent) { - this.percent = percent; - } - - public Double getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Double alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public String getAlarmOpen() { - return alarmOpen; - } - - public void setAlarmOpen(String alarmOpen) { - this.alarmOpen = alarmOpen; - } - - public Long getOperation() { - return operation; - } - - public void setOperation(Long operation) { - this.operation = operation; - } - - public Date getTs() { - return ts; - } - - public void setTs(Date ts) { - this.ts = ts; - } - + /** + * 是否设置报警等级,是返回true,否返回false + */ + @TableField(exist = false) + private Boolean hasAlarmLevel; + @TableField(exist = false) + private String sensorName; + @TableField(exist = false) + private String unit; @Override protected Serializable pkVal() { return this.id; @@ -120,13 +73,13 @@ @Override public String toString() { return "BizAlarmLevel{" + - "id=" + id + - ", sensor=" + sensor + - ", percent=" + percent + - ", alarmLevel=" + alarmLevel + - ", alarmOpen=" + alarmOpen + - ", operation=" + operation + - ", ts=" + ts + - "}"; + "id=" + id + + ", sensor=" + sensor + + ", percent=" + percent + + ", alarmLevel=" + alarmLevel + + ", alarmOpen=" + alarmOpen + + ", operation=" + operation + + ", ts=" + ts + + "}"; } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java index 969cb87..e6ffc63 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizAlarmRule.java @@ -1,16 +1,18 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.function.Function; + /** *

* 报警阈值表 @@ -23,13 +25,12 @@ @TableName("casic_smartcity_environment.biz_alarm_rule") public class BizAlarmRule extends Model { - private static final long serialVersionUID = 1L; /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; /** * 设备编号 */ @@ -77,4 +78,27 @@ protected Serializable pkVal() { return this.id; } + + /** + * 传输数据转换 + * + * @param otherConvert 其他转换操作 + * @return 业务传输数据 + */ + public AlarmRuleDTO convertDTO(Function otherConvert) { + AlarmRuleDTO dto = new AlarmRuleDTO(); + dto.setId(this.getId()); + dto.setDeviceNo(this.getDeviceNo()); + dto.setSensor(this.getSensor()); + dto.setLevel(this.getLevel()); + dto.setAlarmThreshold(this.getAlarmThreshold()); + dto.setWarningThreshold(this.getWarningThreshold()); + dto.setAlarmOpen(this.getAlarmOpen()); + dto.setOperation(this.getOperation()); + dto.setTs(this.getTs()); + dto.setDelFlag(this.getDelFlag()); + return otherConvert.apply(dto); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java index b1ab24a..ac49d42 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BizSensor.java @@ -1,13 +1,15 @@ package com.casic.missiles.modular.system.model; -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; + import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -17,6 +19,7 @@ * @author gwq123 * @since 2021-07-26 */ +@Data @TableName("casic_smartcity_environment.biz_sensor") public class BizSensor extends Model { @@ -45,47 +48,6 @@ @TableField("data_attr") private String dataAttr; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSensor() { - return sensor; - } - - public void setSensor(String sensor) { - this.sensor = sensor; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public String getDataAttr() { - return dataAttr; - } - - public void setDataAttr(String dataAttr) { - this.dataAttr = dataAttr; - } - @Override protected Serializable pkVal() { return this.id; @@ -94,11 +56,22 @@ @Override public String toString() { return "BizSensor{" + - "id=" + id + - ", name=" + name + - ", sensor=" + sensor + - ", unit=" + unit + - ", dataAttr=" + dataAttr + - "}"; + "id=" + id + + ", name=" + name + + ", sensor=" + sensor + + ", unit=" + unit + + ", dataAttr=" + dataAttr + + "}"; + } + + /** + * 判断该规则是否已在目标集合中存在 + * + * @param rules 规则配置集合 + * @return 是否已存在 + */ + public List isContains(List rules) { + + return rules.stream().filter(obj -> this.sensor.equals(obj.getSensor())).collect(Collectors.toList()); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java new file mode 100644 index 0000000..324a880 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/dto/AlarmRuleDTO.java @@ -0,0 +1,64 @@ +package com.casic.missiles.modular.system.model.dto; + +import lombok.Data; + +import java.util.Date; + + +/** + * 告警规则传输对象 + * + * @author lenovo + */ +@Data +public class AlarmRuleDTO { + /** + * 主键 + */ + private Long id; + /** + * 设备编号 + */ + private String deviceNo; + /** + * 参数编码 + */ + private String sensor; + /** + * 报警等级 + */ + private String level; + /** + * 报警阈值 + */ + private Double alarmThreshold; + /** + * 预警阈值 + */ + private Double warningThreshold; + /** + * 告警开关:1为开,0为关 + */ + private String alarmOpen; + /** + * 最新操作人id + */ + private Long operation; + /** + * 最新操作时间 + */ + private Date ts; + /** + * 删除标记 + */ + private String delFlag; + + /** + * 参数名称 + */ + private String sensorName; + /** + * 单位 + */ + private String unit; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java new file mode 100644 index 0000000..14fc3e7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRecordVO.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRecords; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + *

+ * 报警表 + *

+ * + * @author gwq123 + * @since 2021-07-26 + */ +@Data +public class AlarmRecordVO { + /** + * 关键字 + */ + private String keywords; + /** + * 报警类型 + */ + private String alarmType; + /** + * 报警等级 + */ + private String alarmLevel; + /** + * 报警状态 + */ + private String status; + /** + * 开始时间 yyyy-mm-dd + */ + private String startDate; + /** + * 结束时间 yyyy-mm-dd + */ + private String endDate; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + if (StringUtils.isNotEmpty(alarmType)) { + query.eq("a.alarm_type", alarmType); + } + if (StringUtils.isNotEmpty(alarmLevel)) { + query.eq("a.alarm_level", alarmLevel); + } + if (StringUtils.isNotEmpty(keywords)) { + query.andNew().like("b.device_no", keywords).or().like("b.device_name", keywords); + } + + + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java new file mode 100644 index 0000000..331453e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/vo/AlarmRuleVO.java @@ -0,0 +1,66 @@ +package com.casic.missiles.modular.system.model.vo; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +import java.util.function.Function; +import java.util.function.Supplier; + +/** + * 告警规则查询视图 + * + * @author lenovo + */ +@Data +public class AlarmRuleVO { + private String deviceNo; + private String sensor; + + /** + * 空构造器 + * + * @return 检索参数 + */ + public Supplier> createEmptyQuery() { + return () -> new EntityWrapper<>(); + } + + /** + * 参数阈值查询构造 + * + * @return 检索参数 + */ + public Function> convertSensorQuery() { + return (vo) -> { + EntityWrapper query = new EntityWrapper<>(); + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + query.orderBy("sensor"); + return query; + }; + } + + /** + * 查询参数构建 + * + * @return 检索参数 + */ + public Function> convertQuery() { + return (vo) -> { + Supplier> supplier = this.createEmptyQuery(); + EntityWrapper query = supplier.get(); + query.eq("del_flag", 0); + if (StringUtils.isNotEmpty(vo.getDeviceNo())) { + query.eq("device_no", vo.getDeviceNo()); + } + if (StringUtils.isNotEmpty(vo.getSensor())) { + query.like("sensor", vo.getSensor()); + } + return query; + }; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java index b13be1c..3817ff1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmLevelService.java @@ -1,7 +1,10 @@ package com.casic.missiles.modular.system.service; -import com.casic.missiles.modular.system.model.BizAlarmLevel; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.system.model.BizAlarmLevel; + +import java.util.List; /** *

@@ -13,4 +16,5 @@ */ public interface IBizAlarmLevelService extends IService { + List selectLevelList(EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java index ec89ae9..3e653f4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRecordsService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.baomidou.mybatisplus.service.IService; +import java.util.List; + /** *

* 报警表 服务类 @@ -13,4 +17,12 @@ */ public interface IBizAlarmRecordsService extends IService { + /** + * 告警记录分页查询 + * + * @param page 分页参数 + * @param query 检索条件 + * @return 分页列表 + */ + List selectRecordsPage(Page page, EntityWrapper query); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java index 1addef1..1faf422 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBizAlarmRuleService.java @@ -1,7 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.modular.system.model.BizAlarmRule; import com.baomidou.mybatisplus.service.IService; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; + +import java.util.List; /** *

@@ -13,4 +18,16 @@ */ public interface IBizAlarmRuleService extends IService { + /** + * 删除阈值告警信息 + * @param ids 主键集合 + */ + void deleteBatchRuleIds(List ids); + + /** + * 根据设备查询告警阈值列表 + * @param vo 检索条件 + * @return 告警阈值列表 + */ + List selectListByDevice(AlarmRuleVO vo); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java index d225426..7e81c2d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmLevelServiceImpl.java @@ -1,11 +1,18 @@ package com.casic.missiles.modular.system.service.impl; -import com.casic.missiles.modular.system.model.BizAlarmLevel; -import com.casic.missiles.modular.system.dao.BizAlarmLevelMapper; -import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BizAlarmLevelMapper; +import com.casic.missiles.modular.system.model.BizAlarmLevel; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import com.casic.missiles.modular.system.service.IBizAlarmLevelService; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import com.casic.missiles.modular.system.service.IBizSensorService; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 报警等级表 服务实现类 @@ -16,5 +23,35 @@ */ @Service public class BizAlarmLevelServiceImpl extends ServiceImpl implements IBizAlarmLevelService { + private final IBizSensorService sensorService; + private final IBizAlarmRuleService ruleService; + public BizAlarmLevelServiceImpl(IBizSensorService sensorService, IBizAlarmRuleService ruleService) { + this.sensorService = sensorService; + this.ruleService = ruleService; + } + + @Override + public List selectLevelList(EntityWrapper query) { + + List levels = this.selectList(query); + + levels.stream().forEach(level -> { + // 查询告警规则 + EntityWrapper ruleQuery = new EntityWrapper<>(); + ruleQuery.eq("del_flag", 0); + ruleQuery.eq("sensor", level.getSensor()); + ruleQuery.eq("level", level.getAlarmLevel()); + level.setHasAlarmLevel(ruleService.selectCount(ruleQuery) > 0); + // 查询配置规则 + EntityWrapper sensorQuery = new EntityWrapper(); + sensorQuery.eq("sensor", level.getSensor()); + BizSensor bizSensor = sensorService.selectOne(sensorQuery); + if (bizSensor != null) { + level.setSensorName(bizSensor.getName()); + level.setUnit(bizSensor.getUnit()); + } + }); + return levels; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRecordsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRecordsServiceImpl.java index 660b596..f934a52 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRecordsServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRecordsServiceImpl.java @@ -1,11 +1,15 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.modular.system.model.BizAlarmRecords; import com.casic.missiles.modular.system.dao.BizAlarmRecordsMapper; import com.casic.missiles.modular.system.service.IBizAlarmRecordsService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 报警表 服务实现类 @@ -17,4 +21,9 @@ @Service public class BizAlarmRecordsServiceImpl extends ServiceImpl implements IBizAlarmRecordsService { + @Override + public List selectRecordsPage(Page page, EntityWrapper query) { + + return baseMapper.selectRecordsPage(page,query); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRuleServiceImpl.java index dd0c76a..5f0208f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BizAlarmRuleServiceImpl.java @@ -1,10 +1,19 @@ package com.casic.missiles.modular.system.service.impl; -import com.casic.missiles.modular.system.model.BizAlarmRule; -import com.casic.missiles.modular.system.dao.BizAlarmRuleMapper; -import com.casic.missiles.modular.system.service.IBizAlarmRuleService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BizAlarmRuleMapper; +import com.casic.missiles.modular.system.model.BizAlarmRule; +import com.casic.missiles.modular.system.model.BizSensor; +import com.casic.missiles.modular.system.model.dto.AlarmRuleDTO; +import com.casic.missiles.modular.system.model.vo.AlarmRuleVO; +import com.casic.missiles.modular.system.service.IBizAlarmRuleService; +import com.casic.missiles.modular.system.service.IBizSensorService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; /** *

@@ -16,5 +25,48 @@ */ @Service public class BizAlarmRuleServiceImpl extends ServiceImpl implements IBizAlarmRuleService { + @Autowired + private IBizSensorService sensorService; + + @Transactional(rollbackFor = Exception.class) + @Override + public void deleteBatchRuleIds(List ids) { + List alarmRuleList = this.selectBatchIds(ids); + alarmRuleList.forEach(alarmRule -> { + alarmRule.setDelFlag(String.valueOf(alarmRule.getId())); + }); + this.updateBatchById(alarmRuleList); + } + + /** + * 查询设备报警阈值 + * + * @param vo 检索条件 + * @return + */ + @Override + public List selectListByDevice(AlarmRuleVO vo) { + List rules = this.selectList(vo.convertQuery().apply(vo)); + List sensors = sensorService.selectList(vo.convertSensorQuery().apply(vo)); + return sensors.stream().map(sensorEntity -> { + BizAlarmRule alarmRule = null; + List bizAlarmRules = sensorEntity.isContains(rules); + if (bizAlarmRules.size() > 0) { + alarmRule = bizAlarmRules.get(0); + } else { + alarmRule = new BizAlarmRule(); + alarmRule.setSensor(sensorEntity.getSensor()); + } + // DTO 参数转换 + return alarmRule.convertDTO((dto) -> { + dto.setSensorName(sensorEntity.getName()); + dto.setSensor(sensorEntity.getSensor()); + + dto.setDeviceNo(vo.getDeviceNo()); + dto.setUnit(sensorEntity.getUnit()); + return dto; + }); + }).collect(Collectors.toList()); + } }