change - 温度阵列树状图接口

master
yinq 2 months ago
parent 7d4323c909
commit af272a9854

@ -1,5 +1,6 @@
package com.ruoyi.system.service.impl; package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -151,14 +152,32 @@ public class TArraytemperaturedataServiceImpl implements ITArraytemperaturedataS
return null; return null;
} }
List<String> monitorList = tMonitors.stream().map(T_Monitor::getMonitorId).collect(Collectors.toList()); List<String> monitorList = tMonitors.stream().map(T_Monitor::getMonitorId).collect(Collectors.toList());
List<String> twoList = new ArrayList<>();
List<String> threeList = new ArrayList<>();
for (String pmonitor : monitorList) { for (String pmonitor : monitorList) {
T_Monitor t_monitor = new T_Monitor(); T_Monitor t_monitor = new T_Monitor();
t_monitor.setpMonitorid(pmonitor); t_monitor.setpMonitorid(pmonitor);
List<T_Monitor> monitors = t_MonitorMapper.selectT_MonitorList(t_monitor); List<T_Monitor> monitors = t_MonitorMapper.selectT_MonitorList(t_monitor);
for (T_Monitor tMonitor : monitors) { for (T_Monitor tMonitor : monitors) {
monitorList.add(tMonitor.getMonitorId()); if (monitorList.contains(tMonitor.getMonitorId())){
continue;
}
twoList.add(tMonitor.getMonitorId());
} }
} }
for (String pmonitor : twoList) {
T_Monitor t_monitor = new T_Monitor();
t_monitor.setpMonitorid(pmonitor);
List<T_Monitor> monitors = t_MonitorMapper.selectT_MonitorList(t_monitor);
for (T_Monitor tMonitor : monitors) {
if (monitorList.contains(tMonitor.getMonitorId())){
continue;
}
threeList.add(tMonitor.getMonitorId());
}
}
monitorList.addAll(twoList);
monitorList.addAll(threeList);
tArraytemperaturedata.setMonitorList(monitorList); tArraytemperaturedata.setMonitorList(monitorList);
return tArraytemperaturedataMapper.getTemperatureArrayTreemap(tArraytemperaturedata); return tArraytemperaturedataMapper.getTemperatureArrayTreemap(tArraytemperaturedata);
} }

@ -4775,10 +4775,34 @@
</if> </if>
</where> </where>
</select> </select>
<select id="getTemperatureArrayTreemap" resultType="java.util.HashMap">
<select id="getTemperatureArrayTreemap" parameterType="TArraytemperaturedata" resultType="java.util.HashMap">
WITH RankedData AS (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY monitorId ORDER BY collectTime DESC) AS rn
FROM T_ArrayTemperatureData
where 1=1
<if test="monitorList != null and monitorList.size > 0">
and monitorId IN
<foreach item="monitorId" collection="monitorList" open="(" separator="," close=")">
#{monitorId}
</foreach>
</if>
)
SELECT m.monitorId,
M.p_monitorId pMonitorId,
m.monitorName,
t.maxTemperature + isnull(m.correctValue, 0) maxTemperature,
t.collectTime
FROM RankedData t
LEFT JOIN T_Monitor m on m.monitorId = t.monitorId
WHERE t.rn = 1
ORDER BY monitorId
</select> </select>
<!--
WHERE collectTime > (GETDATE() - 1)
-->
<!-- SELECT monitorId, collectTime, MAX(SiteValue) AS tempreture <!-- SELECT monitorId, collectTime, MAX(SiteValue) AS tempreture
FROM ( FROM (
SELECT monitorId, collectTime, SiteValue SELECT monitorId, collectTime, SiteValue

Loading…
Cancel
Save