diff --git a/psdc-business/src/main/java/com/psdc/mapper/PsdcDeviceMapper.java b/psdc-business/src/main/java/com/psdc/mapper/PsdcDeviceMapper.java index c19c151..2ed5229 100644 --- a/psdc-business/src/main/java/com/psdc/mapper/PsdcDeviceMapper.java +++ b/psdc-business/src/main/java/com/psdc/mapper/PsdcDeviceMapper.java @@ -3,6 +3,7 @@ package com.psdc.mapper; import java.util.List; import com.psdc.entity.PsdcDevice; +import com.psdc.entity.vo.DeviceStatusVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.data.domain.Pageable; @@ -24,6 +25,8 @@ public interface PsdcDeviceMapper{ */ PsdcDevice queryById(Integer deviceId); + DeviceStatusVo queryDeviceStatusById(@Param(value = "deviceId") Integer deviceId); + List selMyWorkDevices(@Param(value = "devType") Integer devType, @Param(value = "userId") Long userId); diff --git a/psdc-business/src/main/java/com/psdc/mapper/PsdcThermometerRtdataMapper.java b/psdc-business/src/main/java/com/psdc/mapper/PsdcThermometerRtdataMapper.java index aae7553..582518f 100644 --- a/psdc-business/src/main/java/com/psdc/mapper/PsdcThermometerRtdataMapper.java +++ b/psdc-business/src/main/java/com/psdc/mapper/PsdcThermometerRtdataMapper.java @@ -23,7 +23,8 @@ public interface PsdcThermometerRtdataMapper{ * @param thermometerRtdataId 主键 * @return 实例对象 */ - PsdcThermometerDataRes queryById(@Param("thermometerRtdataId") Integer thermometerRtdataId); + PsdcThermometerDataRes queryById(@Param("thermometerRtdataId") Integer thermometerRtdataId, + @Param("today") String today); List selWenDu(@Param("devType") Integer devType); diff --git a/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java b/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java index 095052e..f392c0f 100644 --- a/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java @@ -28,6 +28,10 @@ public interface IPsdcDeviceService { */ List queryDeviceStatus(); + + DeviceStatusVo queryDeviceStatusById(Integer deviceId); + + /** * 新增数据 * diff --git a/psdc-business/src/main/java/com/psdc/service/IPsdcElectricHtdataService.java b/psdc-business/src/main/java/com/psdc/service/IPsdcElectricHtdataService.java index ef456fd..855874f 100644 --- a/psdc-business/src/main/java/com/psdc/service/IPsdcElectricHtdataService.java +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcElectricHtdataService.java @@ -15,10 +15,10 @@ public interface IPsdcElectricHtdataService { Map selTotalElectricityInfo(); - List selThisHourUseElectric(); + List selThisHourUseElectric(Integer deviceId); - List selDcglThisHourUseElectric(); + List selDcglThisHourUseElectric(Integer deviceId); - List selDcglThisDayUseElectric(); + List selDcglThisDayUseElectric(Integer deviceId); } diff --git a/psdc-business/src/main/java/com/psdc/service/IPsdcElectricRtdataService.java b/psdc-business/src/main/java/com/psdc/service/IPsdcElectricRtdataService.java index c754fc7..8a0f224 100644 --- a/psdc-business/src/main/java/com/psdc/service/IPsdcElectricRtdataService.java +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcElectricRtdataService.java @@ -12,6 +12,6 @@ import com.psdc.entity.res.PsdcDevicePowerRes; */ public interface IPsdcElectricRtdataService { - PsdcDevicePowerRes queryById(); + PsdcDevicePowerRes queryById(Integer deviceId); } diff --git a/psdc-business/src/main/java/com/psdc/service/IPsdcThermometerHtdataService.java b/psdc-business/src/main/java/com/psdc/service/IPsdcThermometerHtdataService.java index 9f9ee84..5450247 100644 --- a/psdc-business/src/main/java/com/psdc/service/IPsdcThermometerHtdataService.java +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcThermometerHtdataService.java @@ -1,9 +1,12 @@ package com.psdc.service; import com.psdc.core.domain.AjaxResult; -import com.psdc.entity.PsdcDevicePowerHdata96; +import com.psdc.entity.PsdcThermometerHtdata; import com.psdc.entity.res.PsdcDevicePowerRes; +import java.util.List; +import java.util.Map; + /** * @Author:戴仕崑 @@ -19,8 +22,10 @@ public interface IPsdcThermometerHtdataService { AjaxResult sel8WnDu(); - PsdcDevicePowerRes selTotalElectricityInfo(); + PsdcDevicePowerRes selTotalElectricityInfo(Integer deviceId); + + Map selTodayThermometerById(Integer deviceId); - AjaxResult selDzglWenDu(); + AjaxResult selDzglWenDu(Integer deviceId); } diff --git a/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java b/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java index 111f7ab..d81fc2d 100644 --- a/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java @@ -40,6 +40,8 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService{ return psdcDeviceMapper.queryById(deviceId); } + + /** * 根据用户id查询设备列表 * @return @@ -57,6 +59,11 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService{ }).collect(Collectors.toList()); } + @Override + public DeviceStatusVo queryDeviceStatusById(Integer deviceId) { + return psdcDeviceMapper.queryDeviceStatusById(deviceId); + } + /** * 新增数据 * diff --git a/psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricHtdataServiceImpl.java b/psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricHtdataServiceImpl.java index 7b2ca77..083ca21 100644 --- a/psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricHtdataServiceImpl.java +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricHtdataServiceImpl.java @@ -47,8 +47,8 @@ public class PsdcElectricHtdataServiceImpl implements IPsdcElectricHtdataService * @return */ @Override - public List selThisHourUseElectric() { - return electricHtdataMapper.selThisHourUseElectric(13, df.format(new Date())); + public List selThisHourUseElectric(Integer deviceId) { + return electricHtdataMapper.selThisHourUseElectric(deviceId, df.format(new Date())); } /** @@ -56,16 +56,16 @@ public class PsdcElectricHtdataServiceImpl implements IPsdcElectricHtdataService * @return */ @Override - public List selDcglThisHourUseElectric() { - return electricHtdataMapper.selThisHourUseElectric(1, df.format(new Date())); + public List selDcglThisHourUseElectric(Integer deviceId) { + return electricHtdataMapper.selThisHourUseElectric(deviceId, df.format(new Date())); } /** * 电磁锅炉查询月用电量 * @return */ @Override - public List selDcglThisDayUseElectric() { - return electricHtdataMapper.selThisDayUseElectric(1, df.format(new Date()).substring(0,7)); + public List selDcglThisDayUseElectric(Integer deviceId) { + return electricHtdataMapper.selThisDayUseElectric(deviceId, df.format(new Date()).substring(0,7)); } diff --git a/psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricRtdataServiceImpl.java b/psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricRtdataServiceImpl.java index 45cadce..0e8bb6a 100644 --- a/psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricRtdataServiceImpl.java +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricRtdataServiceImpl.java @@ -36,11 +36,11 @@ public class PsdcElectricRtdataServiceImpl implements IPsdcElectricRtdataService * @return */ @Override - public PsdcDevicePowerRes queryById() { + public PsdcDevicePowerRes queryById(Integer deviceId) { long userId = SecurityUtils.getUserId(); Date date = new Date(); - PsdcDevicePowerRes devicePowerRes = electricRtdataMapper.queryById(1, sdf.format(date)); - PsdcDevicePowerHdata96 hdata96 = devicePowerHdata96Mapper.queryById(userId, 13, sdf2.format(date)); + PsdcDevicePowerRes devicePowerRes = electricRtdataMapper.queryById(deviceId, sdf.format(date)); + PsdcDevicePowerHdata96 hdata96 = devicePowerHdata96Mapper.queryById(userId, deviceId, sdf2.format(date)); devicePowerRes.setTodayUsePowers(hdata96); return devicePowerRes; } diff --git a/psdc-business/src/main/java/com/psdc/service/impl/PsdcThermometerHtdataServiceImpl.java b/psdc-business/src/main/java/com/psdc/service/impl/PsdcThermometerHtdataServiceImpl.java index 6041a52..453ace8 100644 --- a/psdc-business/src/main/java/com/psdc/service/impl/PsdcThermometerHtdataServiceImpl.java +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcThermometerHtdataServiceImpl.java @@ -48,12 +48,12 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS Date date = new Date(); List ary = new ArrayList(); + String tb = sdf.format(date) + " 00:00:00"; // 今天开始检索时间 + String te = sdf.format(date) + " 23:59:59"; // 今天结束检索时间 + for (Integer d : devList) { // 查询今日实时温度数据 - PsdcThermometerDataRes dataRes = psdcThermometerRtdataMapper.queryById(d); - - String tb = sdf.format(date) + " 00:00:00"; // 今天开始检索时间 - String te = sdf.format(date) + " 23:59:59"; // 今天结束检索时间 + PsdcThermometerDataRes dataRes = psdcThermometerRtdataMapper.queryById(d, sdf.format(date)); List listIn = new ArrayList(); // 今天历史进水温度集合 List listOut = new ArrayList(); // 今天历史出水温度集合 @@ -63,7 +63,9 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS // 循环遍历今天历史数据对象集合 List htdata = psdcThermometerHtdataMapper.selTodayThermometer(d, tb, te); for (PsdcThermometerHtdata h : htdata){ - listTemp.add(h.getThermometerValue()); + if (null != h.getThermometerValue()){ + listTemp.add(h.getThermometerValue()); + } if (null != h.getThermometerValueIn()){ listIn.add(h.getThermometerValueIn()); } @@ -95,12 +97,63 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS } @Override - public PsdcDevicePowerRes selTotalElectricityInfo() { + public PsdcDevicePowerRes selTotalElectricityInfo(Integer deviceId) { long userId = SecurityUtils.getUserId(); - PsdcDevicePowerHdata96 hdata96 = psdcDevicePowerHdata96Mapper.queryById(userId, 13, sdf2.format(new Date())); - PsdcDevicePowerRes rtdata = psdcElectricRtdataMapper.queryById(13, sdf.format(new Date())); - rtdata.setTodayUsePowers(hdata96); - return rtdata; + PsdcDevicePowerHdata96 hdata96 = psdcDevicePowerHdata96Mapper.queryById(userId, deviceId, sdf2.format(new Date())); + PsdcDevicePowerRes rtdata = psdcElectricRtdataMapper.queryById(deviceId, sdf.format(new Date())); + + if (null != hdata96 && null != rtdata){ + rtdata.setTodayUsePowers(hdata96); + return rtdata; + } else { + return null; + } + } + + @Override + public Map selTodayThermometerById(Integer deviceId) { + Date date = new Date(); + String tb = sdf.format(date) + " 00:00:00"; // 今天开始检索时间 + String te = sdf.format(date) + " 23:59:59"; // 今天结束检索时间 + Map map = new HashMap(); + // 查询该设备实时温度数据 + PsdcThermometerDataRes dataRes = psdcThermometerRtdataMapper.queryById(deviceId, sdf.format(date)); + List htdata = psdcThermometerHtdataMapper.selTodayThermometer(deviceId, tb, te); + + if (null == dataRes || null == htdata){ + return null; + } + + List listIn = new ArrayList(); // 今天历史进水温度集合 + List listOut = new ArrayList(); // 今天历史出水温度集合 + List listTemp = new ArrayList(); // 今天历史温度集合 + List times = new ArrayList(); // 时间轴 + + // 循环遍历今天历史数据对象集合 + + for (PsdcThermometerHtdata h : htdata){ + if (null != h.getThermometerValue()){ + listTemp.add(h.getThermometerValue()); + } + if (null != h.getThermometerValueIn()){ + listIn.add(h.getThermometerValueIn()); + } + if (null != h.getThermometerValueOut()){ + listOut.add(h.getThermometerValueOut()); + } + + String t = h.getUpdateTime().split(" ")[1].substring(0,5); + times.add(t); + } + map.put("deviceId", dataRes.getDeviceId()); + map.put("deviceName", dataRes.getDeviceName()); + map.put("deviceTemp", dataRes.getThermometerValue()); + map.put("tempIn", listIn); + map.put("tempOut", listOut); + map.put("temps", listTemp); + map.put("times", times); + + return map; } /** @@ -108,15 +161,16 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS * @return */ @Override - public AjaxResult selDzglWenDu() { + public AjaxResult selDzglWenDu(Integer deviceId) { Date date = new Date(); String tb = sdf.format(date) + " 00:00:00"; // 今天开始检索时间 String te = sdf.format(date) + " 23:59:59"; // 今天结束检索时间 List listIn = new ArrayList(); // 今天历史进水温度集合 List listOut = new ArrayList(); // 今天历史出水温度集合 + List listTemps = new ArrayList(); // 今天历史温度集合 List times = new ArrayList(); // 时间轴 // 循环遍历今天历史数据对象集合 - List htdata = psdcThermometerHtdataMapper.selTodayThermometer(1, tb, te); + List htdata = psdcThermometerHtdataMapper.selTodayThermometer(deviceId, tb, te); for (PsdcThermometerHtdata h : htdata){ if (null != h.getThermometerValueIn()){ listIn.add(h.getThermometerValueIn()); @@ -124,10 +178,13 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS if (null != h.getThermometerValueOut()){ listOut.add(h.getThermometerValueOut()); } + if (null != h.getThermometerValue()){ + listTemps.add(h.getThermometerValue()); + } String t = h.getUpdateTime().split(" ")[1].substring(0,5); times.add(t); } - AjaxResult ajax = AjaxResult.success().put("tempIn", listIn).put("tempOut", listOut).put("times", times); + AjaxResult ajax = AjaxResult.success().put("tempIn", listIn).put("tempOut", listOut).put("temps", listTemps).put("times", times); return ajax; } diff --git a/psdc-business/src/main/resources/mapper/business/PsdcDeviceMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcDeviceMapper.xml index aae305e..2ed7128 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcDeviceMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcDeviceMapper.xml @@ -21,6 +21,20 @@ + + + + + + + + + + + diff --git a/psdc-business/src/main/resources/mapper/business/PsdcThermometerRtdataMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcThermometerRtdataMapper.xml index e2e6f51..e32493c 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcThermometerRtdataMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcThermometerRtdataMapper.xml @@ -24,7 +24,14 @@ Select pd.device_id, pd.device_name, pd.device_runstatus, ptr.thermometer_value, ptr.thermometer_value_in, ptr.thermometer_value_out From psdc_device pd Left Join psdc_thermometer_rtdata ptr On ptr.device_id = pd.device_id - Where ptr.device_id = #{thermometerRtdataId} + + + ptr.device_id = #{thermometerRtdataId} + + + And DATE_FORMAT(ptr.update_time,'%Y-%m-%d') = #{today} + +