haungfuli 2 年之前
父节点
当前提交
6d5092cb0c

+ 13 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/HyDriverCarInfo.java

@@ -61,6 +61,14 @@ public class HyDriverCarInfo extends BaseModel<HyDriverCarInfo> {
      * 车辆识别代号
      */
     private String carCode;
+    /**
+     * 挂车车辆类型
+     */
+    private String trailerVehicleType;
+    /**
+     * 挂车车辆识别代号
+     */
+    private String trailerCarCode;
     /**
      * 车牌颜色
      */
@@ -385,6 +393,11 @@ public class HyDriverCarInfo extends BaseModel<HyDriverCarInfo> {
      */
     @TableField(exist = false)
     private String vehicleTypeKey;
+    /**
+     * 挂车车辆类型key值
+     */
+    @TableField(exist = false)
+    private String trailerVehicleTypeKey;
     /**
      * 管局上报列表状态(1未上报2上报失败3上报成功)
      */

+ 26 - 1
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/OrderInfoServiceImpl.java

@@ -997,13 +997,19 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                     //驾驶员监测系统上报
                     HyDriverInfo hyDriverInfo1 = driverInfoService.selectOne(new EntityWrapper<HyDriverInfo>()
                             .eq("common_id",orderInfo1.getCommonId()).eq("delete_flag","0"));
-                    //车辆监测系统上报
+                    //查询车辆信息
                     HyDriverCarInfo hyDriverCarInfo1 = driverCarInfoService.selectOne(new EntityWrapper<HyDriverCarInfo>()
                             .eq("car_number",orderInfo1.getCarNumber()).eq("delete_flag","0"));
                     //查询车辆类型key值
                     HyCommonSysParameter hyCommonSysParameter = commonSysParameterService.selectOne(new EntityWrapper<HyCommonSysParameter>()
                             .eq("const_id", "CAR1").eq("const_value", hyDriverCarInfo1.getVehicleType()));
                     hyDriverCarInfo1.setVehicleTypeKey(hyCommonSysParameter.getConstKey());
+                    //查询挂车车辆类型key值
+                    HyCommonSysParameter hyCommonSysParameter3 = commonSysParameterService.selectOne(new EntityWrapper<HyCommonSysParameter>()
+                            .eq("const_id", "CAR1").eq("const_value", hyDriverCarInfo1.getTrailerVehicleType()));
+                    hyDriverCarInfo1.setTrailerVehicleTypeKey(hyCommonSysParameter3.getConstKey());
+
+
                     //1.查询任务,获取业务类型代码
                     PublishTaskInfo publishTaskInfo = publishTaskInfoService.selectById(orderInfo1.getTaskId());
                     if (publishTaskInfo != null) {
@@ -1108,6 +1114,25 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                             } catch (Exception e) {
                                 e.printStackTrace();
                             }
+                            //挂车车辆交管监测系统上报
+                            try {
+                                String result = MonitoringSystemReporting.testTrailerVehicleRoot(hyDriverCarInfo1);
+                                JSONObject jsonObject = JSONObject.fromObject(result);
+                                //发送成功
+                                if ("1001".equals(jsonObject.getString("code"))) {
+                                    hyDriverCarInfo1.setReportedStatusKey(StatusEnum.REPORTED_SUCESS.getFlag());
+                                    hyDriverCarInfo1.setReportedStatus(StatusEnum.REPORTED_SUCESS.getName());
+                                }
+                                //发送失败
+                                else if ("3003".equals(jsonObject.getString("code"))) {
+                                    hyDriverCarInfo1.setReportedStatusKey(StatusEnum.REPORTED_FAIL.getFlag());
+                                    hyDriverCarInfo1.setReportedStatus(StatusEnum.REPORTED_FAIL.getName());
+                                    hyDriverCarInfo1.setReportedFailureReason(jsonObject.getString("data"));
+                                }
+                                driverCarInfoService.updateById(hyDriverCarInfo1);
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
                             //运单监测系统上报
                             try {
                                 String result = MonitoringSystemReporting.testDispatch(orderInfo1);

+ 51 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/MonitoringSystemReporting.java

@@ -240,6 +240,57 @@ public class MonitoringSystemReporting {
         return result;
     }
 
+    /**
+     *
+     * @return
+     * @throws Exception 挂车车辆信息单
+     */
+    public static String testTrailerVehicleRoot(HyDriverCarInfo hyDriverCarInfo) throws Exception {
+        String name = "车辆信息单";
+        Vehicle vehicle = new Vehicle();
+        SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");//设置日期格式
+        vehicle.setVehicleNumber(hyDriverCarInfo.getGuaCarNumber());
+        vehicle.setVehiclePlateColorCode("2");
+        vehicle.setVehicleType(hyDriverCarInfo.getTrailerVehicleTypeKey());
+        vehicle.setOwner(hyDriverCarInfo.getGuaOwner());
+        vehicle.setUseCharacter(hyDriverCarInfo.getGuaUseNature());
+        vehicle.setVin(hyDriverCarInfo.getTrailerCarCode());
+        vehicle.setIssuingOrganizations(hyDriverCarInfo.getGuaLssuingAuthority());
+        vehicle.setRegisterDate(f.format(hyDriverCarInfo.getTrailerLicenseRegistrationDate()));
+        vehicle.setIssueDate(f.format(hyDriverCarInfo.getTrailerLicenseIssueDate()));
+        if ("汽油".equals(hyDriverCarInfo.getEnergyType())) {
+            vehicle.setVehicleEnergyType("A");
+        } else if ("柴油".equals(hyDriverCarInfo.getEnergyType())) {
+            vehicle.setVehicleEnergyType("B");
+        } else if ("油电混合".equals(hyDriverCarInfo.getEnergyType())) {
+            vehicle.setVehicleEnergyType("O");
+        } else if ("纯电动".equals(hyDriverCarInfo.getEnergyType())) {
+            vehicle.setVehicleEnergyType("C");
+        } else if ("插电式混合动力".equals(hyDriverCarInfo.getEnergyType())) {
+            vehicle.setVehicleEnergyType("O");
+        } else if ("增程式".equals(hyDriverCarInfo.getEnergyType())) {
+            vehicle.setVehicleEnergyType("Z");
+        } else if ("天然气".equals(hyDriverCarInfo.getEnergyType())) {
+            vehicle.setVehicleEnergyType("E");
+        }
+        DecimalFormat df = new DecimalFormat("0.00");
+        Double doubleValue = hyDriverCarInfo.getGuaCarApprovedWeight() / 1000;
+        String approvedWeight = df.format(doubleValue);
+        vehicle.setVehicleTonnage(approvedWeight);
+        Double doubleValue1 = hyDriverCarInfo.getCarTotalWeight() / 1000;
+        String totalWeight = df.format(doubleValue1);
+        vehicle.setGrossMass(totalWeight);
+        vehicle.setRoadTransportCertificateNumber(hyDriverCarInfo.getTrailerOperationCertificateNumber());
+        vehicle.setTrailerVehiclePlateNumber(hyDriverCarInfo.getGuaCarNumber());
+        vehicle.setRemark("备注");
+        Root root = getRoot(vehicle, name, loginRoot("23106960", "qweasd!@#123", "91230229MABPEWQX94", "debugSystem"));
+        String messageJson = JSON.toJSONString(root);
+        System.out.println("发送报文的内容:" + messageJson);
+        String result = PostUtils.post(sendUrl, messageJson);
+        System.out.println("服务器返回消息:" + result);
+        return result;
+    }
+
     /**
      * 资金流水单
      *