2023-05-10 17:36:28 完成能源监测电磁锅炉的查询接口!

master
魔神煜修罗皇 2 years ago
parent dff3876895
commit d270366f1a
  1. 16
      psdc-business/src/main/java/com/psdc/entity/res/PsdcDevicePowerRes.java
  2. 1
      psdc-business/src/main/java/com/psdc/entity/res/TodayThisHourUseElectricInfoRes.java
  3. 3
      psdc-business/src/main/java/com/psdc/mapper/PsdcElectricHtdataMapper.java
  4. 8
      psdc-business/src/main/java/com/psdc/mapper/PsdcElectricRtdataMapper.java
  5. 4
      psdc-business/src/main/java/com/psdc/service/IPsdcElectricHtdataService.java
  6. 6
      psdc-business/src/main/java/com/psdc/service/IPsdcElectricRtdataService.java
  7. 2
      psdc-business/src/main/java/com/psdc/service/IPsdcThermometerHtdataService.java
  8. 26
      psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricHtdataServiceImpl.java
  9. 47
      psdc-business/src/main/java/com/psdc/service/impl/PsdcElectricRtdataServiceImpl.java
  10. 30
      psdc-business/src/main/java/com/psdc/service/impl/PsdcThermometerHtdataServiceImpl.java
  11. 14
      psdc-business/src/main/resources/mapper/business/PsdcElectricHtdataMapper.xml
  12. 19
      psdc-business/src/main/resources/mapper/business/PsdcElectricRtdataMapper.xml
  13. 46
      psdc-web/src/main/java/com/psdc/controller/monitor/ElectromagneticBoilerController.java

@ -29,6 +29,22 @@ public class PsdcDevicePowerRes {
* 本月用电量
*/
private Double eMonth;
/**
* 当前温度
*/
private Double temp;
/**
* 目前实时进水温度
*/
private Double tempIn;
/**
* 目前实时出水温度
*/
private Double tempOut;
/**
* 设备目前是否运行
*/
private Integer runStatus;
/**
* 当前总有功电能
*/

@ -19,6 +19,7 @@ public class TodayThisHourUseElectricInfoRes {
Integer id; // 序号
String hour; // 当前小时间段
Integer deviceId; // 设备Id
String simDate; // 更新日期
String upDateTime; // 更新时间
Double useElectric; // 该小时间段用电量

@ -27,6 +27,9 @@ public interface PsdcElectricHtdataMapper{
List<TodayThisHourUseElectricInfoRes> selThisHourUseElectric(@Param(value = "deviceId") Integer deviceId,
@Param(value = "upDate") String upDate);
List<TodayThisHourUseElectricInfoRes> selThisDayUseElectric(@Param(value = "deviceId") Integer deviceId,
@Param(value = "upDate") String upDate);
Double selTodayUseEnergy(@Param(value = "deviceId") Integer deviceId,
@Param(value = "beginTime") String begin_time,
@Param(value = "endTime") String end_time);

@ -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);
/**
* 分页查询指定行数据
*

@ -17,4 +17,8 @@ public interface IPsdcElectricHtdataService {
List selThisHourUseElectric();
List selDcglThisHourUseElectric();
List selDcglThisDayUseElectric();
}

@ -1,5 +1,8 @@
package com.psdc.service;
import com.psdc.entity.res.PsdcDevicePowerRes;
/**
* @Author戴仕崑
* @Projectpsdc
@ -8,4 +11,7 @@ package com.psdc.service;
* @Version 1.0
*/
public interface IPsdcElectricRtdataService {
PsdcDevicePowerRes queryById();
}

@ -21,4 +21,6 @@ public interface IPsdcThermometerHtdataService {
PsdcDevicePowerRes selTotalElectricityInfo();
AjaxResult selDzglWenDu();
}

@ -23,6 +23,10 @@ public class PsdcElectricHtdataServiceImpl implements IPsdcElectricHtdataService
@Resource
PsdcElectricHtdataMapper electricHtdataMapper;
/**
* 总电表查询
* @return
*/
@Override
public Map selTotalElectricityInfo() {
Date date = new Date();
@ -38,11 +42,33 @@ public class PsdcElectricHtdataServiceImpl implements IPsdcElectricHtdataService
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];

@ -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戴仕崑
* @Projectpsdc
* @FilenamePsdcElectricRtdataServiceImpl
* @Date2023/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;
}
}

@ -98,10 +98,38 @@ public class PsdcThermometerHtdataServiceImpl implements IPsdcThermometerHtdataS
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 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<Double> listIn = new ArrayList(); // 今天历史进水温度集合
List<Double> listOut = new ArrayList(); // 今天历史出水温度集合
List<String> times = new ArrayList(); // 时间轴
// 循环遍历今天历史数据对象集合
List<PsdcThermometerHtdata> 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;
}
}

@ -49,6 +49,7 @@
<result property="id" column="electric_htdata_id" />
<result property="hour" column="hour" />
<result property="deviceId" column="device_id" />
<result property="simDate" column="data" />
<result property="upDateTime" column="update_time" />
<result property="useElectric" column="use_deiffen" />
</resultMap>
@ -73,6 +74,19 @@
Order By dt.time
</select>
<select id="selThisDayUseElectric" resultMap="PsdcElectricHtdataMap2">
Select electric_htdata_id ,dt.`data`, device_id, IFNULL(SUM(use_deiffen),0.0) as use_deiffen
From psdc_datetime dt
Left Join psdc_electric_htdata peht On dt.data = DATE_FORMAT(peht.update_time,'%Y-%m-%d')
And peht.device_id = ${deviceId}
Where dt.data is Not null
And date_format(dt.`data`,'%Y-%m') = #{upDate}
GROUP By dt.data
ORDER By dt.data
</select>
<select id="selTodayUseEnergy" resultType="java.lang.Double">
Select SUM(use_deiffen) From psdc_electric_htdata
<where>

@ -47,12 +47,27 @@
<resultMap id="PsdcElectricRtdataMap2" type="com.psdc.entity.res.PsdcDevicePowerRes">
<result property="totp" column="TotP" />
<result property="totwh" column="TotWh" />
<result property="temp" column="thermometer_value" />
<result property="tempIn" column="thermometer_value_in" />
<result property="tempOut" column="thermometer_value_out" />
<result property="runStatus" column="device_runstatus" />
</resultMap>
<!-- 通过ID查询单条数据 -->
<select id="queryById" resultMap="PsdcElectricRtdataMap2">
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
<where>
pd.device_id = #{electricId}
</where>
<if test="upDate != null and upDate != ''">
And DATE_FORMAT(per.update_time,'%Y-%m-%d') = #{upDate}
</if>
<if test="upDate != null and upDate != ''">
And DATE_FORMAT(per.update_time,'%Y-%m-%d') = #{upDate}
</if>
</select>
<!--分页查询指定行数据-->

@ -0,0 +1,46 @@
package com.psdc.controller.monitor;
import com.psdc.core.domain.AjaxResult;
import com.psdc.service.IPsdcElectricHtdataService;
import com.psdc.service.IPsdcElectricRtdataService;
import com.psdc.service.IPsdcThermometerHtdataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author戴仕崑
* @Projectpsdc
* @FilenameElectromagneticBoilerController
* @Date2023/5/10 16:12
* @Version 1.0
*/
@RestController
@RequestMapping("/api/monitor/drgl/index")
public class ElectromagneticBoilerController {
@Autowired
IPsdcElectricRtdataService psdcElectricRtdataService;
@Autowired
IPsdcThermometerHtdataService psdcThermometerHtdataService;
@Autowired
IPsdcElectricHtdataService psdcElectricHtdataService;
@PreAuthorize("@ss.hasPermi('emonitor:drgl')")
@RequestMapping(value = "/sel1", method = RequestMethod.GET)
public AjaxResult seldrgl1() {
AjaxResult ajax = AjaxResult.success(psdcElectricRtdataService.queryById());
return ajax;
}
@PreAuthorize("@ss.hasPermi('emonitor:drgl')")
@RequestMapping(value = "/sel2", method = RequestMethod.GET)
public AjaxResult seldrgl2() {
AjaxResult ajax = psdcThermometerHtdataService.selDzglWenDu();
ajax.put("dcglqhour", psdcElectricHtdataService.selDcglThisHourUseElectric());
ajax.put("dcglqday", psdcElectricHtdataService.selDcglThisDayUseElectric());
return ajax;
}
}
Loading…
Cancel
Save