From bcf8c46e009d5d825a7bf07b9eac46fb7432418b Mon Sep 17 00:00:00 2001 From: liulin <lin.liu@88.com> Date: 星期四, 17 七月 2025 08:42:13 +0800 Subject: [PATCH] 添加首页大屏数据统计 --- src/main/java/com/fengdu/gas/repository/mapper/WaterFacilityParameterMapper.java | 21 + src/main/java/com/fengdu/gas/common/enums/EAlarmType.java | 52 ++ src/main/java/com/fengdu/gas/entity/request/watermonitorypoint/ReqCreateWaterMonitoryPoint.java | 13 src/main/java/com/fengdu/gas/entity/response/facility/FacilityPointCount.java | 9 src/test/java/com/fengdu/gas/GenCodeGauss.java | 2 src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordHourMapperImpl.java | 4 src/main/java/com/fengdu/gas/service/WaterFacilityService.java | 54 ++ src/main/resources/upload_allow.json | 25 + src/main/java/com/fengdu/gas/entity/enums/EWorkType.java | 50 ++ src/main/java/com/fengdu/gas/repository/vo/FacilityAlarmRecordVO.java | 56 +- src/main/java/com/fengdu/gas/host/controller/TestInfoServiceController.java | 23 - src/main/java/com/fengdu/gas/repository/impl/SendMessageRecordMapperImpl.java | 2 src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordMonthMapper.java | 12 src/main/java/com/fengdu/gas/entity/response/facility/FacilityParameterData.java | 39 ++ src/main/java/com/fengdu/gas/common/util/LocalDateTimeUtil.java | 25 + src/main/java/com/fengdu/gas/entity/search/SearchSendMessageRecord.java | 5 src/main/java/com/fengdu/gas/repository/mapper/WaterFacilityMapper.java | 9 src/main/java/com/fengdu/gas/service/DataUploadRecordService.java | 93 ++++ src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordDayMapperImpl.java | 4 src/main/java/com/fengdu/gas/repository/po/WaterMonitoryPointPO.java | 5 src/main/java/com/fengdu/gas/service/WaterMonitoryPointService.java | 6 src/main/java/com/fengdu/gas/entity/response/facility/FacilityStateData.java | 11 src/main/java/com/fengdu/gas/repository/mapper/FacilityAlarmRecordMapper.java | 10 src/main/java/com/fengdu/gas/repository/vo/FacilityAlarmRecordCount.java | 9 src/main/java/com/fengdu/gas/repository/vo/UserWorkOrderVO.java | 7 src/main/java/com/fengdu/gas/service/FacilityAlarmRecordService.java | 110 ++++- src/main/java/com/fengdu/gas/repository/vo/WaterFacilityVO.java | 2 src/main/java/com/fengdu/gas/entity/request/watermonitorypoint/ReqModifyWaterMonitoryPoint.java | 12 src/main/java/com/fengdu/gas/host/controller/visualized/FacilityDataController.java | 87 ++++ src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordDayMapper.java | 5 src/main/java/com/fengdu/gas/service/AlarmSchemeService.java | 12 src/main/java/com/fengdu/gas/host/controller/visualized/StatisticsDataController.java | 57 ++ src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordHourMapper.java | 5 src/main/java/com/fengdu/gas/service/TestInfoService.java | 133 ------- src/main/java/com/fengdu/gas/repository/impl/WaterFacilityParameterMapperImpl.java | 5 src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java | 86 +++- src/main/java/com/fengdu/gas/entity/request/alarmscheme/ReqCreateAlarmScheme.java | 4 src/main/java/com/fengdu/gas/repository/impl/FacilityAlarmRecordMapperImpl.java | 9 src/main/java/com/fengdu/gas/repository/vo/WaterFacilityParameterVO.java | 5 src/main/java/com/fengdu/gas/host/controller/visualized/HomeDataController.java | 4 src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordMonthMapperImpl.java | 5 src/main/java/com/fengdu/gas/repository/impl/WaterFacilityMapperImpl.java | 6 src/main/java/com/fengdu/gas/entity/response/facility/FacilityData.java | 4 src/main/java/com/fengdu/gas/service/UserWorkOrderService.java | 17 src/main/java/com/fengdu/gas/entity/request/datauploadrecord/ReqGetDataUploadRecord.java | 19 + 45 files changed, 868 insertions(+), 265 deletions(-) diff --git a/src/main/java/com/fengdu/gas/common/enums/EAlarmType.java b/src/main/java/com/fengdu/gas/common/enums/EAlarmType.java new file mode 100644 index 0000000..e8a3dac --- /dev/null +++ b/src/main/java/com/fengdu/gas/common/enums/EAlarmType.java @@ -0,0 +1,52 @@ +package com.fengdu.gas.common.enums; + +import java.util.Arrays; +import java.util.Objects; + +public enum EAlarmType { + ZERO("其他报警",0), + NOE("一级报警", 1), + TWO("二级报警", 2); + + + private String desc;//枚举描述 + private Integer value;//枚举值 + + public Integer getValue() { + return value; + } + public String getDesc() { + return desc; + } + + /** + * 构造方法 + * @param desc 枚举描述 + * @param value 枚举值 + */ + EAlarmType(String desc, Integer value) { + this.desc = desc; + this.value = value; + } + + /** + * 根据值获取枚举 + * + * @param value 枚举值 + * @return + */ + public static EAlarmType getByValue(Integer value) { + return Arrays.stream(EAlarmType.values()) + .filter(e -> Objects.equals(e.getValue(), value)) + .findFirst() + .orElse(null); + } + + @Override + public String toString() { + return "EAlarmType{" + + "desc='" + desc + '\'' + + ", value=" + value + + '}'; + } +} diff --git a/src/main/java/com/fengdu/gas/common/util/LocalDateTimeUtil.java b/src/main/java/com/fengdu/gas/common/util/LocalDateTimeUtil.java index a102e43..059c8f9 100644 --- a/src/main/java/com/fengdu/gas/common/util/LocalDateTimeUtil.java +++ b/src/main/java/com/fengdu/gas/common/util/LocalDateTimeUtil.java @@ -6,10 +6,7 @@ import java.sql.Timestamp; import java.text.SimpleDateFormat; -import java.time.Instant; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.ZoneId; +import java.time.*; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.time.temporal.TemporalAdjusters; @@ -340,6 +337,26 @@ return LocalDate.parse(date); } /** + * 两个日期字符串yyyy-MM-dd HH:mm:ss 相差的小时数 + * @param date1 日期字符串 + */ + public static String getDateHoursMinutesSeconds(String date1,String date2) { + // 定义日期格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + // 解析日期字符串为LocalDateTime对象 + LocalDateTime dateTime1 = LocalDateTime.parse(date1, formatter); + LocalDateTime dateTime2 = LocalDateTime.parse(date2, formatter); + + // 计算两个日期相差的小时数 + Duration duration = Duration.between(dateTime1, dateTime2); + long hours = duration.toHours(); // 获取小时数部分 + long minutes = duration.toMinutes() % 60; // 获取剩余分钟数部分 + long seconds = duration.getSeconds() % 60; // 获取剩余秒数部分 + return hours+"时"+minutes+"分"+seconds+"秒"; + } + + /** * 获取LocalDate * @param year 年份 * @param month 月份 diff --git a/src/main/java/com/fengdu/gas/entity/enums/EWorkType.java b/src/main/java/com/fengdu/gas/entity/enums/EWorkType.java new file mode 100644 index 0000000..ffbe3d3 --- /dev/null +++ b/src/main/java/com/fengdu/gas/entity/enums/EWorkType.java @@ -0,0 +1,50 @@ +package com.fengdu.gas.entity.enums; + +import java.util.Arrays; +import java.util.Objects; + +public enum EWorkType { + + WEIHU("维护工单", 1), + WEIXIU("维修工单", 2); + private String desc;//枚举描述 + private Integer value;//枚举值 + + public Integer getValue() { + return value; + } + public String getDesc() { + return desc; + } + + /** + * 构造方法 + * @param desc 枚举描述 + * @param value 枚举值 + */ + private EWorkType(String desc, Integer value) { + this.desc = desc; + this.value = value; + } + + /** + * 根据值获取枚举 + * + * @param value 枚举值 + * @return + */ + public static EWorkType getByValue(Integer value) { + return Arrays.stream(EWorkType.values()) + .filter(e -> Objects.equals(e.getValue(), value)) + .findAny() + .orElse(null); + } + + @Override + public String toString() { + return "EWorkType{" + + "desc='" + desc + '\'' + + ", value=" + value + + '}'; + } +} diff --git a/src/main/java/com/fengdu/gas/entity/request/alarmscheme/ReqCreateAlarmScheme.java b/src/main/java/com/fengdu/gas/entity/request/alarmscheme/ReqCreateAlarmScheme.java index 5cdedaf..6962d1e 100644 --- a/src/main/java/com/fengdu/gas/entity/request/alarmscheme/ReqCreateAlarmScheme.java +++ b/src/main/java/com/fengdu/gas/entity/request/alarmscheme/ReqCreateAlarmScheme.java @@ -32,6 +32,10 @@ @Data public class ReqCreateAlarmScheme { /** + * + */ + private Long parametersId; + /** * 设备参数code */ private String columnsCode; diff --git a/src/main/java/com/fengdu/gas/entity/request/datauploadrecord/ReqGetDataUploadRecord.java b/src/main/java/com/fengdu/gas/entity/request/datauploadrecord/ReqGetDataUploadRecord.java new file mode 100644 index 0000000..cdd3c2c --- /dev/null +++ b/src/main/java/com/fengdu/gas/entity/request/datauploadrecord/ReqGetDataUploadRecord.java @@ -0,0 +1,19 @@ +package com.fengdu.gas.entity.request.datauploadrecord; + +import lombok.Data; + +@Data +public class ReqGetDataUploadRecord { + /** + * 监测点id + */ + private Long pointId; + /** + * 日期类型(1日 2月 3年) + */ + private Integer dateType; + /** + * 参数编号 + */ + private String columnsCode; +} diff --git a/src/main/java/com/fengdu/gas/entity/request/watermonitorypoint/ReqCreateWaterMonitoryPoint.java b/src/main/java/com/fengdu/gas/entity/request/watermonitorypoint/ReqCreateWaterMonitoryPoint.java index 98fc9cc..8d23af0 100644 --- a/src/main/java/com/fengdu/gas/entity/request/watermonitorypoint/ReqCreateWaterMonitoryPoint.java +++ b/src/main/java/com/fengdu/gas/entity/request/watermonitorypoint/ReqCreateWaterMonitoryPoint.java @@ -50,4 +50,17 @@ * 监控点图片 */ private String imageRul; + /** + * 左边距 + */ + private String leftMargin; + /** + * 上边距 + */ + private String topMargin; + + /** + * 盒子位置(1左 2右) + */ + private String boxType; } diff --git a/src/main/java/com/fengdu/gas/entity/request/watermonitorypoint/ReqModifyWaterMonitoryPoint.java b/src/main/java/com/fengdu/gas/entity/request/watermonitorypoint/ReqModifyWaterMonitoryPoint.java index f6d7378..d8d73b2 100644 --- a/src/main/java/com/fengdu/gas/entity/request/watermonitorypoint/ReqModifyWaterMonitoryPoint.java +++ b/src/main/java/com/fengdu/gas/entity/request/watermonitorypoint/ReqModifyWaterMonitoryPoint.java @@ -54,4 +54,16 @@ * 监控点图片 */ private String imageRul; + /** + * 左边距 + */ + private String leftMargin; + /** + * 上边距 + */ + private String topMargin; + /** + * 盒子位置(1左 2右) + */ + private String boxType; } diff --git a/src/main/java/com/fengdu/gas/entity/response/facility/FacilityData.java b/src/main/java/com/fengdu/gas/entity/response/facility/FacilityData.java index 98380ce..2fa224e 100644 --- a/src/main/java/com/fengdu/gas/entity/response/facility/FacilityData.java +++ b/src/main/java/com/fengdu/gas/entity/response/facility/FacilityData.java @@ -23,6 +23,10 @@ */ private String top; /** + * 上边距 + */ + private String boxType; + /** * 设备id */ private Long facilityId; diff --git a/src/main/java/com/fengdu/gas/entity/response/facility/FacilityParameterData.java b/src/main/java/com/fengdu/gas/entity/response/facility/FacilityParameterData.java new file mode 100644 index 0000000..5ac5186 --- /dev/null +++ b/src/main/java/com/fengdu/gas/entity/response/facility/FacilityParameterData.java @@ -0,0 +1,39 @@ +package com.fengdu.gas.entity.response.facility; + +import lombok.Data; + +@Data +public class FacilityParameterData { + /** + * 监控点id + */ + private Long pointId; + /** + * 监控点名称 + */ + private String pointName; + /** + * 设备名称 + */ + private String facilityName; + /** + * 设备状态 + */ + private Integer facilityState; + /** + * 设备状态 + */ + private String facilityStateName; + /** + * 氧化氢 + */ + private String hydrogenValue; + /** + * 甲烷 + */ + private String methaneValue; + /** + * 温度 + */ + private String temperatureValue; +} diff --git a/src/main/java/com/fengdu/gas/entity/response/facility/FacilityPointCount.java b/src/main/java/com/fengdu/gas/entity/response/facility/FacilityPointCount.java new file mode 100644 index 0000000..df8a060 --- /dev/null +++ b/src/main/java/com/fengdu/gas/entity/response/facility/FacilityPointCount.java @@ -0,0 +1,9 @@ +package com.fengdu.gas.entity.response.facility; + +import lombok.Data; + +@Data +public class FacilityPointCount { + private String pointName; + private Integer count; +} diff --git a/src/main/java/com/fengdu/gas/entity/response/facility/FacilityStateData.java b/src/main/java/com/fengdu/gas/entity/response/facility/FacilityStateData.java new file mode 100644 index 0000000..4656cbc --- /dev/null +++ b/src/main/java/com/fengdu/gas/entity/response/facility/FacilityStateData.java @@ -0,0 +1,11 @@ +package com.fengdu.gas.entity.response.facility; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class FacilityStateData { + private String typeName; + private BigDecimal value=BigDecimal.ZERO; +} diff --git a/src/main/java/com/fengdu/gas/entity/search/SearchSendMessageRecord.java b/src/main/java/com/fengdu/gas/entity/search/SearchSendMessageRecord.java index 96ca3d8..5b2b954 100644 --- a/src/main/java/com/fengdu/gas/entity/search/SearchSendMessageRecord.java +++ b/src/main/java/com/fengdu/gas/entity/search/SearchSendMessageRecord.java @@ -10,5 +10,8 @@ */ @Data public class SearchSendMessageRecord extends SearchBasicDTO { - + /** + * 消息类型(1邮件 2短信) + */ + private Integer type; } diff --git a/src/main/java/com/fengdu/gas/host/controller/TestInfoServiceController.java b/src/main/java/com/fengdu/gas/host/controller/TestInfoServiceController.java index f44c150..db2c090 100644 --- a/src/main/java/com/fengdu/gas/host/controller/TestInfoServiceController.java +++ b/src/main/java/com/fengdu/gas/host/controller/TestInfoServiceController.java @@ -38,26 +38,9 @@ @Autowired private TestInfoService service; - /** - * 测试支付信息 - * - * @author lin.liu - * @date 2021/11/23 - */ - @PostMapping(value = "pay") - public ExecutedResult<String> pay() throws Exception { - return this.service.testPay(); - } - /** - * 测试支付信息 - * - * @author lin.liu - * @date 2021/11/23 - */ - @PostMapping(value = "confirmPay") - public ExecutedResult<String> confirmPay() throws Exception { - return this.service.confirmPay(); - } + + + } diff --git a/src/main/java/com/fengdu/gas/host/controller/visualized/FacilityDataController.java b/src/main/java/com/fengdu/gas/host/controller/visualized/FacilityDataController.java index d44d0bd..bea6868 100644 --- a/src/main/java/com/fengdu/gas/host/controller/visualized/FacilityDataController.java +++ b/src/main/java/com/fengdu/gas/host/controller/visualized/FacilityDataController.java @@ -1,17 +1,94 @@ package com.fengdu.gas.host.controller.visualized; +import com.fengdu.gas.common.ExecutedResult; +import com.fengdu.gas.entity.response.facility.FacilityParameterData; +import com.fengdu.gas.entity.response.facility.FacilityPointCount; +import com.fengdu.gas.entity.response.facility.FacilityStateData; import com.fengdu.gas.host.BasicController; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.fengdu.gas.repository.po.WaterFacilityPO; +import com.fengdu.gas.repository.vo.FacilityAlarmRecordVO; +import com.fengdu.gas.repository.vo.FacilityRunTimeVO; +import com.fengdu.gas.repository.vo.UserWorkOrderVO; +import com.fengdu.gas.service.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** - * 10000.可视化数据大屏设备管理 + * 12000.可视化数据大屏设备管理 * @author zr - * @order 10000 + * @order 12000 */ @RestController @RequestMapping(value = "facilityData") public class FacilityDataController extends BasicController { - /*****************************设备管理**********************************/ + @Autowired + private WaterFacilityService waterFacilityService; + @Autowired + private FacilityAlarmRecordService facilityAlarmRecordService; + @Autowired + private UserWorkOrderService workOrderService; + @Autowired + private WaterFacilityParameterService waterFacilityParameterService; + @Autowired + private FacilityRunTimeService facilityRunTimeService; + + /** + * 设备报警时长 + * @author zr + */ + @PostMapping(value = "getAlarmTime") + public ExecutedResult<List<FacilityAlarmRecordVO>> getAlarmTime() { + return facilityAlarmRecordService.getAlarmTime(); + } + /** + * 风机管理 + * @author zr + */ + @PostMapping(value = "getFacilityFan") + public ExecutedResult<List<WaterFacilityPO>> getFacilityFan(Integer type) { + return waterFacilityService.getFacilityFan(type); + } + /** + * 工单处理 + * @author zr + */ + @PostMapping(value = "getUserWorkList") + public ExecutedResult<List<UserWorkOrderVO>> getUserWorkList() { + return workOrderService.getUserWorkList(); + } + /** + * 设备状态 + * @author zr + */ + @PostMapping(value = "getFacilityState") + public ExecutedResult<List<FacilityStateData>> getFacilityState() { + return waterFacilityService.getFacilityState(); + } + /** + * 设备实时数据统计 + * @author zr + */ + @PostMapping(value = "getDataList") + public ExecutedResult<List<FacilityParameterData>> getDataList(Long pointId, Integer facilityState) { + return waterFacilityParameterService.getDataList(pointId,facilityState); + } + /** + * 终端监控分类统计 + * @author zr + */ + @PostMapping(value = "getFacilityPointCount") + public ExecutedResult<List<FacilityPointCount>> getFacilityPointCount() { + return waterFacilityService.getFacilityPointCount(); + } + /** + * 设备风机运行时长统计 + * @author zr + */ + @PostMapping(value = "getFacilityRunTime") + public ExecutedResult<List<FacilityRunTimeVO>> getFacilityRunTime() { + return facilityRunTimeService.getFacilityRunTime(); + } } diff --git a/src/main/java/com/fengdu/gas/host/controller/visualized/HomeDataController.java b/src/main/java/com/fengdu/gas/host/controller/visualized/HomeDataController.java index 603b640..bca3877 100644 --- a/src/main/java/com/fengdu/gas/host/controller/visualized/HomeDataController.java +++ b/src/main/java/com/fengdu/gas/host/controller/visualized/HomeDataController.java @@ -19,9 +19,9 @@ import java.util.List; /** - * 10000.可视化数据大屏首页总览 + * 11000.可视化数据大屏首页总览 * @author zr - * @order 10000 + * @order 11000 */ @RestController @RequestMapping(value = "homeData") diff --git a/src/main/java/com/fengdu/gas/host/controller/visualized/StatisticsDataController.java b/src/main/java/com/fengdu/gas/host/controller/visualized/StatisticsDataController.java index 82bcb63..cb33d88 100644 --- a/src/main/java/com/fengdu/gas/host/controller/visualized/StatisticsDataController.java +++ b/src/main/java/com/fengdu/gas/host/controller/visualized/StatisticsDataController.java @@ -2,17 +2,22 @@ import com.fengdu.gas.common.ExecutedResult; import com.fengdu.gas.common.PagerResult; +import com.fengdu.gas.entity.request.datauploadrecord.ReqGetDataUploadRecord; import com.fengdu.gas.entity.response.alarm.FacilityAlarm; import com.fengdu.gas.entity.search.SearchFacilityAlarmRecord; +import com.fengdu.gas.entity.search.SearchSendMessageRecord; import com.fengdu.gas.entity.search.SearchUserWorkOrder; import com.fengdu.gas.host.BasicController; -import com.fengdu.gas.repository.vo.FacilityAlarmRecordVO; -import com.fengdu.gas.repository.vo.UserWorkOrderVO; +import com.fengdu.gas.repository.po.SendMessageRecordPO; +import com.fengdu.gas.repository.vo.*; +import com.fengdu.gas.service.DataUploadRecordService; import com.fengdu.gas.service.FacilityAlarmRecordService; +import com.fengdu.gas.service.SendMessageRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; /** * 10000.可视化数据大屏数据统计 @@ -22,10 +27,52 @@ @RestController @RequestMapping(value = "statisticsData") public class StatisticsDataController extends BasicController { -@Autowired -private FacilityAlarmRecordService facilityAlarmRecordService; - @PostMapping(value = "getAlarmList") + @Autowired + private FacilityAlarmRecordService facilityAlarmRecordService; + @Autowired + private DataUploadRecordService dataUploadRecordService; + @Autowired + private SendMessageRecordService sendMessageRecordService; + + /** + * 报警次数统计 + * @author zr + */ + @PostMapping(value = "getAlarmCount") public ExecutedResult<List<FacilityAlarm>> getAlarmList(Integer dateType) { return facilityAlarmRecordService.getAlarmList(dateType); } + /** + * 接到报警次数统计 + * @author zr + */ + @PostMapping(value = "getAlarmListByPoint") + public ExecutedResult<List<FacilityAlarmRecordCount>> getAlarmListByPoint() { + return facilityAlarmRecordService.getAlarmListByPoint(); + } + + /** + * 查询报警记录 + * @author zr + */ + @PostMapping(value = "getAlarmRecord") + public ExecutedResult<List<FacilityAlarmRecordVO>> getAlarmRecord() { + return facilityAlarmRecordService.getAlarmRecord(); + } + /** + * 气体浓度检测折线图统计 + * @author zr + */ + @PostMapping(value = "getLineChart") + public ExecutedResult<List<DataUploadRecordDayVO>> getLineChart(@RequestBody ReqGetDataUploadRecord record) { + return dataUploadRecordService.getLineChart(record); + } + /** + * 短信、邮箱报警记录 + * @author zr + */ + @PostMapping(value = "getMessageList") + public ExecutedResult<PagerResult<SendMessageRecordVO>> getMessageList(@RequestBody SearchSendMessageRecord request) { + return sendMessageRecordService.search(request); + } } diff --git a/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordDayMapperImpl.java b/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordDayMapperImpl.java index eb8e960..0a16a1e 100644 --- a/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordDayMapperImpl.java +++ b/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordDayMapperImpl.java @@ -138,4 +138,8 @@ public List<DataUploadRecordDayPO> getByTime(Long startTime, Long endTime) { return DB.getByTime(startTime,endTime); } + + public List<DataUploadRecordDayPO>getLineChart(Long pointId,String columnsCode,Long beginTime,Long LastTime){ + return DB.getLineChart(pointId,columnsCode,beginTime,LastTime); + } } diff --git a/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordHourMapperImpl.java b/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordHourMapperImpl.java index a9d6a31..f06123d 100644 --- a/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordHourMapperImpl.java +++ b/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordHourMapperImpl.java @@ -138,4 +138,8 @@ public List<DataUploadRecordHourPO> getByTime(Long startTime,Long endTime) { return DB.getByTime(startTime,endTime); } + + public List<DataUploadRecordHourPO>getLineChart(Long pointId,String columnsCode,Long beginTime,Long LastTime){ + return DB.getLineChart(pointId,columnsCode,beginTime,LastTime); + } } diff --git a/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordMonthMapperImpl.java b/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordMonthMapperImpl.java index c17b31f..9915962 100644 --- a/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordMonthMapperImpl.java +++ b/src/main/java/com/fengdu/gas/repository/impl/DataUploadRecordMonthMapperImpl.java @@ -30,6 +30,7 @@ import com.fengdu.gas.entity.dto.*; import com.fengdu.gas.entity.enums.*; import com.fengdu.gas.repository.BasicMapperImpl; +import com.fengdu.gas.repository.po.DataUploadRecordDayPO; import org.springframework.stereotype.Repository; import java.util.List; @@ -134,4 +135,8 @@ public List<DataUploadRecordMonthPO> getListById(List<Long> listId) { return super.getList(listId); } + + public List<DataUploadRecordMonthPO>getLineChart(Long pointId, String columnsCode, Long beginTime, Long LastTime){ + return DB.getLineChart(pointId,columnsCode,beginTime,LastTime); + } } diff --git a/src/main/java/com/fengdu/gas/repository/impl/FacilityAlarmRecordMapperImpl.java b/src/main/java/com/fengdu/gas/repository/impl/FacilityAlarmRecordMapperImpl.java index e4f1b0c..5a59d4d 100644 --- a/src/main/java/com/fengdu/gas/repository/impl/FacilityAlarmRecordMapperImpl.java +++ b/src/main/java/com/fengdu/gas/repository/impl/FacilityAlarmRecordMapperImpl.java @@ -31,9 +31,12 @@ import com.fengdu.gas.entity.enums.*; import com.fengdu.gas.entity.response.alarm.FacilityAlarm; import com.fengdu.gas.repository.BasicMapperImpl; +import com.fengdu.gas.repository.vo.FacilityAlarmRecordCount; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Map; + import com.fengdu.gas.entity.search.SearchFacilityAlarmRecord; import com.fengdu.gas.repository.mapper.FacilityAlarmRecordMapper; import com.fengdu.gas.repository.po.FacilityAlarmRecordPO; @@ -139,4 +142,10 @@ public List<FacilityAlarm> getByDateType(String beginTime,String endTime){ return DB.getByDateType(beginTime,endTime); } + public List<FacilityAlarmRecordPO> getGroupList(){ + return DB.getGroupList(); + } + public List<FacilityAlarmRecordCount> getAlarmListByPoint(){ + return DB.getAlarmListByPoint(); + } } diff --git a/src/main/java/com/fengdu/gas/repository/impl/SendMessageRecordMapperImpl.java b/src/main/java/com/fengdu/gas/repository/impl/SendMessageRecordMapperImpl.java index 279c241..90173e1 100644 --- a/src/main/java/com/fengdu/gas/repository/impl/SendMessageRecordMapperImpl.java +++ b/src/main/java/com/fengdu/gas/repository/impl/SendMessageRecordMapperImpl.java @@ -56,7 +56,7 @@ // 非逻辑删除 queryWrapper.eq(SendMessageRecordPO::getIsDelete, EYesOrNo.NO.getValue()); // 状态 - //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, SendMessageRecordPO::getStatus, search.getStatus()); + queryWrapper.eq(NumericUtil.tryParseInt(search.getType()).compareTo(0) > 0, SendMessageRecordPO::getType, search.getType()); // 状态列表 //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), SendMessageRecordPO::getStatus, search.getListStatus()); diff --git a/src/main/java/com/fengdu/gas/repository/impl/WaterFacilityMapperImpl.java b/src/main/java/com/fengdu/gas/repository/impl/WaterFacilityMapperImpl.java index e6437b7..a2947ae 100644 --- a/src/main/java/com/fengdu/gas/repository/impl/WaterFacilityMapperImpl.java +++ b/src/main/java/com/fengdu/gas/repository/impl/WaterFacilityMapperImpl.java @@ -24,11 +24,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fengdu.gas.common.ExecutedResult; import com.fengdu.gas.common.PagerResult; import com.fengdu.gas.common.enums.EYesOrNo; import com.fengdu.gas.common.util.*; import com.fengdu.gas.entity.dto.*; import com.fengdu.gas.entity.enums.*; +import com.fengdu.gas.entity.response.facility.FacilityPointCount; import com.fengdu.gas.repository.BasicMapperImpl; import org.springframework.stereotype.Repository; @@ -134,4 +136,8 @@ public List<WaterFacilityPO> getListById(List<Long> listId) { return super.getList(listId); } + + public List<FacilityPointCount> getFacilityPointCount(){ + return DB.getFacilityPointCount(); + } } diff --git a/src/main/java/com/fengdu/gas/repository/impl/WaterFacilityParameterMapperImpl.java b/src/main/java/com/fengdu/gas/repository/impl/WaterFacilityParameterMapperImpl.java index 18994c8..a6078dc 100644 --- a/src/main/java/com/fengdu/gas/repository/impl/WaterFacilityParameterMapperImpl.java +++ b/src/main/java/com/fengdu/gas/repository/impl/WaterFacilityParameterMapperImpl.java @@ -30,6 +30,7 @@ import com.fengdu.gas.entity.dto.*; import com.fengdu.gas.entity.enums.*; import com.fengdu.gas.repository.BasicMapperImpl; +import com.fengdu.gas.repository.vo.WaterFacilityParameterVO; import org.springframework.stereotype.Repository; import java.util.List; @@ -139,4 +140,8 @@ public List<WaterFacilityParameterPO> getListById(List<Long> listId) { return super.getList(listId); } + + public List<WaterFacilityParameterVO> getListData(Long pointId, Integer facilityState){ + return DB.getListData(pointId,facilityState); + } } diff --git a/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordDayMapper.java b/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordDayMapper.java index 367c4c1..4c2122e 100644 --- a/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordDayMapper.java +++ b/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordDayMapper.java @@ -16,4 +16,9 @@ @Select("SELECT point_id,point_name,facility_id,facility_name,min_value,max_value,avg_value,upload_time FROM data_upload_record_day " + " WHERE is_delete=0 AND upload_time BETWEEN #{startTime} AND #{endTime}") List<DataUploadRecordDayPO> getByTime(Long startTime, Long endTime); + + @Select("SELECT point_name,facility_name,columns_code,min_value,max_value,avg_value,TO_CHAR(TO_TIMESTAMP(upload_date, 'YYYY-MM-DD HH24:MI:SS'), 'DD') AS upload_date\n" + + " FROM data_upload_record_day \n" + + " WHERE point_id=#{pointId} and columns_code=#{columnsCode} AND upload_time BETWEEN #{beginTime} AND #{LastTime}") + List<DataUploadRecordDayPO>getLineChart(Long pointId,String columnsCode,Long beginTime,Long LastTime); } diff --git a/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordHourMapper.java b/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordHourMapper.java index f99669d..6dd54c5 100644 --- a/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordHourMapper.java +++ b/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordHourMapper.java @@ -14,4 +14,9 @@ @Select("SELECT point_id,point_name,facility_id,facility_name,min_value,max_value,avg_value,upload_time FROM data_upload_record_hour " + " WHERE is_delete=0 AND upload_time BETWEEN #{startTime} AND #{endTime}") List<DataUploadRecordHourPO> getByTime(Long startTime, Long endTime); + + @Select("SELECT point_name,facility_name,columns_code,min_value,max_value,avg_value,TO_CHAR(TO_TIMESTAMP(upload_date, 'YYYY-MM-DD HH24:MI:SS'), 'HH24') AS upload_date\n" + + " FROM data_upload_record_hour \n" + + " WHERE point_id=#{pointId} and columns_code=#{columnsCode} AND upload_time BETWEEN #{beginTime} AND #{LastTime}") + List<DataUploadRecordHourPO>getLineChart(Long pointId,String columnsCode,Long beginTime,Long LastTime); } diff --git a/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordMonthMapper.java b/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordMonthMapper.java index 18f9080..b019e83 100644 --- a/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordMonthMapper.java +++ b/src/main/java/com/fengdu/gas/repository/mapper/DataUploadRecordMonthMapper.java @@ -1,10 +1,20 @@ package com.fengdu.gas.repository.mapper; -import com.fengdu.gas.repository.BasicMapper;import com.fengdu.gas.repository.po.DataUploadRecordMonthPO; +import com.fengdu.gas.repository.BasicMapper; +import com.fengdu.gas.repository.po.DataUploadRecordDayPO; +import com.fengdu.gas.repository.po.DataUploadRecordMonthPO; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * 数据上报记录-月统计 mapper * @author zr */ public interface DataUploadRecordMonthMapper extends BasicMapper<DataUploadRecordMonthPO> { + + @Select("SELECT point_name,facility_name,columns_code,min_value,max_value,avg_value,TO_CHAR(TO_TIMESTAMP(upload_date, 'YYYY-MM-DD HH24:MI:SS'), 'MM') AS upload_date\n" + + " FROM data_upload_record_month \n" + + " WHERE point_id=#{pointId} and columns_code=#{columnsCode} AND upload_time BETWEEN #{beginTime} AND #{LastTime}") + List<DataUploadRecordMonthPO> getLineChart(Long pointId, String columnsCode, Long beginTime, Long LastTime); } diff --git a/src/main/java/com/fengdu/gas/repository/mapper/FacilityAlarmRecordMapper.java b/src/main/java/com/fengdu/gas/repository/mapper/FacilityAlarmRecordMapper.java index 87e9f54..041eb0f 100644 --- a/src/main/java/com/fengdu/gas/repository/mapper/FacilityAlarmRecordMapper.java +++ b/src/main/java/com/fengdu/gas/repository/mapper/FacilityAlarmRecordMapper.java @@ -3,9 +3,11 @@ import com.fengdu.gas.entity.response.alarm.FacilityAlarm; import com.fengdu.gas.repository.BasicMapper; import com.fengdu.gas.repository.po.FacilityAlarmRecordPO; +import com.fengdu.gas.repository.vo.FacilityAlarmRecordCount; import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** * 设备报警记录 mapper @@ -13,7 +15,13 @@ */ public interface FacilityAlarmRecordMapper extends BasicMapper<FacilityAlarmRecordPO> { @Select("SELECT description AS NAME ,MIN(min_value) AS minValue ,MAX(max_value) AS maxValue,COUNT(id) AS count FROM facility_alarm_record \n" + - "WHERE is_delete=0 AND latest_alarm_time BETWEEN #{beginTime} AND #{endTime} '\n" + + "WHERE is_delete=0 and columns_code is Not NULL AND columns_code<>'' AND latest_alarm_time BETWEEN #{beginTime} AND #{endTime} '\n" + "GROUP BY description\n") List<FacilityAlarm> getByDateType(String beginTime, String endTime); + + @Select("SELECT point_name, COUNT(*) as count FROM facility_alarm_record WHERE is_delete=0 AND latest_alarm_time IS NOT NULL AND latest_alarm_time<>'' and columns_code is Not NULL AND columns_code<>'' GROUP BY point_name ;") + List<FacilityAlarmRecordCount> getAlarmListByPoint(); + + @Select("SELECT facility_id,columns_code,alarm_type,COUNT(*) AS alarm_count FROM facility_alarm_record WHERE is_delete=0 and columns_code is Not NULL AND columns_code<>'' GROUP BY facility_id,columns_code,alarm_type;") + List<FacilityAlarmRecordPO> getGroupList(); } diff --git a/src/main/java/com/fengdu/gas/repository/mapper/WaterFacilityMapper.java b/src/main/java/com/fengdu/gas/repository/mapper/WaterFacilityMapper.java index e57d58d..e949106 100644 --- a/src/main/java/com/fengdu/gas/repository/mapper/WaterFacilityMapper.java +++ b/src/main/java/com/fengdu/gas/repository/mapper/WaterFacilityMapper.java @@ -1,10 +1,17 @@ package com.fengdu.gas.repository.mapper; -import com.fengdu.gas.repository.BasicMapper;import com.fengdu.gas.repository.po.WaterFacilityPO; +import com.fengdu.gas.entity.response.facility.FacilityPointCount; +import com.fengdu.gas.repository.BasicMapper; +import com.fengdu.gas.repository.po.WaterFacilityPO; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * 设备信息 mapper * @author zr */ public interface WaterFacilityMapper extends BasicMapper<WaterFacilityPO> { + @Select("SELECT point_name,COUNT(*) FROM water_facility WHERE is_delete=0 GROUP BY point_name") + List<FacilityPointCount> getFacilityPointCount(); } diff --git a/src/main/java/com/fengdu/gas/repository/mapper/WaterFacilityParameterMapper.java b/src/main/java/com/fengdu/gas/repository/mapper/WaterFacilityParameterMapper.java index e2b1810..585a685 100644 --- a/src/main/java/com/fengdu/gas/repository/mapper/WaterFacilityParameterMapper.java +++ b/src/main/java/com/fengdu/gas/repository/mapper/WaterFacilityParameterMapper.java @@ -1,10 +1,29 @@ package com.fengdu.gas.repository.mapper; -import com.fengdu.gas.repository.BasicMapper;import com.fengdu.gas.repository.po.WaterFacilityParameterPO; +import com.fengdu.gas.repository.BasicMapper; +import com.fengdu.gas.repository.po.WaterFacilityParameterPO; +import com.fengdu.gas.repository.vo.WaterFacilityParameterVO; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * 设备设定参数 mapper * @author zr */ public interface WaterFacilityParameterMapper extends BasicMapper<WaterFacilityParameterPO> { + + @Select({ + "<script>", + "SELECT a.*,b.facility_state,b.facility_name,b.point_id,b.point_name FROM water_facility_parameter a ", + "left join water_facility b ON a.facility_id=b.id WHERE a.is_delete=0", + "<if test= \"pointId!=null and pointId>0 \">", + "and b.point_id=#{pointId}", + "</if>", + "<if test= \"facilityState!=null\">", + "and b.facility_state=#{facilityState}", + "</if>", + "</script>" + }) + List<WaterFacilityParameterVO> getListData(Long pointId, Integer facilityState); } diff --git a/src/main/java/com/fengdu/gas/repository/po/WaterMonitoryPointPO.java b/src/main/java/com/fengdu/gas/repository/po/WaterMonitoryPointPO.java index 7847881..619a03f 100644 --- a/src/main/java/com/fengdu/gas/repository/po/WaterMonitoryPointPO.java +++ b/src/main/java/com/fengdu/gas/repository/po/WaterMonitoryPointPO.java @@ -71,6 +71,11 @@ @TableField(value = "top_margin") private String topMargin; /** + * 盒子位置(1左 2右) + */ + @TableField(value = "box_type") + private String boxType; + /** * 监控点图片 */ @TableField(value = "image_rul") diff --git a/src/main/java/com/fengdu/gas/repository/vo/FacilityAlarmRecordCount.java b/src/main/java/com/fengdu/gas/repository/vo/FacilityAlarmRecordCount.java new file mode 100644 index 0000000..80236be --- /dev/null +++ b/src/main/java/com/fengdu/gas/repository/vo/FacilityAlarmRecordCount.java @@ -0,0 +1,9 @@ +package com.fengdu.gas.repository.vo; + +import lombok.Data; + +@Data +public class FacilityAlarmRecordCount { + private String pointName; + private Integer count; +} diff --git a/src/main/java/com/fengdu/gas/repository/vo/FacilityAlarmRecordVO.java b/src/main/java/com/fengdu/gas/repository/vo/FacilityAlarmRecordVO.java index cc1612f..d935e45 100644 --- a/src/main/java/com/fengdu/gas/repository/vo/FacilityAlarmRecordVO.java +++ b/src/main/java/com/fengdu/gas/repository/vo/FacilityAlarmRecordVO.java @@ -1,32 +1,35 @@ /** -# __----~~~~~~~~~~~------___ -# . . ~~//====...... __--~ ~~ -# -. \_|// |||\\ ~~~~~~::::... /~ -# ___-==_ _-~o~ \/ ||| \\ _/~~- -# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ -# _-~~ .=~ | \\-_ '-~7 /- / || \ / -# .~ .~ | \\ -_ / /- / || \ / -# / ____ / | \\ ~-_/ /|- _/ .|| \ / -# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ -# ' ~-| /| |-~\~~ __--~~ -# |-~~-_/ | | ~\_ _-~ /\ -# / \ \__ \/~ \__ -# _--~ _/ | .-~~____--~-/ ~~==. -# ((->/~ '.|||' -_| ~~-/ , . _|| -# -_ ~\ ~~---l__i__i__i--~~_/ -# _-~-__ ~) \--______________--~~ -# //.-~~~-~_--~- |-------~~~~~~~~ -# //.-~~~--\ -# 神兽保佑 -# 永无BUG! -*/ + # __----~~~~~~~~~~~------___ + # . . ~~//====...... __--~ ~~ + # -. \_|// |||\\ ~~~~~~::::... /~ + # ___-==_ _-~o~ \/ ||| \\ _/~~- + # __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ + # _-~~ .=~ | \\-_ '-~7 /- / || \ / + # .~ .~ | \\ -_ / /- / || \ / + # / ____ / | \\ ~-_/ /|- _/ .|| \ / + # |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ + # ' ~-| /| |-~\~~ __--~~ + # |-~~-_/ | | ~\_ _-~ /\ + # / \ \__ \/~ \__ + # _--~ _/ | .-~~____--~-/ ~~==. + # ((->/~ '.|||' -_| ~~-/ , . _|| + # -_ ~\ ~~---l__i__i__i--~~_/ + # _-~-__ ~) \--______________--~~ + # //.-~~~-~_--~- |-------~~~~~~~~ + # //.-~~~--\ + # 神兽保佑 + # 永无BUG! + */ package com.fengdu.gas.repository.vo; +import com.fengdu.gas.common.enums.EAlarmType; import lombok.Data; import com.fengdu.gas.common.util.LocalDateTimeUtil; import com.fengdu.gas.common.util.NumericUtil; + import java.util.Objects; + import com.fengdu.gas.repository.po.FacilityAlarmRecordPO; /** @@ -35,6 +38,10 @@ */ @Data public class FacilityAlarmRecordVO extends FacilityAlarmRecordPO implements BasicVO { + private String address; + private String facilityCode; + + private String alarmTime; @Override public String getCreateTimeView() { @@ -51,4 +58,11 @@ } return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); } + + public String getAlarmTypeView() { + if (Objects.isNull(this.getAlarmType())) { + return ""; + } + return EAlarmType.getByValue(this.getAlarmType()).getDesc(); + } } diff --git a/src/main/java/com/fengdu/gas/repository/vo/UserWorkOrderVO.java b/src/main/java/com/fengdu/gas/repository/vo/UserWorkOrderVO.java index 3f1b6d1..b5430aa 100644 --- a/src/main/java/com/fengdu/gas/repository/vo/UserWorkOrderVO.java +++ b/src/main/java/com/fengdu/gas/repository/vo/UserWorkOrderVO.java @@ -23,6 +23,7 @@ package com.fengdu.gas.repository.vo; import com.fengdu.gas.entity.enums.EExecuteType; +import com.fengdu.gas.entity.enums.EWorkType; import lombok.Data; import com.fengdu.gas.common.util.LocalDateTimeUtil; @@ -63,4 +64,10 @@ } return EExecuteType.getByValue(this.getExecuteState()).getDesc(); } + public String getTypeView() { + if (Objects.isNull(this.getType())) { + return ""; + } + return EWorkType.getByValue(this.getExecuteState()).getDesc(); + } } diff --git a/src/main/java/com/fengdu/gas/repository/vo/WaterFacilityParameterVO.java b/src/main/java/com/fengdu/gas/repository/vo/WaterFacilityParameterVO.java index 76877e4..ed9bcf1 100644 --- a/src/main/java/com/fengdu/gas/repository/vo/WaterFacilityParameterVO.java +++ b/src/main/java/com/fengdu/gas/repository/vo/WaterFacilityParameterVO.java @@ -35,7 +35,10 @@ */ @Data public class WaterFacilityParameterVO extends WaterFacilityParameterPO implements BasicVO { - + private String facilityName; + private Long pointId; + private String pointName; + private Integer facilityState; @Override public String getCreateTimeView() { if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { diff --git a/src/main/java/com/fengdu/gas/repository/vo/WaterFacilityVO.java b/src/main/java/com/fengdu/gas/repository/vo/WaterFacilityVO.java index 7d2549a..beaa01c 100644 --- a/src/main/java/com/fengdu/gas/repository/vo/WaterFacilityVO.java +++ b/src/main/java/com/fengdu/gas/repository/vo/WaterFacilityVO.java @@ -35,7 +35,7 @@ */ @Data public class WaterFacilityVO extends WaterFacilityPO implements BasicVO { - + private String facilityTypeName; @Override public String getCreateTimeView() { if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { diff --git a/src/main/java/com/fengdu/gas/service/AlarmSchemeService.java b/src/main/java/com/fengdu/gas/service/AlarmSchemeService.java index af18e52..ec18066 100644 --- a/src/main/java/com/fengdu/gas/service/AlarmSchemeService.java +++ b/src/main/java/com/fengdu/gas/service/AlarmSchemeService.java @@ -26,6 +26,8 @@ import com.fengdu.gas.common.enums.*; import com.fengdu.gas.common.model.Tuple; import com.fengdu.gas.common.util.*; +import com.fengdu.gas.repository.impl.CommonParametersMapperImpl; +import com.fengdu.gas.repository.po.CommonParametersPO; import com.fengdu.gas.repository.vo.UserWorkOrderVO; import org.apache.commons.lang3.BooleanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -48,10 +50,18 @@ public class AlarmSchemeService extends BaseService { @Autowired private AlarmSchemeMapperImpl mapper; + @Autowired + private CommonParametersMapperImpl commonParametersMapper; - public ExecutedResult<Long> create(ReqCreateAlarmScheme request) { + public ExecutedResult<Long> create(ReqCreateAlarmScheme request) {; + CommonParametersPO parametersPO = commonParametersMapper.getById(request.getParametersId()); + if(Objects.isNull(parametersPO)){ + return ExecutedResult.failed("参数不存在"); + } // 转换po AlarmSchemePO item = CopierUtil.mapTo(request, AlarmSchemePO.class); + item.setColumnsCode(parametersPO.getMark()); + item.setColumnsShow(parametersPO.getName()); // 设置状态 //item.setStatus(EState.NORMAL.getValue()); // 设置记录创建时间 diff --git a/src/main/java/com/fengdu/gas/service/DataUploadRecordService.java b/src/main/java/com/fengdu/gas/service/DataUploadRecordService.java index 621cc16..b38a543 100644 --- a/src/main/java/com/fengdu/gas/service/DataUploadRecordService.java +++ b/src/main/java/com/fengdu/gas/service/DataUploadRecordService.java @@ -26,9 +26,11 @@ import com.fengdu.gas.common.enums.*; import com.fengdu.gas.common.model.Tuple; import com.fengdu.gas.common.util.*; +import com.fengdu.gas.entity.request.datauploadrecord.ReqGetDataUploadRecord; import com.fengdu.gas.repository.impl.*; import com.fengdu.gas.repository.mapper.DataUploadRecordHourMapper; import com.fengdu.gas.repository.po.*; +import com.fengdu.gas.repository.vo.DataUploadRecordDayVO; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -47,6 +49,7 @@ import com.fengdu.gas.entity.search.SearchDataUploadRecord; import com.fengdu.gas.repository.vo.DataUploadRecordVO; import com.fengdu.gas.service.convert.DataUploadRecordConvert; +import org.springframework.web.bind.annotation.RequestBody; /** * 数据上报记录 @@ -70,6 +73,7 @@ private WaterFacilityParameterMapperImpl waterFacilityParameterMapper; private static final Logger DEBUG_LOGGER = LoggerUtil.get(ELogger.DEBUG); private static final Logger ERROR_LOGGER = LoggerUtil.get(ELogger.SYS_ERROR); + public ExecutedResult<Long> create(ReqCreateDataUploadRecord request) { // 转换po DataUploadRecordPO item = DataUploadRecordConvert.INSTANCE.toCreate(request); @@ -204,6 +208,7 @@ // } // return ExecutedResult.success(); // } + /** * mqtt收到消息 * @param topic 主题 @@ -224,9 +229,10 @@ //报文解析 //添加参数报警记录 List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList(); - FacilityAlarmRecordPO recordPO=new FacilityAlarmRecordPO(); + FacilityAlarmRecordPO recordPO = new FacilityAlarmRecordPO(); } + public ExecutedResult<String> dataUpload(Long startTime, Long endTime, Integer type) { List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList(); //获取所有设备参数 @@ -236,7 +242,7 @@ case 1: //按小时统计插入数据 List<DataUploadRecordPO> recordPOList = mapper.getByTime(startTime, endTime); - if(ListUtil.isNotNullOrEmpty(recordPOList)){ + if (ListUtil.isNotNullOrEmpty(recordPOList)) { for (WaterFacilityParameterPO parameterPO : parameterPOList) { WaterFacilityPO waterFacilityPO = facilityPOList.stream().filter(item -> item.getId().equals(parameterPO.getFacilityId())).findFirst().orElse(null); //根据设备参数筛选数据集合 @@ -267,7 +273,7 @@ break; case 2://按天统计插入数据 List<DataUploadRecordHourPO> hourPOList = dataUploadRecordHourMapper.getByTime(startTime, endTime); - if(ListUtil.isNotNullOrEmpty(hourPOList)){ + if (ListUtil.isNotNullOrEmpty(hourPOList)) { for (WaterFacilityParameterPO parameterPO : parameterPOList) { WaterFacilityPO waterFacilityPO = facilityPOList.stream().filter(item -> item.getId().equals(parameterPO.getFacilityId())).findFirst().orElse(null); List<DataUploadRecordHourPO> dataList = hourPOList.stream().filter(item -> item.getFacilityId().equals(parameterPO.getFacilityId()) && item.getColumnsCode().equals(parameterPO.getColumnsCode())).collect(Collectors.toList()); @@ -295,7 +301,7 @@ break; case 3://按月统计插入数据 List<DataUploadRecordDayPO> dayPOList = dataUploadRecordDayMapper.getByTime(startTime, endTime); - if(ListUtil.isNotNullOrEmpty(dayPOList)){ + if (ListUtil.isNotNullOrEmpty(dayPOList)) { for (WaterFacilityParameterPO parameterPO : parameterPOList) { WaterFacilityPO waterFacilityPO = facilityPOList.stream().filter(item -> item.getId().equals(parameterPO.getFacilityId())).findFirst().orElse(null); List<DataUploadRecordDayPO> dataList = dayPOList.stream().filter(item -> item.getFacilityId().equals(parameterPO.getFacilityId()) && item.getColumnsCode().equals(parameterPO.getColumnsCode())).collect(Collectors.toList()); @@ -323,11 +329,88 @@ } - } return ExecutedResult.success(); } + public ExecutedResult<List<DataUploadRecordDayVO>> getLineChart(ReqGetDataUploadRecord record) { + Long beginTime = 0L; + Long endTime = 0L; + List<DataUploadRecordDayVO> data = new ArrayList<>(); + List<DataUploadRecordDayVO> result = new ArrayList<>(); + switch (record.getDateType()) { + case 1: + beginTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.todayStartTime()).getTime(); + endTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.todayEndTime()).getTime(); + if (beginTime > 0 && endTime > 0) { + List<DataUploadRecordHourPO> lineChart = dataUploadRecordHourMapper.getLineChart(record.getPointId(), record.getColumnsCode(), beginTime, endTime); + if(ListUtil.isNotNullOrEmpty(lineChart)){ + data = CopierUtil.mapTo(lineChart, DataUploadRecordDayVO.class); + } + + } + break; + case 2: + beginTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.weekStartTime()).getTime(); + endTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.weekEndTime()).getTime(); + if (beginTime > 0 && endTime > 0) { + List<DataUploadRecordDayPO> lineChart = dataUploadRecordDayMapper.getLineChart(record.getPointId(), record.getColumnsCode(), beginTime, endTime); + if(ListUtil.isNotNullOrEmpty(lineChart)){ + data = CopierUtil.mapTo(lineChart, DataUploadRecordDayVO.class); + } + } + break; + case 3: + beginTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.monthStartTime()).getTime(); + endTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.monthEndTime()).getTime(); + if (beginTime > 0 && endTime > 0) { + List<DataUploadRecordMonthPO> lineChart = dataUploadRecordMonthMapper.getLineChart(record.getPointId(), record.getColumnsCode(), beginTime, endTime); + if(ListUtil.isNotNullOrEmpty(lineChart)){ + data = CopierUtil.mapTo(lineChart, DataUploadRecordDayVO.class); + } + } + break; + case 4: + beginTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.yearStartTime()).getTime(); + endTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.yearEndTime()).getTime(); + if (beginTime > 0 && endTime > 0) { + List<DataUploadRecordMonthPO> lineChart = dataUploadRecordMonthMapper.getLineChart(record.getPointId(), record.getColumnsCode(), beginTime, endTime); + if(ListUtil.isNotNullOrEmpty(lineChart)){ + data = CopierUtil.mapTo(lineChart, DataUploadRecordDayVO.class); + } + } + break; + } + //查询监控点下是否存在多个设备的数据,存在则计算最小、最大、平均值 + if (ListUtil.isNotNullOrEmpty(data)) { + Map<String, List<DataUploadRecordDayVO>> collect = data.stream().collect(Collectors.groupingBy(DataUploadRecordDayVO::getUploadDate)); + for (Map.Entry<String, List<DataUploadRecordDayVO>> map : collect.entrySet()) { + List<DataUploadRecordDayVO> value = map.getValue(); + DataUploadRecordDayVO dayVO = new DataUploadRecordDayVO(); + dayVO.setUploadDate(map.getKey()); + BigDecimal maxValue = BigDecimal.ZERO; + BigDecimal minValue = BigDecimal.ZERO; + BigDecimal avgValue = BigDecimal.ZERO; + if (value.size() > 1) { + maxValue = Collections.max(value, Comparator.comparing(DataUploadRecordDayVO::getMaxValue)).getMaxValue(); + minValue = Collections.min(value, Comparator.comparing(DataUploadRecordDayVO::getMinValue)).getMinValue(); + BigDecimal sum = maxValue.add(minValue); + avgValue=sum.divide(new BigDecimal(2)).setScale(2,RoundingMode.DOWN); + }else { + maxValue=value.get(0).getMaxValue(); + minValue=value.get(0).getMinValue(); + avgValue=value.get(0).getAvgValue(); + } + dayVO.setMaxValue(maxValue); + dayVO.setMinValue(minValue); + dayVO.setAvgValue(avgValue); + result.add(dayVO); + } + result.sort(Comparator.comparingInt(o -> Integer.parseInt(o.getUploadDate()))); + } + return ExecutedResult.success(result); + } + public ExecutedResult<List<DataUploadRecordVO>> getList(List<Long> listId) { List<DataUploadRecordVO> result = new ArrayList<>(); diff --git a/src/main/java/com/fengdu/gas/service/FacilityAlarmRecordService.java b/src/main/java/com/fengdu/gas/service/FacilityAlarmRecordService.java index 88f1990..dca76a1 100644 --- a/src/main/java/com/fengdu/gas/service/FacilityAlarmRecordService.java +++ b/src/main/java/com/fengdu/gas/service/FacilityAlarmRecordService.java @@ -1,25 +1,25 @@ /** -# __----~~~~~~~~~~~------___ -# . . ~~//====...... __--~ ~~ -# -. \_|// |||\\ ~~~~~~::::... /~ -# ___-==_ _-~o~ \/ ||| \\ _/~~- -# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ -# _-~~ .=~ | \\-_ '-~7 /- / || \ / -# .~ .~ | \\ -_ / /- / || \ / -# / ____ / | \\ ~-_/ /|- _/ .|| \ / -# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ -# ' ~-| /| |-~\~~ __--~~ -# |-~~-_/ | | ~\_ _-~ /\ -# / \ \__ \/~ \__ -# _--~ _/ | .-~~____--~-/ ~~==. -# ((->/~ '.|||' -_| ~~-/ , . _|| -# -_ ~\ ~~---l__i__i__i--~~_/ -# _-~-__ ~) \--______________--~~ -# //.-~~~-~_--~- |-------~~~~~~~~ -# //.-~~~--\ -# 神兽保佑 -# 永无BUG! -*/ + # __----~~~~~~~~~~~------___ + # . . ~~//====...... __--~ ~~ + # -. \_|// |||\\ ~~~~~~::::... /~ + # ___-==_ _-~o~ \/ ||| \\ _/~~- + # __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ + # _-~~ .=~ | \\-_ '-~7 /- / || \ / + # .~ .~ | \\ -_ / /- / || \ / + # / ____ / | \\ ~-_/ /|- _/ .|| \ / + # |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ + # ' ~-| /| |-~\~~ __--~~ + # |-~~-_/ | | ~\_ _-~ /\ + # / \ \__ \/~ \__ + # _--~ _/ | .-~~____--~-/ ~~==. + # ((->/~ '.|||' -_| ~~-/ , . _|| + # -_ ~\ ~~---l__i__i__i--~~_/ + # _-~-__ ~) \--______________--~~ + # //.-~~~-~_--~- |-------~~~~~~~~ + # //.-~~~--\ + # 神兽保佑 + # 永无BUG! + */ package com.fengdu.gas.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -28,12 +28,19 @@ import com.fengdu.gas.common.model.Tuple; import com.fengdu.gas.common.util.*; import com.fengdu.gas.entity.response.alarm.FacilityAlarm; +import com.fengdu.gas.repository.impl.WaterFacilityMapperImpl; import com.fengdu.gas.repository.po.AlarmSchemePO; +import com.fengdu.gas.repository.po.WaterFacilityPO; +import com.fengdu.gas.repository.vo.FacilityAlarmRecordCount; import org.apache.commons.lang3.BooleanUtils; +import org.apache.ibatis.annotations.Select; +import org.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + import java.util.*; import java.util.stream.Collectors; + import com.fengdu.gas.repository.impl.FacilityAlarmRecordMapperImpl; import com.fengdu.gas.repository.po.FacilityAlarmRecordPO; import com.fengdu.gas.entity.request.facilityalarmrecord.ReqCreateFacilityAlarmRecord; @@ -50,6 +57,8 @@ public class FacilityAlarmRecordService extends BaseService { @Autowired private FacilityAlarmRecordMapperImpl mapper; + @Autowired + private WaterFacilityMapperImpl waterFacilityMapper; public ExecutedResult<Long> create(ReqCreateFacilityAlarmRecord request) { // 转换po @@ -94,8 +103,20 @@ } return ExecutedResult.success(result); } - -// public ExecutedResult<String> stop(Long id) { + public ExecutedResult<List<FacilityAlarmRecordVO>> getAlarmTime(){ + List<FacilityAlarmRecordVO>result=new ArrayList<>(); + List<FacilityAlarmRecordPO> list = mapper.getList(); + if(ListUtil.isNotNullOrEmpty(list)){ + result=CopierUtil.mapTo(list, FacilityAlarmRecordVO.class); + for(FacilityAlarmRecordVO vo:result){ + if(StringUtil.isNotNullOrEmpty(vo.getFirstAlarmTime())&&StringUtil.isNotNullOrEmpty(vo.getLatestAlarmTime())){ + vo.setAlarmTime(LocalDateTimeUtil.getDateHoursMinutesSeconds(vo.getFirstAlarmTime(),vo.getLatestAlarmTime())); + } + } + } + return ExecutedResult.success(result); + } + // public ExecutedResult<String> stop(Long id) { // // 验证记录是否存在 // ExecutedResult<FacilityAlarmRecordPO> checkExists = this.check4Id(id); // if (checkExists.isFailed()) { @@ -185,7 +206,32 @@ // } // return ExecutedResult.success(); // } - + public ExecutedResult<List<FacilityAlarmRecordCount>> getAlarmListByPoint() { + List<FacilityAlarmRecordCount> list = mapper.getAlarmListByPoint(); + return ExecutedResult.success(list); + } + public ExecutedResult<List<FacilityAlarmRecordVO>> getAlarmRecord(){ + List<FacilityAlarmRecordVO> result=new ArrayList<>(); + List<FacilityAlarmRecordPO> recordPOList = mapper.getList(); + List<FacilityAlarmRecordPO> list = mapper.getGroupList(); + if(ListUtil.isNotNullOrEmpty(list)){ + result=CopierUtil.mapTo(list,FacilityAlarmRecordVO.class); + for(FacilityAlarmRecordVO vo:result){ + FacilityAlarmRecordPO recordPO = recordPOList.stream().filter(item -> item.getFacilityId().equals(vo.getFacilityId()) + && item.getColumnsCode().equals(vo.getColumnsCode()) + && item.getAlarmType().equals(vo.getAlarmType())).max(Comparator.comparing(FacilityAlarmRecordPO::getLatestAlarmTime)).orElse(null); + if(Objects.nonNull(recordPO)){ + vo.setLatestAlarmTime(recordPO.getLatestAlarmTime()); + vo.setFacilityName(recordPO.getFacilityName()); + vo.setPointId(recordPO.getPointId()); + vo.setPointName(recordPO.getPointName()); + vo.setDescription(recordPO.getDescription()); + vo.setColumnsName(recordPO.getColumnsName()); + } + } + } + return ExecutedResult.success(result); + } public ExecutedResult<List<FacilityAlarmRecordVO>> getList(List<Long> listId) { List<FacilityAlarmRecordVO> result = new ArrayList<>(); @@ -196,10 +242,11 @@ } return ExecutedResult.success(result); } - public ExecutedResult<List<FacilityAlarm>> getAlarmList(Integer dateType){ - List<FacilityAlarm> result=new ArrayList<>(); + + public ExecutedResult<List<FacilityAlarm>> getAlarmList(Integer dateType) { + List<FacilityAlarm> result = new ArrayList<>(); // 处理创建时间范围-查询参数 - if(dateType!=null&&dateType>0) { + if (dateType != null && dateType > 0) { Long beginTime = 0L; Long endTime = 0L; switch (dateType) { @@ -220,12 +267,13 @@ endTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.yearEndTime()).getTime(); break; } - if (beginTime > 0&&endTime > 0) { - result= mapper.getByDateType(LocalDateTimeUtil.toFormatString(beginTime),LocalDateTimeUtil.toFormatString(endTime)); + if (beginTime > 0 && endTime > 0) { + result = mapper.getByDateType(LocalDateTimeUtil.toFormatString(beginTime), LocalDateTimeUtil.toFormatString(endTime)); } } return ExecutedResult.success(result); } + public ExecutedResult<PagerResult<FacilityAlarmRecordVO>> search(SearchFacilityAlarmRecord search) { PagerResult<FacilityAlarmRecordPO> pageList = mapper.search(search); @@ -248,6 +296,7 @@ } return ExecutedResult.success(exists); } + protected ExecutedResult<List<FacilityAlarmRecordPO>> check4Id(List<Long> listId) { // 从数据库查找设备报警记录 List<FacilityAlarmRecordPO> list = mapper.getList(listId); @@ -265,4 +314,5 @@ } } return ExecutedResult.success(list); - }} + } +} diff --git a/src/main/java/com/fengdu/gas/service/TestInfoService.java b/src/main/java/com/fengdu/gas/service/TestInfoService.java index 58fe0e5..7d63bc7 100644 --- a/src/main/java/com/fengdu/gas/service/TestInfoService.java +++ b/src/main/java/com/fengdu/gas/service/TestInfoService.java @@ -104,141 +104,8 @@ } - /** - * 测试支付 - * @return - * @throws Exception - */ - public ExecutedResult<String> testPay() throws Exception { - CloseableHttpClient client = HttpClients.createDefault(); - HttpPost httpPost = new HttpPost("https://test.sumpay.cn/entrance/gateway.htm"); - List<BasicNameValuePair> pairList = new ArrayList<>(); - Map<String, String> map = new HashMap<>(); - map.put("service", "fosun.sumpay.api.orderpay.order.apply"); - map.put("version","1.0"); - map.put("format","JSON"); - map.put("app_id",); - map.put("timestamp","20250313142521"); - map.put("terminal_type","api"); - map.put("mer_no", "200102833852");//商户号 - map.put("account_type", "01");//付款方账户类型 - map.put("card_no", AES256("6217007200125513450"));//付款方账户号 - map.put("real_name", AES256("尹勇"));//付款方账户名 - //map.put("bank_code","");//银行代码 - //map.put("id_type","1");//证件类型 - //map.put("id_no",AES256(""));//证件号码 - //map.put("notify_url");//商户后台通知URL - map.put("goods_name", Base64("测试001"));//商品名称 - map.put("goods_num", "1");//商品数量 - map.put("goods_price", "0.11");//商品价格 - map.put("goods_type", "1");//商品类型 - map.put("order_no", "111111111111111");//订单号 - map.put("order_amount", "0.11");//订单金额 - map.put("order_time", "20250313142521");//订单时间 - map.put("currency", "CNY");//币种 - // map.put("pay_comments");//附言 - //map.put("remark");//备注字段 - Map<String, String> map1 = new HashMap<>(); - for (Map.Entry<String, String> entry : map.entrySet()) { - map1.put(entry.getKey(), entry.getValue()); - } - //map转换字符串&拼接并排序 - String keyAndValueStr = getKeyAndValueStr(map); - //签名处理 - String msg = signMsg(keyAndValueStr, PRIVATE_KEY, PASSWORD, "UTF-8"); - map1.put("sign_type","CERT"); - map1.put("sign",msg); - for(String key:map1.keySet()){ - pairList.add(new BasicNameValuePair(key,map1.get(key))); - } - UrlEncodedFormEntity entity = new UrlEncodedFormEntity(pairList, "UTF-8"); - httpPost.setEntity(entity); - try { - // 执行请求并获取响应 - CloseableHttpResponse response = client.execute(httpPost); - try { - if(response.getStatusLine().getStatusCode()== HttpStatus.SC_OK){ - String data=EntityUtils.toString(response.getEntity(),"UTF-8"); - System.out.println(data); - }else { - throw new RuntimeException("接口连接失败"); - } - // 处理响应... - } finally { - response.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } finally { - try { - client.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - return ExecutedResult.success(); - } - /** - * 订单支付确认接口 - * @return - * @throws Exception - */ - public ExecutedResult<String> confirmPay() throws Exception { - CloseableHttpClient client = HttpClients.createDefault(); - HttpPost httpPost = new HttpPost("https://test.sumpay.cn/entrance/gateway.htm"); - List<BasicNameValuePair> pairList = new ArrayList<>(); - Map<String, String> map = new HashMap<>(); - map.put("service", "fosun.sumpay.api.orderpay.order.apply"); - map.put("version","1.0"); - map.put("format","JSON"); - map.put("app_id",); - map.put("timestamp","20250313142521"); - map.put("terminal_type","api"); - map.put("mer_no", "200102833852");//商户号 - map.put("order_no", "111111111111111");//订单号 - map.put("serial_no", "");//入账流水号 - Map<String, String> map1 = new HashMap<>(); - for (Map.Entry<String, String> entry : map.entrySet()) { - map1.put(entry.getKey(), entry.getValue()); - } - //map转换字符串&拼接并排序 - String keyAndValueStr = getKeyAndValueStr(map); - //签名处理 - String msg = signMsg(keyAndValueStr, PRIVATE_KEY, PASSWORD, "UTF-8"); - map1.put("sign_type","CERT"); - map1.put("sign",msg); - for(String key:map1.keySet()){ - pairList.add(new BasicNameValuePair(key,map1.get(key))); - } - UrlEncodedFormEntity entity = new UrlEncodedFormEntity(pairList, "UTF-8"); - httpPost.setEntity(entity); - try { - // 执行请求并获取响应 - CloseableHttpResponse response = client.execute(httpPost); - try { - if(response.getStatusLine().getStatusCode()== HttpStatus.SC_OK){ - String data=EntityUtils.toString(response.getEntity(),"UTF-8"); - System.out.println(data); - }else { - throw new RuntimeException("接口连接失败"); - } - // 处理响应... - } finally { - response.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } finally { - try { - client.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - return ExecutedResult.success(); - } /** * 签名处理 * @param privateKeyPath:私钥 diff --git a/src/main/java/com/fengdu/gas/service/UserWorkOrderService.java b/src/main/java/com/fengdu/gas/service/UserWorkOrderService.java index 64e7691..4800494 100644 --- a/src/main/java/com/fengdu/gas/service/UserWorkOrderService.java +++ b/src/main/java/com/fengdu/gas/service/UserWorkOrderService.java @@ -197,7 +197,22 @@ } return ExecutedResult.success(result); } - + public ExecutedResult<List<UserWorkOrderVO>> getUserWorkList(){ + List<UserWorkOrderVO> result = new ArrayList<>(); + List<UserWorkOrderPO> list = mapper.getList(); + if(ListUtil.isNotNullOrEmpty(list)){ + result=CopierUtil.mapTo(list,UserWorkOrderVO.class); + List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList(); + for(UserWorkOrderVO vo:result){ + WaterFacilityPO waterFacilityPO = facilityPOList.stream().filter(item -> item.getFacilityCode().equals(vo.getFacilityCode())).findFirst().orElse(null); + if(Objects.nonNull(waterFacilityPO)){ + vo.setPointName(waterFacilityPO.getPointName()); + vo.setFacilityName(waterFacilityPO.getFacilityName()); + } + } + } + return ExecutedResult.success(result); + } public ExecutedResult<PagerResult<UserWorkOrderVO>> search(SearchUserWorkOrder search) { // 处理创建时间范围-查询参数 Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); diff --git a/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java b/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java index 35bda99..d7ee1a7 100644 --- a/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java +++ b/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java @@ -1,39 +1,42 @@ /** -# __----~~~~~~~~~~~------___ -# . . ~~//====...... __--~ ~~ -# -. \_|// |||\\ ~~~~~~::::... /~ -# ___-==_ _-~o~ \/ ||| \\ _/~~- -# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ -# _-~~ .=~ | \\-_ '-~7 /- / || \ / -# .~ .~ | \\ -_ / /- / || \ / -# / ____ / | \\ ~-_/ /|- _/ .|| \ / -# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ -# ' ~-| /| |-~\~~ __--~~ -# |-~~-_/ | | ~\_ _-~ /\ -# / \ \__ \/~ \__ -# _--~ _/ | .-~~____--~-/ ~~==. -# ((->/~ '.|||' -_| ~~-/ , . _|| -# -_ ~\ ~~---l__i__i__i--~~_/ -# _-~-__ ~) \--______________--~~ -# //.-~~~-~_--~- |-------~~~~~~~~ -# //.-~~~--\ -# 神兽保佑 -# 永无BUG! -*/ + # __----~~~~~~~~~~~------___ + # . . ~~//====...... __--~ ~~ + # -. \_|// |||\\ ~~~~~~::::... /~ + # ___-==_ _-~o~ \/ ||| \\ _/~~- + # __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ + # _-~~ .=~ | \\-_ '-~7 /- / || \ / + # .~ .~ | \\ -_ / /- / || \ / + # / ____ / | \\ ~-_/ /|- _/ .|| \ / + # |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ + # ' ~-| /| |-~\~~ __--~~ + # |-~~-_/ | | ~\_ _-~ /\ + # / \ \__ \/~ \__ + # _--~ _/ | .-~~____--~-/ ~~==. + # ((->/~ '.|||' -_| ~~-/ , . _|| + # -_ ~\ ~~---l__i__i__i--~~_/ + # _-~-__ ~) \--______________--~~ + # //.-~~~-~_--~- |-------~~~~~~~~ + # //.-~~~--\ + # 神兽保佑 + # 永无BUG! + */ package com.fengdu.gas.service; import com.fengdu.gas.common.*; -import com.fengdu.gas.common.enums.*; +import com.fengdu.gas.common.enums.EFacilityState; import com.fengdu.gas.common.model.Tuple; import com.fengdu.gas.common.util.*; import com.fengdu.gas.entity.request.waterfacilityparameter.ReqAddParameter; +import com.fengdu.gas.entity.response.facility.FacilityParameterData; import com.fengdu.gas.repository.impl.WaterFacilityMapperImpl; +import com.fengdu.gas.repository.impl.WaterMonitoryPointMapperImpl; import com.fengdu.gas.repository.po.WaterFacilityPO; -import org.apache.commons.lang3.BooleanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + import java.util.*; import java.util.stream.Collectors; + import com.fengdu.gas.repository.impl.WaterFacilityParameterMapperImpl; import com.fengdu.gas.repository.po.WaterFacilityParameterPO; import com.fengdu.gas.entity.request.waterfacilityparameter.ReqCreateWaterFacilityParameter; @@ -52,6 +55,8 @@ private WaterFacilityParameterMapperImpl mapper; @Autowired private WaterFacilityMapperImpl waterFacilityMapper; + @Autowired + private WaterMonitoryPointMapperImpl waterMonitoryPointMapper; public ExecutedResult<String> create(ReqAddParameter request) { WaterFacilityPO facilityPO = waterFacilityMapper.get(request.getFacilityId()); @@ -62,7 +67,7 @@ if (ListUtil.isNotNullOrEmpty(request.getParameterList())) { for (ReqCreateWaterFacilityParameter x : request.getParameterList()) { WaterFacilityParameterPO parameterPO = list.stream().filter(item -> item.getFacilityId().equals(request.getFacilityId()) && item.getColumnsCode().equals(x.getColumnsCode())).findFirst().orElse(null); - if(Objects.isNull(parameterPO)) { + if (Objects.isNull(parameterPO)) { WaterFacilityParameterPO item = new WaterFacilityParameterPO(); item.setId(SnowFlakeUtil.getId()); item.setFacilityId(facilityPO.getId()); @@ -94,6 +99,35 @@ return ExecutedResult.failed("编辑[设备设定参数]失败。"); } return ExecutedResult.success(); + } + + public ExecutedResult<List<FacilityParameterData>> getDataList(Long pointId, Integer facilityState) { + List<FacilityParameterData> result = new ArrayList<>(); + List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList(); + List<WaterFacilityParameterVO> listData = mapper.getListData(pointId, facilityState); + if (ListUtil.isNotNullOrEmpty(listData)) { + Map<Long, List<WaterFacilityParameterVO>> dataMap = listData.stream().collect(Collectors.groupingBy(WaterFacilityParameterVO::getFacilityId)); + for (Map.Entry<Long, List<WaterFacilityParameterVO>> map : dataMap.entrySet()) { + WaterFacilityPO facilityPO = facilityPOList.stream().filter(item -> item.getId().equals(map.getKey())).findFirst().orElse(null); + WaterFacilityParameterVO jw001 = map.getValue().stream().filter(item -> item.getColumnsCode().equals("JW001")).findFirst().orElse(null); + WaterFacilityParameterVO lhq001 = map.getValue().stream().filter(item -> item.getColumnsCode().equals("LHQ001")).findFirst().orElse(null); + WaterFacilityParameterVO wd001 = map.getValue().stream().filter(item -> item.getColumnsCode().equals("WD001")).findFirst().orElse(null); + FacilityParameterData data = new FacilityParameterData(); + data.setFacilityName(facilityPO.getFacilityName()); + data.setFacilityState(facilityPO.getFacilityState()); + data.setFacilityStateName(EFacilityState.getByValue(facilityPO.getFacilityState()).getDesc()); + data.setPointId(facilityPO.getPointId()); + data.setPointName(facilityPO.getPointName()); + if (Objects.nonNull(jw001)) + data.setMethaneValue(jw001.getColumnValue()); + if (Objects.nonNull(lhq001)) + data.setHydrogenValue(lhq001.getColumnValue()); + if (Objects.nonNull(wd001)) + data.setTemperatureValue(wd001.getColumnValue()); + result.add(data); + } + } + return ExecutedResult.success(result); } public ExecutedResult<WaterFacilityParameterVO> get(Long id) { @@ -239,6 +273,7 @@ } return ExecutedResult.success(exists); } + protected ExecutedResult<List<WaterFacilityParameterPO>> check4Id(List<Long> listId) { // 从数据库查找设备设定参数 List<WaterFacilityParameterPO> list = mapper.getList(listId); @@ -256,4 +291,5 @@ } } return ExecutedResult.success(list); - }} + } +} diff --git a/src/main/java/com/fengdu/gas/service/WaterFacilityService.java b/src/main/java/com/fengdu/gas/service/WaterFacilityService.java index 8b2b2fe..b01fe67 100644 --- a/src/main/java/com/fengdu/gas/service/WaterFacilityService.java +++ b/src/main/java/com/fengdu/gas/service/WaterFacilityService.java @@ -22,21 +22,27 @@ */ package com.fengdu.gas.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.fengdu.gas.common.*; import com.fengdu.gas.common.enums.*; import com.fengdu.gas.common.model.Tuple; import com.fengdu.gas.common.util.*; import com.fengdu.gas.entity.response.facility.FacilityCount; import com.fengdu.gas.entity.response.facility.FacilityData; +import com.fengdu.gas.entity.response.facility.FacilityPointCount; +import com.fengdu.gas.entity.response.facility.FacilityStateData; import com.fengdu.gas.repository.impl.WaterFacilityParameterMapperImpl; +import com.fengdu.gas.repository.impl.WaterFacilityTypeMapperImpl; import com.fengdu.gas.repository.impl.WaterMonitoryPointMapperImpl; import com.fengdu.gas.repository.po.WaterFacilityParameterPO; +import com.fengdu.gas.repository.po.WaterFacilityTypePO; import com.fengdu.gas.repository.po.WaterMonitoryPointPO; import org.apache.commons.lang3.BooleanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -61,10 +67,18 @@ private WaterFacilityParameterMapperImpl waterFacilityParameterMapper; @Autowired private WaterMonitoryPointMapperImpl waterMonitoryPointMapper; + @Autowired + private WaterFacilityTypeMapperImpl waterFacilityTypeMapper; public ExecutedResult<Long> create(ReqCreateWaterFacility request) { + WaterMonitoryPointPO pointPO = waterMonitoryPointMapper.getById(request.getPointId()); + if(Objects.isNull(pointPO)){ + return ExecutedResult.failed("监测点不存在"); + } // 转换po WaterFacilityPO item = CopierUtil.mapTo(request, WaterFacilityPO.class); + item.setPointId(pointPO.getId()); + item.setPointName(pointPO.getPointName()); // 设置状态 //item.setStatus(EState.NORMAL.getValue()); // 设置记录创建时间 @@ -105,7 +119,37 @@ } return ExecutedResult.success(result); } - + public ExecutedResult<List<WaterFacilityPO>> getFacilityFan(Integer type){ + List<WaterFacilityPO>result = new ArrayList<>(); + if(type!=null){ + LambdaQueryWrapper<WaterFacilityPO>wrapper=new LambdaQueryWrapper<>(); + wrapper.eq(WaterFacilityPO::getFacilityFanState,type); + result= mapper.selectList(wrapper); + }else { + result= mapper.getList(); + } + return ExecutedResult.success(result); + } + public ExecutedResult<List<FacilityStateData>> getFacilityState(){ + List<FacilityStateData>result = new ArrayList<>(); + List<WaterFacilityPO> facilityPOList = mapper.getList(); + EFacilityState[] values = EFacilityState.values(); + for(EFacilityState v:values){ + FacilityStateData stateData=new FacilityStateData(); + stateData.setTypeName(EFacilityState.getByValue(v.getValue()).getDesc()); + List<WaterFacilityPO> collect = facilityPOList.stream().filter(item -> item.getFacilityState().equals(v.getValue())).collect(Collectors.toList()); + if(ListUtil.isNotNullOrEmpty(collect)){ + BigDecimal bigDecimal = new BigDecimal(collect.size()).divide(new BigDecimal(facilityPOList.size())).setScale(2, RoundingMode.DOWN); + BigDecimal bigDecimal1 = bigDecimal.multiply(new BigDecimal(100)).setScale(2, RoundingMode.DOWN); + stateData.setValue(bigDecimal1); + } + result.add(stateData); + } + return ExecutedResult.success(result); + } + public ExecutedResult<List<FacilityPointCount>> getFacilityPointCount(){ + return ExecutedResult.success(mapper.getFacilityPointCount()); + } public ExecutedResult<List<FacilityData>> getFacilityList() { List<FacilityData> result = new ArrayList<>(); List<WaterMonitoryPointPO> pointPOList = waterMonitoryPointMapper.getList(); @@ -120,6 +164,7 @@ data.setTop(pointPO.getTopMargin()); data.setFacilityId(facilityPO.getId()); data.setFacilityName(facilityPO.getFacilityName()); + data.setBoxType(pointPO.getBoxType()); data.setFacilityState(EFacilityState.getByValue(facilityPO.getFacilityState()).getDesc()); data.setFacilityFanState(EFacilityState.getByValue(facilityPO.getFacilityFanState()).getDesc()); List<WaterFacilityParameterPO> poList = parameterPOList.stream().filter(item -> item.getFacilityId().equals(facilityPO.getId())).collect(Collectors.toList()); @@ -191,7 +236,14 @@ if (ListUtil.isNotNullOrEmpty(list)) { pageList.setLastId(list.get(list.size() - 1).getId()); // 转换vo + List<WaterFacilityTypePO> typePOS = waterFacilityTypeMapper.getList(); listVo = WaterFacilityConvert.INSTANCE.toVo(list); + for(WaterFacilityVO vo:listVo){ + WaterFacilityTypePO facilityTypePO = typePOS.stream().filter(item -> item.getId().equals(vo.getFacilityType())).findFirst().orElse(null); + if(Objects.nonNull(facilityTypePO)){ + vo.setFacilityTypeName(facilityTypePO.getName()); + } + } } PagerResult<WaterFacilityVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); result.setLastId(pageList.getLastId()); diff --git a/src/main/java/com/fengdu/gas/service/WaterMonitoryPointService.java b/src/main/java/com/fengdu/gas/service/WaterMonitoryPointService.java index d517173..2aed0a9 100644 --- a/src/main/java/com/fengdu/gas/service/WaterMonitoryPointService.java +++ b/src/main/java/com/fengdu/gas/service/WaterMonitoryPointService.java @@ -50,7 +50,7 @@ public ExecutedResult<Long> create(ReqCreateWaterMonitoryPoint request) { // 转换po - WaterMonitoryPointPO item = WaterMonitoryPointConvert.INSTANCE.toCreate(request); + WaterMonitoryPointPO item =CopierUtil.mapTo(request, WaterMonitoryPointPO.class); // 设置状态 //item.setStatus(EState.NORMAL.getValue()); // 设置记录创建时间 @@ -72,7 +72,7 @@ return ExecutedResult.failed(checkExists.getMsg()); } // 转换po - WaterMonitoryPointPO item = WaterMonitoryPointConvert.INSTANCE.toModify(request); + WaterMonitoryPointPO item = CopierUtil.mapTo(request, WaterMonitoryPointPO.class); int rowCount = mapper.updateById(item); if (rowCount != 1) { @@ -210,7 +210,7 @@ if (ListUtil.isNotNullOrEmpty(list)) { pageList.setLastId(list.get(list.size() - 1).getId()); // 转换vo - listVo = WaterMonitoryPointConvert.INSTANCE.toVo(list); + listVo =CopierUtil.mapTo(list, WaterMonitoryPointVO.class); } PagerResult<WaterMonitoryPointVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); result.setLastId(pageList.getLastId()); diff --git a/src/main/resources/upload_allow.json b/src/main/resources/upload_allow.json new file mode 100644 index 0000000..d3e7530 --- /dev/null +++ b/src/main/resources/upload_allow.json @@ -0,0 +1,25 @@ +{ + "image/jpeg": "jpg", + "image/jpg": "jpg", + "image/gif": "gif", + "image/png": "png", + "image/bmp": "bmp", + + "application/zip": "zip", + "application/x-rar": "rar", + "application/x-7z-compressed": "7z", + "application/x-gzip": "gz", + "application/x-tar": "tar", + + "application/pdf": "pdf", + + "application/msword": "doc", + "application/vnd.ms-excel": "xls", + "application/vnd.ms-powerpoint": "ppt", + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "docx", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "xlsx", + "application/vnd.openxmlformats-officedocument.presentationml.presentation": "pptx", + + "text/markdown": "md", + "text/plain": "txt" +} \ No newline at end of file diff --git a/src/test/java/com/fengdu/gas/GenCodeGauss.java b/src/test/java/com/fengdu/gas/GenCodeGauss.java index a349682..0f40b83 100644 --- a/src/test/java/com/fengdu/gas/GenCodeGauss.java +++ b/src/test/java/com/fengdu/gas/GenCodeGauss.java @@ -243,7 +243,7 @@ * 只生成以下配置的表 */ private static final List<String> ONLY_TABLES = Arrays.asList( - "alarm_scheme" + "facility_run_time" ); public static void main(String[] args) { -- Gitblit v1.9.3