|
@@ -11,6 +11,8 @@ import com.css.simulation.resource.feign.FileDownService;
|
|
|
import com.css.simulation.resource.model.mapper.VehicleMapper;
|
|
|
import com.css.simulation.resource.util.VehicleUtil;
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
+import lombok.SneakyThrows;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.tomcat.util.buf.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -22,6 +24,7 @@ import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
public class VehicleService {
|
|
|
|
|
@@ -56,167 +59,167 @@ public class VehicleService {
|
|
|
return vehicleInfo;
|
|
|
}
|
|
|
|
|
|
+ @SneakyThrows
|
|
|
public VehiclePO saveVehicle(VehicleVO vehicleVO) {
|
|
|
- try {
|
|
|
- VehiclePO vehiclePO = new VehiclePO();
|
|
|
- ObjectUtil.voToPo(vehicleVO, vehiclePO);
|
|
|
- //车辆模型字段解析
|
|
|
- String[] vehicleType = vehicleVO.getVehicleType();
|
|
|
- String vehicleTypeStr = StringUtils.join(Arrays.asList(vehicleType), ',');
|
|
|
- vehiclePO.setVehicleType(vehicleTypeStr);
|
|
|
- //常规字段赋值
|
|
|
- PoUtil.initAddPo(vehiclePO);
|
|
|
- vehiclePO.setShare(DictConstants.NO);//私有
|
|
|
- //名称校验
|
|
|
- List<VehicleVO> list = vehicleMapper.checkVehicleName(vehiclePO);
|
|
|
- if (ObjectUtil.isNotNull(list)) {
|
|
|
- vehiclePO.setId(null);
|
|
|
- return vehiclePO;
|
|
|
+
|
|
|
+ VehiclePO vehiclePO = new VehiclePO();
|
|
|
+ ObjectUtil.voToPo(vehicleVO, vehiclePO);
|
|
|
+ //车辆模型字段解析
|
|
|
+ String[] vehicleType = vehicleVO.getVehicleType();
|
|
|
+ String vehicleTypeStr = StringUtils.join(Arrays.asList(vehicleType), ',');
|
|
|
+ vehiclePO.setVehicleType(vehicleTypeStr);
|
|
|
+ //常规字段赋值
|
|
|
+ PoUtil.initAddPo(vehiclePO);
|
|
|
+ vehiclePO.setShare(DictConstants.NO);//私有
|
|
|
+ //名称校验
|
|
|
+ List<VehicleVO> list = vehicleMapper.checkVehicleName(vehiclePO);
|
|
|
+ if (ObjectUtil.isNotNull(list)) {
|
|
|
+ vehiclePO.setId(null);
|
|
|
+ return vehiclePO;
|
|
|
+ }
|
|
|
+ String id = vehiclePO.getId();
|
|
|
+
|
|
|
+ String parameterType = vehicleVO.getParameterType(); //1 判断参数是 1 vtd 还是 2 carsim
|
|
|
+ if ("2".equals(parameterType)) {
|
|
|
+ VehicleUtil.listToJson(vehiclePO);
|
|
|
+ String par = FileUtil.read(parTemplate);
|
|
|
+ log.info("saveVehicle() par文件内容为:" + vehiclePO);
|
|
|
+ log.info("saveVehicle() 车辆模型对象为:" + vehiclePO);
|
|
|
+ String replace1 = par.replaceAll("wheelCenterToTop", vehiclePO.getWheelCenterToTop());
|
|
|
+ String replace2 = replace1.replaceAll("wheelCenterToGround", vehiclePO.getWheelCenterToGround());
|
|
|
+ String replace3 = replace2.replaceAll("centroidToFrontWheelCenter", vehiclePO.getCentroidToFrontWheelCenter());
|
|
|
+ String replace4 = replace3.replaceAll("wheelbase", vehiclePO.getWheelbase().toString());
|
|
|
+ String replace5 = replace4.replaceAll("sprungMass", vehiclePO.getSprungMass());
|
|
|
+ String replace6 = replace5.replaceAll("vehicleWidth", vehiclePO.getVehicleWidth());
|
|
|
+ String replace7 = replace6.replaceAll("rotationalInertiaX", vehiclePO.getRotationalInertiaX());
|
|
|
+ String replace8 = replace7.replaceAll("rotationalInertiaY", vehiclePO.getRotationalInertiaY());
|
|
|
+ String replace9 = replace8.replaceAll("effectiveRollingRadius", vehiclePO.getFrontLeftWheelEffectiveRollingRadius());
|
|
|
+ String replace10 = replace9.replaceAll("rollingResistanceCoefficient", vehiclePO.getFrontLeftWheelRollingResistanceCoefficient());
|
|
|
+ String replace11 = replace10.replaceAll("freeRadius", vehiclePO.getFrontLeftWheelFreeRadius());
|
|
|
+ String replace12 = replace11.replaceAll("relationCurvePositiveMomentAndSideslipAngle", convertArrayToTable(vehiclePO.getFrontLeftWheelRelationCurvePositiveMomentAndSideslipAngle()));
|
|
|
+ String replace13 = replace12.replaceAll("relationCurveLateralForceAndSideslipAngle", convertArrayToTable(vehiclePO.getFrontLeftWheelRelationCurveLateralForceAndSideslipAngle()));
|
|
|
+ String replace14 = replace13.replaceAll("relationCurveLongitudinalForceAndSideslipAngle", convertArrayToTable(vehiclePO.getFrontLeftWheelRelationCurveLongitudinalForceAndSideslipAngle()));
|
|
|
+ String replace15 = replace14.replaceAll("frontWheelSuspensionKinematicsCoefficient", vehiclePO.getFrontWheelSuspensionKinematicsCoefficient());
|
|
|
+ String replace16 = replace15.replaceAll("rearWheelSuspensionKinematicsCoefficient", vehiclePO.getRearWheelSuspensionKinematicsCoefficient());
|
|
|
+ String replace17 = replace16.replaceAll("rearWheelUnsprungMass", vehiclePO.getRearWheelUnsprungMass());
|
|
|
+ String replace18 = replace17.replaceAll("frontWheelTrackWidth", vehiclePO.getFrontWheelTrackWidth());
|
|
|
+ String replace19 = replace18.replaceAll("rearWheelTrackWidth", vehiclePO.getRearWheelTrackWidth());
|
|
|
+ String replace20 = replace19.replaceAll("windwardArea", vehiclePO.getWindwardArea());
|
|
|
+ String replace21 = replace20.replaceAll("airDensity", vehiclePO.getAirDensity());
|
|
|
+ String replace22 = replace21.replaceAll("engineCrankshaftMomentInertia", vehiclePO.getEngineCrankshaftMomentInertia());
|
|
|
+ String replace23 = replace22.replaceAll("idleSpeed", vehiclePO.getIdleSpeed());
|
|
|
+ String replace24 = replace23.replaceAll("relationCurveEngineTorqueSpeedAndThrottleOpening", convertArrayToTable(vehiclePO.getRelationCurveEngineTorqueSpeedAndThrottleOpening()));
|
|
|
+ String replace25 = replace24.replaceAll("momentInertiaInputShaft", vehiclePO.getMomentInertiaInputShaft());
|
|
|
+ String replace26 = replace25.replaceAll("momentInertiaOutputShaft", vehiclePO.getMomentInertiaOutputShaft());
|
|
|
+ String replace27 = replace26.replaceAll("finalDriveRatio", vehiclePO.getFinalDriveRatio());
|
|
|
+ String replace28 = replace27.replaceAll("transmissionEfficiency", vehiclePO.getTransmissionEfficiency());
|
|
|
+
|
|
|
+ List<String> gearRatio = vehiclePO.getGearRatio();
|
|
|
+ StringBuilder gearRatioString = new StringBuilder();
|
|
|
+ for (int i = 0; i < gearRatio.size(); i++) {
|
|
|
+ if (i == 0) {
|
|
|
+ gearRatioString.append("R_GEAR_TR_REVERSE ").append(gearRatio.get(0)).append(System.lineSeparator());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (i == 1) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ gearRatioString.append("IGEAR ").append(i - 1).append(System.lineSeparator());
|
|
|
+ gearRatioString.append("R_GEAR_TR ").append(gearRatio.get(i)).append(System.lineSeparator());
|
|
|
+ gearRatioString.append("*R_GEAR_TR(").append(i - 1).append(") ").append(gearRatio.get(i)).append(System.lineSeparator());
|
|
|
}
|
|
|
- String id = vehiclePO.getId();
|
|
|
-
|
|
|
- String parameterType = vehicleVO.getParameterType(); //1 判断参数是 1 vtd 还是 2 carsim
|
|
|
- if ("2".equals(parameterType)) {
|
|
|
- VehicleUtil.listToJson(vehiclePO);
|
|
|
- String par = FileUtil.read(parTemplate);
|
|
|
- String replace1 = par.replaceAll("wheelCenterToTop", vehiclePO.getWheelCenterToTop());
|
|
|
- String replace2 = replace1.replaceAll("wheelCenterToGround", vehiclePO.getWheelCenterToGround());
|
|
|
- String replace3 = replace2.replaceAll("centroidToFrontWheelCenter", vehiclePO.getCentroidToFrontWheelCenter());
|
|
|
- String replace4 = replace3.replaceAll("wheelbase", vehiclePO.getWheelbase().toString());
|
|
|
- String replace5 = replace4.replaceAll("sprungMass", vehiclePO.getSprungMass());
|
|
|
- String replace6 = replace5.replaceAll("vehicleWidth", vehiclePO.getVehicleWidth());
|
|
|
- String replace7 = replace6.replaceAll("rotationalInertiaX", vehiclePO.getRotationalInertiaX());
|
|
|
- String replace8 = replace7.replaceAll("rotationalInertiaY", vehiclePO.getRotationalInertiaY());
|
|
|
- String replace9 = replace8.replaceAll("effectiveRollingRadius", vehiclePO.getFrontLeftWheelEffectiveRollingRadius());
|
|
|
- String replace10 = replace9.replaceAll("rollingResistanceCoefficient", vehiclePO.getFrontLeftWheelRollingResistanceCoefficient());
|
|
|
- String replace11 = replace10.replaceAll("freeRadius", vehiclePO.getFrontLeftWheelFreeRadius());
|
|
|
- String replace12 = replace11.replaceAll("relationCurvePositiveMomentAndSideslipAngle", convertArrayToTable(vehiclePO.getFrontLeftWheelRelationCurvePositiveMomentAndSideslipAngle()));
|
|
|
- String replace13 = replace12.replaceAll("relationCurveLateralForceAndSideslipAngle", convertArrayToTable(vehiclePO.getFrontLeftWheelRelationCurveLateralForceAndSideslipAngle()));
|
|
|
- String replace14 = replace13.replaceAll("relationCurveLongitudinalForceAndSideslipAngle", convertArrayToTable(vehiclePO.getFrontLeftWheelRelationCurveLongitudinalForceAndSideslipAngle()));
|
|
|
- String replace15 = replace14.replaceAll("frontWheelSuspensionKinematicsCoefficient", vehiclePO.getFrontWheelSuspensionKinematicsCoefficient());
|
|
|
- String replace16 = replace15.replaceAll("rearWheelSuspensionKinematicsCoefficient", vehiclePO.getRearWheelSuspensionKinematicsCoefficient());
|
|
|
- String replace17 = replace16.replaceAll("rearWheelUnsprungMass", vehiclePO.getRearWheelUnsprungMass());
|
|
|
- String replace18 = replace17.replaceAll("frontWheelTrackWidth", vehiclePO.getFrontWheelTrackWidth());
|
|
|
- String replace19 = replace18.replaceAll("rearWheelTrackWidth", vehiclePO.getRearWheelTrackWidth());
|
|
|
- String replace20 = replace19.replaceAll("windwardArea", vehiclePO.getWindwardArea());
|
|
|
- String replace21 = replace20.replaceAll("airDensity", vehiclePO.getAirDensity());
|
|
|
- String replace22 = replace21.replaceAll("engineCrankshaftMomentInertia", vehiclePO.getEngineCrankshaftMomentInertia());
|
|
|
- String replace23 = replace22.replaceAll("idleSpeed", vehiclePO.getIdleSpeed());
|
|
|
- String replace24 = replace23.replaceAll("relationCurveEngineTorqueSpeedAndThrottleOpening", convertArrayToTable(vehiclePO.getRelationCurveEngineTorqueSpeedAndThrottleOpening()));
|
|
|
- String replace25 = replace24.replaceAll("momentInertiaInputShaft", vehiclePO.getMomentInertiaInputShaft());
|
|
|
- String replace26 = replace25.replaceAll("momentInertiaOutputShaft", vehiclePO.getMomentInertiaOutputShaft());
|
|
|
- String replace27 = replace26.replaceAll("finalDriveRatio", vehiclePO.getFinalDriveRatio());
|
|
|
- String replace28 = replace27.replaceAll("transmissionEfficiency", vehiclePO.getTransmissionEfficiency());
|
|
|
-
|
|
|
- List<String> gearRatio = vehiclePO.getGearRatio();
|
|
|
- StringBuilder gearRatioString = new StringBuilder();
|
|
|
- for (int i = 0; i < gearRatio.size(); i++) {
|
|
|
- if (i == 0) {
|
|
|
- gearRatioString.append("R_GEAR_TR_REVERSE ").append(gearRatio.get(0)).append(System.lineSeparator());
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (i == 1) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- gearRatioString.append("IGEAR ").append(i - 1).append(System.lineSeparator());
|
|
|
- gearRatioString.append("R_GEAR_TR ").append(gearRatio.get(i)).append(System.lineSeparator());
|
|
|
- gearRatioString.append("*R_GEAR_TR(").append(i - 1).append(") ").append(gearRatio.get(i)).append(System.lineSeparator());
|
|
|
+ String replace29 = replace28.replaceAll("gearRatio", gearRatioString.toString());
|
|
|
+
|
|
|
+ List<String> inertia = vehiclePO.getInertia();
|
|
|
+ StringBuilder inertiaString = new StringBuilder();
|
|
|
+ for (int i = 0; i < inertia.size(); i++) {
|
|
|
+ if (i == 0) {
|
|
|
+ inertiaString.append("ITR_REVERSE ").append(inertia.get(0)).append(System.lineSeparator());
|
|
|
+ continue;
|
|
|
}
|
|
|
- String replace29 = replace28.replaceAll("gearRatio", gearRatioString.toString());
|
|
|
-
|
|
|
- List<String> inertia = vehiclePO.getInertia();
|
|
|
- StringBuilder inertiaString = new StringBuilder();
|
|
|
- for (int i = 0; i < inertia.size(); i++) {
|
|
|
- if (i == 0) {
|
|
|
- inertiaString.append("ITR_REVERSE ").append(inertia.get(0)).append(System.lineSeparator());
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (i == 1) {
|
|
|
- inertiaString.append("ITR_NEUTRAL ").append(inertia.get(0)).append(System.lineSeparator());
|
|
|
- continue;
|
|
|
- }
|
|
|
- inertiaString.append("IGEAR ").append(i - 1).append(System.lineSeparator());
|
|
|
- inertiaString.append("ITR ").append(inertia.get(i)).append(System.lineSeparator());
|
|
|
- inertiaString.append("*ITR(").append(i - 1).append(") ").append(inertia.get(i)).append(System.lineSeparator());
|
|
|
+ if (i == 1) {
|
|
|
+ inertiaString.append("ITR_NEUTRAL ").append(inertia.get(0)).append(System.lineSeparator());
|
|
|
+ continue;
|
|
|
}
|
|
|
- String replace30 = replace29.replaceAll("inertia", inertiaString.toString());
|
|
|
-
|
|
|
- List<String> driving = vehiclePO.getDriving();
|
|
|
- StringBuilder drivingString = new StringBuilder();
|
|
|
- for (int i = 0; i < driving.size(); i++) {
|
|
|
- if (i == 0) {
|
|
|
- drivingString.append("R_EFF_TR_F_REVERSE ").append(driving.get(0)).append(System.lineSeparator());
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (i == 1) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- drivingString.append("IGEAR ").append(i - 1).append(System.lineSeparator());
|
|
|
- drivingString.append("R_EFF_TR_F ").append(driving.get(i)).append(System.lineSeparator());
|
|
|
- drivingString.append("*R_EFF_TR_F(").append(i - 1).append(") ").append(driving.get(i)).append(System.lineSeparator());
|
|
|
+ inertiaString.append("IGEAR ").append(i - 1).append(System.lineSeparator());
|
|
|
+ inertiaString.append("ITR ").append(inertia.get(i)).append(System.lineSeparator());
|
|
|
+ inertiaString.append("*ITR(").append(i - 1).append(") ").append(inertia.get(i)).append(System.lineSeparator());
|
|
|
+ }
|
|
|
+ String replace30 = replace29.replaceAll("inertia", inertiaString.toString());
|
|
|
+
|
|
|
+ List<String> driving = vehiclePO.getDriving();
|
|
|
+ StringBuilder drivingString = new StringBuilder();
|
|
|
+ for (int i = 0; i < driving.size(); i++) {
|
|
|
+ if (i == 0) {
|
|
|
+ drivingString.append("R_EFF_TR_F_REVERSE ").append(driving.get(0)).append(System.lineSeparator());
|
|
|
+ continue;
|
|
|
}
|
|
|
- String replace31 = replace30.replaceAll("driving", drivingString.toString());
|
|
|
-
|
|
|
- List<String> coasting = vehiclePO.getDriving();
|
|
|
- StringBuilder coastingString = new StringBuilder();
|
|
|
- for (int i = 0; i < coasting.size(); i++) {
|
|
|
- if (i == 0) {
|
|
|
- coastingString.append("R_EFF_TR_R_REVERSE ").append(coasting.get(0)).append(System.lineSeparator());
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (i == 1) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- coastingString.append("IGEAR ").append(i - 1).append(System.lineSeparator());
|
|
|
- coastingString.append("R_EFF_TR_R ").append(coasting.get(i)).append(System.lineSeparator());
|
|
|
- coastingString.append("*R_EFF_TR_R(").append(i - 1).append(") ").append(coasting.get(i)).append(System.lineSeparator());
|
|
|
+ if (i == 1) {
|
|
|
+ continue;
|
|
|
}
|
|
|
- String replace32 = replace31.replaceAll("coasting", coastingString.toString());
|
|
|
- String replace33 = replace32.replaceAll("shiftTime", vehiclePO.getShiftTime());
|
|
|
-
|
|
|
- String replace34 = replace33.replaceAll("shiftTimeUp12", convertArrayToTable(vehiclePO.getShiftTimeUp12()));
|
|
|
- String replace35 = replace34.replaceAll("shiftTimeDown12", convertArrayToTable(vehiclePO.getShiftTimeDown12()));
|
|
|
-
|
|
|
- String replace36 = replace35.replaceAll("shiftTimeUp23", convertArrayToTable(vehiclePO.getShiftTimeUp23()));
|
|
|
- String replace37 = replace36.replaceAll("shiftTimeDown23", convertArrayToTable(vehiclePO.getShiftTimeDown23()));
|
|
|
-
|
|
|
- String replace38 = replace37.replaceAll("shiftTimeUp34", convertArrayToTable(vehiclePO.getShiftTimeUp34()));
|
|
|
- String replace39 = replace38.replaceAll("shiftTimeDown34", convertArrayToTable(vehiclePO.getShiftTimeDown34()));
|
|
|
-
|
|
|
- String replace40 = replace39.replaceAll("shiftTimeUp45", convertArrayToTable(vehiclePO.getShiftTimeUp45()));
|
|
|
- String replace41 = replace40.replaceAll("shiftTimeDown45", convertArrayToTable(vehiclePO.getShiftTimeDown45()));
|
|
|
-
|
|
|
- String replace42 = replace41.replaceAll("shiftTimeUp56", convertArrayToTable(vehiclePO.getShiftTimeUp56()));
|
|
|
- String replace43 = replace42.replaceAll("shiftTimeDown56", convertArrayToTable(vehiclePO.getShiftTimeDown56()));
|
|
|
-
|
|
|
- // 制动力矩不再区分左右,前轮使用前左,后轮使用后左
|
|
|
- String replace44 = replace43.replaceAll("frontLeftWheelBrakingTorque", vehiclePO.getFrontLeftWheelBrakingTorque());
|
|
|
- String replace45 = replace44.replaceAll("frontRightWheelBrakingTorque", vehiclePO.getFrontLeftWheelBrakingTorque());
|
|
|
- String replace46 = replace45.replaceAll("rearLeftWheelBrakingTorque", vehiclePO.getRearLeftWheelBrakingTorque());
|
|
|
- String replace47 = replace46.replaceAll("rearRightWheelBrakingTorque", vehiclePO.getRearLeftWheelBrakingTorque());
|
|
|
- String replace48 = replace47.replaceAll("steeringGearRatio", vehiclePO.getSteeringGearRatio());
|
|
|
- String replace49 = replace48.replaceAll("relationCurveRightWheelAngleAndSteeringGearOutput", convertArrayToTable(vehiclePO.getRelationCurveRightWheelAngleAndSteeringGearOutput()));
|
|
|
- String replace50 = replace49.replaceAll("relationCurveLeftWheelAngleAndSteeringGearOutput", convertArrayToTable(vehiclePO.getRelationCurveLeftWheelAngleAndSteeringGearOutput()));
|
|
|
- String parFileName = StringUtil.getRandomEightBitUUID() + ".par";
|
|
|
- String localParFilePath = parTemp + parFileName;
|
|
|
- String minioParFilePath = "/model/" + parFileName;
|
|
|
- FileUtil.writeStringToLocalFile(replace50, localParFilePath);
|
|
|
- fileDownService.uploadLocalFile(localParFilePath, minioParFilePath);
|
|
|
- vehiclePO.setParFilePath(minioParFilePath);
|
|
|
+ drivingString.append("IGEAR ").append(i - 1).append(System.lineSeparator());
|
|
|
+ drivingString.append("R_EFF_TR_F ").append(driving.get(i)).append(System.lineSeparator());
|
|
|
+ drivingString.append("*R_EFF_TR_F(").append(i - 1).append(") ").append(driving.get(i)).append(System.lineSeparator());
|
|
|
}
|
|
|
- if (ObjectUtil.isNull(id)) {//新增
|
|
|
- vehiclePO.setId(StringUtil.getRandomUUID());
|
|
|
- vehiclePO.setVehicleCode(StringUtil.getRandomCode());
|
|
|
- vehicleMapper.insert(vehiclePO);
|
|
|
- LogUtil.insert();
|
|
|
- } else {//修改
|
|
|
- vehicleMapper.update(vehiclePO);
|
|
|
- LogUtil.update();
|
|
|
+ String replace31 = replace30.replaceAll("driving", drivingString.toString());
|
|
|
+
|
|
|
+ List<String> coasting = vehiclePO.getDriving();
|
|
|
+ StringBuilder coastingString = new StringBuilder();
|
|
|
+ for (int i = 0; i < coasting.size(); i++) {
|
|
|
+ if (i == 0) {
|
|
|
+ coastingString.append("R_EFF_TR_R_REVERSE ").append(coasting.get(0)).append(System.lineSeparator());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (i == 1) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ coastingString.append("IGEAR ").append(i - 1).append(System.lineSeparator());
|
|
|
+ coastingString.append("R_EFF_TR_R ").append(coasting.get(i)).append(System.lineSeparator());
|
|
|
+ coastingString.append("*R_EFF_TR_R(").append(i - 1).append(") ").append(coasting.get(i)).append(System.lineSeparator());
|
|
|
}
|
|
|
- return vehiclePO;
|
|
|
- } catch (Exception e) {
|
|
|
- throw new RuntimeException(e);
|
|
|
+ String replace32 = replace31.replaceAll("coasting", coastingString.toString());
|
|
|
+ String replace33 = replace32.replaceAll("shiftTime", vehiclePO.getShiftTime());
|
|
|
+
|
|
|
+ String replace34 = replace33.replaceAll("shiftTimeUp12", convertArrayToTable(vehiclePO.getShiftTimeUp12()));
|
|
|
+ String replace35 = replace34.replaceAll("shiftTimeDown12", convertArrayToTable(vehiclePO.getShiftTimeDown12()));
|
|
|
+
|
|
|
+ String replace36 = replace35.replaceAll("shiftTimeUp23", convertArrayToTable(vehiclePO.getShiftTimeUp23()));
|
|
|
+ String replace37 = replace36.replaceAll("shiftTimeDown23", convertArrayToTable(vehiclePO.getShiftTimeDown23()));
|
|
|
+
|
|
|
+ String replace38 = replace37.replaceAll("shiftTimeUp34", convertArrayToTable(vehiclePO.getShiftTimeUp34()));
|
|
|
+ String replace39 = replace38.replaceAll("shiftTimeDown34", convertArrayToTable(vehiclePO.getShiftTimeDown34()));
|
|
|
+
|
|
|
+ String replace40 = replace39.replaceAll("shiftTimeUp45", convertArrayToTable(vehiclePO.getShiftTimeUp45()));
|
|
|
+ String replace41 = replace40.replaceAll("shiftTimeDown45", convertArrayToTable(vehiclePO.getShiftTimeDown45()));
|
|
|
+
|
|
|
+ String replace42 = replace41.replaceAll("shiftTimeUp56", convertArrayToTable(vehiclePO.getShiftTimeUp56()));
|
|
|
+ String replace43 = replace42.replaceAll("shiftTimeDown56", convertArrayToTable(vehiclePO.getShiftTimeDown56()));
|
|
|
+
|
|
|
+ // 制动力矩不再区分左右,前轮使用前左,后轮使用后左
|
|
|
+ String replace44 = replace43.replaceAll("frontLeftWheelBrakingTorque", vehiclePO.getFrontLeftWheelBrakingTorque());
|
|
|
+ String replace45 = replace44.replaceAll("frontRightWheelBrakingTorque", vehiclePO.getFrontLeftWheelBrakingTorque());
|
|
|
+ String replace46 = replace45.replaceAll("rearLeftWheelBrakingTorque", vehiclePO.getRearLeftWheelBrakingTorque());
|
|
|
+ String replace47 = replace46.replaceAll("rearRightWheelBrakingTorque", vehiclePO.getRearLeftWheelBrakingTorque());
|
|
|
+ String replace48 = replace47.replaceAll("steeringGearRatio", vehiclePO.getSteeringGearRatio());
|
|
|
+ String replace49 = replace48.replaceAll("relationCurveRightWheelAngleAndSteeringGearOutput", convertArrayToTable(vehiclePO.getRelationCurveRightWheelAngleAndSteeringGearOutput()));
|
|
|
+ String replace50 = replace49.replaceAll("relationCurveLeftWheelAngleAndSteeringGearOutput", convertArrayToTable(vehiclePO.getRelationCurveLeftWheelAngleAndSteeringGearOutput()));
|
|
|
+ String parFileName = StringUtil.getRandomEightBitUUID() + ".par";
|
|
|
+ String localParFilePath = parTemp + parFileName;
|
|
|
+ String minioParFilePath = "/model/" + parFileName;
|
|
|
+ FileUtil.writeStringToLocalFile(replace50, localParFilePath);
|
|
|
+ fileDownService.uploadLocalFile(localParFilePath, minioParFilePath);
|
|
|
+ vehiclePO.setParFilePath(minioParFilePath);
|
|
|
}
|
|
|
+ if (ObjectUtil.isNull(id)) {//新增
|
|
|
+ vehiclePO.setId(StringUtil.getRandomUUID());
|
|
|
+ vehiclePO.setVehicleCode(StringUtil.getRandomCode());
|
|
|
+ vehicleMapper.insert(vehiclePO);
|
|
|
+ LogUtil.insert();
|
|
|
+ } else {//修改
|
|
|
+ vehicleMapper.update(vehiclePO);
|
|
|
+ LogUtil.update();
|
|
|
+ }
|
|
|
+ return vehiclePO;
|
|
|
|
|
|
}
|
|
|
|
|
@@ -240,7 +243,7 @@ public class VehicleService {
|
|
|
vehiclePO.setModifyTime(currentTime);
|
|
|
String sourceParFilePath = vehiclePO.getParFilePath();
|
|
|
String targetParFilePath = "/model/" + StringUtil.getRandomEightBitUUID() + ".par";
|
|
|
- fileDownService.copy(sourceParFilePath,targetParFilePath);
|
|
|
+ fileDownService.copy(sourceParFilePath, targetParFilePath);
|
|
|
vehiclePO.setParFilePath(targetParFilePath);
|
|
|
vehicleMapper.update(vehiclePO);
|
|
|
LogUtil.update();
|
|
@@ -251,7 +254,7 @@ public class VehicleService {
|
|
|
vehiclePO.setVehicleCode(StringUtil.getRandomCode());
|
|
|
String sourceParFilePath = vehiclePO.getParFilePath();
|
|
|
String targetParFilePath = "/model/" + StringUtil.getRandomEightBitUUID() + ".par";
|
|
|
- fileDownService.copy(sourceParFilePath,targetParFilePath);
|
|
|
+ fileDownService.copy(sourceParFilePath, targetParFilePath);
|
|
|
vehiclePO.setParFilePath(targetParFilePath);
|
|
|
vehicleMapper.insert(vehiclePO);
|
|
|
}
|