中车电站数据融合

This commit is contained in:
2026-03-25 09:40:33 +08:00
parent b6acb9bcf4
commit a7f21789f7
7 changed files with 73 additions and 47 deletions

View File

@ -243,7 +243,8 @@ public class ShipEnergyService {
JSONObject jsonObj = (JSONObject) i;
Integer stationId = jsonObj.getInteger("stationId");
String json = getMainTotal(stationId);
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + stationId;
Integer finalStationId = stationId +10000;
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + finalStationId;
redisService.set(mainKey,json);
});
}

View File

@ -349,16 +349,15 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService {
}
// 寄点站点数据融合
stations.forEach(s->{
if(s.getId()==11003 || s.getId()==10942) {
if(s.getId()==11003 || s.getId()==10942 || s.getId()==11006) {
// 寄点电站数据
Integer stationId = s.getId() - 10000;
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + stationId;
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + s.getId();
String json = (String) redisService.get(mainKey);
ShipStationRespVO respVO = JSON.parseObject(json, ShipStationRespVO.class);
// 日充
annualOverviewResp.setDayCharge(annualOverviewResp.getDayCharge().add(BigDecimal.valueOf(respVO.getPositivePowerToday())));
annualOverviewResp.setDayCharge(annualOverviewResp.getDayCharge().add(respVO.getPositivePowerToday()==null?BigDecimal.ZERO:BigDecimal.valueOf(respVO.getPositivePowerToday())));
// 日放
annualOverviewResp.setDayDischarge(annualOverviewResp.getDayDischarge().add(BigDecimal.valueOf(respVO.getReversePowerToday())));
annualOverviewResp.setDayDischarge(annualOverviewResp.getDayDischarge().add(respVO.getReversePowerToday()==null?BigDecimal.ZERO:BigDecimal.valueOf(respVO.getReversePowerToday())));
}
});
return annualOverviewResp;

View File

@ -176,7 +176,7 @@ public class OutApiServiceImpl implements OutApiService {
}
String deviceType = DeviceTypeConstant.BMS;
log.info("stations.size:" + stations.size());
stations = stations.stream().filter(i->i.getId()!=11003 && i.getId()!=10942).collect(Collectors.toList());
stations = stations.stream().filter(i->i.getId()!=11003 && i.getId()!=10942 && i.getId()!=11006).collect(Collectors.toList());
for (Station station : stations) {
try {
//先删除站的当日数据

View File

@ -960,14 +960,13 @@ public class StationHomeServiceImpl implements StationHomeService {
dailyDischargeElec = new BigDecimal(dailyDischargeElecStr);
pcsElecData.setChargeElec(dailyChargeElec);
pcsElecData.setDischargeElec(dailyDischargeElec);
if(req.getStationId()==11003 || req.getStationId()==10942){
if(req.getStationId()==11003 || req.getStationId()==10942 || req.getStationId()==11006){
// 寄点电站数据
Integer stationId = req.getStationId()-10000;
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + stationId;
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + req.getStationId();
String json = (String)redisService.get(mainKey);
ShipStationRespVO vo = JSON.parseObject(json,ShipStationRespVO.class);
pcsElecData.setChargeElec(BigDecimal.valueOf(vo.getPositivePowerToday()));
pcsElecData.setDischargeElec(BigDecimal.valueOf(vo.getReversePowerToday()));
pcsElecData.setChargeElec(vo.getPositivePowerToday()==null?BigDecimal.ZERO:BigDecimal.valueOf(vo.getPositivePowerToday()));
pcsElecData.setDischargeElec(vo.getReversePowerToday()==null?BigDecimal.ZERO:BigDecimal.valueOf(vo.getReversePowerToday()));
}
}
}

View File

@ -119,13 +119,13 @@ public class OpenStationController {
log.info("realtimeCurve.stationRealtimeCurve:" + stationReq);
List<NewRealTimeCurveVo> resList = stationHomeService.getRealtimeCurve(stationReq);
// 寄点电站功率、soc曲线
if(stationReq.getStationId()==11003 || stationReq.getStationId()==10942){
if(stationReq.getStationId()==11003 || stationReq.getStationId()==10942 || stationReq.getStationId()==11006){
// 寄点电站数据
Integer stationId = stationReq.getStationId()-10000;
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + stationId;
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + stationReq.getStationId();
String json = (String)redisService.get(mainKey);
ShipStationRespVO vo = JSON.parseObject(json,ShipStationRespVO.class);
JSONArray historyDataList = vo.getHistoryDataList();
if(historyDataList!=null){
NewRealTimeCurveVo soc = new NewRealTimeCurveVo();
soc.setName("SOC");
List<StationHomeRespVo> soclist =new ArrayList<>();
@ -149,6 +149,7 @@ public class OpenStationController {
resList.add(soc);
resList.add(p);
}
}
//返回值的BigDecimal类型保留两位小数
for (NewRealTimeCurveVo newRealTimeCurveVo : resList) {
List<StationHomeRespVo> list = newRealTimeCurveVo.getList();
@ -264,20 +265,21 @@ public class OpenStationController {
req.setDeviceType(deviceType);
}
PcsTotalData data = stationHomeService.getPcsTotalData(req);
if(req.getStationId()==11003 || req.getStationId()==10942){
if(req.getStationId()==11003 || req.getStationId()==10942 || req.getStationId()==11006){
// 寄点电站数据
Integer stationId = req.getStationId()-10000;
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + stationId;
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + req.getStationId();
String json = (String)redisService.get(mainKey);
ShipStationRespVO vo = JSON.parseObject(json,ShipStationRespVO.class);
// 数据转换
data.setTotalChargeElec(BigDecimal.valueOf(vo.getPositivePowerSum()));
data.setTotalDischargeElec(BigDecimal.valueOf(vo.getReversePowerSum()));
data.setDailyChargeElec(BigDecimal.valueOf(vo.getPositivePowerToday()));
data.setDailyDischargeElec(BigDecimal.valueOf(vo.getReversePowerToday()));
data.setCurrentPower(BigDecimal.valueOf(vo.getRealTimePower()));
data.setTotalChargeElec(vo.getPositivePowerSum()==null?BigDecimal.ZERO:BigDecimal.valueOf(vo.getPositivePowerSum()));
data.setTotalDischargeElec(vo.getReversePowerSum()==null?BigDecimal.ZERO:BigDecimal.valueOf(vo.getReversePowerSum()));
data.setDailyChargeElec(vo.getPositivePowerToday()==null?BigDecimal.ZERO:BigDecimal.valueOf(vo.getPositivePowerToday()));
data.setDailyDischargeElec(vo.getReversePowerToday()==null?BigDecimal.ZERO:BigDecimal.valueOf(vo.getReversePowerToday()));
data.setCurrentPower(vo.getRealTimePower()==null?BigDecimal.ZERO:BigDecimal.valueOf(vo.getRealTimePower()));
if(data.getTotalChargeElec().compareTo(BigDecimal.ZERO)>0){
data.setSystemEfficiency(data.getTotalDischargeElec().divide(data.getTotalChargeElec(), 4, BigDecimal.ROUND_HALF_UP));
}
}
BigDecimal systemEfficiency = data.getSystemEfficiency();
bigDecimalUtil.keepTwoDecimalPlaces(data);
bigDecimalUtil.ifIsNUll(data);

View File

@ -187,7 +187,7 @@ public class HttpUtils {
/**
* 将Map转换为JSON字符串简单实现实际项目中建议使用Jackson/Gson等库
*/
private static String mapToJson(Map<String, Object> params) {
public static String mapToJson(Map<String, Object> params) {
if (params == null || params.isEmpty()) {
return "{}";
}

View File

@ -293,4 +293,29 @@ public class JobHandler {
log.info("jobCacheShipEnergyEle end !");
return ReturnT.SUCCESS;
}
/**
* 中车-站点收益、充放电数据 - 昨日
* @param param
* @return
*/
@XxlJob("jobBoulderEleIncome")
public ReturnT<String> jobBoulderEleIncome(String param){
log.info("jobCacheShipEnergyEle start !");
businessFeignClient.jobBoulderEleIncome(param);
log.info("jobCacheShipEnergyEle end !");
return ReturnT.SUCCESS;
}
/**
* 中车-站点收益、充放电数据 - 今日
* @param param
* @return
*/
@XxlJob("jobBoulderEleIncomeToday")
public ReturnT<String> jobBoulderEleIncomeToday(String param){
log.info("jobCacheShipEnergyEle start !");
businessFeignClient.jobBoulderEleIncome(DateUtil.formatDate(new Date()));
log.info("jobCacheShipEnergyEle end !");
return ReturnT.SUCCESS;
}
}