From 6191827dac5d8f1338ee43afeb54e87fc3f7afe0 Mon Sep 17 00:00:00 2001 From: XMnhwj_BackTechnologyDevelopment <3512363680@qq.com> Date: Thu, 20 Jul 2023 15:45:09 +0800 Subject: [PATCH] =?UTF-8?q?2023-07-20=2015:38:46=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=AD=96=E7=95=A5=E6=89=A7=E8=A1=8C=E4=B8=8B?= =?UTF-8?q?=E5=8F=91=E8=AE=BE=E5=A4=87=E8=B0=83=E6=8E=A7=E9=80=BB=E8=BE=91?= =?UTF-8?q?!=202023-07-20=2015:42:07=20=E5=AE=8C=E6=88=90=E8=83=BD?= =?UTF-8?q?=E8=80=97=E5=AF=B9=E6=AF=94=E7=AD=96=E7=95=A5=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E5=89=8D=E3=80=81=E5=90=8E=E5=AE=A4=E5=86=85=E6=B8=A9=E5=BA=A6?= =?UTF-8?q?=E6=9B=B2=E7=BA=BF=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=EF=BC=81?= =?UTF-8?q?=202023-07-20=2015:45:02=20=20=E4=BC=98=E5=8C=96=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E6=B8=A9=E5=BA=A6=E6=9B=B2=E7=BA=BF=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=EF=BC=8C=E6=95=B0=E6=8D=AE=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E4=BE=9D=E6=97=A7=E4=B8=BA1min=E5=85=A5=E5=BA=931?= =?UTF-8?q?=E6=9D=A1=E6=95=B0=E6=8D=AE=EF=BC=8C=E8=80=8C=E5=9C=A8=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E9=A1=B5=E9=9D=A2=E4=BB=A5=E9=97=B4=E9=9A=9415mins?= =?UTF-8?q?=E7=9A=84=E6=96=B9=E5=BC=8F=E6=98=BE=E7=A4=BA=E6=B8=A9=E5=BA=A6?= =?UTF-8?q?=E6=9B=B2=E7=BA=BF=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/psdc/entity/PsdcStrategyLog.java | 5 +- .../com/psdc/mapper/PsdcDeviceMapper.java | 4 + .../psdc/mapper/PsdcElectricHtdataMapper.java | 4 + .../psdc/mapper/PsdcStrategyLogMapper.java | 3 + .../mapper/PsdcThermometerHtdataMapper.java | 4 + .../java/com/psdc/mqtt/MyMQTTCallback.java | 2 +- .../psdc/mqtt/savedata/DataAndPowerSave.java | 12 ++- .../service/impl/PsdcStrategyLogService.java | 67 +++++++++++-- .../PsdcThermometerHtdataServiceImpl.java | 97 +++++++++++++------ .../mapper/business/PsdcDeviceMapper.xml | 15 +++ .../business/PsdcElectricHtdataMapper.xml | 16 +++ .../mapper/business/PsdcStrategyLogMapper.xml | 8 ++ .../business/PsdcThermometerHtdataMapper.xml | 18 +++- 13 files changed, 210 insertions(+), 45 deletions(-) diff --git a/psdc-business/src/main/java/com/psdc/entity/PsdcStrategyLog.java b/psdc-business/src/main/java/com/psdc/entity/PsdcStrategyLog.java index 8486ef8..342dcca 100644 --- a/psdc-business/src/main/java/com/psdc/entity/PsdcStrategyLog.java +++ b/psdc-business/src/main/java/com/psdc/entity/PsdcStrategyLog.java @@ -6,8 +6,10 @@ import lombok.NoArgsConstructor; import org.springframework.stereotype.Component; import java.io.Serializable; +import java.util.List; +import java.util.Map; - /** +/** * @author : stone * @date : 2023-6-11 */ @@ -45,6 +47,7 @@ public class PsdcStrategyLog implements Serializable,Cloneable{ private String oneUseEnergy; // 单位时长用电 private Double sceneUseEnergy; // 总用电量 private String runSceneName; // 正在执行步骤名称 + private Map tempInAry; // 室内温度变化曲线 public PsdcStrategyLog(Long strategyCode, String startTime, String allSceneCodes,Integer runtimeStatus, Double inFrontAvgtemp, Double outFrontAvgtemp) { this.strategyCode = strategyCode; 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 9ef115c..79ab043 100644 --- a/psdc-business/src/main/java/com/psdc/mapper/PsdcDeviceMapper.java +++ b/psdc-business/src/main/java/com/psdc/mapper/PsdcDeviceMapper.java @@ -44,6 +44,10 @@ public interface PsdcDeviceMapper{ Integer upDevStatus(@Param(value = "devStatus") Integer devStatus, @Param(value = "devId") Integer devId); + Integer selDevCounts(@Param(value = "userId") Long userId, + @Param(value = "deviceModel") String deviceModel, + @Param(value = "deviceAddress") String deviceAddress); + /** * 分页查询指定行数据 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 39af0d6..01fc8fb 100644 --- a/psdc-business/src/main/java/com/psdc/mapper/PsdcElectricHtdataMapper.java +++ b/psdc-business/src/main/java/com/psdc/mapper/PsdcElectricHtdataMapper.java @@ -35,6 +35,10 @@ public interface PsdcElectricHtdataMapper{ @Param(value = "beginTime") String begin_time, @Param(value = "endTime") String end_time); + Integer selHtCount(@Param(value = "deviceId") Integer deviceId, + @Param(value = "beginTime") String begin_time, + @Param(value = "endTime") String end_time); + /** * 分页查询指定行数据 diff --git a/psdc-business/src/main/java/com/psdc/mapper/PsdcStrategyLogMapper.java b/psdc-business/src/main/java/com/psdc/mapper/PsdcStrategyLogMapper.java index 269afc3..4d9e34d 100644 --- a/psdc-business/src/main/java/com/psdc/mapper/PsdcStrategyLogMapper.java +++ b/psdc-business/src/main/java/com/psdc/mapper/PsdcStrategyLogMapper.java @@ -33,6 +33,9 @@ public interface PsdcStrategyLogMapper { PsdcStrategyLog selMyRunStrategy(@Param("userId") Long userId, @Param("code") Integer status); + List<PsdcStrategyLog> selTodayNewLog(@Param("userId") Long userId, + @Param("code") Integer status); + /** * 新增数据 * 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 93f829f..15edc2d 100644 --- a/psdc-business/src/main/java/com/psdc/mapper/PsdcThermometerHtdataMapper.java +++ b/psdc-business/src/main/java/com/psdc/mapper/PsdcThermometerHtdataMapper.java @@ -42,6 +42,10 @@ public interface PsdcThermometerHtdataMapper{ @Param(value = "beginTime") String begin_time, @Param(value = "endTime") String end_time); + Integer selHtCount(@Param(value = "deviceId") Integer deviceId, + @Param(value = "beginTime") String begin_time, + @Param(value = "endTime") String end_time); + /** * 统计总行数 diff --git a/psdc-business/src/main/java/com/psdc/mqtt/MyMQTTCallback.java b/psdc-business/src/main/java/com/psdc/mqtt/MyMQTTCallback.java index 8523751..b3548f1 100644 --- a/psdc-business/src/main/java/com/psdc/mqtt/MyMQTTCallback.java +++ b/psdc-business/src/main/java/com/psdc/mqtt/MyMQTTCallback.java @@ -83,7 +83,7 @@ public class MyMQTTCallback implements MqttCallback { log.info("实时数据,开始入库!"); // 更新实时数据,历史数据 dataAndPowerSaveBean.saveDevRtData(jsonObject); - } else if ("result".equals(str)) { + } else if ("resulta".equals(str)) { log.info("控制结果数据,开始入库!"); controlResultSave.saveDevRtData(jsonObject); } diff --git a/psdc-business/src/main/java/com/psdc/mqtt/savedata/DataAndPowerSave.java b/psdc-business/src/main/java/com/psdc/mqtt/savedata/DataAndPowerSave.java index 53b97fa..0894e4d 100644 --- a/psdc-business/src/main/java/com/psdc/mqtt/savedata/DataAndPowerSave.java +++ b/psdc-business/src/main/java/com/psdc/mqtt/savedata/DataAndPowerSave.java @@ -64,6 +64,8 @@ public class DataAndPowerSave { String time1 = timestamp.split("T")[1]; int hour = Integer.parseInt(time1.substring(0, 8).split(":")[0]); int min = Integer.parseInt(time1.substring(0, 8).split(":")[1]); + String begin = date1 + " " + time1.substring(0,5) + ":00"; + String end = date1 + " " + time1.substring(0,5) + ":59"; String upDateTime = date1 + " " + time1.substring(0, 8); // 根据设备id获取数据,查看设备库中是否有该设备,若没有该设备,则不对该设备的数据进行实时数据库入库操作 @@ -113,7 +115,10 @@ public class DataAndPowerSave { peht.setTotp(P); peht.setTotwh(TotWh); peht.setUseDeiffen(useEnergy); - electricHtDataMapper.insert(peht); + int count5 = electricHtDataMapper.selHtCount(deviceId, begin, end); + if (count5 < 1){ + electricHtDataMapper.insert(peht); + } // 根据设备id查询设备功率表中该设备的条数 int count3 = devicePowerHtData96Mapper.todayPowerCount(deviceId, samDate); @@ -151,7 +156,10 @@ public class DataAndPowerSave { ptht.setThermometerValue(NowTemp); ptht.setThermometerValueIn(InTemp); ptht.setThermometerValueOut(OutTemp); - thermometerHtDataMapper.insert(ptht); + int count6 = thermometerHtDataMapper.selHtCount(deviceId, begin, end); + if (count6 < 1){ + thermometerHtDataMapper.insert(ptht); + } } deviceMapper.upDevStatus(devStatus(devStatus), deviceId); diff --git a/psdc-business/src/main/java/com/psdc/service/impl/PsdcStrategyLogService.java b/psdc-business/src/main/java/com/psdc/service/impl/PsdcStrategyLogService.java index ea0dfe5..04ad251 100644 --- a/psdc-business/src/main/java/com/psdc/service/impl/PsdcStrategyLogService.java +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcStrategyLogService.java @@ -1,13 +1,9 @@ package com.psdc.service.impl; -import com.psdc.entity.PsdcScene; -import com.psdc.entity.PsdcStrategy; -import com.psdc.entity.PsdcStrategyLog; +import com.psdc.entity.*; +import com.psdc.entity.res.PsdcThermometerDataRes; import com.psdc.entity.vo.SceneVo; -import com.psdc.mapper.PsdcElectricHtdataMapper; -import com.psdc.mapper.PsdcSceneMapper; -import com.psdc.mapper.PsdcStrategyLogMapper; -import com.psdc.mapper.PsdcStrategyMapper; +import com.psdc.mapper.*; import com.psdc.service.IPsdcStrategyLogService; import com.psdc.utils.SecurityUtils; import org.springframework.stereotype.Service; @@ -16,7 +12,7 @@ import javax.annotation.Resource; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.List; +import java.util.*; /** * @Author:戴仕崑 @@ -37,6 +33,12 @@ public class PsdcStrategyLogService implements IPsdcStrategyLogService { PsdcSceneMapper sceneMapper; @Resource PsdcElectricHtdataMapper electricHtDataMapper; + @Resource + PsdcThermometerHtdataMapper thermometerHtDataMapper; + @Resource + PsdcThermometerRtdataMapper thermometerRtDataMapper; + @Resource + PsdcDeviceMapper deviceMapper; DecimalFormat df = new DecimalFormat("#.00"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -65,8 +67,6 @@ public class PsdcStrategyLogService implements IPsdcStrategyLogService { Integer deviceId = sv.getDeviceId(); Double energy = electricHtDataMapper.selTodayUseEnergy(deviceId, psl.getStartTime(), psl.getEndTime()); strategyUseEnergy = strategyUseEnergy + energy; -// System.out.println("\n策略名称: " + psl.getStrategyName() + ",步骤名称: " + sv.getSceneName() -// + ",设备名称: " + sv.getDeviceName() + ",当前用能: " + energy + ",目前累计用能: " + strategyUseEnergy + "。\n"); } @@ -91,10 +91,57 @@ public class PsdcStrategyLogService implements IPsdcStrategyLogService { psl.setOneUseEnergy(s); } + + Date date ; + try { + date = sdf.parse(psl.getStartTime()); + } catch (ParseException e) { + e.printStackTrace(); + date = new Date(); + } + long twoHour = date.getTime() - 7200000; + date.setTime(twoHour); + String tb = sdf.format(date); + long tomorrow = twoHour + 86400000; + date.setTime(tomorrow); + String te = sdf.format(date); + System.out.println("策略名称: " + psl.getStrategyName() + ",开始=" + tb + ",结束=" + te + "。\n"); + Integer countIn = deviceMapper.selDevCounts(userId, "温度传感器", "室内"); + List<Double> listTempIn = new ArrayList(); // 今天室内历史温度集合 + List<String> timesIn = new ArrayList(); // 今天室内历史温度时间轴 + Map<String, Object> map = new HashMap<>(); + List<PsdcThermometerHtdata> tempInList = thermometerHtDataMapper.selTodayThermometer2("室内", tb, te); + getaDouble(countIn, listTempIn, timesIn, tempInList); + map.put("listTempIn", listTempIn); + map.put("timesIn", timesIn); + psl.setTempInAry(map); + } return logList; } + private void getaDouble(int count, List<Double> listTemp, List<String> times, List<PsdcThermometerHtdata> tempList) { + if (tempList.size() == 0) { + count = 1; + } + try { + long time1 = 0; + for (int i = 0; i < tempList.size(); i++) { + PsdcThermometerHtdata scr1 = tempList.get(i); + long time2 = sdf.parse(scr1.getUpdateTime()).getTime(); + long time3 = time2 - time1; + if(time3 >= 900000){ + Double evIn = scr1.getThermometerValue() / count; + listTemp.add(Double.parseDouble(df.format(evIn))); + times.add(scr1.getUpdateTime().split(" ")[1].substring(0,5)); + time1 = sdf.parse(scr1.getUpdateTime()).getTime(); + } + } + } catch (Exception e){ + e.printStackTrace(); + } + } + @Override public PsdcStrategyLog selMyNewLog(Long code) { return strategyLogMapper.selMyNewLog(SecurityUtils.getUserId(), code); 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 1eb49fa..180aac1 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 @@ -12,6 +12,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.DecimalFormat; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -41,6 +42,7 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH"); + SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 DecimalFormat df = new DecimalFormat("#.00"); @Override @@ -67,19 +69,30 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS // 循环遍历今天历史数据对象集合 List<PsdcThermometerHtdata> htdata = psdcThermometerHtdataMapper.selTodayThermometer(d, tb, te); - 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()); + try { + long time1 = 0; + for (int i = 0; i < htdata.size(); i++) { + PsdcThermometerHtdata h = htdata.get(i); + long time2 = sdf4.parse(h.getUpdateTime()).getTime(); + long time3 = time2 - time1; + if(time3 >= 900000){ + 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); + time1 = sdf4.parse(h.getUpdateTime()).getTime(); + } } - - String t = h.getUpdateTime().split(" ")[1].substring(0, 5); - times.add(t); + } catch (Exception e){ + e.printStackTrace(); } Double useEnergy = psdcElectricHtdataMapper.selTodayUseEnergy(d, tb, te); @@ -167,17 +180,29 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS return ary; } - private Double getaDouble(Double houseTemp, int count, List<Double> listTemp, List<String> times, List<PsdcThermometerHtdata> tempList) { + private Double getaDouble(Double houseTemp, int count, List<Double> listTemp, List<String> times, List<PsdcThermometerHtdata> tempList) { if (tempList.size() == 0) { count = 1; } - for (PsdcThermometerHtdata scr1 : tempList) { - Double evIn = scr1.getThermometerValue() / count; - listTemp.add(Double.parseDouble(df.format(evIn))); - times.add(scr1.getUpdateTime().split(" ")[1].substring(0,5)); + try { + long time1 = 0; + for (int i = 0; i < tempList.size(); i++) { + PsdcThermometerHtdata scr1 = tempList.get(i); + long time2 = sdf4.parse(scr1.getUpdateTime()).getTime(); + long time3 = time2 - time1; + if(time3 >= 900000){ + Double evIn = scr1.getThermometerValue() / count; + listTemp.add(Double.parseDouble(df.format(evIn))); + times.add(scr1.getUpdateTime().split(" ")[1].substring(0,5)); + time1 = sdf4.parse(scr1.getUpdateTime()).getTime(); + } + } + houseTemp = houseTemp / count; + return houseTemp; + } catch (Exception e){ + e.printStackTrace(); + return 0.0; } - houseTemp = houseTemp / count; - return houseTemp; } /** @@ -196,18 +221,30 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS List<String> times = new ArrayList(); // 时间轴 // 循环遍历今天历史数据对象集合 List<PsdcThermometerHtdata> htdata = psdcThermometerHtdataMapper.selTodayThermometer(deviceId, tb, te); - for (PsdcThermometerHtdata h : htdata) { - if (null != h.getThermometerValueIn()) { - listIn.add(h.getThermometerValueIn()); - } - if (null != h.getThermometerValueOut()) { - listOut.add(h.getThermometerValueOut()); - } - if (null != h.getThermometerValue()) { - listTemps.add(h.getThermometerValue()); + try { + long time1 = 0; + for (int i = 0; i < htdata.size(); i++) { + PsdcThermometerHtdata h = htdata.get(i); + long time2 = sdf4.parse(h.getUpdateTime()).getTime(); + long time3 = time2 - time1; + if(time3 >= 900000){ + if (null != h.getThermometerValue()) { + listTemps.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); + time1 = sdf4.parse(h.getUpdateTime()).getTime(); + } } - String t = h.getUpdateTime().split(" ")[1].substring(0, 5); - times.add(t); + } catch (Exception e){ + e.printStackTrace(); } 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 5d6e5e1..23ae59e 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcDeviceMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcDeviceMapper.xml @@ -358,6 +358,21 @@ Update psdc_device Set device_status = #{devStatus} Where device_id = ${devId} </update> + <select id="selDevCounts" resultType="java.lang.Integer"> + Select Count(1) From psdc_device + <where> + <if test="userId != null and userId != ''"> + And user_id = ${userId} + </if> + <if test="deviceModel != null and deviceModel != ''"> + And device_model = #{deviceModel} + </if> + <if test="deviceAddress != null and deviceAddress != ''"> + and device_address Like concat('%', #{deviceAddress}, '%') + </if> + </where> + </select> + <!-- 根据设备id查询设备名称--> <select id="queryDeviceNameByDeviceId" resultType="string"> select device_name from psdc_device where device_id = #{deviceId} diff --git a/psdc-business/src/main/resources/mapper/business/PsdcElectricHtdataMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcElectricHtdataMapper.xml index 0211c0f..691e4c7 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcElectricHtdataMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcElectricHtdataMapper.xml @@ -103,6 +103,22 @@ </select> + <select id="selHtCount" resultType="java.lang.Integer"> + Select Count(1) From psdc_electric_htdata + <where> + <if test="deviceId != null and deviceId != ''"> + device_id = #{deviceId} + </if> + <if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 --> + And date_format(update_time,'%Y-%m-%d %H:%i:%S') >= date_format(#{beginTime},'%Y-%m-%d %H:%i:%S') + </if> + <if test="endTime != null and endTime != ''"><!-- 结束时间检索 --> + And date_format(update_time,'%Y-%m-%d %H:%i:%S') <= date_format(#{endTime},'%Y-%m-%d %H:%i:%S') + </if> + </where> + </select> + + <!--分页查询指定行数据--> <select id="queryAllByLimit" resultMap="PsdcElectricHtdataMap"> select diff --git a/psdc-business/src/main/resources/mapper/business/PsdcStrategyLogMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcStrategyLogMapper.xml index ed3d244..ca88568 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcStrategyLogMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcStrategyLogMapper.xml @@ -56,6 +56,14 @@ Order By start_time Desc LIMIT 0,1 </select> + <select id="selTodayNewLog" resultMap="PsdcStrategyLogMap"> + Select psl.strategy_code, strategy_name, MAX(start_time) As start_time From psdc_strategy_log psl + Left Join psdc_strategy ps On ps.strategy_code = psl.strategy_code + Where psl.runtime_status = #{code} And user_id = ${userId} + GROUP BY strategy_code + ORDER BY start_time + </select> + <!-- 更新数据 --> <update id="updateRunRes"> Update psdc_strategy_log diff --git a/psdc-business/src/main/resources/mapper/business/PsdcThermometerHtdataMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcThermometerHtdataMapper.xml index d12f538..97d9a8f 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcThermometerHtdataMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcThermometerHtdataMapper.xml @@ -51,11 +51,27 @@ And date_format(pth.update_time,'%Y-%m-%d %H:%i:%S') <= date_format(#{endTime},'%Y-%m-%d %H:%i:%S') </if> </where> - GROUP BY pth.update_time + GROUP BY date_format(pth.update_time,'%Y-%m-%d %H:%i') ORDER BY pth.update_time </select> + <select id="selHtCount" resultType="java.lang.Integer"> + Select Count(1) From psdc_thermometer_htdata pth + <where> + <if test="deviceId != null and deviceId != ''"> + And device_id = #{deviceId} + </if> + <if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 --> + And date_format(pth.update_time,'%Y-%m-%d %H:%i:%S') >= date_format(#{beginTime},'%Y-%m-%d %H:%i:%S') + </if> + <if test="endTime != null and endTime != ''"><!-- 结束时间检索 --> + And date_format(pth.update_time,'%Y-%m-%d %H:%i:%S') <= date_format(#{endTime},'%Y-%m-%d %H:%i:%S') + </if> + </where> + </select> + + <!--分页查询指定行数据--> <select id="queryAllByLimit" resultMap="PsdcThermometerHtdataMap"> Select