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/service/WaterFacilityParameterService.java | 86 ++++++++++++++++++++++++++++++------------ 1 files changed, 61 insertions(+), 25 deletions(-) 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); - }} + } +} -- Gitblit v1.9.3