update 电池算法应用Service

This commit is contained in:
Lemon
2025-04-21 10:07:42 +08:00
parent 9d2e018d99
commit 6e8ccb131d
5 changed files with 124 additions and 7 deletions

View File

@@ -28,6 +28,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
@@ -240,20 +241,20 @@ public class ChargeAlgorithmService {
detailInfo.setCurrentSoc(new BigDecimal(realTimeData_0x23.getSoc()).intValue());
detailInfo.setReportTime(realTimeData_0x23.getDateTime().replaceAll("[^0-9]", ""));
detailInfo.setMaxAllowElectricity(new BigDecimal(parameterConfigData.getBmsMaxCurrent()).toBigInteger().toString());
detailInfo.setSingleMaxAllowVoltage(parameterConfigData.getBmsMaxVoltage());
detailInfo.setSingleMaxAllowVoltage(new BigDecimal(parameterConfigData.getBmsMaxVoltage()).setScale(1, RoundingMode.HALF_DOWN).toString());
detailInfo.setDcv(new BigDecimal(realTimeData_0x23.getPileVoltageOutput()).toBigInteger().toString());
detailInfo.setDca(new BigDecimal(realTimeData_0x23.getPileCurrentOutput()).toBigInteger().toString());
detailInfo.setBmsDemandVoltage(new BigDecimal(realTimeData_0x23.getBmsVoltageDemand()).toBigInteger().toString());
detailInfo.setBmsDemandElectricity(new BigDecimal(realTimeData_0x23.getBmsCurrentDemand()).toBigInteger().toString());
detailInfo.setChargePower(realTimeData_0x23.getOutputPower());
detailInfo.setSingleMaxVoltage(parameterConfigData.getPileMaxOutputVoltage());
detailInfo.setSingleMinVoltage(parameterConfigData.getPileMinOutputVoltage());
detailInfo.setSingleMaxVoltage(new BigDecimal(parameterConfigData.getPileMaxOutputVoltage()).setScale(1, RoundingMode.HALF_DOWN).toString());
detailInfo.setSingleMinVoltage(new BigDecimal(parameterConfigData.getPileMinOutputVoltage()).setScale(1, RoundingMode.HALF_DOWN).toString());
detailInfo.setMeasuringChargeVoltage(new BigDecimal(realTimeData_0x23.getBmsChargingVoltage()).toBigInteger().toString());
detailInfo.setMeasuringChargeElectricity(new BigDecimal(realTimeData_0x23.getBmsChargingCurrent()).toBigInteger().toString());
detailInfo.setMaxSingleVoltageGroupNum(new BigDecimal(realTimeData_0x23.getBmsMaxVoltageAndGroup()).intValue());
detailInfo.setMaxAllowTotalVoltage(parameterConfigData.getBmsMaxChargingVoltage());
detailInfo.setMaxAllowTotalVoltage(new BigDecimal(parameterConfigData.getBmsMaxChargingVoltage()).toBigInteger().toString());
detailInfo.setBeforeChargeTotalVoltage(new BigDecimal(parameterConfigData.getBmsRealTimeVoltage()).toBigInteger().toString());
detailInfo.setVentTemp("0");