From 2b5c36b4830adf4227f248d4e10bdb90b1e5f3d8 Mon Sep 17 00:00:00 2001 From: liulin <lin.liu@88.com> Date: 星期四, 17 七月 2025 08:42:39 +0800 Subject: [PATCH] 添加首页大屏数据统计 --- src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java | 127 +++++++++++++++++++++++++++++------------ 1 files changed, 89 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java b/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java index 302ef34..d7ee1a7 100644 --- a/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java +++ b/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java @@ -1,36 +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 org.apache.commons.lang3.BooleanUtils; +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.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; @@ -47,22 +53,36 @@ public class WaterFacilityParameterService extends BaseService { @Autowired private WaterFacilityParameterMapperImpl mapper; + @Autowired + private WaterFacilityMapperImpl waterFacilityMapper; + @Autowired + private WaterMonitoryPointMapperImpl waterMonitoryPointMapper; - public ExecutedResult<Long> create(ReqCreateWaterFacilityParameter request) { - // 转换po - WaterFacilityParameterPO item = WaterFacilityParameterConvert.INSTANCE.toCreate(request); - // 设置状态 - //item.setStatus(EState.NORMAL.getValue()); - // 设置记录创建时间 - item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); - // 是否删除(逻辑删除)初始值 - item.setIsDelete(EYesOrNo.NO.getValue()); - - int rowCount = mapper.insert(item); - if (rowCount != 1) { - return ExecutedResult.failed("创建[设备设定参数]失败。"); + public ExecutedResult<String> create(ReqAddParameter request) { + WaterFacilityPO facilityPO = waterFacilityMapper.get(request.getFacilityId()); + if (Objects.isNull(facilityPO)) { + return ExecutedResult.failed("所属设备[id=" + request.getFacilityId() + "]不存在。"); } - return ExecutedResult.success(item.getId()); + List<WaterFacilityParameterPO> list = mapper.getListByFacilityId(request.getFacilityId()); + 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)) { + WaterFacilityParameterPO item = new WaterFacilityParameterPO(); + item.setId(SnowFlakeUtil.getId()); + item.setFacilityId(facilityPO.getId()); + item.setFacilityCode(facilityPO.getFacilityCode()); + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + item.setColumnsUnits(x.getColumnsUnits()); + item.setColumnsCode(x.getColumnsCode()); + item.setColumnsShow(x.getColumnsShow()); + item.setColumnValue(""); + item.setLastTime(""); + this.mapper.insert(item); + } + } + } + return ExecutedResult.success("添加成功"); } public ExecutedResult<String> modify(ReqModifyWaterFacilityParameter request) { @@ -79,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) { @@ -224,6 +273,7 @@ } return ExecutedResult.success(exists); } + protected ExecutedResult<List<WaterFacilityParameterPO>> check4Id(List<Long> listId) { // 从数据库查找设备设定参数 List<WaterFacilityParameterPO> list = mapper.getList(listId); @@ -241,4 +291,5 @@ } } return ExecutedResult.success(list); - }} + } +} -- Gitblit v1.9.3