From c884fbe0c8708ab05dc226d76924562cf192ac45 Mon Sep 17 00:00:00 2001 From: v-lijf43 <3067418132@qq.com> Date: Sun, 29 Dec 2024 12:12:12 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=96=B0=E5=A2=9E=E8=92=B8=E6=B1=BD?= =?UTF-8?q?=E6=B5=81=E9=87=8F=E8=AE=A1=E5=85=BC=E5=AE=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mh/user/constants/Constant.java | 9 +++++ .../com/mh/user/mapper/MeterManageMapper.java | 5 +-- .../service/impl/DataResultServiceImpl.java | 34 ++++++++++++++----- .../service/impl/MeterManageServiceImpl.java | 11 +++++- 4 files changed, 47 insertions(+), 12 deletions(-) diff --git a/user-service/src/main/java/com/mh/user/constants/Constant.java b/user-service/src/main/java/com/mh/user/constants/Constant.java index d05e5f6..9bb340c 100644 --- a/user-service/src/main/java/com/mh/user/constants/Constant.java +++ b/user-service/src/main/java/com/mh/user/constants/Constant.java @@ -36,4 +36,13 @@ public class Constant { // 出水温度值 public static String OUT_TEMP = "0075"; + // 瞬时热量 + public static String MOMENT_HOT = "0008"; + + // 温度值 + public static String TEMP = "0010"; + + // 压力值 + public static String PRE = "0012"; + } diff --git a/user-service/src/main/java/com/mh/user/mapper/MeterManageMapper.java b/user-service/src/main/java/com/mh/user/mapper/MeterManageMapper.java index acffc31..3da38bb 100644 --- a/user-service/src/main/java/com/mh/user/mapper/MeterManageMapper.java +++ b/user-service/src/main/java/com/mh/user/mapper/MeterManageMapper.java @@ -30,7 +30,8 @@ public interface MeterManageMapper extends BaseMapper { @Param("registerAddr") String registerAddr); @Select("select count(1) from meter_manage " + - " where system_id=#{systemId} and project_id=#{projectId} and mt_type = 2 and func_code = '03' and register_addr = '0077' ") + " where project_id=#{projectId} and mt_type = 2 and func_code = '03' and register_addr = #{registerAddr} ") int queryIsHotCollection(@Param("systemId") String systemId, - @Param("projectId") String projectId); + @Param("projectId") String projectId, + @Param("registerAddr") String registerAddr); } diff --git a/user-service/src/main/java/com/mh/user/service/impl/DataResultServiceImpl.java b/user-service/src/main/java/com/mh/user/service/impl/DataResultServiceImpl.java index 2f5ddc4..bac0637 100644 --- a/user-service/src/main/java/com/mh/user/service/impl/DataResultServiceImpl.java +++ b/user-service/src/main/java/com/mh/user/service/impl/DataResultServiceImpl.java @@ -7,6 +7,7 @@ import com.mh.user.entity.*; import com.mh.user.mapper.*; import com.mh.user.service.DataResultService; import com.mh.user.service.DeviceInstallService; +import com.mh.user.service.MeterManageService; import com.mh.user.utils.DateUtil; import com.mh.user.utils.ExchangeStringUtil; import lombok.extern.slf4j.Slf4j; @@ -61,6 +62,9 @@ public class DataResultServiceImpl implements DataResultService { @Resource MeterManageMapper meterManageMapper; + @Resource + MeterManageService meterManageService; + private final SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Override @@ -247,16 +251,27 @@ public class DataResultServiceImpl implements DataResultService { if (projectId != null && !projectId.isEmpty()) { String startDate = ""; curDate = curDate.substring(0, 16) + ":00"; + + // 判断项目是否为冷量计项目 + int isHotCollection = meterManageService.queryIsHotCollection("", projectId); + String momentCoolingStr = Constant.MOMENT_COOLING; + String outTempStr = Constant.OUT_TEMP; + String intTempStr = Constant.INT_TEMP; + if (isHotCollection == 2) { + momentCoolingStr = Constant.MOMENT_HOT; + outTempStr = Constant.TEMP; + intTempStr = Constant.PRE; + } // 查询温度低的冷量计 - String registerAddr = meterManageMapper.selectRegisterAddr(projectId, Constant.INT_TEMP); + String registerAddr = meterManageMapper.selectRegisterAddr(projectId, intTempStr); if (dateType.equals("1小时")) { startDate = ExchangeStringUtil.dateRoll(1, curDate); - List records = queryDataResultMi(projectId, startDate, curDate, page, limit, 0, Constant.MOMENT_COOLING, registerAddr); + List records = queryDataResultMi(projectId, startDate, curDate, page, limit, 0, momentCoolingStr, registerAddr); int count = dataResultOneMiCount(projectId, startDate, curDate); return HttpResult.ok(count, records); } else if (dateType.equals("2小时")) { startDate = ExchangeStringUtil.dateRoll(2, curDate); - List records = queryDataResultMi(projectId, startDate, curDate, page, limit, 0, Constant.MOMENT_COOLING, registerAddr); + List records = queryDataResultMi(projectId, startDate, curDate, page, limit, 0, momentCoolingStr, registerAddr); int count = dataResultOneMiCount(projectId, startDate, curDate); return HttpResult.ok(count, records); } else if (dateType.equals("8小时") || dateType.equals("12小时") || dateType.equals("24小时")) { @@ -269,12 +284,13 @@ public class DataResultServiceImpl implements DataResultService { startDate = ExchangeStringUtil.dateRoll(24, curDate); queryType = 2; } + // 查询瞬时冷量 - List records = queryDataResultMi(projectId, startDate, curDate, page, limit, queryType, Constant.MOMENT_COOLING, null); + List records = queryDataResultMi(projectId, startDate, curDate, page, limit, queryType, momentCoolingStr, null); // 查询进水温度值(及冷冻水出水温度) - List intTempRecords = queryDataResultMi(projectId, startDate, curDate, page, limit, queryType, Constant.OUT_TEMP, registerAddr); + List intTempRecords = queryDataResultMi(projectId, startDate, curDate, page, limit, queryType, outTempStr, registerAddr); // 查询出水温度值(及冷冻水进水温度) - List outTempRecords = queryDataResultMi(projectId, startDate, curDate, page, limit, queryType, Constant.INT_TEMP, registerAddr); + List outTempRecords = queryDataResultMi(projectId, startDate, curDate, page, limit, queryType, intTempStr, registerAddr); // 拼接数据 // 将数据按时间分组 Map momentCoolingMap = records.stream() @@ -328,9 +344,9 @@ public class DataResultServiceImpl implements DataResultService { }); int count = 0; if (dateType.equals("24小时")) { - count = dataResultFifteenMiCount(projectId, startDate, curDate, Constant.MOMENT_COOLING, registerAddr); + count = dataResultFifteenMiCount(projectId, startDate, curDate, momentCoolingStr, registerAddr); } else { - count = dataResultFiveMiCount(projectId, startDate, curDate, Constant.MOMENT_COOLING, registerAddr); + count = dataResultFiveMiCount(projectId, startDate, curDate, momentCoolingStr, registerAddr); } return HttpResult.ok(count, mergedRecords); } @@ -348,7 +364,7 @@ public class DataResultServiceImpl implements DataResultService { // } else { //1小时 startDate = ExchangeStringUtil.dateRoll(1, curDate); - List records = queryDataResultMi(projectId, startDate, curDate, page, limit, 0, Constant.MOMENT_COOLING, registerAddr); + List records = queryDataResultMi(projectId, startDate, curDate, page, limit, 0, momentCoolingStr, registerAddr); int count = dataResultOneMiCount(projectId, startDate, curDate); return HttpResult.ok(count, records); } diff --git a/user-service/src/main/java/com/mh/user/service/impl/MeterManageServiceImpl.java b/user-service/src/main/java/com/mh/user/service/impl/MeterManageServiceImpl.java index 26e271a..f3c46bb 100644 --- a/user-service/src/main/java/com/mh/user/service/impl/MeterManageServiceImpl.java +++ b/user-service/src/main/java/com/mh/user/service/impl/MeterManageServiceImpl.java @@ -116,6 +116,15 @@ public class MeterManageServiceImpl implements MeterManageService { @Override public int queryIsHotCollection(String systemId, String projectId) { - return meterManageMapper.queryIsHotCollection(systemId, projectId); + if (meterManageMapper.queryIsHotCollection(systemId, projectId, "0077") > 0) { + // 判断是否存在热量计 + return 1; + } else if (meterManageMapper.queryIsHotCollection(systemId, projectId, "0004") > 0) { + // 判断是否包含蒸汽流量计 + return 2; + } else { + return 0; + } + } }