吉安感知网项目-后端
rain
2026-01-31 3dfbbe2bc5eb3e98311dd0c828ff04f433aca9a6
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));
    }
@@ -137,7 +139,7 @@
            gdWorkOrderFlowEntity.setWorkOrderId(gdPatrolTaskEntity.getId());
            gdWorkOrderFlowEntity.setFlowName(PatrolTaskStatusEnum.PENDING_SIGNING.getStageDesc());
            gdWorkOrderFlowEntity.setFlowDesc(AuthUtil.getUserName() + " " + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss") + " 发布任务,等待接单");
            gdWorkOrderFlowEntity.setOperator(AuthUtil.getUserName());
            gdWorkOrderFlowEntity.setOperator(AuthUtil.getNickName());
            gdWorkOrderFlowEntity.setType(WorkOrderTypeEnum.PATROL_TASK.getValue());
            gdWorkOrderFlowEntity.setAreaCode(gdPatrolTaskEntity.getAreaCode());
            gdWorkOrderFlowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
@@ -302,13 +304,12 @@
        GdWorkOrderFlowEntity flowEntity = new GdWorkOrderFlowEntity();
        flowEntity.setCreateUser(AuthUtil.getUserId());
        flowEntity.setWorkOrderId(workOrderId);
        flowEntity.setFlowName(newStatus.getDesc());
        flowEntity.setFlowDesc(String.format("%s %s 更新了任务信息,状态转换为:%s",
            AuthUtil.getUserName(),
            DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"),
            newStatus.getDesc()));
        flowEntity.setOperator(AuthUtil.getUserName());
        flowEntity.setFlowName(newStatus.getStageDesc());
        flowEntity.setFlowDesc(newStatus.getDesc());
        flowEntity.setOperator(AuthUtil.getNickName());
        flowEntity.setType(WorkOrderTypeEnum.WORK_ORDER_TASK.getValue());
        flowEntity.setFlowStatus(newStatus.getMaxCode());
        flowEntity.setWorkStatus(newStatus.getCode());
        flowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
        return gdWorkOrderFlowService.save(flowEntity);
    }
@@ -366,8 +367,8 @@
        flowEntity.setCreateUser(AuthUtil.getUserId());
        flowEntity.setWorkOrderId(taskEntity.getId());
        flowEntity.setFlowName(targetStatus.getDesc());
        flowEntity.setFlowDesc(AuthUtil.getUserName() + " " + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss") + " 更新了任务信息,状态转换为:" + targetStatus.getDesc());
        flowEntity.setOperator(AuthUtil.getUserName());
        flowEntity.setFlowDesc(AuthUtil.getNickName() + " " + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss") + " 更新了任务信息,状态转换为:" + targetStatus.getDesc());
        flowEntity.setOperator(AuthUtil.getNickName());
        flowEntity.setType(WorkOrderTypeEnum.PATROL_TASK.getValue());
        flowEntity.setAreaCode(existingTask.getAreaCode());
        flowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
@@ -450,7 +451,7 @@
        String flowDesc = buildFlowDesc(newStatus, rejectReason);
        flowEntity.setFlowDesc(flowDesc);
        flowEntity.setOperator(AuthUtil.getUserName());
        flowEntity.setOperator(AuthUtil.getNickName());
        flowEntity.setType(WorkOrderTypeEnum.PATROL_TASK.getValue());
        flowEntity.setAreaCode(areaCode);
        flowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
@@ -471,7 +472,7 @@
     */
    private String buildFlowDesc(PatrolTaskStatusEnum newStatus, String rejectReason) {
        String baseDesc = String.format("%s %s ",
                AuthUtil.getUserName(),
                AuthUtil.getNickName(),
                DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
        // 拒绝类状态需要添加拒绝原因
@@ -540,8 +541,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 +596,7 @@
      if (patrolTaskId == null) {
         return R.fail("巡查任务主键不能为空");
      }
      GdPatrolTaskEntity taskEntity = getById(patrolTaskId);
      GdPatrolTaskVO taskEntity = baseMapper.getPatrolTaskIdById(patrolTaskId);
      if (taskEntity == null) {
         return R.fail("巡查任务不存在");
      }
@@ -603,76 +604,53 @@
      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());
      }
      if ((gdPatrolTaskVO.getId()!=null)) {
         param.setPatrolTaskld(String.valueOf(gdPatrolTaskVO.getId()));
      }
      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());
      if (StringUtil.isNotBlank(status)) {
         param.setStatus(status);
      }
      param.setTaskType("定时执行");
      param.setStatus("待执行");
      param.setTaskType("航线飞行");
      return param;
   }
   private String parseStatus(String taskStatus) {
      if (StringUtil.isBlank(taskStatus)) {
         return null;
      }
      switch (taskStatus) {
         case "0":
            return "待签收";
         case "1":
            return "拒绝签收";
         case "2":
            return "已撤回";
         case "3":
            return "待审核";
         case "4":
            return "审核驳回";
         case "5":
            return "审核通过";
         case "6":
            return "待验收";
         case "7":
            return "拒绝验收";
         case "8":
            return "验收通过";
         default:
            return taskStatus;
      }
   }
}