diff --git a/psdc-business/src/main/java/com/psdc/entity/res/PsdcDevicePowerRes.java b/psdc-business/src/main/java/com/psdc/entity/res/PsdcDevicePowerRes.java index bb88ae7..3c7ae15 100644 --- a/psdc-business/src/main/java/com/psdc/entity/res/PsdcDevicePowerRes.java +++ b/psdc-business/src/main/java/com/psdc/entity/res/PsdcDevicePowerRes.java @@ -21,6 +21,30 @@ public class PsdcDevicePowerRes { * 总有功功率 */ private Double totp; + /** + * 今日用电量 + */ + private Double eDay; + /** + * 本月用电量 + */ + private Double eMonth; + /** + * 当前温度 + */ + private Double temp; + /** + * 目前实时进水温度 + */ + private Double tempIn; + /** + * 目前实时出水温度 + */ + private Double tempOut; + /** + * 设备目前是否运行 + */ + private Integer runStatus; /** * 当前总有功电能 */ diff --git a/psdc-business/src/main/java/com/psdc/entity/res/TodayThisHourUseElectricInfoRes.java b/psdc-business/src/main/java/com/psdc/entity/res/TodayThisHourUseElectricInfoRes.java new file mode 100644 index 0000000..eb9e991 --- /dev/null +++ b/psdc-business/src/main/java/com/psdc/entity/res/TodayThisHourUseElectricInfoRes.java @@ -0,0 +1,27 @@ +package com.psdc.entity.res; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:戴仕崑 + * @Project:psdc + * @Filename:TodayThisHourUseElectricInfoRes + * @Date:2023/5/10 15:20 + * @Version 1.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class TodayThisHourUseElectricInfoRes { + + Integer id; // 序号 + String hour; // 当前小时间段 + Integer deviceId; // 设备Id + String simDate; // 更新日期 + String upDateTime; // 更新时间 + Double useElectric; // 该小时间段用电量 + + +} diff --git a/psdc-business/src/main/java/com/psdc/mapper/PsdcElectricHtdataMapper.java b/psdc-business/src/main/java/com/psdc/mapper/PsdcElectricHtdataMapper.java index 0fcbb0a..9e5cf35 100644 --- a/psdc-business/src/main/java/com/psdc/mapper/PsdcElectricHtdataMapper.java +++ b/psdc-business/src/main/java/com/psdc/mapper/PsdcElectricHtdataMapper.java @@ -3,6 +3,7 @@ package com.psdc.mapper; import java.util.List; import com.psdc.entity.PsdcElectricHtdata; +import com.psdc.entity.res.TodayThisHourUseElectricInfoRes; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.data.domain.Pageable; @@ -23,8 +24,15 @@ public interface PsdcElectricHtdataMapper{ */ PsdcElectricHtdata queryById(Integer electricHtdataId); + List selThisHourUseElectric(@Param(value = "deviceId") Integer deviceId, + @Param(value = "upDate") String upDate); + + List selThisDayUseElectric(@Param(value = "deviceId") Integer deviceId, + @Param(value = "upDate") String upDate); + Double selTodayUseEnergy(@Param(value = "deviceId") Integer deviceId, - @Param(value = "updateTime") String updateTime); + @Param(value = "beginTime") String begin_time, + @Param(value = "endTime") String end_time); /** diff --git a/psdc-business/src/main/java/com/psdc/mapper/PsdcElectricRtdataMapper.java b/psdc-business/src/main/java/com/psdc/mapper/PsdcElectricRtdataMapper.java index 3912642..02c8689 100644 --- a/psdc-business/src/main/java/com/psdc/mapper/PsdcElectricRtdataMapper.java +++ b/psdc-business/src/main/java/com/psdc/mapper/PsdcElectricRtdataMapper.java @@ -17,12 +17,12 @@ import org.springframework.data.domain.Pageable; @Mapper public interface PsdcElectricRtdataMapper{ /** - * 通过ID查询单条数据 - * - * @param electricRtdataId 主键 + * 通过ID查询单条数据 + * @param electricId 主键 * @return 实例对象 */ - PsdcDevicePowerRes queryById(@Param("electricRtdataId") Integer electricRtdataId); + PsdcDevicePowerRes queryById(@Param("electricId") Integer electricId, + @Param("upDate") String upDate); /** * 分页查询指定行数据 * diff --git a/psdc-business/src/main/java/com/psdc/mapper/PsdcThermometerHtdataMapper.java b/psdc-business/src/main/java/com/psdc/mapper/PsdcThermometerHtdataMapper.java index 1d75f7e..7737a2f 100644 --- a/psdc-business/src/main/java/com/psdc/mapper/PsdcThermometerHtdataMapper.java +++ b/psdc-business/src/main/java/com/psdc/mapper/PsdcThermometerHtdataMapper.java @@ -34,12 +34,10 @@ public interface PsdcThermometerHtdataMapper{ List queryAllByLimit(PsdcThermometerHtdata psdcThermometerHtdata, @Param("pageable") Pageable pageable); - List selTodayThermometer(@Param(value = "temp") String temp, - @Param(value = "deviceId") Integer deviceId, - @Param(value = "updateTime") String updateTime); + List selTodayThermometer(@Param(value = "deviceId") Integer deviceId, + @Param(value = "beginTime") String begin_time, + @Param(value = "endTime") String end_time); - List selTodayThermometer2(@Param(value = "deviceId") Integer deviceId, - @Param(value = "updateTime") String updateTime); /** * 统计总行数 diff --git a/psdc-business/src/main/java/com/psdc/service/IPsdcElectricHtdataService.java b/psdc-business/src/main/java/com/psdc/service/IPsdcElectricHtdataService.java new file mode 100644 index 0000000..ef456fd --- /dev/null +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcElectricHtdataService.java @@ -0,0 +1,24 @@ +package com.psdc.service; + +import java.util.List; +import java.util.Map; + +/** + * @Author:戴仕崑 + * @Project:psdc + * @Filename:IPsdcElectricHtdata + * @Date:2023/5/10 9:00 + * @Version 1.0 + */ +public interface IPsdcElectricHtdataService { + + + Map selTotalElectricityInfo(); + + List selThisHourUseElectric(); + + List selDcglThisHourUseElectric(); + + List selDcglThisDayUseElectric(); + +} diff --git a/psdc-business/src/main/java/com/psdc/service/IPsdcElectricRtdataService.java b/psdc-business/src/main/java/com/psdc/service/IPsdcElectricRtdataService.java new file mode 100644 index 0000000..c754fc7 --- /dev/null +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcElectricRtdataService.java @@ -0,0 +1,17 @@ +package com.psdc.service; + +import com.psdc.entity.res.PsdcDevicePowerRes; + + +/** + * @Author:戴仕崑 + * @Project:psdc + * @Filename:IPsdcElectricRtdata + * @Date:2023/5/10 9:00 + * @Version 1.0 + */ +public interface IPsdcElectricRtdataService { + + PsdcDevicePowerRes queryById(); + +} 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 93b816e..9f9ee84 100644 --- a/psdc-business/src/main/java/com/psdc/service/IPsdcThermometerHtdataService.java +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcThermometerHtdataService.java @@ -1,8 +1,9 @@ package com.psdc.service; import com.psdc.core.domain.AjaxResult; +import com.psdc.entity.PsdcDevicePowerHdata96; +import com.psdc.entity.res.PsdcDevicePowerRes; -import java.util.List; /** * @Author:戴仕崑 @@ -18,6 +19,8 @@ public interface IPsdcThermometerHtdataService { AjaxResult sel8WnDu(); - AjaxResult selTotalElectricityInfo(); + PsdcDevicePowerRes selTotalElectricityInfo(); + + AjaxResult selDzglWenDu(); } 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 new file mode 100644 index 0000000..7b2ca77 --- /dev/null +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricHtdataServiceImpl.java @@ -0,0 +1,90 @@ +package com.psdc.service.impl; + +import com.psdc.mapper.PsdcElectricHtdataMapper; +import com.psdc.service.IPsdcElectricHtdataService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @Author:戴仕崑 + * @Project:psdc + * @Filename:PsdcElectricRtdataServiceImpl + * @Date:2023/5/10 9:01 + * @Version 1.0 + */ +@Service +public class PsdcElectricHtdataServiceImpl implements IPsdcElectricHtdataService { + + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + + @Resource + PsdcElectricHtdataMapper electricHtdataMapper; + + /** + * 总电表查询 + * @return + */ + @Override + public Map selTotalElectricityInfo() { + Date date = new Date(); + Map map = new HashMap<>(); + String tb = df.format(date) + " 00:00:00"; // 今天开始检索时间 + String te = df.format(date) + " 23:59:59"; // 今天结束检索时间 + String mb = benYue()[0] + " 00:00:00"; // 本月开始检索时间 + String me = benYue()[1] + " 23:59:59"; // 本月结束检索时间 + Double todayUseElectric = electricHtdataMapper.selTodayUseEnergy(13, tb, te);// 总电表今日用电量 + Double toMonthUseElectric = electricHtdataMapper.selTodayUseEnergy(13, mb, me);// 总电表本月用电量 + map.put("eday", todayUseElectric); + map.put("emonth", toMonthUseElectric); + return map; + } + + /** + * 总电表查询日用电量集合 + * @return + */ + @Override + public List selThisHourUseElectric() { + return electricHtdataMapper.selThisHourUseElectric(13, df.format(new Date())); + } + + /** + * 电磁锅炉查询日用电量 + * @return + */ + @Override + public List selDcglThisHourUseElectric() { + return electricHtdataMapper.selThisHourUseElectric(1, df.format(new Date())); + } + /** + * 电磁锅炉查询月用电量 + * @return + */ + @Override + public List selDcglThisDayUseElectric() { + return electricHtdataMapper.selThisDayUseElectric(1, df.format(new Date()).substring(0,7)); + } + + + private String[] benYue(){ + String startDay = df.format(new Date()); + String[] s1 = new String[2]; + + Calendar calendar = Calendar.getInstance(); + calendar.set(Integer.parseInt(startDay.substring(0,4)), Integer.parseInt(startDay.substring(5,7)) - 1, 1); + String firstDayOfMonth = df.format(calendar.getTime()); + s1[0] = firstDayOfMonth; + // 这里先设置要获取月份的下月的第一天 + calendar.set(Integer.parseInt(startDay.substring(0,4)), Integer.parseInt(startDay.substring(5,7)), 1); + // 这里将日期值减去一天,从而获取到要求的月份最后一天 + calendar.add(Calendar.DATE, -1); + String lastDayOfMonth = df.format(calendar.getTime()); + s1[1] = lastDayOfMonth; + + return s1; + } + +} 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 new file mode 100644 index 0000000..45cadce --- /dev/null +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricRtdataServiceImpl.java @@ -0,0 +1,47 @@ +package com.psdc.service.impl; + +import com.psdc.entity.PsdcDevicePowerHdata96; +import com.psdc.entity.res.PsdcDevicePowerRes; +import com.psdc.mapper.PsdcDevicePowerHdata96Mapper; +import com.psdc.mapper.PsdcElectricRtdataMapper; +import com.psdc.service.IPsdcElectricRtdataService; +import com.psdc.utils.SecurityUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * @Author:戴仕崑 + * @Project:psdc + * @Filename:PsdcElectricRtdataServiceImpl + * @Date:2023/5/10 16:08 + * @Version 1.0 + */ +@Service +public class PsdcElectricRtdataServiceImpl implements IPsdcElectricRtdataService { + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd"); + + @Resource + PsdcElectricRtdataMapper electricRtdataMapper; + + @Resource + PsdcDevicePowerHdata96Mapper devicePowerHdata96Mapper; + + /** + * 电磁锅炉查询 + * @return + */ + @Override + public PsdcDevicePowerRes queryById() { + 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)); + 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 ecd78c9..6041a52 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 @@ -2,7 +2,7 @@ package com.psdc.service.impl; import com.psdc.core.domain.AjaxResult; import com.psdc.entity.PsdcDevicePowerHdata96; -import com.psdc.entity.PsdcElectricRtdata; +import com.psdc.entity.PsdcThermometerHtdata; import com.psdc.entity.res.PsdcDevicePowerRes; import com.psdc.entity.res.PsdcThermometerDataRes; import com.psdc.mapper.*; @@ -49,13 +49,33 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS List ary = new ArrayList(); for (Integer d : devList) { - + // 查询今日实时温度数据 PsdcThermometerDataRes dataRes = psdcThermometerRtdataMapper.queryById(d); - List listIn = psdcThermometerHtdataMapper.selTodayThermometer("thermometer_value_in", d, sdf.format(date)); - List listOut = psdcThermometerHtdataMapper.selTodayThermometer("thermometer_value_out", d, sdf.format(date)); - List listTemp = psdcThermometerHtdataMapper.selTodayThermometer("thermometer_value", d, sdf.format(date)); - List times = psdcThermometerHtdataMapper.selTodayThermometer2(d, sdf.format(date)); - Double useEnergy = psdcElectricHtdataMapper.selTodayUseEnergy(d, sdf.format(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 listTemp = new ArrayList(); // 今天历史温度集合 + List times = new ArrayList(); // 时间轴 + + // 循环遍历今天历史数据对象集合 + List htdata = psdcThermometerHtdataMapper.selTodayThermometer(d, tb, te); + for (PsdcThermometerHtdata h : htdata){ + 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); + } + + Double useEnergy = psdcElectricHtdataMapper.selTodayUseEnergy(d, tb, te); dataRes.setTimeList(times); dataRes.setTempTodayList(listTemp); dataRes.setTempInTodayList(listIn); @@ -75,12 +95,40 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS } @Override - public AjaxResult selTotalElectricityInfo() { + public PsdcDevicePowerRes selTotalElectricityInfo() { long userId = SecurityUtils.getUserId(); PsdcDevicePowerHdata96 hdata96 = psdcDevicePowerHdata96Mapper.queryById(userId, 13, sdf2.format(new Date())); - PsdcDevicePowerRes rtdata = psdcElectricRtdataMapper.queryById(13); + PsdcDevicePowerRes rtdata = psdcElectricRtdataMapper.queryById(13, sdf.format(new Date())); rtdata.setTodayUsePowers(hdata96); - return AjaxResult.success(rtdata); + return rtdata; + } + + /** + * 查询电磁锅炉进水、出水温度 + * @return + */ + @Override + public AjaxResult selDzglWenDu() { + 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 times = new ArrayList(); // 时间轴 + // 循环遍历今天历史数据对象集合 + List htdata = psdcThermometerHtdataMapper.selTodayThermometer(1, tb, te); + for (PsdcThermometerHtdata h : htdata){ + 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); + } + AjaxResult ajax = AjaxResult.success().put("tempIn", listIn).put("tempOut", listOut).put("times", times); + return ajax; } diff --git a/psdc-business/src/main/resources/mapper/business/PsdcElectricHtdataMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcElectricHtdataMapper.xml index f018226..b6c1d9a 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcElectricHtdataMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcElectricHtdataMapper.xml @@ -45,6 +45,15 @@ + + + + + + + + + + + + + + + + - Select TotP, TotWh From psdc_electric_rtdata - Where device_id = #{electricRtdataId} + Select TotP, TotWh, ptr.thermometer_value, ptr.thermometer_value_in, ptr.thermometer_value_out, pd.device_runstatus + From psdc_device pd + Left Join psdc_electric_rtdata per On per.device_id = pd.device_id + Left Join psdc_thermometer_rtdata ptr On ptr.device_id = pd.device_id + + pd.device_id = #{electricId} + + + And DATE_FORMAT(per.update_time,'%Y-%m-%d') = #{upDate} + + + And DATE_FORMAT(per.update_time,'%Y-%m-%d') = #{upDate} + diff --git a/psdc-business/src/main/resources/mapper/business/PsdcThermometerHtdataMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcThermometerHtdataMapper.xml index 227bc85..b3a203d 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcThermometerHtdataMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcThermometerHtdataMapper.xml @@ -18,30 +18,23 @@ where thermometer_htdata_id = #{thermometerHtdataId} - + Select thermometer_htdata_id,device_id,thermometer_value,thermometer_value_in,thermometer_value_out,update_time From psdc_thermometer_htdata device_id = #{deviceId} - - And update_time Like concat('%',#{updateTime},'%') - - - - - +