chenxiaofei 2 тижнів тому
батько
коміт
b7de240ddb

+ 17 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/kwfTruckTraceService.java

@@ -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);