提交 6e69d748 authored 作者: 艾庆国's avatar 艾庆国

运单预警

上级 f9913ffb
...@@ -18,7 +18,7 @@ public enum VehicleWarnConfigEnum { ...@@ -18,7 +18,7 @@ public enum VehicleWarnConfigEnum {
GOTO_RECEIVE_TIMEOUT(4, "运单-前往目的地超时"), GOTO_RECEIVE_TIMEOUT(4, "运单-前往目的地超时"),
PARK_TIMEOUT(5, "运单-停留超时"), PARK_TIMEOUT(5, "运单-停留超时"),
YES(6, "运单-敏感区停留"), SENSITIVE_AREA_PARK_TIMEOUT(6, "运单-敏感区停留"),
LOAD_TIMEOUT(7, "运单-装车超时"), LOAD_TIMEOUT(7, "运单-装车超时"),
UNLOAD_TIMEOUT(8, "运单-卸车超时"), UNLOAD_TIMEOUT(8, "运单-卸车超时"),
DELAY(9, "运单-运单延误"), DELAY(9, "运单-运单延误"),
......
...@@ -23,6 +23,14 @@ public class VehicleWarnChildDaoImpl extends BaseDaoImpl<VehicleWarnChildMapper, ...@@ -23,6 +23,14 @@ public class VehicleWarnChildDaoImpl extends BaseDaoImpl<VehicleWarnChildMapper,
); );
} }
@Override
public boolean updateReceiveAddressDistance(VehicleWarnChild item) {
return update(lUdWrapper()
.eq(VehicleWarnChild::getId, item.getId())
.set(VehicleWarnChild::getTraceTime, item.getTraceTime())
);
}
@Override @Override
public Optional<VehicleWarnChild> findByChildNo(String childNo) { public Optional<VehicleWarnChild> findByChildNo(String childNo) {
return Optional.of(childNo) return Optional.of(childNo)
......
...@@ -3,6 +3,7 @@ package com.clx.performance.dao.impl.vehiclewarn; ...@@ -3,6 +3,7 @@ package com.clx.performance.dao.impl.vehiclewarn;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao; import com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao;
import com.clx.performance.enums.vehiclewarn.VehicleWarnInfoEnum;
import com.clx.performance.mapper.vehiclewarn.VehicleWarnInfoMapper; import com.clx.performance.mapper.vehiclewarn.VehicleWarnInfoMapper;
import com.clx.performance.model.vehiclewarn.VehicleWarnInfo; import com.clx.performance.model.vehiclewarn.VehicleWarnInfo;
import com.clx.performance.param.pc.vehiclewarn.PageVehicleWarnInfoParam; import com.clx.performance.param.pc.vehiclewarn.PageVehicleWarnInfoParam;
...@@ -50,6 +51,18 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V ...@@ -50,6 +51,18 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V
.map(super::getOne); .map(super::getOne);
} }
@Override
public Optional<VehicleWarnInfo> findEnableByChildNoAndWarnConfigType(String childNo, Integer warnConfigType) {
return Optional.of(childNo)
.map(item -> lQrWrapper()
.eq(VehicleWarnInfo::getChildNo, childNo)
.eq(VehicleWarnInfo::getWarnConfigId, warnConfigType)
.ne(VehicleWarnInfo::getStatus, VehicleWarnInfoEnum.Status.RESOLVE.getCode())
.last("limit 1")
)
.map(super::getOne);
}
@Override @Override
public Optional<VehicleWarnInfo> findByWarnConfigType(Integer warnConfigType) { public Optional<VehicleWarnInfo> findByWarnConfigType(Integer warnConfigType) {
return Optional.of(warnConfigType) return Optional.of(warnConfigType)
......
...@@ -10,6 +10,7 @@ import java.util.List; ...@@ -10,6 +10,7 @@ import java.util.List;
public interface VehicleWarnChildDao extends BaseDao<VehicleWarnChildMapper, VehicleWarnChild, Integer> { public interface VehicleWarnChildDao extends BaseDao<VehicleWarnChildMapper, VehicleWarnChild, Integer> {
boolean updateTraceTime(VehicleWarnChild item); boolean updateTraceTime(VehicleWarnChild item);
boolean updateReceiveAddressDistance(VehicleWarnChild item);
Optional<VehicleWarnChild> findByChildNo(String childNo); Optional<VehicleWarnChild> findByChildNo(String childNo);
List<VehicleWarnChild> ListTruckNoOfTrace(); List<VehicleWarnChild> ListTruckNoOfTrace();
......
...@@ -14,6 +14,9 @@ public interface VehicleWarnInfoDao extends BaseDao<VehicleWarnInfoMapper, Vehic ...@@ -14,6 +14,9 @@ public interface VehicleWarnInfoDao extends BaseDao<VehicleWarnInfoMapper, Vehic
Optional<VehicleWarnInfo> findById(Integer id); Optional<VehicleWarnInfo> findById(Integer id);
Optional<VehicleWarnInfo> findByChildNoAndWarnConfigType(String childNo, Integer warnConfigType); Optional<VehicleWarnInfo> findByChildNoAndWarnConfigType(String childNo, Integer warnConfigType);
Optional<VehicleWarnInfo> findEnableByChildNoAndWarnConfigType(String childNo, Integer warnConfigType);
Optional<VehicleWarnInfo> findByWarnConfigType(Integer warnConfigType); Optional<VehicleWarnInfo> findByWarnConfigType(Integer warnConfigType);
IPage<VehicleWarnInfo> pageByParam(PageVehicleWarnInfoParam param); IPage<VehicleWarnInfo> pageByParam(PageVehicleWarnInfoParam param);
......
...@@ -38,6 +38,7 @@ public class VehicleWarnChild implements HasKey<Integer> { ...@@ -38,6 +38,7 @@ public class VehicleWarnChild implements HasKey<Integer> {
private Integer arriveSendExpectTime; //预计到达货源地时间 (min) private Integer arriveSendExpectTime; //预计到达货源地时间 (min)
private Integer arriveReceiveExpectTime; //预计到达目的地时间 (min) private Integer arriveReceiveExpectTime; //预计到达目的地时间 (min)
private LocalDateTime takeTime; //接单时间 private LocalDateTime takeTime; //接单时间
private Integer receiveAddressDistance; //距离目的地距离(m)
private LocalDateTime traceTime; //轨迹更新时间 private LocalDateTime traceTime; //轨迹更新时间
private Integer traceStatus; //轨迹更新状态:0禁止 1启用 private Integer traceStatus; //轨迹更新状态:0禁止 1启用
private Integer wanStatus; //预警更新状态:0禁用 1启用 private Integer wanStatus; //预警更新状态:0禁用 1启用
......
...@@ -72,15 +72,11 @@ public class VehicleWarnSendAddressWarnServiceImpl implements VehicleWarnSendAdd ...@@ -72,15 +72,11 @@ public class VehicleWarnSendAddressWarnServiceImpl implements VehicleWarnSendAdd
} }
private void doGotoSendAddressTimeout(OrderChild orderChild, VehicleWarnChild vehicleWarnChild, VehicleWarnConfig vehicleWarnConfig, long expectTime, Integer needTime){ private void doGotoSendAddressTimeout(OrderChild orderChild, VehicleWarnChild vehicleWarnChild, VehicleWarnConfig vehicleWarnConfig, long expectTime, Integer needTime){
VehicleWarnInfo vehicleWarnInfo = vehicleWarnInfoDao.findByChildNoAndWarnConfigType(vehicleWarnChild.getChildNo(), vehicleWarnConfig.getId()).orNull(); VehicleWarnInfo vehicleWarnInfo = vehicleWarnInfoDao.findEnableByChildNoAndWarnConfigType(vehicleWarnChild.getChildNo(), vehicleWarnConfig.getId()).orNull();
// 暂停检测 // 暂停检测
boolean suspend = suspendCheck(vehicleWarnChild, vehicleWarnConfig.getId()); boolean suspend = suspendCheck(vehicleWarnChild, vehicleWarnConfig.getId());
// 已处理
if (vehicleWarnInfo != null && Objects.equals(vehicleWarnInfo.getStatus(), VehicleWarnInfoEnum.Status.RESOLVE.getCode())){
return;
}
// 已暂停 // 已暂停
if (vehicleWarnInfo != null && Objects.equals(vehicleWarnInfo.getStatus(), VehicleWarnInfoEnum.Status.SUSPEND.getCode())){ if (vehicleWarnInfo != null && Objects.equals(vehicleWarnInfo.getStatus(), VehicleWarnInfoEnum.Status.SUSPEND.getCode())){
if (suspend) {return;} if (suspend) {return;}
...@@ -160,12 +156,7 @@ public class VehicleWarnSendAddressWarnServiceImpl implements VehicleWarnSendAdd ...@@ -160,12 +156,7 @@ public class VehicleWarnSendAddressWarnServiceImpl implements VehicleWarnSendAdd
} }
private void doArriveSendAddressTimeout(OrderChild orderChild, VehicleWarnChild vehicleWarnChild, VehicleWarnConfig vehicleWarnConfig){ private void doArriveSendAddressTimeout(OrderChild orderChild, VehicleWarnChild vehicleWarnChild, VehicleWarnConfig vehicleWarnConfig){
VehicleWarnInfo vehicleWarnInfo = vehicleWarnInfoDao.findByChildNoAndWarnConfigType(vehicleWarnChild.getChildNo(), vehicleWarnConfig.getId()).orNull(); VehicleWarnInfo vehicleWarnInfo = vehicleWarnInfoDao.findEnableByChildNoAndWarnConfigType(vehicleWarnChild.getChildNo(), vehicleWarnConfig.getId()).orNull();
// 已处理
if (vehicleWarnInfo != null && Objects.equals(vehicleWarnInfo.getStatus(), VehicleWarnInfoEnum.Status.RESOLVE.getCode())){
return;
}
// 暂停检测 // 暂停检测
boolean suspend = suspendCheck(vehicleWarnChild, vehicleWarnConfig.getId()); boolean suspend = suspendCheck(vehicleWarnChild, vehicleWarnConfig.getId());
......
...@@ -33,33 +33,24 @@ public class GdService { ...@@ -33,33 +33,24 @@ public class GdService {
private static final String REGEO_API = "https://restapi.amap.com/v3/geocode/regeo";//逆地理编码 private static final String REGEO_API = "https://restapi.amap.com/v3/geocode/regeo";//逆地理编码
private static final Integer STRATEGY_DEFAULT = 32;
private static final Integer STRATEGY_33 = 10;
private String gaodeKey = "b2550e16bbc7bf9f6cd168e0f21709fc"; private String gaodeKey = "b2550e16bbc7bf9f6cd168e0f21709fc";
public List<GdRouteDTO> getRoute(BigDecimal originLongitude, BigDecimal originLatitude,
BigDecimal destinationLongitude, BigDecimal destinationLatitude, Integer strategy) {
return getRoute(gaodeKey, strategy, originLongitude, originLatitude, destinationLongitude, destinationLatitude);
}
public List<GdRouteDTO> getRoute(BigDecimal originLongitude, BigDecimal originLatitude, public List<GdRouteDTO> getRoute(BigDecimal originLongitude, BigDecimal originLatitude,
BigDecimal destinationLongitude, BigDecimal destinationLatitude) { BigDecimal destinationLongitude, BigDecimal destinationLatitude) {
return getRoute(gaodeKey, STRATEGY_DEFAULT, originLongitude, originLatitude, destinationLongitude, destinationLatitude); return getRoute(gaodeKey, originLongitude, originLatitude, destinationLongitude, destinationLatitude);
} }
public static List<GdRouteDTO> getRoute(String key, Integer strategy, BigDecimal originLongitude, BigDecimal originLatitude, public static List<GdRouteDTO> getRoute(String key, BigDecimal originLongitude, BigDecimal originLatitude,
BigDecimal destinationLongitude, BigDecimal destinationLatitude) { BigDecimal destinationLongitude, BigDecimal destinationLatitude) {
//log.info("高德线路规划开始"); //log.info("高德线路规划开始");
List<GdRouteDTO> routeList = new ArrayList<>(); List<GdRouteDTO> routeList = new ArrayList<>();
String url = DIRECTION_API+"?origin=" + originLongitude.doubleValue()+","+originLatitude.doubleValue() String url = DIRECTION_API+"?origin=" + originLongitude.doubleValue()+","+originLatitude.doubleValue()
+ "&destination=" + destinationLongitude.doubleValue()+","+ destinationLatitude.doubleValue() + "&destination=" + destinationLongitude.doubleValue()+","+ destinationLatitude.doubleValue()
+ "&strategy="+strategy
+ "&output=json&key="+key+"&extensions=base&show_fields=cost,tmcs"; + "&output=json&key="+key+"&extensions=base&show_fields=cost,tmcs";
//解析返回的结果 //解析返回的结果
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论