Browse Source

1、中央空调能耗管理相关接口修改;

dev
mh 2 months ago
parent
commit
1b4ce0b84d
  1. BIN
      doc/梅州豪生控制点表xls.xls
  2. 30
      mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyConsumptionVO.java
  3. 13
      mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyQueryVO.java
  4. 30
      mh-system/src/main/java/com/mh/system/mapper/energy/EnergyAnalyzeMapper.java
  5. 36
      mh-system/src/main/java/com/mh/system/mapper/energy/EnergyMapper.java
  6. 171
      mh-system/src/main/java/com/mh/system/mapper/energy/EnergyQueryMapper.java
  7. 2
      mh-system/src/main/java/com/mh/system/service/device/impl/DeviceLedgerServiceImpl.java
  8. 30
      mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyAnalyzeServiceImpl.java
  9. 6
      mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java
  10. 41
      mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyServiceImpl.java
  11. 142
      mh-system/src/main/resources/mapper/system/EnergyMapper.xml

BIN
doc/梅州豪生控制点表xls.xls

Binary file not shown.

30
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();
}
}

13
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;
}

30
mh-system/src/main/java/com/mh/system/mapper/energy/EnergyAnalyzeMapper.java

@ -49,6 +49,9 @@ public interface EnergyAnalyzeMapper {
"<if test='paramType != null and paramType != \"\"'>" +
" and dl.device_type = #{paramType}" +
"</if>" +
"<if test='systemType != null and systemType != \"\"'>" +
" and cpm.system_type = #{systemType}" +
"</if>" +
"union all " +
"select " +
" dm.calc_value, " +
@ -73,13 +76,17 @@ public interface EnergyAnalyzeMapper {
"<if test='paramType != null and paramType != \"\"'>" +
" and dl.device_type = #{paramType}" +
"</if>" +
"<if test='systemType != null and systemType != \"\"'>" +
" and cpm.system_type = #{systemType}" +
"</if>" +
"</script>")
List<DeviceTypeEnergy> 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 {
"<if test='paramType != null and paramType != \"\"'>" +
" and dl.device_type = #{paramType}" +
"</if>" +
"<if test='systemType != null and systemType != \"\"'>" +
" and cpm.system_type = #{systemType}" +
"</if>" +
"</script>")
List<DeviceTypeEnergy> 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("<script>" +
"SELECT " +
@ -146,6 +157,9 @@ public interface EnergyAnalyzeMapper {
" <foreach collection='params' item='item' open='(' separator=',' close=')'>" +
" #{item} " +
" </foreach> " +
"<if test='systemType != null and systemType != \"\"'>" +
" and dm.system_type = #{systemType}" +
"</if>" +
"GROUP BY " +
" TO_CHAR(dh.cur_time, " +
" <choose>" +
@ -165,7 +179,8 @@ public interface EnergyAnalyzeMapper {
@Param("lastTableName") String lastTableName,
@Param("curTableName") String curTableName,
@Param("len") String dateLen,
@Param("params") List<Object> params);
@Param("params") List<Object> params,
@Param("systemType") String systemType);
@Select("<script>" +
"SELECT " +
@ -192,6 +207,9 @@ public interface EnergyAnalyzeMapper {
" <foreach collection='params' item='item' open='(' separator=',' close=')'>" +
" #{item} " +
" </foreach> " +
"<if test='systemType != null and systemType != \"\"'>" +
" and dm.system_type = #{systemType}" +
"</if>" +
"GROUP BY " +
" TO_CHAR(dh.cur_time, " +
" <choose>" +
@ -230,6 +248,9 @@ public interface EnergyAnalyzeMapper {
" <foreach collection='params' item='item' open='(' separator=',' close=')'>" +
" #{item} " +
" </foreach> " +
"<if test='systemType != null and systemType != \"\"'>" +
" and dm.system_type = #{systemType}" +
"</if>" +
"GROUP BY " +
" TO_CHAR(dh.cur_time, " +
" <choose>" +
@ -249,5 +270,6 @@ public interface EnergyAnalyzeMapper {
@Param("lastTableName") String lastTableName,
@Param("curTableName") String curTableName,
@Param("len") String dateLen,
@Param("params") List<Object> params);
@Param("params") List<Object> params,
@Param("systemType") String systemType);
}

36
mh-system/src/main/java/com/mh/system/mapper/energy/EnergyMapper.java

@ -57,6 +57,9 @@ public interface EnergyMapper {
"on " +
" cpm.device_ledger_id = dl.id " +
" and dl.device_type in ('5', '6') and cpm.grade = 40 " +
"<if test='systemType != null and systemType != \"\"'>" +
" and cpm.system_type = #{systemType} " +
"</if>" +
") " +
"group by " +
" device_type, " +
@ -102,6 +105,9 @@ public interface EnergyMapper {
"on " +
" cpm.device_ledger_id = dl.id " +
" and dl.device_type in ('5', '6') and cpm.grade = 40 " +
"<if test='systemType != null and systemType != \"\"'>" +
" and cpm.system_type = #{systemType} " +
"</if>" +
") " +
"group by " +
" device_type, " +
@ -121,7 +127,8 @@ public interface EnergyMapper {
@Param("lastTableName") String lastTableName,
@Param("curTableName") String curTableName,
@Param("len") String dateLen,
@Param("paramType") String paramType);
@Param("paramType") String paramType,
@Param("systemType") String systemType);
/**
* 单表查询操作
@ -163,6 +170,9 @@ public interface EnergyMapper {
"on " +
" cpm.device_ledger_id = dl.id " +
" and dl.device_type in ('5', '6') and cpm.grade = 40 " +
"<if test='systemType != null and systemType != \"\"'>" +
" and cpm.system_type = #{systemType} " +
"</if>" +
") " +
"group by " +
" device_type, " +
@ -184,7 +194,8 @@ public interface EnergyMapper {
@Param("lastTableName") String lastTableName,
@Param("curTableName") String curTableName,
@Param("len") String dateLen,
@Param("paramType") String paramType);
@Param("paramType") String paramType,
@Param("systemType") String systemType);
/**
* 查询能耗分析同比
@ -206,7 +217,8 @@ public interface EnergyMapper {
@Param("yoyCurTableName") String yoyCurTableName,
@Param("len") String dateLen,
@Param("paramType") String paramType,
@Param("timeType") String timeType);
@Param("timeType") String timeType,
@Param("systemType") String systemType);
/**
@ -230,7 +242,8 @@ public interface EnergyMapper {
@Param("yoyEndTime") String yoyEndTime,
@Param("len") String dateLen,
@Param("paramType") String paramType,
@Param("timeType") String timeType);
@Param("timeType") String timeType,
@Param("systemType") String systemType);
/**
* 查询能耗分析环比查询类型是monthyear
@ -251,7 +264,8 @@ public interface EnergyMapper {
@Param("tableName") String tableName,
@Param("len") String dateLen,
@Param("paramType") String paramType,
@Param("timeType") String timeType);
@Param("timeType") String timeType,
@Param("systemType") String systemType);
/**
* 单表查询能耗分析环比查询类型是hourday
@ -272,7 +286,8 @@ public interface EnergyMapper {
@Param("tableName") String tableName,
@Param("len") String dateLen,
@Param("paramType") String paramType,
@Param("timeType") String timeType);
@Param("timeType") String timeType,
@Param("systemType") String systemType);
/**
* 多表查询能耗分析环比查询类型是hourday
@ -295,7 +310,8 @@ public interface EnergyMapper {
@Param("tableName2") String tableName2,
@Param("len") String dateLen,
@Param("paramType") String paramType,
@Param("timeType") String timeType);
@Param("timeType") String timeType,
@Param("systemType") String systemType);
/**
* 查询各个机房设备的用电量查询月
@ -329,7 +345,8 @@ public interface EnergyMapper {
@Param("lastTableName") String lastTableName,
@Param("curTableName") String curTableName,
@Param("len") String dateLen,
@Param("deviceType") String deviceType);
@Param("deviceType") String deviceType,
@Param("systemType") String systemType);
/**
* 查询系统分析折线图
@ -374,7 +391,8 @@ public interface EnergyMapper {
@Param("endTime") String endTime,
@Param("lastTableName") String lastTableName,
@Param("curTableName") String curTableName,
@Param("deviceType") String deviceType);
@Param("deviceType") String deviceType,
@Param("systemType") String systemType);
@Select("select isnull(sum(calc_value),0) from ${tableName} " +
" where device_type = 'cloud' " +

171
mh-system/src/main/java/com/mh/system/mapper/energy/EnergyQueryMapper.java

@ -26,79 +26,101 @@ public interface EnergyQueryMapper {
* @return
*/
@Select("<script>" +
"select sum(calc_value) as curValue,device_type as deviceType,convert(varchar(${len}), cur_time, 120) as timeStr from ${lastTableName} dt " +
" where cur_time >= #{startTime} and cur_time &lt;= #{endTime} " +
"<if test='paramType != null and paramType != \"\"'>" +
" and device_type = #{paramType}" +
"</if>" +
"<if test='haveMeter==true and haveCloud == true'>" +
" and exists ( " +
" select " +
" 1 " +
" from " +
" device_manage " +
" where " +
" device_num = dt.device_num and grade &lt; 50 and grade >=40 and (device_type like '%meter%' or device_type like '%cloud%') " +
" )" +
"</if>" +
"<if test='haveCloud==true and haveMeter==false'>" +
" and exists ( " +
" select " +
" 1 " +
" from " +
" device_manage " +
" where " +
" device_num = dy.device_num and grade &lt; 50 and grade >=40 and device_type like '%cloud%' " +
" )" +
"</if>" +
"<if test='haveCloud==false and haveMeter==true'>" +
" and exists ( " +
" select " +
" 1 " +
" from " +
" device_manage " +
" where " +
" device_num = dy.device_num and grade &lt; 50 and grade >=40 and device_type like '%meter%' " +
" )" +
"select " +
" sum(dm.calc_value) as curValue, " +
" CASE dm.device_type " +
" WHEN '5' THEN 'meter' " +
" WHEN '6' THEN 'cloud' " +
" ELSE 'Unknown' " +
" END as deviceType," +
" TO_CHAR(dm.cur_time, " +
" <choose>" +
" <when test='len == 4'>'YYYY'</when>" +
" <when test='len == 7'>'YYYY-MM'</when>" +
" <when test='len == 10'>'YYYY-MM-DD'</when>" +
" <when test='len == 13'>'YYYY-MM-DD HH24'</when>" +
" <when test='len == 16'>'YYYY-MM-DD HH24:MI'</when>" +
" <otherwise>'YYYY-MM-DD HH24:MI:SS'</otherwise>" +
" </choose>" +
" ) AS timeStr " +
"from " +
" ${lastTableName} dm " +
"where " +
" dm.cur_time &gt;= #{startTime}::timestamp " +
" AND dm.cur_time &lt;= #{endTime}::timestamp " +
" and device_num in ( " +
" select " +
" device_num " +
" from " +
" collection_params_manage cpm " +
" join device_ledger dl " +
"on " +
" cpm.device_ledger_id = dl.id " +
" and dl.device_type in ('5', '6') " +
"<if test='systemType != null and systemType != \"\"'> " +
" and cpm.system_type = #{systemType} " +
"</if>" +
" group by device_type,convert(varchar(${len}), cur_time, 120) " +
") " +
"group by " +
" device_type, " +
" TO_CHAR(dm.cur_time, " +
" <choose>" +
" <when test='len == 4'>'YYYY'</when>" +
" <when test='len == 7'>'YYYY-MM'</when>" +
" <when test='len == 10'>'YYYY-MM-DD'</when>" +
" <when test='len == 13'>'YYYY-MM-DD HH24'</when>" +
" <when test='len == 16'>'YYYY-MM-DD HH24:MI'</when>" +
" <otherwise>'YYYY-MM-DD HH24:MI:SS'</otherwise>" +
" </choose>" +
" ) " +
"union all " +
"select sum(calc_value) as curValue,device_type as deviceType,convert(varchar(${len}), cur_time, 120) as timeStr from ${curTableName} dy " +
" where cur_time >= #{startTime} and cur_time &lt;= #{endTime} " +
"<if test='paramType != null and paramType != \"\"'>" +
" and device_type = #{paramType}" +
"</if>" +
"<if test='haveMeter==true and haveCloud == true'>" +
" and exists ( " +
" select " +
" 1 " +
" from " +
" device_manage " +
" where " +
" device_num = dy.device_num and grade &lt; 50 and grade >=40 and (device_type like '%meter%' or device_type like '%cloud%') " +
" )" +
"</if>" +
"<if test='haveCloud==true and haveMeter==false'>" +
" and exists ( " +
" select " +
" 1 " +
" from " +
" device_manage " +
" where " +
" device_num = dy.device_num and grade &lt; 50 and grade >=40 and device_type like '%cloud%' " +
" )" +
"</if>" +
"<if test='haveCloud==false and haveMeter==true'>" +
" and exists ( " +
" select " +
" 1 " +
" from " +
" device_manage " +
" where " +
" device_num = dy.device_num and grade &lt; 50 and grade >=40 and device_type like '%meter%' " +
" )" +
"select " +
" sum(dm.calc_value) as curValue, " +
" CASE dm.device_type " +
" WHEN '5' THEN 'meter' " +
" WHEN '6' THEN 'cloud' " +
" ELSE 'Unknown' " +
" END as deviceType," +
" TO_CHAR(dm.cur_time, " +
" <choose>" +
" <when test='len == 4'>'YYYY'</when>" +
" <when test='len == 7'>'YYYY-MM'</when>" +
" <when test='len == 10'>'YYYY-MM-DD'</when>" +
" <when test='len == 13'>'YYYY-MM-DD HH24'</when>" +
" <when test='len == 16'>'YYYY-MM-DD HH24:MI'</when>" +
" <otherwise>'YYYY-MM-DD HH24:MI:SS'</otherwise>" +
" </choose>" +
" ) AS timeStr " +
"from " +
" ${curTableName} dm " +
"where " +
" dm.cur_time &gt;= #{startTime}::timestamp " +
" AND dm.cur_time &lt;= #{endTime}::timestamp " +
" and device_num in ( " +
" select " +
" device_num " +
" from " +
" collection_params_manage cpm " +
" join device_ledger dl " +
"on " +
" cpm.device_ledger_id = dl.id " +
" and dl.device_type in ('5', '6') " +
"<if test='systemType != null and systemType != \"\"'> " +
" and cpm.system_type = #{systemType} " +
"</if>" +
" group by device_type,convert(varchar(${len}), cur_time, 120)" +
") " +
"group by " +
" device_type, " +
" TO_CHAR(dm.cur_time, " +
" <choose>" +
" <when test='len == 4'>'YYYY'</when>" +
" <when test='len == 7'>'YYYY-MM'</when>" +
" <when test='len == 10'>'YYYY-MM-DD'</when>" +
" <when test='len == 13'>'YYYY-MM-DD HH24'</when>" +
" <when test='len == 16'>'YYYY-MM-DD HH24:MI'</when>" +
" <otherwise>'YYYY-MM-DD HH24:MI:SS'</otherwise>" +
" </choose>" +
" ) " +
"</script>")
List<ConsumptionAnalyze> 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') " +
"<if test='systemType != null and systemType != \"\"'> " +
" and cpm.system_type = #{systemType} " +
"</if>" +
") " +
"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);
}

2
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()) {

30
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()) {

6
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) {

41
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<ConsumptionAnalyze> consumptionAnalyzeEntities = energyMapper.queryDeviceLineManyTable(vo.getStartTime(), vo.getEndTime(), lastTable, curTable, vo.getDeviceType());
List<ConsumptionAnalyze> 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<ConsumptionAnalyze> 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()];

142
mh-system/src/main/resources/mapper/system/EnergyMapper.xml

@ -4,13 +4,13 @@
<sql id="commonGroupSql">
<if test="timeType != null and timeType != '' and timeType == 'month'" >
,month(cur_time)
,EXTRACT(MONTH FROM cur_time)
</if>
<if test="timeType != null and timeType != '' and timeType == 'day'" >
,month(cur_time),day(cur_time)
,EXTRACT(MONTH FROM cur_time),EXTRACT(DAY FROM cur_time)
</if>
<if test="timeType != null and timeType != '' and timeType == 'hour'" >
,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)
</if>
</sql>
@ -87,7 +87,8 @@
EXTRACT(YEAR FROM cur_time) AS yearStr
<include refid="commonSelectSql" />
FROM ${lastTableName} dh
WHERE cur_time >= #{yoyStartTime} AND cur_time &lt;= #{yoyEndTime}
WHERE cur_time >= #{yoyStartTime}::timestamp
AND cur_time &lt;= #{yoyEndTime}::timestamp
AND calc_value IS NOT NULL
<if test='paramType!= null and paramType!= "" and paramType!= "system" '>
and dh.device_num in (
@ -100,6 +101,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
and cpm.grade = 40 )
</if>
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
<include refid="commonSelectSql" />
FROM ${curTableName} dh
WHERE cur_time >= #{startTime} AND cur_time &lt;= #{endTime}
WHERE cur_time >= #{startTime}::timestamp
AND cur_time &lt;= #{endTime}::timestamp
AND calc_value IS NOT NULL
<if test='paramType!= null and paramType!= "" and paramType!= "system" '>
and dh.device_num in (
@ -132,6 +137,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
and cpm.grade = 40 )
</if>
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
<include refid="commonSelectSql" />
FROM ${lastTableName} dh
WHERE cur_time >= #{startTime} AND cur_time &lt;= #{endTime}
WHERE cur_time >= #{startTime}::timestamp AND cur_time &lt;= #{endTime}::timestamp
AND calc_value IS NOT NULL
<if test='paramType!= null and paramType!= "" and paramType!= "system" '>
and dh.device_num in (
@ -164,6 +172,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
and cpm.grade = 40 )
</if>
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
<include refid="commonSelectSql" />
FROM ${curTableName} dh
WHERE cur_time >= #{startTime} AND cur_time &lt;= #{endTime}
WHERE cur_time >= #{startTime}::timestamp AND cur_time &lt;= #{endTime}::timestamp
AND calc_value IS NOT NULL
<if test='paramType!= null and paramType!= "" and paramType!= "system" '>
and dh.device_num in (
@ -196,6 +207,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
and cpm.grade = 40 )
</if>
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, <!--- 替换 CONVERT -->
EXTRACT(YEAR FROM cur_time)::INTEGER AS yearStr <!--- 替换 YEAR() -->
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
<include refid="commonSelectSql" />
FROM ${yoyLastTableName} dh
WHERE
cur_time >= #{yoyStartTime} AND cur_time &lt;= #{yoyEndTime}
cur_time >= #{yoyStartTime}::timestamp AND cur_time &lt;= #{yoyEndTime}::timestamp
and dh.device_num in (
select
cpm.mt_num
@ -236,11 +249,14 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
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) <!--- 替换 YEAR() -->
SUBSTRING(TO_CHAR(cur_time, 'YYYY-MM-DD HH24:MI:SS') FROM 1 FOR ${len}),
EXTRACT(YEAR FROM cur_time)
<include refid="commonGroupSql" />
UNION ALL
SELECT
@ -251,7 +267,7 @@
<include refid="commonSelectSql" />
FROM ${yoyCurTableName} dh
WHERE
cur_time >= #{yoyStartTime} AND cur_time &lt;= #{yoyEndTime}
cur_time >= #{yoyStartTime}::timestamp AND cur_time &lt;= #{yoyEndTime}::timestamp
and dh.device_num in (
select
cpm.mt_num
@ -262,6 +278,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
and cpm.grade = 40 )
GROUP BY
device_type,
@ -269,8 +288,7 @@
EXTRACT(YEAR FROM cur_time)
<include refid="commonGroupSql" />
) a
RIGHT JOIN ( <!--- 右连接语法保持不变 -->
-- 子查询 b(当前期数据)
RIGHT JOIN (
SELECT
SUM(calc_value) AS sumValue,
device_type AS deviceType,
@ -279,7 +297,7 @@
<include refid="commonSelectSql" />
FROM ${lastTableName} dh
WHERE
cur_time >= #{startTime} AND cur_time &lt;= #{endTime}
cur_time >= #{startTime}::timestamp AND cur_time &lt;= #{endTime}::timestamp
and dh.device_num in (
select
cpm.mt_num
@ -290,6 +308,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
and cpm.grade = 40 )
GROUP BY
device_type,
@ -305,7 +326,7 @@
<include refid="commonSelectSql" />
FROM ${curTableName} dh
WHERE
cur_time >= #{startTime} AND cur_time &lt;= #{endTime}
cur_time >= #{startTime}::timestamp AND cur_time &lt;= #{endTime}::timestamp
and dh.device_num in (
select
cpm.mt_num
@ -316,13 +337,16 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
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)
<include refid="commonGroupSql" />
) b ON a.yearStr + 1 = b.yearStr <!--- 假设 yearStr 已转为整数 -->
) b ON a.yearStr + 1 = b.yearStr
<include refid="commonYOYWhereSql"/>
</select>
@ -351,7 +375,7 @@
,EXTRACT(MONTH FROM cur_time) AS monthStr
</if>
FROM ${tableName} dh
WHERE cur_time >= #{startTime} AND cur_time &lt;= #{endTime}
WHERE cur_time >= #{startTime}::timestamp AND cur_time &lt;= #{endTime}::timestamp
AND calc_value IS NOT NULL
<if test='paramType!= null and paramType!= "" and paramType!= "system" '>
and dh.device_num in (
@ -364,6 +388,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
and cpm.grade = 40 )
</if>
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
</if>
FROM ${tableName} dh
WHERE cur_time >= #{momStartTime} AND cur_time &lt;= #{momEndTime}
WHERE cur_time >= #{momStartTime}::timestamp AND cur_time &lt;= #{momEndTime}::timestamp
AND calc_value IS NOT NULL
<if test='paramType!= null and paramType!= "" and paramType!= "system" '>
and dh.device_num in (
@ -399,6 +426,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
and cpm.grade = 40 )
</if>
GROUP BY EXTRACT(YEAR FROM cur_time)
@ -443,8 +473,8 @@
from
${tableName} dh
where
cur_time >= #{startTime}
and cur_time &lt;= #{endTime}
cur_time >= #{startTime}::timestamp
and cur_time &lt;= #{endTime}::timestamp
and calc_value is not null
<if test="paramType != null and paramType != '' and paramType != 'system'">
and dh.device_num in (
@ -457,6 +487,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
and cpm.grade = 40 )
</if>
group by
@ -480,8 +513,8 @@
from
${tableName} dh
where
cur_time >= #{momStartTime}
and cur_time &lt;= #{momEndTime}
cur_time >= #{momStartTime}::timestamp
and cur_time &lt;= #{momEndTime}::timestamp
and calc_value is not null
<if test="paramType != null and paramType != '' and paramType != 'system'">
and dh.device_num in (
@ -494,6 +527,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
and cpm.grade = 40 )
</if>
group by
@ -528,10 +564,10 @@
extract(year from cur_time) as yearStr
<include refid="commonSelectSql"/>
from
${tableName1}
${tableName1} dh
where
cur_time >= #{startTime}
and cur_time &lt;= #{endTime}
cur_time >= #{startTime}::timestamp
and cur_time &lt;= #{endTime}::timestamp
and dh.device_num in (
select
cpm.mt_num
@ -542,6 +578,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
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 &lt;= #{endTime}
cur_time >= #{startTime}::timestamp
and cur_time &lt;= #{endTime}::timestamp
and dh.device_num in (
select
cpm.mt_num
@ -568,6 +607,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
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
<include refid="commonLastSelectSql"/>
from
${tableName1}
${tableName1} dh
where
cur_time >= #{momStartTime}
and cur_time &lt;= #{momEndTime}
and device_type = #{paramType}
cur_time >= #{momStartTime}::timestamp
and cur_time &lt;= #{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
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
and cpm.grade = 40 )
group by
extract(year from cur_time)
<include refid="commonLastGroupSql"/>
@ -597,8 +652,8 @@
from
${tableName2} dh
where
cur_time >= #{momStartTime}
and cur_time &lt;= #{momEndTime}
cur_time >= #{momStartTime}::timestamp
and cur_time &lt;= #{momEndTime}::timestamp
and dh.device_num in (
select
cpm.mt_num
@ -609,6 +664,9 @@
<if test="paramType != null and paramType != '' ">
and dl.device_type = #{paramType}
</if>
<if test="systemType != null and systemType != '' ">
and cpm.system_type = #{systemType}
</if>
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}
<if test="systemType != null and systemType != ''">
and cpm.system_type = #{systemType}
</if>
group by
cpm.mt_type
)
@ -747,6 +808,9 @@
where
dl.device_type = '5'
and cpm.terminal_device_type = #{deviceType}
<if test="systemType != null and systemType != ''">
and cpm.system_type = #{systemType}
</if>
group by
cpm.mt_type
)
@ -945,6 +1009,9 @@
where
dl.device_type = '5'
and cpm.terminal_device_type = #{deviceType}
<if test="systemType != null and systemType != ''">
and cpm.system_type = #{systemType}
</if>
group by
cpm.mt_type
)
@ -972,6 +1039,9 @@
where
dl.device_type = '5'
and cpm.terminal_device_type = #{deviceType}
<if test="systemType != null and systemType != ''">
and cpm.system_type = #{systemType}
</if>
group by
cpm.mt_type
)

Loading…
Cancel
Save