数据20250904优化-点位数据接口增加入参

This commit is contained in:
2025-09-13 19:25:58 +08:00
parent bfdbc4f42c
commit ecbe55cdbf
4 changed files with 29 additions and 6 deletions

View File

@ -22,6 +22,8 @@ public class PointNameRequest {
private String endDate; private String endDate;
private String deviceId;
private Map<String,List<String>> siteDeviceMap; private Map<String,List<String>> siteDeviceMap;
public List<String> getSiteIds() { public List<String> getSiteIds() {
@ -79,4 +81,12 @@ public class PointNameRequest {
public void setSiteDeviceMap(Map<String, List<String>> siteDeviceMap) { public void setSiteDeviceMap(Map<String, List<String>> siteDeviceMap) {
this.siteDeviceMap = siteDeviceMap; this.siteDeviceMap = siteDeviceMap;
} }
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
} }

View File

@ -100,17 +100,20 @@ public interface EmsPointMatchMapper
@Param("tableName")String tableName, @Param("tableName")String tableName,
@Param("tableField")String tableField, @Param("tableField")String tableField,
@Param("startDate")Date startDate, @Param("startDate")Date startDate,
@Param("endDate")Date endDate); @Param("endDate")Date endDate,
@Param("deviceId")String deviceId);
// 根据条件查询数据-按小时-其他设备 // 根据条件查询数据-按小时-其他设备
public List<GeneralQueryDataVo> getCommonPointDataByHours(@Param("siteIds")List<String> siteIds, public List<GeneralQueryDataVo> getCommonPointDataByHours(@Param("siteIds")List<String> siteIds,
@Param("tableName")String tableName, @Param("tableName")String tableName,
@Param("tableField")String tableField, @Param("tableField")String tableField,
@Param("startDate") Date startDate, @Param("startDate") Date startDate,
@Param("endDate")Date endDate); @Param("endDate")Date endDate,
@Param("deviceId")String deviceId);
// 根据条件查询数据-按天-其他设备 // 根据条件查询数据-按天-其他设备
public List<GeneralQueryDataVo> getCommonPointDataByDays(@Param("siteIds")List<String> siteIds, public List<GeneralQueryDataVo> getCommonPointDataByDays(@Param("siteIds")List<String> siteIds,
@Param("tableName")String tableName, @Param("tableName")String tableName,
@Param("tableField")String tableField, @Param("tableField")String tableField,
@Param("startDate")Date startDate, @Param("startDate")Date startDate,
@Param("endDate")Date endDate); @Param("endDate")Date endDate,
@Param("deviceId")String deviceId);
} }

View File

@ -129,20 +129,21 @@ public class GeneralQueryServiceImpl implements IGeneralQueryService
List<GeneralQueryDataVo> dataVoList = new ArrayList<>(); List<GeneralQueryDataVo> dataVoList = new ArrayList<>();
int dataUnit = request.getDataUnit(); int dataUnit = request.getDataUnit();
String deviceId = request.getDeviceId();
Date startDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS,request.getStartDate()); Date startDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS,request.getStartDate());
Date endDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS,request.getEndDate()); Date endDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS,request.getEndDate());
if (dataUnit == 1) { // 分钟yyyy-MM-dd HH:mm:ss if (dataUnit == 1) { // 分钟yyyy-MM-dd HH:mm:ss
startDate = DateUtils.adjustToStartOfMinutes(request.getStartDate()); startDate = DateUtils.adjustToStartOfMinutes(request.getStartDate());
dataVoList = emsPointMatchMapper.getCommonPointDataByMinutes(querySiteIds,tableName,tableField,startDate,endDate); dataVoList = emsPointMatchMapper.getCommonPointDataByMinutes(querySiteIds,tableName,tableField,startDate,endDate,deviceId);
if (dataVoList != null && dataVoList.size() > 0) { if (dataVoList != null && dataVoList.size() > 0) {
dataVoList = dealWithMinutesData(querySiteIds,dataVoList,deviceCategory, dataVoList = dealWithMinutesData(querySiteIds,dataVoList,deviceCategory,
request.getStartDate(),request.getEndDate()); request.getStartDate(),request.getEndDate());
} }
} else if (dataUnit == 2) { // 小时yyyy-MM-dd HH:mm:ss } else if (dataUnit == 2) { // 小时yyyy-MM-dd HH:mm:ss
dataVoList = emsPointMatchMapper.getCommonPointDataByHours(querySiteIds,tableName,tableField,startDate,endDate); dataVoList = emsPointMatchMapper.getCommonPointDataByHours(querySiteIds,tableName,tableField,startDate,endDate,deviceId);
} else if (dataUnit == 3) { // 天yyyy-MM-dd 00:00:00 } else if (dataUnit == 3) { // 天yyyy-MM-dd 00:00:00
endDate = DateUtils.adjustToEndOfDay(request.getEndDate()); endDate = DateUtils.adjustToEndOfDay(request.getEndDate());
dataVoList = emsPointMatchMapper.getCommonPointDataByDays(querySiteIds,tableName,tableField,startDate,endDate); dataVoList = emsPointMatchMapper.getCommonPointDataByDays(querySiteIds,tableName,tableField,startDate,endDate,deviceId);
} }
// 数据转换 // 数据转换

View File

@ -238,6 +238,9 @@
<foreach collection="siteIds" item="siteId" open="(" close=")" separator=","> <foreach collection="siteIds" item="siteId" open="(" close=")" separator=",">
#{siteId} #{siteId}
</foreach> </foreach>
<if test="deviceId != null and deviceId != ''">
and device_id = #{deviceId}
</if>
GROUP BY valueDate, site_id, device_id,pointValue GROUP BY valueDate, site_id, device_id,pointValue
ORDER BY site_id,device_id, valueDate ASC ORDER BY site_id,device_id, valueDate ASC
</select> </select>
@ -259,6 +262,9 @@
<foreach collection="siteIds" item="siteId" open="(" close=")" separator=","> <foreach collection="siteIds" item="siteId" open="(" close=")" separator=",">
#{siteId} #{siteId}
</foreach> </foreach>
<if test="deviceId != null and deviceId != ''">
and device_id = #{deviceId}
</if>
GROUP BY site_id, device_id, hour_group GROUP BY site_id, device_id, hour_group
) tmp ON t.site_id = tmp.site_id ) tmp ON t.site_id = tmp.site_id
AND t.device_id = tmp.device_id AND t.device_id = tmp.device_id
@ -285,6 +291,9 @@
<foreach collection="siteIds" item="siteId" open="(" close=")" separator=","> <foreach collection="siteIds" item="siteId" open="(" close=")" separator=",">
#{siteId} #{siteId}
</foreach> </foreach>
<if test="deviceId != null and deviceId != ''">
and device_id = #{deviceId}
</if>
GROUP BY site_id, device_id, day_group GROUP BY site_id, device_id, day_group
) tmp ON t.site_id = tmp.site_id ) tmp ON t.site_id = tmp.site_id
AND t.device_id = tmp.device_id AND t.device_id = tmp.device_id