吉安感知网项目-后端
linwei
2026-01-29 89fbcb27691165a2a19c85c36d8c3c84f9d38caf
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -597,7 +597,7 @@
      if (patrolTaskId == null) {
         return R.fail("巡查任务主键不能为空");
      }
      GdPatrolTaskEntity taskEntity = getById(patrolTaskId);
      GdPatrolTaskVO taskEntity = baseMapper.getPatrolTaskIdById(patrolTaskId);
      if (taskEntity == null) {
         return R.fail("巡查任务不存在");
      }
@@ -605,43 +605,49 @@
      return jianXingtuApiService.saveFlyTask(param);
   }
   private GdXingtuFlyTaskSaveDTO buildXingtuFlyTask(GdPatrolTaskEntity taskEntity) {
   /**
    * 构建巡察任务推送的巡察任务信息
    * @param gdPatrolTaskVO
    * @return
    */
   private GdXingtuFlyTaskSaveDTO buildXingtuFlyTask(GdPatrolTaskVO gdPatrolTaskVO) {
      GdXingtuFlyTaskSaveDTO param = new GdXingtuFlyTaskSaveDTO();
      if (StringUtil.isNotBlank(taskEntity.getPatrolTaskName())) {
         param.setName(taskEntity.getPatrolTaskName());
      } else if (StringUtil.isNotBlank(taskEntity.getTaskNo())) {
         param.setName(taskEntity.getTaskNo());
      if (StringUtil.isNotBlank(gdPatrolTaskVO.getPatrolTaskName())) {
         param.setName(gdPatrolTaskVO.getPatrolTaskName());
      } else if (StringUtil.isNotBlank(gdPatrolTaskVO.getTaskNo())) {
         param.setName(gdPatrolTaskVO.getTaskNo());
      }
      if (StringUtil.isNotBlank(taskEntity.getPatrolTaskType())) {
         param.setInspectionType(taskEntity.getPatrolTaskType());
      if (StringUtil.isNotBlank(gdPatrolTaskVO.getPatrolTaskType())) {
         param.setInspectionType(gdPatrolTaskVO.getPatrolTaskType());
      }
      param.setTimingType("单次执行");
      if (StringUtil.isNotBlank(taskEntity.getAirlineId())) {
         param.setAirlineId(taskEntity.getAirlineId());
      if (StringUtil.isNotBlank(gdPatrolTaskVO.getAirlineId())) {
         param.setAirlineId(gdPatrolTaskVO.getAirlineId());
      }
      if (taskEntity.getExecuteTime() != null) {
         param.setSingleTime(DateUtil.format(taskEntity.getExecuteTime(), "yyyy-MM-dd HH:mm:ss"));
      if (gdPatrolTaskVO.getExecuteTime() != null) {
         param.setSingleTime(DateUtil.format(gdPatrolTaskVO.getExecuteTime(), "yyyy-MM-dd HH:mm:ss"));
      }
      if (StringUtil.isNotBlank(taskEntity.getAreaCode())) {
         param.setRegionCode(taskEntity.getAreaCode());
      if (StringUtil.isNotBlank(gdPatrolTaskVO.getAreaCode())) {
         param.setRegionCode(gdPatrolTaskVO.getAreaCode());
      }
      if (StringUtil.isNotBlank(taskEntity.getDeviceId())) {
         GdManageDeviceEntity device = null;
         if (StringUtils.isNumeric(taskEntity.getDeviceId())) {
            device = gdManageDeviceService.getById(Long.valueOf(taskEntity.getDeviceId()));
      if (StringUtil.isNotBlank(gdPatrolTaskVO.getAirportId())) {
         param.setAirportId(gdPatrolTaskVO.getAirportId());
         // GdManageDeviceEntity device = null;
         // if (StringUtils.isNumeric(taskEntity.getAirportId())) {
         //    device = gdManageDeviceService.getById(Long.valueOf(taskEntity.getDeviceId()));
         // }
         // if (device == null) {
         //    device = gdManageDeviceService.lambdaQuery()
         //       .eq(GdManageDeviceEntity::getAirportId, taskEntity.getDeviceId())
         //       .one();
         // }
         // if (device != null && StringUtil.isNotBlank(device.getAirportId())) {
         //    param.setAirportId(device.getAirportId());
         // } else {
         //    param.setAirportId(taskEntity.getAirportId());
         // }
         }
         if (device == null) {
            device = gdManageDeviceService.lambdaQuery()
               .eq(GdManageDeviceEntity::getAirportId, taskEntity.getDeviceId())
               .one();
         }
         if (device != null && StringUtil.isNotBlank(device.getAirportId())) {
            param.setAirportId(device.getAirportId());
         } else {
            param.setAirportId(taskEntity.getDeviceId());
         }
      }
      String status = parseStatus(taskEntity.getTaskStatus());
      String status = parseStatus(gdPatrolTaskVO.getTaskStatus());
      if (StringUtil.isNotBlank(status)) {
         param.setStatus(status);
      }