单个单体电池数据曲线图
This commit is contained in:
@ -4,7 +4,9 @@ import com.xzzn.common.core.controller.BaseController;
|
||||
import com.xzzn.common.core.domain.AjaxResult;
|
||||
import com.xzzn.common.core.page.TableDataInfo;
|
||||
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.IEmsStatsReportService;
|
||||
import com.xzzn.ems.service.ISingleSiteService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -24,6 +26,8 @@ public class EmsSiteMonitorController extends BaseController{
|
||||
private ISingleSiteService iSingleSiteService;
|
||||
@Autowired
|
||||
private IEmsSiteService iEmsSiteService;
|
||||
@Autowired
|
||||
private IEmsStatsReportService iemsStatsReportService;
|
||||
|
||||
/**
|
||||
* 获取单站首页数据
|
||||
@ -144,6 +148,15 @@ public class EmsSiteMonitorController extends BaseController{
|
||||
return getDataTable2(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个单体电池曲线图
|
||||
*/
|
||||
@GetMapping("/getSingleBatteryData")
|
||||
public AjaxResult getSingleBatteryData(DateSearchRequest requestVo)
|
||||
{
|
||||
return success(iemsStatsReportService.getSingleBatteryData(requestVo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 电表数据
|
||||
*/
|
||||
|
||||
@ -25,6 +25,8 @@ public class DateSearchRequest {
|
||||
|
||||
private String dataType;
|
||||
|
||||
private String clusterDeviceId;
|
||||
|
||||
public Date getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
@ -64,4 +66,12 @@ public class DateSearchRequest {
|
||||
public void setDataType(String dataType) {
|
||||
this.dataType = dataType;
|
||||
}
|
||||
|
||||
public String getClusterDeviceId() {
|
||||
return clusterDeviceId;
|
||||
}
|
||||
|
||||
public void setClusterDeviceId(String clusterDeviceId) {
|
||||
this.clusterDeviceId = clusterDeviceId;
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.Map;
|
||||
import com.xzzn.ems.domain.EmsBatteryData;
|
||||
import com.xzzn.ems.domain.vo.BatteryClusterDataDetailVo;
|
||||
import com.xzzn.ems.domain.vo.BatteryDataStatsListVo;
|
||||
import com.xzzn.ems.domain.vo.DateSearchRequest;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
@ -95,4 +96,11 @@ public interface EmsBatteryDataMapper
|
||||
|
||||
|
||||
int insertEmsBatteryDataList(List<EmsBatteryData> emsBatteryDataList);
|
||||
|
||||
/**
|
||||
* 获取单个单体电池数据
|
||||
* @param requestVo
|
||||
* @return
|
||||
*/
|
||||
public List<BatteryDataStatsListVo> getSingleBatteryData(DateSearchRequest requestVo);
|
||||
}
|
||||
|
||||
@ -27,4 +27,6 @@ public interface IEmsStatsReportService
|
||||
public List<AmmeterStatisListVo> getAmmeterDataResult(StatisAmmeterDateRequest requestVo);
|
||||
|
||||
public List<PowerStatisListVo> getPowerDataList(DateSearchRequest requestVo);
|
||||
|
||||
public List<BatteryDataStatsListVo> getSingleBatteryData(DateSearchRequest requestVo);
|
||||
}
|
||||
|
||||
@ -35,6 +35,8 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
|
||||
private EmsAmmeterDataMapper emsAmmeterDataMapper;
|
||||
@Autowired
|
||||
private EmsDevicesSettingMapper emsDevicesSettingMapper;
|
||||
@Autowired
|
||||
private EmsBatteryDataMapper emsBatteryDataMapper;
|
||||
|
||||
// 电量指标
|
||||
@Override
|
||||
@ -280,4 +282,22 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -197,7 +197,6 @@
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
<insert id="insertEmsBatteryDataList" parameterType="java.util.List">
|
||||
INSERT INTO ems_battery_data (
|
||||
battery_pack, battery_cluster, battery_cell_id,
|
||||
@ -214,4 +213,25 @@
|
||||
)
|
||||
</foreach>
|
||||
</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 >= #{startDate}
|
||||
and data_timestamp < #{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>
|
||||
Reference in New Issue
Block a user