diff --git a/doc/梅州豪生控制点表xls.xls b/doc/梅州豪生控制点表xls.xls new file mode 100644 index 0000000..cd43ffd Binary files /dev/null and b/doc/梅州豪生控制点表xls.xls differ diff --git a/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyConsumptionVO.java b/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyConsumptionVO.java index 352a21f..24812be 100644 --- a/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyConsumptionVO.java +++ b/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyConsumptionVO.java @@ -1,5 +1,7 @@ package com.mh.common.core.domain.vo; +import org.apache.commons.lang3.builder.ToStringBuilder; + import java.io.Serializable; /** @@ -38,6 +40,19 @@ public class EnergyConsumptionVO implements Serializable { */ private String paramType; + /** + * 系统类型 + */ + private String systemType; + + public String getSystemType() { + return systemType; + } + + public void setSystemType(String systemType) { + this.systemType = systemType; + } + public String getTimeType() { return timeType; } @@ -80,13 +95,14 @@ public class EnergyConsumptionVO implements Serializable { @Override public String toString() { - return "EnergyConsumptionVO{" + - "timeType='" + timeType + '\'' + - ", startTime='" + startTime + '\'' + - ", endTime='" + endTime + '\'' + - ", deviceType='" + deviceType + '\'' + - ", paramType='" + paramType + '\'' + - '}'; + return new ToStringBuilder(this) + .append("timeType", timeType) + .append("startTime", startTime) + .append("endTime", endTime) + .append("deviceType", deviceType) + .append("paramType", paramType) + .append("systemType", systemType) + .toString(); } } diff --git a/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyQueryVO.java b/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyQueryVO.java index 8ccbca7..804ea8d 100644 --- a/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyQueryVO.java +++ b/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyQueryVO.java @@ -49,6 +49,19 @@ public class EnergyQueryVO extends BaseEntity implements Serializable { private int pageSize; + /** + * 系统类型 + */ + private String systemType; + + public String getSystemType() { + return systemType; + } + + public void setSystemType(String systemType) { + this.systemType = systemType; + } + public int getPageNum() { return pageNum; } diff --git a/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyAnalyzeMapper.java b/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyAnalyzeMapper.java index e3a83e0..ff22ea8 100644 --- a/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyAnalyzeMapper.java +++ b/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyAnalyzeMapper.java @@ -49,6 +49,9 @@ public interface EnergyAnalyzeMapper { "" + " and dl.device_type = #{paramType}" + "" + + "" + + " and cpm.system_type = #{systemType}" + + "" + "union all " + "select " + " dm.calc_value, " + @@ -73,13 +76,17 @@ public interface EnergyAnalyzeMapper { "" + " and dl.device_type = #{paramType}" + "" + + "" + + " and cpm.system_type = #{systemType}" + + "" + "") List queryManyTable(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("lastTableName") String lastTableName, @Param("curTableName") String curTableName, @Param("len") String dateLen, - @Param("paramType") String paramType); + @Param("paramType") String paramType, + @Param("systemType") String systemType); /** * 单表查询操作 @@ -113,13 +120,17 @@ public interface EnergyAnalyzeMapper { "" + " and dl.device_type = #{paramType}" + "" + + "" + + " and cpm.system_type = #{systemType}" + + "" + "") List queryOneTable(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("lastTableName") String lastTableName, @Param("curTableName") String curTableName, @Param("len") String dateLen, - @Param("paramType") String paramType); + @Param("paramType") String paramType, + @Param("systemType") String systemType); @Select("") List queryManyTable(@Param("startTime") String startTime, @Param("endTime") String endTime, @@ -107,7 +129,8 @@ public interface EnergyQueryMapper { @Param("len") String dateLen, @Param("paramType") String paramType, @Param("haveMeter") boolean haveMeter, - @Param("haveCloud") boolean haveCloud); + @Param("haveCloud") boolean haveCloud, + @Param("systemType") String systemType); /** * 单表查询操作 @@ -149,6 +172,9 @@ public interface EnergyQueryMapper { "on " + " cpm.device_ledger_id = dl.id " + " and dl.device_type in ('5', '6') " + + " " + + " and cpm.system_type = #{systemType} " + + "" + ") " + "group by " + " device_type, " + @@ -172,6 +198,7 @@ public interface EnergyQueryMapper { @Param("len") String dateLen, @Param("paramType") String paramType, @Param("haveMeter") boolean haveMeter, - @Param("haveCloud") boolean haveCloud); + @Param("haveCloud") boolean haveCloud, + @Param("systemType") String systemType); } diff --git a/mh-system/src/main/java/com/mh/system/service/device/impl/DeviceLedgerServiceImpl.java b/mh-system/src/main/java/com/mh/system/service/device/impl/DeviceLedgerServiceImpl.java index ae90a05..27d2454 100644 --- a/mh-system/src/main/java/com/mh/system/service/device/impl/DeviceLedgerServiceImpl.java +++ b/mh-system/src/main/java/com/mh/system/service/device/impl/DeviceLedgerServiceImpl.java @@ -41,7 +41,7 @@ public class DeviceLedgerServiceImpl implements IDeviceLedgerService { } // 设备类型 if (!StringUtils.isEmpty(ledgerInfo.getDeviceType())) { - queryWrapper.like("device_type", ledgerInfo.getDeviceType()); + queryWrapper.eq("device_type", ledgerInfo.getDeviceType()); } // 出入库时间范围 if (ledgerInfo.getParams() != null && !ledgerInfo.getParams().isEmpty()) { diff --git a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyAnalyzeServiceImpl.java b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyAnalyzeServiceImpl.java index ba9fbc2..7ff6f38 100644 --- a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyAnalyzeServiceImpl.java +++ b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyAnalyzeServiceImpl.java @@ -47,16 +47,34 @@ public class EnergyAnalyzeServiceImpl implements EnergyAnalyzeService { // 表格数据 if ("month".equalsIgnoreCase(timeType) || "year".equalsIgnoreCase(timeType)) { // 单表 - deviceTypeEnergyEntities = energyAnalyzeMapper.queryOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), Constants.METER_TYPE); + deviceTypeEnergyEntities = energyAnalyzeMapper.queryOneTable(vo.getStartTime(), + vo.getEndTime(), + lastTableName.get(), + curTableName.get(), + DateUtils.getTimeLen(vo.getTimeType()), + Constants.METER_TYPE, + vo.getSystemType()); } else { lastTableName.set(lastTableName + vo.getStartTime().substring(0, 4)); curTableName.set(curTableName + vo.getEndTime().substring(0, 4)); if (lastTableName.get().equalsIgnoreCase(curTableName.get())) { // 单表 - deviceTypeEnergyEntities = energyAnalyzeMapper.queryOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), Constants.METER_TYPE); + deviceTypeEnergyEntities = energyAnalyzeMapper.queryOneTable(vo.getStartTime(), + vo.getEndTime(), + lastTableName.get(), + curTableName.get(), + DateUtils.getTimeLen(vo.getTimeType()), + Constants.METER_TYPE, + vo.getSystemType()); } else { // 多表 - deviceTypeEnergyEntities = energyAnalyzeMapper.queryManyTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), Constants.METER_TYPE); + deviceTypeEnergyEntities = energyAnalyzeMapper.queryManyTable(vo.getStartTime(), + vo.getEndTime(), + lastTableName.get(), + curTableName.get(), + DateUtils.getTimeLen(vo.getTimeType()), + Constants.METER_TYPE, + vo.getSystemType()); } } if (null == deviceTypeEnergyEntities || deviceTypeEnergyEntities.size() == 0) { @@ -159,16 +177,16 @@ public class EnergyAnalyzeServiceImpl implements EnergyAnalyzeService { // 表格数据 if ("month".equalsIgnoreCase(timeType) || "year".equalsIgnoreCase(timeType)) { // 单表 - deviceTypeEnergyEntities = energyAnalyzeMapper.queryDeviceOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), params); + deviceTypeEnergyEntities = energyAnalyzeMapper.queryDeviceOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), params, vo.getSystemType()); } else { lastTableName.set(lastTableName + vo.getStartTime().substring(0, 4)); curTableName.set(curTableName + vo.getEndTime().substring(0, 4)); if (lastTableName.get().equalsIgnoreCase(curTableName.get())) { // 单表 - deviceTypeEnergyEntities = energyAnalyzeMapper.queryDeviceOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), params); + deviceTypeEnergyEntities = energyAnalyzeMapper.queryDeviceOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), params, vo.getSystemType()); } else { // 多表 - deviceTypeEnergyEntities = energyAnalyzeMapper.queryDeviceManyTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), params); + deviceTypeEnergyEntities = energyAnalyzeMapper.queryDeviceManyTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), params, vo.getSystemType()); } } if (null == deviceTypeEnergyEntities || deviceTypeEnergyEntities.isEmpty()) { diff --git a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java index 4d202b5..e4e5a5e 100644 --- a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java +++ b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java @@ -46,16 +46,16 @@ public class EnergyQueryServiceImpl implements IEnergyQueryService { // 表格数据 if ("month".equalsIgnoreCase(timeType) || "year".equalsIgnoreCase(timeType)) { // 单表 - consumptionAnalyzeEntities = energyQueryMapper.queryOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), null, haveMeter, haveCloud); + consumptionAnalyzeEntities = energyQueryMapper.queryOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), null, haveMeter, haveCloud, vo.getSystemType()); } else { lastTableName.set(lastTableName + vo.getStartTime().substring(0, 4)); curTableName.set(curTableName + vo.getEndTime().substring(0, 4)); if (lastTableName.get().equalsIgnoreCase(curTableName.get())) { // 单表 - consumptionAnalyzeEntities = energyQueryMapper.queryOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), null, haveMeter, haveCloud); + consumptionAnalyzeEntities = energyQueryMapper.queryOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), null, haveMeter, haveCloud, vo.getSystemType()); } else { // 多表 - consumptionAnalyzeEntities = energyQueryMapper.queryManyTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), null, haveMeter, haveCloud); + consumptionAnalyzeEntities = energyQueryMapper.queryManyTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), DateUtils.getTimeLen(vo.getTimeType()), null, haveMeter, haveCloud, vo.getSystemType()); } } if (null == consumptionAnalyzeEntities || consumptionAnalyzeEntities.size() == 0) { diff --git a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyServiceImpl.java b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyServiceImpl.java index 8c8ad14..9dd6b75 100644 --- a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyServiceImpl.java +++ b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyServiceImpl.java @@ -54,7 +54,7 @@ public class EnergyServiceImpl implements IEnergyService { // 多表 lastTableName.set(lastTableName + vo.getStartTime().substring(0, 4)); curTableName.set(curTableName + vo.getEndTime().substring(0, 4)); - consumptionAnalyzeEntities = energyMapper.queryDeviceManyTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), getTimeLen(vo.getTimeType()), vo.getDeviceType()); + consumptionAnalyzeEntities = energyMapper.queryDeviceManyTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), getTimeLen(vo.getTimeType()), vo.getDeviceType(), vo.getSystemType()); } if (null == consumptionAnalyzeEntities || consumptionAnalyzeEntities.size() == 0) { latch.countDown(); @@ -78,7 +78,7 @@ public class EnergyServiceImpl implements IEnergyService { // 多表 String lastTable = "data_min" + vo.getStartTime().substring(0,4); String curTable = "data_min" + vo.getEndTime().substring(0,4); - List consumptionAnalyzeEntities = energyMapper.queryDeviceLineManyTable(vo.getStartTime(), vo.getEndTime(), lastTable, curTable, vo.getDeviceType()); + List consumptionAnalyzeEntities = energyMapper.queryDeviceLineManyTable(vo.getStartTime(), vo.getEndTime(), lastTable, curTable, vo.getDeviceType(), vo.getSystemType()); if (null == consumptionAnalyzeEntities || consumptionAnalyzeEntities.size() == 0) { latch.countDown(); return null; @@ -147,16 +147,16 @@ public class EnergyServiceImpl implements IEnergyService { // 表格数据 if ("month".equalsIgnoreCase(timeType) || "year".equalsIgnoreCase(timeType)) { // 单表 - consumptionAnalyzeEntities = energyMapper.queryOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), getTimeLen(vo.getTimeType()), null); + consumptionAnalyzeEntities = energyMapper.queryOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), getTimeLen(vo.getTimeType()), null, vo.getSystemType()); } else { lastTableName.set(lastTableName + vo.getStartTime().substring(0, 4)); curTableName.set(curTableName + vo.getEndTime().substring(0, 4)); if (lastTableName.get().equalsIgnoreCase(curTableName.get())) { // 单表 - consumptionAnalyzeEntities = energyMapper.queryOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), getTimeLen(vo.getTimeType()), null); + consumptionAnalyzeEntities = energyMapper.queryOneTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), getTimeLen(vo.getTimeType()), null, vo.getSystemType()); } else { // 多表 - consumptionAnalyzeEntities = energyMapper.queryManyTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), getTimeLen(vo.getTimeType()), null); + consumptionAnalyzeEntities = energyMapper.queryManyTable(vo.getStartTime(), vo.getEndTime(), lastTableName.get(), curTableName.get(), getTimeLen(vo.getTimeType()), null, vo.getSystemType()); } } if (null == consumptionAnalyzeEntities || consumptionAnalyzeEntities.isEmpty()) { @@ -349,6 +349,11 @@ public class EnergyServiceImpl implements IEnergyService { String startTime = vo.getStartTime(); String endTime = vo.getEndTime(); String deviceType = vo.getParamType(); + if ("meter".equals(deviceType)) { + deviceType = "5"; + } else if ("cold".equals(deviceType)){ + deviceType = "6"; + } if ("cop".equalsIgnoreCase(vo.getParamType())) { return calcCopYoyData(vo); // lastTableName = "data_min_cop"; @@ -367,7 +372,7 @@ public class EnergyServiceImpl implements IEnergyService { String yoyLastTableName = lastTableName.substring(0, lastTableName.length() - 4) + startTime.substring(0,4); String yoyCurTableName = curTableName.substring(0, lastTableName.length() - 4) + endTime.substring(0,4); consumptionAnalyzeEntities = energyMapper.queryManyTableYoy(vo.getStartTime(), vo.getEndTime(), lastTableName, curTableName, - startTime, endTime, yoyLastTableName, yoyCurTableName, getTimeLen(vo.getTimeType()), deviceType, vo.getTimeType()); + startTime, endTime, yoyLastTableName, yoyCurTableName, getTimeLen(vo.getTimeType()), deviceType, vo.getTimeType(), vo.getSystemType()); } else { // 单表 startTime = DateUtils.yoyDate(startTime); @@ -384,21 +389,21 @@ public class EnergyServiceImpl implements IEnergyService { deviceType = "system"; } consumptionAnalyzeEntities = energyMapper.queryOneTableYoy(vo.getStartTime(), vo.getEndTime(), lastTableName, curTableName, - startTime, endTime, getTimeLen(vo.getTimeType()), deviceType, vo.getTimeType()); + startTime, endTime, getTimeLen(vo.getTimeType()), deviceType, vo.getTimeType(), vo.getSystemType()); } return getConsumptionDTOHttpResult(consumptionAnalyzeEntities, "yoy"); } private AjaxResult calcCopYoyData(EnergyConsumptionVO vo) { // 获取冷量读数 - vo.setParamType("cloud"); + vo.setParamType("6"); AjaxResult cloudData = yoy(vo); EnergyConsumptionDTO cloudEnergyData = (EnergyConsumptionDTO) cloudData.get("data"); if (cloudEnergyData == null) { return AjaxResult.error(); } // 获取电量读数 - vo.setParamType("meter"); + vo.setParamType("5"); AjaxResult meterData = yoy(vo); EnergyConsumptionDTO meterEnergyData = (EnergyConsumptionDTO) meterData.get("data");; if (meterEnergyData == null) { @@ -536,6 +541,11 @@ public class EnergyServiceImpl implements IEnergyService { String startTime = DateUtils.momDate(vo.getStartTime(), vo.getTimeType(), "start"); String endTime = DateUtils.momDate(vo.getEndTime(), vo.getTimeType(), "end"); String deviceType = vo.getParamType(); + if ("meter".equals(deviceType)) { + deviceType = "5"; + } else if ("cold".equals(deviceType)){ + deviceType = "6"; + } // 判断查询时间类型是month,year if ("month".equalsIgnoreCase(vo.getTimeType()) || "year".equalsIgnoreCase(vo.getTimeType())) { String tableName = "data_"+vo.getTimeType(); @@ -545,7 +555,7 @@ public class EnergyServiceImpl implements IEnergyService { // deviceType = "system"; return calcCopMomData(vo); } - consumptionAnalyzeEntities = energyMapper.queryMonthAndYearMom(vo.getStartTime(), vo.getEndTime(), startTime, endTime, tableName, getTimeLen(vo.getTimeType()), deviceType, vo.getTimeType()); + consumptionAnalyzeEntities = energyMapper.queryMonthAndYearMom(vo.getStartTime(), vo.getEndTime(), startTime, endTime, tableName, getTimeLen(vo.getTimeType()), deviceType, vo.getTimeType(), vo.getSystemType()); } else { // 判斷是否需要進行連表查詢 String tableName1 = "data_"+vo.getTimeType()+startTime.substring(0, 4); @@ -559,10 +569,10 @@ public class EnergyServiceImpl implements IEnergyService { } if (tableName1.equalsIgnoreCase(tableName2)) { // 单表查询 - consumptionAnalyzeEntities = energyMapper.queryOneTableMom(vo.getStartTime(), vo.getEndTime(), startTime, endTime, tableName1, getTimeLen(vo.getTimeType()), deviceType, vo.getTimeType()); + consumptionAnalyzeEntities = energyMapper.queryOneTableMom(vo.getStartTime(), vo.getEndTime(), startTime, endTime, tableName1, getTimeLen(vo.getTimeType()), deviceType, vo.getTimeType(), vo.getSystemType()); } else { // 多表查询 - consumptionAnalyzeEntities = energyMapper.queryManyTableMom(vo.getStartTime(), vo.getEndTime(), startTime, endTime, tableName1, tableName2, getTimeLen(vo.getTimeType()), deviceType, vo.getTimeType()); + consumptionAnalyzeEntities = energyMapper.queryManyTableMom(vo.getStartTime(), vo.getEndTime(), startTime, endTime, tableName1, tableName2, getTimeLen(vo.getTimeType()), deviceType, vo.getTimeType(), vo.getSystemType()); } } return getConsumptionDTOHttpResult(consumptionAnalyzeEntities, "mom"); @@ -628,9 +638,12 @@ public class EnergyServiceImpl implements IEnergyService { AjaxResult yoy = (AjaxResult) allData.get("yoy"); AjaxResult mom = (AjaxResult) allData.get("mom"); if (yoy.isSuccess() && mom.isSuccess()) { + EnergyConsumptionDTO result = new EnergyConsumptionDTO(); EnergyConsumptionDTO yoyData = (EnergyConsumptionDTO) yoy.get("data"); EnergyConsumptionDTO momData = (EnergyConsumptionDTO) mom.get("data"); - EnergyConsumptionDTO result = new EnergyConsumptionDTO(); + if (yoyData.getData()==null || momData.getData()==null) { + return AjaxResult.success(result); + } result.setTitles(new String[]{"curValue", "lastValue", "yoy", "mom"}); result.setTimes(yoyData.getTimes()); result.setLineTimes(yoyData.getLineTimes()); @@ -671,7 +684,7 @@ public class EnergyServiceImpl implements IEnergyService { private static AjaxResult getConsumptionDTOHttpResult(List consumptionAnalyzeEntities, String compareType) { EnergyConsumptionDTO energyConsumptionDTO = new EnergyConsumptionDTO(); if (null == consumptionAnalyzeEntities || consumptionAnalyzeEntities.size() == 0) { - return AjaxResult.success(); + return AjaxResult.success(energyConsumptionDTO); } String[] lastValue = new String[consumptionAnalyzeEntities.size()]; String[] curValue = new String[consumptionAnalyzeEntities.size()]; diff --git a/mh-system/src/main/resources/mapper/system/EnergyMapper.xml b/mh-system/src/main/resources/mapper/system/EnergyMapper.xml index 6b5eca9..f5a5a4e 100644 --- a/mh-system/src/main/resources/mapper/system/EnergyMapper.xml +++ b/mh-system/src/main/resources/mapper/system/EnergyMapper.xml @@ -4,13 +4,13 @@ - ,month(cur_time) + ,EXTRACT(MONTH FROM cur_time) - ,month(cur_time),day(cur_time) + ,EXTRACT(MONTH FROM cur_time),EXTRACT(DAY FROM cur_time) - ,month(cur_time),day(cur_time),datepart(hour, cur_time) + ,EXTRACT(MONTH FROM cur_time),EXTRACT(DAY FROM cur_time),EXTRACT(HOUR FROM cur_time) @@ -87,7 +87,8 @@ EXTRACT(YEAR FROM cur_time) AS yearStr FROM ${lastTableName} dh - WHERE cur_time >= #{yoyStartTime} AND cur_time <= #{yoyEndTime} + WHERE cur_time >= #{yoyStartTime}::timestamp + AND cur_time <= #{yoyEndTime}::timestamp AND calc_value IS NOT NULL and dh.device_num in ( @@ -100,6 +101,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) GROUP BY device_type, TO_CHAR(cur_time, 'YYYY-MM-DD HH24:MI:SS'), EXTRACT(YEAR FROM cur_time) @@ -119,7 +123,8 @@ EXTRACT(YEAR FROM cur_time) AS yearStr FROM ${curTableName} dh - WHERE cur_time >= #{startTime} AND cur_time <= #{endTime} + WHERE cur_time >= #{startTime}::timestamp + AND cur_time <= #{endTime}::timestamp AND calc_value IS NOT NULL and dh.device_num in ( @@ -132,6 +137,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) GROUP BY device_type, TO_CHAR(cur_time, 'YYYY-MM-DD HH24:MI:SS'), EXTRACT(YEAR FROM cur_time) @@ -151,7 +159,7 @@ EXTRACT(YEAR FROM cur_time) AS yearStr FROM ${lastTableName} dh - WHERE cur_time >= #{startTime} AND cur_time <= #{endTime} + WHERE cur_time >= #{startTime}::timestamp AND cur_time <= #{endTime}::timestamp AND calc_value IS NOT NULL and dh.device_num in ( @@ -164,6 +172,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) GROUP BY device_type, TO_CHAR(cur_time, 'YYYY-MM-DD HH24:MI:SS'), EXTRACT(YEAR FROM cur_time) @@ -183,7 +194,7 @@ EXTRACT(YEAR FROM cur_time) AS yearStr FROM ${curTableName} dh - WHERE cur_time >= #{startTime} AND cur_time <= #{endTime} + WHERE cur_time >= #{startTime}::timestamp AND cur_time <= #{endTime}::timestamp AND calc_value IS NOT NULL and dh.device_num in ( @@ -196,6 +207,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) GROUP BY device_type, TO_CHAR(cur_time, 'YYYY-MM-DD HH24:MI:SS'), EXTRACT(YEAR FROM cur_time) @@ -216,16 +230,15 @@ ELSE '同期无数据' END AS yoy FROM ( - -- 子查询 a(去年同期数据) SELECT SUM(calc_value) AS sumValue, device_type AS deviceType, - SUBSTRING(TO_CHAR(cur_time, 'YYYY-MM-DD HH24:MI:SS') FROM 1 FOR ${len}) AS timeStr, - EXTRACT(YEAR FROM cur_time)::INTEGER AS yearStr + SUBSTRING(TO_CHAR(cur_time, 'YYYY-MM-DD HH24:MI:SS') FROM 1 FOR ${len}) AS timeStr, + EXTRACT(YEAR FROM cur_time)::INTEGER AS yearStr FROM ${yoyLastTableName} dh WHERE - cur_time >= #{yoyStartTime} AND cur_time <= #{yoyEndTime} + cur_time >= #{yoyStartTime}::timestamp AND cur_time <= #{yoyEndTime}::timestamp and dh.device_num in ( select cpm.mt_num @@ -236,11 +249,14 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) GROUP BY device_type, - SUBSTRING(TO_CHAR(cur_time, 'YYYY-MM-DD HH24:MI:SS') FROM 1 FOR ${len}), - EXTRACT(YEAR FROM cur_time) + SUBSTRING(TO_CHAR(cur_time, 'YYYY-MM-DD HH24:MI:SS') FROM 1 FOR ${len}), + EXTRACT(YEAR FROM cur_time) UNION ALL SELECT @@ -251,7 +267,7 @@ FROM ${yoyCurTableName} dh WHERE - cur_time >= #{yoyStartTime} AND cur_time <= #{yoyEndTime} + cur_time >= #{yoyStartTime}::timestamp AND cur_time <= #{yoyEndTime}::timestamp and dh.device_num in ( select cpm.mt_num @@ -262,6 +278,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) GROUP BY device_type, @@ -269,8 +288,7 @@ EXTRACT(YEAR FROM cur_time) ) a - RIGHT JOIN ( - -- 子查询 b(当前期数据) + RIGHT JOIN ( SELECT SUM(calc_value) AS sumValue, device_type AS deviceType, @@ -279,7 +297,7 @@ FROM ${lastTableName} dh WHERE - cur_time >= #{startTime} AND cur_time <= #{endTime} + cur_time >= #{startTime}::timestamp AND cur_time <= #{endTime}::timestamp and dh.device_num in ( select cpm.mt_num @@ -290,6 +308,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) GROUP BY device_type, @@ -305,7 +326,7 @@ FROM ${curTableName} dh WHERE - cur_time >= #{startTime} AND cur_time <= #{endTime} + cur_time >= #{startTime}::timestamp AND cur_time <= #{endTime}::timestamp and dh.device_num in ( select cpm.mt_num @@ -316,13 +337,16 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) GROUP BY device_type, SUBSTRING(TO_CHAR(cur_time, 'YYYY-MM-DD HH24:MI:SS') FROM 1 FOR ${len}), EXTRACT(YEAR FROM cur_time) - ) b ON a.yearStr + 1 = b.yearStr + ) b ON a.yearStr + 1 = b.yearStr @@ -351,7 +375,7 @@ ,EXTRACT(MONTH FROM cur_time) AS monthStr FROM ${tableName} dh - WHERE cur_time >= #{startTime} AND cur_time <= #{endTime} + WHERE cur_time >= #{startTime}::timestamp AND cur_time <= #{endTime}::timestamp AND calc_value IS NOT NULL and dh.device_num in ( @@ -364,6 +388,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) GROUP BY TO_CHAR(cur_time, 'YYYY-MM-DD HH24:MI:SS'), EXTRACT(YEAR FROM cur_time) @@ -386,7 +413,7 @@ ,EXTRACT(MONTH FROM cur_time) AS monthStr FROM ${tableName} dh - WHERE cur_time >= #{momStartTime} AND cur_time <= #{momEndTime} + WHERE cur_time >= #{momStartTime}::timestamp AND cur_time <= #{momEndTime}::timestamp AND calc_value IS NOT NULL and dh.device_num in ( @@ -399,6 +426,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) GROUP BY EXTRACT(YEAR FROM cur_time) @@ -443,8 +473,8 @@ from ${tableName} dh where - cur_time >= #{startTime} - and cur_time <= #{endTime} + cur_time >= #{startTime}::timestamp + and cur_time <= #{endTime}::timestamp and calc_value is not null and dh.device_num in ( @@ -457,6 +487,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) group by @@ -480,8 +513,8 @@ from ${tableName} dh where - cur_time >= #{momStartTime} - and cur_time <= #{momEndTime} + cur_time >= #{momStartTime}::timestamp + and cur_time <= #{momEndTime}::timestamp and calc_value is not null and dh.device_num in ( @@ -494,6 +527,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) group by @@ -528,10 +564,10 @@ extract(year from cur_time) as yearStr from - ${tableName1} + ${tableName1} dh where - cur_time >= #{startTime} - and cur_time <= #{endTime} + cur_time >= #{startTime}::timestamp + and cur_time <= #{endTime}::timestamp and dh.device_num in ( select cpm.mt_num @@ -542,6 +578,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) group by substring(to_char(cur_time, 'YYYY-MM-DD HH24:MI:SS') from 1 for ${len}), @@ -556,8 +595,8 @@ from ${tableName2} dh where - cur_time >= #{startTime} - and cur_time <= #{endTime} + cur_time >= #{startTime}::timestamp + and cur_time <= #{endTime}::timestamp and dh.device_num in ( select cpm.mt_num @@ -568,6 +607,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) group by substring(to_char(cur_time, 'YYYY-MM-DD HH24:MI:SS') from 1 for ${len}), @@ -581,11 +623,24 @@ extract(year from cur_time) as yearStr from - ${tableName1} + ${tableName1} dh where - cur_time >= #{momStartTime} - and cur_time <= #{momEndTime} - and device_type = #{paramType} + cur_time >= #{momStartTime}::timestamp + and cur_time <= #{momEndTime}::timestamp + and dh.device_num in ( + select + cpm.mt_num + from + collection_params_manage cpm + join device_ledger dl on + cpm.device_ledger_id = dl.id + + and dl.device_type = #{paramType} + + + and cpm.system_type = #{systemType} + + and cpm.grade = 40 ) group by extract(year from cur_time) @@ -597,8 +652,8 @@ from ${tableName2} dh where - cur_time >= #{momStartTime} - and cur_time <= #{momEndTime} + cur_time >= #{momStartTime}::timestamp + and cur_time <= #{momEndTime}::timestamp and dh.device_num in ( select cpm.mt_num @@ -609,6 +664,9 @@ and dl.device_type = #{paramType} + + and cpm.system_type = #{systemType} + and cpm.grade = 40 ) group by extract(year from cur_time) @@ -702,6 +760,9 @@ where dl.device_type = '5' and cpm.terminal_device_type = #{deviceType} + + and cpm.system_type = #{systemType} + group by cpm.mt_type ) @@ -747,6 +808,9 @@ where dl.device_type = '5' and cpm.terminal_device_type = #{deviceType} + + and cpm.system_type = #{systemType} + group by cpm.mt_type ) @@ -945,6 +1009,9 @@ where dl.device_type = '5' and cpm.terminal_device_type = #{deviceType} + + and cpm.system_type = #{systemType} + group by cpm.mt_type ) @@ -972,6 +1039,9 @@ where dl.device_type = '5' and cpm.terminal_device_type = #{deviceType} + + and cpm.system_type = #{systemType} + group by cpm.mt_type )