root 2 years ago
parent
commit
8846e947f5

+ 24 - 0
api-common/src/main/java/api/common/pojo/po/model/VehiclePO.java

@@ -62,22 +62,31 @@ public class VehiclePO extends CommonPO {
     private String rearLeftWheelRollingResistanceCoefficient;//左前轮滚动阻力系数
     private String rearLeftWheelFreeRadius;//左前轮自由半径
     private List<List<String>> rearLeftWheelRelationCurvePositiveMomentAndSideslipAngle;//左后轮不同载荷下正力矩和侧偏角关系曲线
+    private String rearLeftWheelRelationCurvePositiveMomentAndSideslipAngleJson;//左后轮不同载荷下正力矩和侧偏角关系曲线
     private List<List<String>> rearLeftWheelRelationCurveLateralForceAndSideslipAngle;//左后轮不同载荷下侧向力和侧偏角关系曲线
+    private String rearLeftWheelRelationCurveLateralForceAndSideslipAngleJson;//左后轮不同载荷下侧向力和侧偏角关系曲线
     private List<List<String>> rearLeftWheelRelationCurveLongitudinalForceAndSideslipAngle;//左后轮不同载荷下纵向力和侧偏角关系曲线
+    private String rearLeftWheelRelationCurveLongitudinalForceAndSideslipAngleJson;//左后轮不同载荷下纵向力和侧偏角关系曲线
 
     private String frontRightWheelEffectiveRollingRadius;//右前轮有效滚动半径
     private String frontRightWheelRollingResistanceCoefficient;//右前轮滚动阻力系数
     private String frontRightWheelFreeRadius;//右前轮自由半径
     private List<List<String>> frontRightWheelRelationCurvePositiveMomentAndSideslipAngle;//右前轮不同载荷下正力矩和侧偏角关系曲线
+    private String frontRightWheelRelationCurvePositiveMomentAndSideslipAngleJson;//右前轮不同载荷下正力矩和侧偏角关系曲线
     private List<List<String>> frontRightWheelRelationCurveLateralForceAndSideslipAngle;//右前轮不同载荷下侧向力和侧偏角关系曲线
+    private String frontRightWheelRelationCurveLateralForceAndSideslipAngleJson;//右前轮不同载荷下侧向力和侧偏角关系曲线
     private List<List<String>> frontRightWheelRelationCurveLongitudinalForceAndSideslipAngle;//右前轮不同载荷下纵向力和侧偏角关系曲线
+    private String frontRightWheelRelationCurveLongitudinalForceAndSideslipAngleJson;//右前轮不同载荷下纵向力和侧偏角关系曲线
 
     private String rearRightWheelEffectiveRollingRadius;//右后轮有效滚动半径
     private String rearRightWheelRollingResistanceCoefficient;//右后轮滚动阻力系数
     private String rearRightWheelFreeRadius;//右后轮自由半径
     private List<List<String>> rearRightWheelRelationCurvePositiveMomentAndSideslipAngle;//右后轮不同载荷下正力矩和侧偏角关系曲线
+    private String rearRightWheelRelationCurvePositiveMomentAndSideslipAngleJson;//右后轮不同载荷下正力矩和侧偏角关系曲线
     private List<List<String>> rearRightWheelRelationCurveLateralForceAndSideslipAngle;//右后轮不同载荷下侧向力和侧偏角关系曲线
+    private String rearRightWheelRelationCurveLateralForceAndSideslipAngleJson;//右后轮不同载荷下侧向力和侧偏角关系曲线
     private List<List<String>> rearRightWheelRelationCurveLongitudinalForceAndSideslipAngle;//右后轮不同载荷下纵向力和侧偏角关系曲线
+    private String rearRightWheelRelationCurveLongitudinalForceAndSideslipAngleJson;//右后轮不同载荷下纵向力和侧偏角关系曲线
 
     private String frontWheelSuspensionType;//前轮悬架类型 1 独立悬架 2 非独立悬架
     private String frontWheelSuspensionKinematicsCoefficient;//前轮悬架运动学系数
@@ -92,25 +101,40 @@ public class VehiclePO extends CommonPO {
     private String engineCrankshaftMomentInertia;//发动机曲轴转动惯量
     private String idleSpeed;//怠速转速
     private List<List<String>> relationCurveEngineTorqueSpeedAndThrottleOpening;//发动机扭矩、转速和节气门开度关系曲线
+    private String relationCurveEngineTorqueSpeedAndThrottleOpeningJson;//发动机扭矩、转速和节气门开度关系曲线
     private String momentInertiaInputShaft;//输入轴的转动惯量
     private String momentInertiaOutputShaft;//输出轴的转动惯量
     private String finalDriveRatio;//主减速器传动比
     private String transmissionEfficiency;//传动效率
     private List<String> gearRatio;//R,N,1,2,3,4,5,6
+    private String gearRatioJson;//R,N,1,2,3,4,5,6
     private List<String> inertia;//R,N,1,2,3,4,5,6
+    private String inertiaJson;//R,N,1,2,3,4,5,6
     private List<String> driving;//R,N,1,2,3,4,5,6
+    private String drivingJson;//R,N,1,2,3,4,5,6
     private List<String> coasting;//R,N,1,2,3,4,5,6
+    private String coastingJson;//R,N,1,2,3,4,5,6
     private String shiftTime;//换挡时间
     private List<List<String>> shiftTimeUp12;//
+    private String shiftTimeUp12Json;//
     private List<List<String>> shiftTimeDown12;//
+    private String shiftTimeDown12Json;//
     private List<List<String>> shiftTimeUp23;//
+    private String shiftTimeUp23Json;//
     private List<List<String>> shiftTimeDown23;//
+    private String shiftTimeDown23Json;//
     private List<List<String>> shiftTimeUp34;//
+    private String shiftTimeUp34Json;//
     private List<List<String>> shiftTimeDown34;//
+    private String shiftTimeDown34Json;//
     private List<List<String>> shiftTimeUp45;//
+    private String shiftTimeUp45Json;//
     private List<List<String>> shiftTimeDown45;//
+    private String shiftTimeDown45Json;//
     private List<List<String>> shiftTimeUp56;//
+    private String shiftTimeUp56Json;//
     private List<List<String>> shiftTimeDown56;//
+    private String shiftTimeDown56Json;//
     private String brakeType;//制动类型 1 前轮制动 2 后轮制动 3 四轮制动
     private String frontLeftWheelBrakingTorque;//左前轮制动力矩
     private String rearLeftWheelBrakingTorque;//左后轮制动力矩

+ 46 - 30
simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/VehicleService.java

@@ -11,6 +11,7 @@ import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
 import com.css.simulation.resource.common.utils.PoUtil;
 import com.css.simulation.resource.model.mapper.VehicleMapper;
+import com.css.simulation.resource.util.VehicleUtil;
 import org.apache.tomcat.util.buf.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -45,39 +46,54 @@ public class VehicleService {
     }
 
     public VehiclePO saveVehicle(VehicleVO vehicleVO) {
-        //1 判断参数是 1 vtd 还是 2 carsim
-        String parameterType = vehicleVO.getParameterType();
+        try {
+            //1 判断参数是 1 vtd 还是 2 carsim
+            String parameterType = vehicleVO.getParameterType();
 
-        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();
-        if("1".equals(parameterType)){
-            if (ObjectUtil.isNull(id)) {//新增
-                vehiclePO.setId(StringUtil.getRandomUUID());
-                vehiclePO.setVehicleCode(StringUtil.getRandomCode());
-                vehicleMapper.insert(vehiclePO);
-                LogUtil.insert();
-            } else {//修改
-                vehicleMapper.update(vehiclePO);
-                LogUtil.update();
+            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;
             }
-        }else if("2".equals(parameterType)){
-        }
+            String id = vehiclePO.getId();
+            if("1".equals(parameterType)){
+                if (ObjectUtil.isNull(id)) {//新增
+                    vehiclePO.setId(StringUtil.getRandomUUID());
+                    vehiclePO.setVehicleCode(StringUtil.getRandomCode());
+                    vehicleMapper.insert(vehiclePO);
+                    LogUtil.insert();
+                } else {//修改
+                    vehicleMapper.update(vehiclePO);
+                    LogUtil.update();
+                }
+            }else if("2".equals(parameterType)){
+                VehicleUtil.listToJson(vehiclePO);
+                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;
+            }
+
+            return vehiclePO;
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
 
     }
 

+ 44 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/util/VehicleUtil.java

@@ -0,0 +1,44 @@
+package com.css.simulation.resource.util;
+
+import api.common.pojo.po.model.VehiclePO;
+import api.common.util.JsonUtil;
+import com.fasterxml.jackson.core.JsonProcessingException;
+
+public class VehicleUtil {
+
+    public static void listToJson(VehiclePO vehiclePO){
+        try {
+            vehiclePO.setFrontLeftWheelRelationCurvePositiveMomentAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getFrontLeftWheelRelationCurvePositiveMomentAndSideslipAngle()));
+            vehiclePO.setFrontLeftWheelRelationCurveLateralForceAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getFrontLeftWheelRelationCurveLateralForceAndSideslipAngle()));
+            vehiclePO.setFrontLeftWheelRelationCurveLongitudinalForceAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getFrontLeftWheelRelationCurveLongitudinalForceAndSideslipAngle()));
+
+            vehiclePO.setRearLeftWheelRelationCurvePositiveMomentAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getRearLeftWheelRelationCurvePositiveMomentAndSideslipAngle()));
+            vehiclePO.setRearLeftWheelRelationCurveLateralForceAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getRearLeftWheelRelationCurveLateralForceAndSideslipAngle()));
+            vehiclePO.setRearLeftWheelRelationCurveLongitudinalForceAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getRearLeftWheelRelationCurveLongitudinalForceAndSideslipAngle()));
+
+            vehiclePO.setFrontRightWheelRelationCurvePositiveMomentAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getFrontRightWheelRelationCurvePositiveMomentAndSideslipAngle()));
+            vehiclePO.setFrontRightWheelRelationCurveLateralForceAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getFrontRightWheelRelationCurveLateralForceAndSideslipAngle()));
+            vehiclePO.setFrontRightWheelRelationCurveLongitudinalForceAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getFrontRightWheelRelationCurveLongitudinalForceAndSideslipAngle()));
+
+            vehiclePO.setRearRightWheelRelationCurvePositiveMomentAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getRearRightWheelRelationCurvePositiveMomentAndSideslipAngle()));
+            vehiclePO.setRearRightWheelRelationCurveLateralForceAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getRearRightWheelRelationCurveLateralForceAndSideslipAngle()));
+            vehiclePO.setRearRightWheelRelationCurveLongitudinalForceAndSideslipAngleJson(JsonUtil.listToJson(vehiclePO.getRearRightWheelRelationCurveLongitudinalForceAndSideslipAngle()));
+
+            vehiclePO.setRelationCurveEngineTorqueSpeedAndThrottleOpeningJson(JsonUtil.listToJson(vehiclePO.getRelationCurveEngineTorqueSpeedAndThrottleOpening()));
+
+            vehiclePO.setGearRatioJson(JsonUtil.listToJson(vehiclePO.getGearRatio()));
+            vehiclePO.setInertiaJson(JsonUtil.listToJson(vehiclePO.getInertia()));
+            vehiclePO.setDrivingJson(JsonUtil.listToJson(vehiclePO.getDriving()));
+            vehiclePO.setCoastingJson(JsonUtil.listToJson(vehiclePO.getCoasting()));
+
+            vehiclePO.setShiftTimeUp12Json(JsonUtil.listToJson(vehiclePO.getShiftTimeUp12()));
+            vehiclePO.setShiftTimeUp23Json(JsonUtil.listToJson(vehiclePO.getShiftTimeUp23()));
+            vehiclePO.setShiftTimeUp34Json(JsonUtil.listToJson(vehiclePO.getShiftTimeUp34()));
+            vehiclePO.setShiftTimeUp45Json(JsonUtil.listToJson(vehiclePO.getShiftTimeUp45()));
+            vehiclePO.setShiftTimeUp56Json(JsonUtil.listToJson(vehiclePO.getShiftTimeUp56()));
+
+        } catch (JsonProcessingException e) {
+            throw new RuntimeException(e);
+        }
+
+    }}

+ 115 - 2
simulation-resource-server/src/main/resources/mapper/model/VehicleMapper.xml

@@ -144,7 +144,44 @@
                                   modify_time,
                                   create_user_id,
                                   modify_user_id,
-                                  is_deleted)
+                                  is_deleted,
+                                  parameter_type,
+                                  wheelCenterToGround, centroidToFrontWheelCenter, centroidToGround, sprungMass,
+                                  vehicleWidth,
+                                  rotationalInertiaX, rotationalInertiaY, rotationalInertiaZ,
+                                  frontLeftWheelEffectiveRollingRadius, frontLeftWheelRollingResistanceCoefficient,
+                                  frontLeftWheelFreeRadius, frontLeftWheelRelationCurvePositiveMomentAndSideslipAngle,
+                                  frontLeftWheelRelationCurveLateralForceAndSideslipAngle,
+                                  frontLeftWheelRelationCurveLongitudinalForceAndSideslipAngle,
+                                  rearLeftWheelEffectiveRollingRadius, rearLeftWheelRollingResistanceCoefficient,
+                                  rearLeftWheelFreeRadius, rearLeftWheelRelationCurvePositiveMomentAndSideslipAngle,
+                                  rearLeftWheelRelationCurveLateralForceAndSideslipAngle,
+                                  rearLeftWheelRelationCurveLongitudinalForceAndSideslipAngle,
+                                  frontRightWheelEffectiveRollingRadius, frontRightWheelRollingResistanceCoefficient,
+                                  frontRightWheelFreeRadius, frontRightWheelRelationCurvePositiveMomentAndSideslipAngle,
+                                  frontRightWheelRelationCurveLateralForceAndSideslipAngle,
+                                  frontRightWheelRelationCurveLongitudinalForceAndSideslipAngle,
+                                  rearRightWheelEffectiveRollingRadius, rearRightWheelRollingResistanceCoefficient,
+                                  rearRightWheelFreeRadius, rearRightWheelRelationCurvePositiveMomentAndSideslipAngle,
+                                  rearRightWheelRelationCurveLateralForceAndSideslipAngle,
+                                  rearRightWheelRelationCurveLongitudinalForceAndSideslipAngle,
+                                  frontWheelSuspensionType,
+                                  frontWheelSuspensionKinematicsCoefficient, frontWheelUnsprungMass,
+                                  frontWheelTrackWidth,
+                                  rearWheelSuspensionType, rearWheelSuspensionKinematicsCoefficient,
+                                  rearWheelUnsprungMass,
+                                  rearWheelTrackWidth, windwardArea, airDensity, engineCrankshaftMomentInertia,
+                                  idleSpeed,
+                                  relationCurveEngineTorqueSpeedAndThrottleOpening, momentInertiaInputShaft,
+                                  momentInertiaOutputShaft, finalDriveRatio, transmissionEfficiency, gearRatio, inertia,
+                                  driving, coasting, shiftTime, shiftTimeUp12, shiftTimeDown12, shiftTimeUp23,
+                                  shiftTimeDown23,
+                                  shiftTimeUp34, shiftTimeDown34, shiftTimeUp45, shiftTimeDown45, shiftTimeUp56,
+                                  shiftTimeDown56, brakeType, frontLeftWheelBrakingTorque, rearLeftWheelBrakingTorque,
+                                  frontRightWheelBrakingTorque, rearRightWheelBrakingTorque, steeringType,
+                                  steeringGearType,
+                                  steeringGearRatio, relationCurveRightWheelAngleAndSteeringGearOutput,
+                                  relationCurveLeftWheelAngleAndSteeringGearOutput, wheelCenterToTop)
         values (#{id,jdbcType=VARCHAR},
                 #{vehicleCode,jdbcType=VARCHAR},
                 #{vehicleName,jdbcType=VARCHAR},
@@ -175,7 +212,83 @@
                 #{modifyTime,jdbcType=TIMESTAMP},
                 #{createUserId,jdbcType=VARCHAR},
                 #{modifyUserId,jdbcType=VARCHAR},
-                #{isDeleted,jdbcType=VARCHAR})
+                #{isDeleted,jdbcType=VARCHAR},
+                #{parameter_type},
+                #{wheelCenterToGround},
+                #{centroidToFrontWheelCenter},
+                #{centroidToGround},
+                #{sprungMass},
+                #{vehicleWidth},
+                #{rotationalInertiaX},
+                #{rotationalInertiaY},
+                #{rotationalInertiaZ},
+                #{frontLeftWheelEffectiveRollingRadius},
+                #{frontLeftWheelRollingResistanceCoefficient},
+                #{frontLeftWheelFreeRadius},
+                #{frontLeftWheelRelationCurvePositiveMomentAndSideslipAngleJson},
+                #{frontLeftWheelRelationCurveLateralForceAndSideslipAngleJson},
+                #{frontLeftWheelRelationCurveLongitudinalForceAndSideslipAngleJson},
+                #{rearLeftWheelEffectiveRollingRadius},
+                #{rearLeftWheelRollingResistanceCoefficient},
+                #{rearLeftWheelFreeRadius},
+                #{rearLeftWheelRelationCurvePositiveMomentAndSideslipAngleJson},
+                #{rearLeftWheelRelationCurveLateralForceAndSideslipAngleJson},
+                #{rearLeftWheelRelationCurveLongitudinalForceAndSideslipAngleJson},
+                #{frontRightWheelEffectiveRollingRadius},
+                #{frontRightWheelRollingResistanceCoefficient},
+                #{frontRightWheelFreeRadius},
+                #{frontRightWheelRelationCurvePositiveMomentAndSideslipAngleJson},
+                #{frontRightWheelRelationCurveLateralForceAndSideslipAngleJson},
+                #{frontRightWheelRelationCurveLongitudinalForceAndSideslipAngleJson},
+                #{rearRightWheelEffectiveRollingRadius},
+                #{rearRightWheelRollingResistanceCoefficient},
+                #{rearRightWheelFreeRadius},
+                #{rearRightWheelRelationCurvePositiveMomentAndSideslipAngleJson},
+                #{rearRightWheelRelationCurveLateralForceAndSideslipAngleJson},
+                #{rearRightWheelRelationCurveLongitudinalForceAndSideslipAngleJson},
+                #{frontWheelSuspensionType},
+                #{frontWheelSuspensionKinematicsCoefficient},
+                #{frontWheelUnsprungMass},
+                #{frontWheelTrackWidth},
+                #{rearWheelSuspensionType},
+                #{rearWheelSuspensionKinematicsCoefficient},
+                #{rearWheelUnsprungMass},
+                #{rearWheelTrackWidth},
+                #{windwardArea},
+                #{airDensity},
+                #{engineCrankshaftMomentInertia},
+                #{idleSpeed},
+                #{relationCurveEngineTorqueSpeedAndThrottleOpeningJson},
+                #{momentInertiaInputShaft},
+                #{momentInertiaOutputShaft},
+                #{finalDriveRatio},
+                #{transmissionEfficiency},
+                #{gearRatioJson},
+                #{inertiaJson},
+                #{drivingJson},
+                #{coastingJson},
+                #{shiftTime},
+                #{shiftTimeUp12Json},
+                #{shiftTimeDown12Json},
+                #{shiftTimeUp23Json},
+                #{shiftTimeDown23Json},
+                #{shiftTimeUp34Json},
+                #{shiftTimeDown34Json},
+                #{shiftTimeUp45Json},
+                #{shiftTimeDown45Json},
+                #{shiftTimeUp56Json},
+                #{shiftTimeDown56Json},
+                #{brakeType},
+                #{frontLeftWheelBrakingTorque},
+                #{rearLeftWheelBrakingTorque},
+                #{frontRightWheelBrakingTorque},
+                #{rearRightWheelBrakingTorque},
+                #{steeringType},
+                #{steeringGearType},
+                #{steeringGearRatio},
+                #{relationCurveRightWheelAngleAndSteeringGearOutput},
+                #{relationCurveLeftWheelAngleAndSteeringGearOutput},
+                #{wheelCenterToTop})
     </insert>
 
     <update id="update" parameterType="api.common.pojo.po.model.VehiclePO">