ccj 2 年之前
父節點
當前提交
774fb2a6b4

+ 4 - 2
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java

@@ -55,8 +55,10 @@ public enum YExceptionEnum {
 	CAR_FINISH_ADD("ERROR32", "尚未完成车辆认证!"),
 	SHANG_BAO_ERROR("ERROR33", "园区上报信息错误,详情见司机信息上报页面!"),
 	ID_CARD_NOT_EQUALS("ERROR34", "身份证号与司机认证信息不一致!"),
-	WAS_NOT_FOUND_USER("ERROR34", "未找到该用户!"),
-	FAILED_TO_REPORT("ERROR35", "上报失败!"),
+	WAS_NOT_FOUND_USER("ERROR35", "未找到该用户!"),
+	FAILED_TO_REPORT("ERROR36", "上报失败!"),
+	FAILED_TO_LOADINGADD("ERROR37", "北斗定位与发货地距离相差较大,请检查北斗设备是否正常!"),
+	FAILED_TO_LOADINGA("ERROR38", "获取北斗位置异常!"),
 	;
 	@Getter
 	private String value;

+ 8 - 7
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CarrierInfoServiceImpl.java

@@ -104,7 +104,7 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                 } else {
                     color = "1";
                 }
-                map.put("vnos", hyCarrierInfo.getCarNo()+"_"+color);
+                map.put("vnos", hyDriverCarInfo.getCarNumber()+"_"+color);
                 String url = "https://zhiyunopenapi.95155.com/save/apis/transTimeManageV2";
                 // 设置 http 读写超时
                 DataExchangeService des = new DataExchangeService(5000, 8000);
@@ -122,18 +122,19 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
                     BigDecimal latResult = jsonArray.getBigDecimal("lat");
                     Double lat = latResult.doubleValue() / 600000;
                     //发货地经纬度
-                    BigDecimal lonb = new BigDecimal(hyCarrierInfo.getLoadingLongitude());
-                    BigDecimal latb = new BigDecimal(hyCarrierInfo.getLoadingLatitude());
-                    Double lon1 = lonb.doubleValue() / 600000;
-                    Double lat1 = latb.doubleValue() / 600000;
+                    Double lon1 = Double.parseDouble(hyCarrierInfo.getLoadingLongitude());
+                    Double lat1 = Double.parseDouble(hyCarrierInfo.getLoadingLatitude());
+                    System.out.println("发货经纬度:" + lon1+","+lat1);
                      // 距离
                     double s = GetDistance(lon,lat,lon1,lat1);
                     if(s>3000){
-                        throw new ArithmeticException("请检查北斗导航可以正常使用!");
+                        s = s/1000;
+                        System.out.println("距离相差:" + s+"公里");
+                        throw new YException(YExceptionEnum.FAILED_TO_LOADINGADD);
                     }
                 }
                 else{
-                    throw new ArithmeticException("获取北斗位置异常!");
+                    throw new YException(YExceptionEnum.FAILED_TO_LOADINGA);
                 }
                 /****************************判断发货地和车辆位置结束************************************/