From 8dee899ff46bd338b5e9ec988e4d5ac867f304e1 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Wed, 27 Mar 2024 20:48:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9C=81=E4=BE=A7=E5=A4=A7=E5=B1=8F=E9=A6=96?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/constant/Constant.java | 1 + .../main/resources/mapper/DeviceBdMapper.xml | 2 +- .../screen/controller/ScIndexController.java | 25 +++++- .../screen/mapper/IScIndexMapper.java | 36 +++++++++ .../screen/service/IScIndexService.java | 33 ++++++++ .../service/impl/ScIndexServiceImpl.java | 80 ++++++++++++++++++- .../main/resources/mapper/ScIndexMapper.xml | 35 ++++++++ .../resources/mapper/base/SelectMapper.xml | 2 +- 8 files changed, 207 insertions(+), 7 deletions(-) diff --git a/securitycontrol-commons/securitycontrol-commons-core/src/main/java/com/securitycontrol/common/core/constant/Constant.java b/securitycontrol-commons/securitycontrol-commons-core/src/main/java/com/securitycontrol/common/core/constant/Constant.java index e488ac1..bdc1104 100644 --- a/securitycontrol-commons/securitycontrol-commons-core/src/main/java/com/securitycontrol/common/core/constant/Constant.java +++ b/securitycontrol-commons/securitycontrol-commons-core/src/main/java/com/securitycontrol/common/core/constant/Constant.java @@ -49,6 +49,7 @@ public class Constant { public final static String DJ = "待建"; public final static String TC = "投产"; public final static String TG = "停工"; + public final static String ONLINE = "1"; diff --git a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/DeviceBdMapper.xml b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/DeviceBdMapper.xml index 3f66351..57b6c37 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/DeviceBdMapper.xml +++ b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/DeviceBdMapper.xml @@ -180,7 +180,7 @@ LEFT JOIN tb_pro_bd tpb ON tbd.bd_id = tpb.id LEFT JOIN sys_dict sd ON sd.dict_code = tbd.devic_type LEFT JOIN sys_dict sd2 ON sd2.dict_code = tbd.status - LEFT JOIN sys_area sa ON tbd.area_id = sa.area_id + LEFT JOIN tb_area sa ON tbd.area_id = sa.area_id tbd.del_flage = 0 diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/controller/ScIndexController.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/controller/ScIndexController.java index 9dd1b2c..adf072b 100644 --- a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/controller/ScIndexController.java +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/controller/ScIndexController.java @@ -4,6 +4,7 @@ import com.securitycontrol.common.core.web.domain.AjaxResult; import com.securitycontrol.entity.screen.dto.ScreenParamDto; import com.securitycontrol.screen.service.IScIndexService; import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -24,20 +25,38 @@ public class ScIndexController { private IScIndexService service; @ApiOperation(value = "工程统计") - @PostMapping("proStatusStatistics") + @GetMapping("proStatusStatistics") public AjaxResult proStatusStatistics(ScreenParamDto dto){ return service.proStatusStatistics(dto); } @ApiOperation(value = "地图风险点") - @PostMapping("riskStatistics") + @GetMapping("riskStatistics") public AjaxResult riskStatistics(ScreenParamDto dto){ return service.riskStatistics(dto); } @ApiOperation(value = "施工质量") - @PostMapping("constrQuality") + @GetMapping("constrQuality") public AjaxResult constrQuality(ScreenParamDto dto){ return service.constrQuality(dto); } + + @ApiOperation(value = "告警提醒") + @GetMapping("alarmReminder") + public AjaxResult alarmReminder(ScreenParamDto dto){ + return service.alarmReminder(dto); + } + + @ApiOperation(value = "环境监测") + @GetMapping("environmentDetection") + public AjaxResult environmentDetection(ScreenParamDto dto){ + return service.environmentDetection(dto); + } + + @ApiOperation(value = "设备状态") + @GetMapping("deviceStatus") + public AjaxResult deviceStatus(ScreenParamDto dto){ + return service.deviceStatus(dto); + } } diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/mapper/IScIndexMapper.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/mapper/IScIndexMapper.java index 94e1d96..49c69a0 100644 --- a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/mapper/IScIndexMapper.java +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/mapper/IScIndexMapper.java @@ -42,6 +42,7 @@ public interface IScIndexMapper { /** * 施工质量 + * * @param dto * @return List * @description @@ -49,4 +50,39 @@ public interface IScIndexMapper { * @date 2024/3/27 15:26 */ List constrQuality(ScreenParamDto dto); + + /** + * 告警提醒 + * + * @param dto + * @return List> + * @description + * @author cwchen + * @date 2024/3/27 16:40 + */ + @MapKey("warningId") + List> alarmReminder(ScreenParamDto dto); + + /** + * 环境监测分析 + * + * @param dto + * @return List> + * @description + * @author cwchen + * @date 2024/3/27 17:26 + */ + @MapKey("id") + List> environmentDetection(ScreenParamDto dto); + + /** + * 设备状态 + * @param dto + * @return List> + * @description + * @author cwchen + * @date 2024/3/27 19:54 + */ + @MapKey("bidCode") + List> deviceStatus(ScreenParamDto dto); } diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/IScIndexService.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/IScIndexService.java index 7de3a63..16d1392 100644 --- a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/IScIndexService.java +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/IScIndexService.java @@ -34,6 +34,7 @@ public interface IScIndexService { /** * 施工质量 + * * @param dto * @return AjaxResult * @description @@ -41,4 +42,36 @@ public interface IScIndexService { * @date 2024/3/27 15:18 */ AjaxResult constrQuality(ScreenParamDto dto); + + /** + * 告警提醒 + * + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/3/27 16:33 + */ + AjaxResult alarmReminder(ScreenParamDto dto); + + /** + * 环境监测 + * + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/3/27 17:23 + */ + AjaxResult environmentDetection(ScreenParamDto dto); + + /** + * 设备状态 + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/3/27 19:50 + */ + AjaxResult deviceStatus(ScreenParamDto dto); } diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/ScIndexServiceImpl.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/ScIndexServiceImpl.java index 65d59f8..c1408ba 100644 --- a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/ScIndexServiceImpl.java +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/ScIndexServiceImpl.java @@ -1,7 +1,6 @@ package com.securitycontrol.screen.service.impl; import com.securitycontrol.common.core.constant.Constant; -import com.securitycontrol.common.core.utils.StringUtils; import com.securitycontrol.common.core.web.domain.AjaxResult; import com.securitycontrol.entity.screen.dto.ScreenParamDto; import com.securitycontrol.entity.screen.vo.ConstrQuality; @@ -9,6 +8,7 @@ import com.securitycontrol.entity.screen.vo.MapRiskVo; import com.securitycontrol.screen.mapper.IScIndexMapper; import com.securitycontrol.screen.service.IScIndexService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -87,7 +87,7 @@ public class ScIndexServiceImpl implements IScIndexService { for (int i = 0; i < v.size(); i++) { String constrQuality = v.get(i).getConstrQuality(); boolean flag = isNumeric(constrQuality); - if(flag){ + if (flag) { BigDecimal value = new BigDecimal(constrQuality); score = score.add(value); } @@ -118,4 +118,80 @@ public class ScIndexServiceImpl implements IScIndexService { return false; } } + + @Override + public AjaxResult alarmReminder(ScreenParamDto dto) { + List> list = new ArrayList<>(); + try { + list = mapper.alarmReminder(dto); + } catch (Exception e) { + log.error("告警提醒", e); + } + return AjaxResult.success(list); + } + + @Override + public AjaxResult environmentDetection(ScreenParamDto dto) { + List> list = new ArrayList<>(); + try { + list = mapper.environmentDetection(dto); + if (CollectionUtils.isEmpty(list)) { + Map map = new HashMap<>(6); + map.put("aqiNormalNum", 0); + map.put("aqiErrorNum", 0); + map.put("dbNormalNum", 0); + map.put("dbErrorNum", 0); + map.put("hcNormalNum", 0); + map.put("hcErrorNum", 0); + list.add(map); + } + } catch (Exception e) { + log.error("环境监测分析", e); + } + return AjaxResult.success(list); + } + + @Override + public AjaxResult deviceStatus(ScreenParamDto dto) { + HashMap returnMap = new HashMap<>(); + List> dataList = new ArrayList<>(256); + List> list = new ArrayList<>(256); + int allTotalNum = 0, onlineTotalNum = 0, offTotalNum = 0; + try { + list = mapper.deviceStatus(dto); + Map>> map = list.stream().collect(Collectors.groupingBy(item -> { + return String.valueOf(item.get("bidCode")); + })); + map.forEach((k, v) -> { + Map dataMap = new HashMap<>(3); + int onlineNum = 0, offNum = 0, totalNum = 0; + for (int i = 0; i < v.size(); i++) { + String status = String.valueOf(v.get(i).get("status")); + if (Objects.equals(status, Constant.ONLINE)) { + onlineNum++; + } else { + offNum++; + } + totalNum++; + } + dataMap.put("proName", v.get(0).get("proName")); + dataMap.put("onlineNum", onlineNum); + dataMap.put("offLineNum", offNum); + dataMap.put("totalNum", totalNum); + dataList.add(dataMap); + }); + for (Map objectMap : dataList) { + allTotalNum += Integer.parseInt(String.valueOf(objectMap.get("totalNum"))); + onlineTotalNum += Integer.parseInt(String.valueOf(objectMap.get("onlineNum"))); + offTotalNum += Integer.parseInt(String.valueOf(objectMap.get("offLineNum"))); + } + } catch (Exception e) { + log.error("设备状态", e); + } + returnMap.put("valueList", dataList); + returnMap.put("allTotalNum", allTotalNum); + returnMap.put("onlineTotalNum", onlineTotalNum); + returnMap.put("offTotalNum", offTotalNum); + return AjaxResult.success(returnMap); + } } diff --git a/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/ScIndexMapper.xml b/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/ScIndexMapper.xml index 6141eb2..326d725 100644 --- a/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/ScIndexMapper.xml +++ b/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/ScIndexMapper.xml @@ -44,4 +44,39 @@ LEFT JOIN tb_project tp ON tp.bid_code = twt.bid_code AND tp.del_flag = 0 WHERE tte.del_falge = 0 + + + + + + \ No newline at end of file diff --git a/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SelectMapper.xml b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SelectMapper.xml index 78f25b1..e6f3c67 100644 --- a/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SelectMapper.xml +++ b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SelectMapper.xml @@ -92,7 +92,7 @@