单个单体电池数据曲线图

This commit is contained in:
2025-07-17 13:31:25 +08:00
parent 1da9867372
commit a4338b3995
6 changed files with 74 additions and 1 deletions

View File

@ -4,7 +4,9 @@ import com.xzzn.common.core.controller.BaseController;
import com.xzzn.common.core.domain.AjaxResult; import com.xzzn.common.core.domain.AjaxResult;
import com.xzzn.common.core.page.TableDataInfo; import com.xzzn.common.core.page.TableDataInfo;
import com.xzzn.ems.domain.vo.BatteryDataStatsListVo; import com.xzzn.ems.domain.vo.BatteryDataStatsListVo;
import com.xzzn.ems.domain.vo.DateSearchRequest;
import com.xzzn.ems.service.IEmsSiteService; import com.xzzn.ems.service.IEmsSiteService;
import com.xzzn.ems.service.IEmsStatsReportService;
import com.xzzn.ems.service.ISingleSiteService; import com.xzzn.ems.service.ISingleSiteService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -24,6 +26,8 @@ public class EmsSiteMonitorController extends BaseController{
private ISingleSiteService iSingleSiteService; private ISingleSiteService iSingleSiteService;
@Autowired @Autowired
private IEmsSiteService iEmsSiteService; private IEmsSiteService iEmsSiteService;
@Autowired
private IEmsStatsReportService iemsStatsReportService;
/** /**
* 获取单站首页数据 * 获取单站首页数据
@ -144,6 +148,15 @@ public class EmsSiteMonitorController extends BaseController{
return getDataTable2(list); return getDataTable2(list);
} }
/**
* 单个单体电池曲线图
*/
@GetMapping("/getSingleBatteryData")
public AjaxResult getSingleBatteryData(DateSearchRequest requestVo)
{
return success(iemsStatsReportService.getSingleBatteryData(requestVo));
}
/** /**
* 电表数据 * 电表数据
*/ */

View File

@ -25,6 +25,8 @@ public class DateSearchRequest {
private String dataType; private String dataType;
private String clusterDeviceId;
public Date getStartDate() { public Date getStartDate() {
return startDate; return startDate;
} }
@ -64,4 +66,12 @@ public class DateSearchRequest {
public void setDataType(String dataType) { public void setDataType(String dataType) {
this.dataType = dataType; this.dataType = dataType;
} }
public String getClusterDeviceId() {
return clusterDeviceId;
}
public void setClusterDeviceId(String clusterDeviceId) {
this.clusterDeviceId = clusterDeviceId;
}
} }

View File

@ -6,6 +6,7 @@ import java.util.Map;
import com.xzzn.ems.domain.EmsBatteryData; import com.xzzn.ems.domain.EmsBatteryData;
import com.xzzn.ems.domain.vo.BatteryClusterDataDetailVo; import com.xzzn.ems.domain.vo.BatteryClusterDataDetailVo;
import com.xzzn.ems.domain.vo.BatteryDataStatsListVo; import com.xzzn.ems.domain.vo.BatteryDataStatsListVo;
import com.xzzn.ems.domain.vo.DateSearchRequest;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
/** /**
@ -95,4 +96,11 @@ public interface EmsBatteryDataMapper
int insertEmsBatteryDataList(List<EmsBatteryData> emsBatteryDataList); int insertEmsBatteryDataList(List<EmsBatteryData> emsBatteryDataList);
/**
* 获取单个单体电池数据
* @param requestVo
* @return
*/
public List<BatteryDataStatsListVo> getSingleBatteryData(DateSearchRequest requestVo);
} }

View File

@ -27,4 +27,6 @@ public interface IEmsStatsReportService
public List<AmmeterStatisListVo> getAmmeterDataResult(StatisAmmeterDateRequest requestVo); public List<AmmeterStatisListVo> getAmmeterDataResult(StatisAmmeterDateRequest requestVo);
public List<PowerStatisListVo> getPowerDataList(DateSearchRequest requestVo); public List<PowerStatisListVo> getPowerDataList(DateSearchRequest requestVo);
public List<BatteryDataStatsListVo> getSingleBatteryData(DateSearchRequest requestVo);
} }

View File

@ -35,6 +35,8 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
private EmsAmmeterDataMapper emsAmmeterDataMapper; private EmsAmmeterDataMapper emsAmmeterDataMapper;
@Autowired @Autowired
private EmsDevicesSettingMapper emsDevicesSettingMapper; private EmsDevicesSettingMapper emsDevicesSettingMapper;
@Autowired
private EmsBatteryDataMapper emsBatteryDataMapper;
// 电量指标 // 电量指标
@Override @Override
@ -280,4 +282,22 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
requestVo.setEndDate(endDate); requestVo.setEndDate(endDate);
} }
} }
/**
* 获取单个单体电池数据-默认7天
* @param requestVo
* @return
*/
@Override
public List<BatteryDataStatsListVo> getSingleBatteryData(DateSearchRequest requestVo) {
List<BatteryDataStatsListVo> dataList = new ArrayList<>();
// 默认时间-7天
dealRequestTime(requestVo);
// 按天比较endDate+1
Date endDate = requestVo.getEndDate();
requestVo.setEndDate(DateUtils.addDays(endDate, 1));
dataList = emsBatteryDataMapper.getSingleBatteryData(requestVo);
return dataList;
}
} }

View File

@ -197,7 +197,6 @@
</if> </if>
</select> </select>
<insert id="insertEmsBatteryDataList" parameterType="java.util.List"> <insert id="insertEmsBatteryDataList" parameterType="java.util.List">
INSERT INTO ems_battery_data ( INSERT INTO ems_battery_data (
battery_pack, battery_cluster, battery_cell_id, battery_pack, battery_cluster, battery_cell_id,
@ -214,4 +213,25 @@
) )
</foreach> </foreach>
</insert> </insert>
<select id="getSingleBatteryData" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.BatteryDataStatsListVo">
SELECT latest.dateDay as dataTimestamp,
t.voltage,
t.temperature,
t.soc,
t.soh,
t.device_id as deviceId,
t.cluster_device_id as clusterDeviceId
FROM ems_battery_data t
INNER JOIN ( SELECT site_id,cluster_device_id,device_id,DATE(data_timestamp) as dateDay,MAX(data_timestamp) AS max_update_time
FROM ems_battery_data
WHERE site_id = #{siteId}
and cluster_device_id = #{clusterDeviceId}
and device_id = #{deviceId}
and data_timestamp &gt;= #{startDate}
and data_timestamp &lt; #{endDate}
GROUP BY site_id,cluster_device_id,device_id,dateDay
) latest ON t.site_id = latest.site_id and t.cluster_device_id = latest.cluster_device_id
and t.device_id = latest.device_id AND t.data_timestamp = latest.max_update_time
</select>
</mapper> </mapper>