diff --git a/modules/qingyuan/src/main/java/com/thing/qingyuan/board/controller/BoardNewController.java b/modules/qingyuan/src/main/java/com/thing/qingyuan/board/controller/BoardNewController.java index 1090c72..825ad1d 100644 --- a/modules/qingyuan/src/main/java/com/thing/qingyuan/board/controller/BoardNewController.java +++ b/modules/qingyuan/src/main/java/com/thing/qingyuan/board/controller/BoardNewController.java @@ -156,7 +156,7 @@ public class BoardNewController { @Operation(summary ="月用能趋势") @Parameters({ @Parameter(name = "month", description = "日期:例如2023-06", required = true), - @Parameter(name = "type", description = "类型:传参:电/水/蒸汽/压缩空气", required = true) + @Parameter(name = "type", description = "类型:传参:电/水/蒸汽/压缩空气/天然气", required = true) }) public Result qcMonthEnergyAnalyse(@Parameter(hidden = true) @RequestParam Map params){ String key = "A29dd"; @@ -169,6 +169,8 @@ public class BoardNewController { key = "E3dd"; }else if("压缩空气".equals(type)){ key = "D2dd"; + }else if ("天然气".equals(type)){ + key = "C2dd"; } String month; if (params.get("month") != null){ diff --git a/modules/qingyuan/src/main/java/com/thing/qingyuan/board/service/impl/BoardNewServiceImpl.java b/modules/qingyuan/src/main/java/com/thing/qingyuan/board/service/impl/BoardNewServiceImpl.java index b4409b0..50df38d 100644 --- a/modules/qingyuan/src/main/java/com/thing/qingyuan/board/service/impl/BoardNewServiceImpl.java +++ b/modules/qingyuan/src/main/java/com/thing/qingyuan/board/service/impl/BoardNewServiceImpl.java @@ -16,6 +16,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.RoundingMode; +import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.YearMonth; @@ -411,31 +412,72 @@ public class BoardNewServiceImpl implements BoardNewService { //当日开始结束时间 String dayStartTime = month + "-01 00:00:00"; String dayEndTime = getLastDayOfMonth(month); - //将当月时间转换为时间戳 + //将当月第一天时间转换为时间戳 Long dayStartTimeStamp = DateTimeUtils.dateToStamp(dayStartTime); //当月结束时间 Long dayEndTimeStamp = DateTimeUtils.dateToStamp(dayEndTime); - /** - * 总code :参数格式:{"总用电": "G01","总用水": "G03","总蒸汽": "G02","总压缩空气": "D_V0000151_1"} - */ - String cqStr = sysParamsService.getValue("BOARD_TOTAL_ENERGY"); - Map codeMap = JSONObject.parseObject(cqStr, Map.class); - List keys = new ArrayList<>(); - keys.add(key); - String code = null; + List attrs = new ArrayList<>(); if ("电".equals(type)) { - code = codeMap.get("总用电"); + attrs.add("A29dd"); } else if ("水".equals(type)) { - code = codeMap.get("总用水"); + attrs.add("B2dd"); } else if ("蒸汽".equals(type)) { - code = codeMap.get("总蒸汽"); + attrs.add("E3dd"); } else if ("压缩空气".equals(type)) { - code = codeMap.get("总压缩空气"); + attrs.add("D2dd"); + } else if ("天然气".equals(type)) { + attrs.add("C2dd"); } - /** - * todo 获取各用能数据 - */ + + //获取租户编码 + Long realTenantCode = UserContext.getRealTenantCode(); + List tsKvByCodeAndAttrs = tsKvService.findTsKvByCodeAndAttrs("CO_" + realTenantCode, attrs, dayStartTimeStamp, dayEndTimeStamp, true); + if (CollectionUtil.isNotEmpty(tsKvByCodeAndAttrs)) { + for (TsKvDTO kv : tsKvByCodeAndAttrs) { + // 获取时间戳 + Long timestamp = kv.getTs(); + //获取值 + String value = kv.getVal(); + + // 将时间戳转换为日期格式 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String date = sdf.format(new Date(timestamp)); + + EnergyDataAnalyseDetailDTO detailDTO = new EnergyDataAnalyseDetailDTO(); + detailDTO.setDate(date); + detailDTO.setValue(new BigDecimal(value)); + currentMonthData.add(detailDTO); + } + } + // 将当前月的数据填充到result中 + result.setCurrentMonthData(currentMonthData); + return result; + } + + + +// /** +// * 总code :参数格式:{"总用电": "G01","总用水": "G03","总蒸汽": "G02","总压缩空气": "D_V0000151_1"} +// */ +// String cqStr = sysParamsService.getValue("BOARD_TOTAL_ENERGY"); +// +// Map codeMap = JSONObject.parseObject(cqStr, Map.class); +// List keys = new ArrayList<>(); +// keys.add(key); +// String code = null; +// if ("电".equals(type)) { +// code = codeMap.get("总用电"); +// } else if ("水".equals(type)) { +// code = codeMap.get("总用水"); +// } else if ("蒸汽".equals(type)) { +// code = codeMap.get("总蒸汽"); +// } else if ("压缩空气".equals(type)) { +// code = codeMap.get("总压缩空气"); +// } +// /** +// * todo 获取各用能数据 +// */ // ThingsDTO thingsDTO = thingsService.getThingsByCode(code); // if(thingsDTO==null && StringUtils.isBlank(thingsDTO.getEntityId())){ // return result; @@ -453,16 +495,14 @@ public class BoardNewServiceImpl implements BoardNewService { // currentMonthData.add(energyDataAnalyseDetailDTO); // } // } - result.setCurrentMonthData(currentMonthData); - return result; - } + @Override public EnergyDayDataDTO getEachEnergy(String day) { EnergyDayDataDTO result = new EnergyDayDataDTO(); String month = day.substring(0, 7); //月时间 Long dayTime = DateTimeUtils.dateToStamp(month + "-01 00:00:00"); - //次月第一天时间戳 + //当月结束时间戳 String monthEndTime = DateTimeUtils.getMonthEndTime(day); Long endTime = DateTimeUtils.convertTimeToLong(monthEndTime); //获取此租户编码 @@ -501,10 +541,9 @@ public class BoardNewServiceImpl implements BoardNewService { String year = day.substring(0, 4); //年时间 Long dayTime = DateTimeUtils.dateToStamp(year + "-01-01 00:00:00"); - //次年第一天的时间戳 + //当年结束时间戳 String yearEndTime = DateTimeUtils.getYearEndTime(day); Long endTime = DateTimeUtils.convertTimeToLong(yearEndTime); - //获取此租户编码 Long realTenantCode = UserContext.getRealTenantCode();