|
|
@@ -1448,7 +1448,22 @@ public class kwfTruckTraceService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void generateTrace(GenerateTraceReq req) {
|
|
|
log.info("生成车辆轨迹参数:{}", JSON.toJSONString(req));
|
|
|
-
|
|
|
+ LocalDate date = LocalDate.parse(req.getDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
+ LocalDateTime startDateTime = date.atStartOfDay();
|
|
|
+ LocalDateTime endDateTime = date.atTime(23, 59, 59);
|
|
|
+ List<VehicleReturnData> vehicleReturnDataList = getVehicleReturnDataList(req.getWayOrderNo());
|
|
|
+ if (CollectionUtils.isNotEmpty(vehicleReturnDataList)){
|
|
|
+ vehicleReturnDataList.forEach(vehicleReturnData ->{
|
|
|
+ Timestamp ts = vehicleReturnData.getTs();
|
|
|
+ if (ts != null) {
|
|
|
+ LocalDateTime dataTime = ts.toLocalDateTime();
|
|
|
+ if (dataTime.isAfter(startDateTime) && dataTime.isBefore(endDateTime)) {
|
|
|
+ throw new BusinessException("当前时间段已生成轨迹数据,请勿重新生成");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
// 校验当前位置格式,必须为经度,纬度格式
|
|
|
String[] location = req.getCurrentLocation().split(",");
|
|
|
if (location.length != 2) {
|
|
|
@@ -1515,7 +1530,7 @@ public class kwfTruckTraceService {
|
|
|
// 构造要发送给数据中台的轨迹数据请求
|
|
|
String dateStr = req.getDate();
|
|
|
// 输入的日期字符串
|
|
|
- LocalDate date = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
+ // LocalDate date = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
LocalDateTime dateTime = date.atTime(LocalTime.now());
|
|
|
for (int i = 0; i < routePoints.size(); i++) {
|
|
|
LocUtils.RoutePoint routePoint = routePoints.get(i);
|