吉安感知网项目-后端
linwei
2026-01-29 89fbcb27691165a2a19c85c36d8c3c84f9d38caf
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -77,11 +77,11 @@
@Service
public class GdPatrolTaskServiceImpl extends BaseServiceImpl<GdPatrolTaskMapper, GdPatrolTaskEntity> implements IGdPatrolTaskService {
    @Autowired
    private IGdWorkOrderFlowService gdWorkOrderFlowService;
   @Autowired
   private IGdWorkOrderFlowService gdWorkOrderFlowService;
    // @Autowired
    // private IGdWorkOrderService gdWorkOrderService;
   // @Autowired
   // private IGdWorkOrderService gdWorkOrderService;
   @Autowired
   private ISysClient sysClient;
   @Autowired
@@ -96,7 +96,9 @@
   private IGdManageDeviceService gdManageDeviceService;
    @Override
    public IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskPageParam gdPatrolTask) {
        return page.setRecords(baseMapper.selectGdPatrolTaskPage(page, gdPatrolTask, SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()))));
      List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
      gdPatrolTask.setDeptList(deptList);
        return page.setRecords(baseMapper.selectGdPatrolTaskPage(page, gdPatrolTask));
    }
@@ -302,11 +304,11 @@
        GdWorkOrderFlowEntity flowEntity = new GdWorkOrderFlowEntity();
        flowEntity.setCreateUser(AuthUtil.getUserId());
        flowEntity.setWorkOrderId(workOrderId);
        flowEntity.setFlowName(newStatus.getDesc());
        flowEntity.setFlowName(newStatus.getStageDesc());
        flowEntity.setFlowDesc(String.format("%s %s 更新了任务信息,状态转换为:%s",
            AuthUtil.getUserName(),
            DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"),
            newStatus.getDesc()));
            newStatus.getStageDesc()));
        flowEntity.setOperator(AuthUtil.getUserName());
        flowEntity.setType(WorkOrderTypeEnum.WORK_ORDER_TASK.getValue());
        flowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
@@ -540,8 +542,8 @@
      Attach attach = new Attach();
      attach.setDomainUrl(bladeFile.getDomain());
      attach.setLink(bladeFile.getLink());
      attach.setName(desiredName);
      attach.setOriginalName(desiredName);
      attach.setName(bladeFile.getName());
      attach.setOriginalName(bladeFile.getOriginalName());
      attach.setAttachSize(reportFile.length());
      attach.setExtension(FileUtil.getFileExtension(reportFile.getName()));
      attach.setResultType(resultType);
@@ -595,7 +597,7 @@
      if (patrolTaskId == null) {
         return R.fail("巡查任务主键不能为空");
      }
      GdPatrolTaskEntity taskEntity = getById(patrolTaskId);
      GdPatrolTaskVO taskEntity = baseMapper.getPatrolTaskIdById(patrolTaskId);
      if (taskEntity == null) {
         return R.fail("巡查任务不存在");
      }
@@ -603,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 (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());
         }
      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());
         // }
      }
      String status = parseStatus(taskEntity.getTaskStatus());
      String status = parseStatus(gdPatrolTaskVO.getTaskStatus());
      if (StringUtil.isNotBlank(status)) {
         param.setStatus(status);
      }