吉安感知网项目-后端
linwei
2 days ago 89fd0b6ff97e90220376cec824eaf8eabb9d0a3e
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java
@@ -128,12 +128,14 @@
      // 2. 判断是否为管理员
      boolean isAdmin = AuthUtil.isAdministrator() || AuthUtil.isAdmin();
      mine = onlyMine == null ? 0 : onlyMine;
      if (mine == 1) {
         // 管理员:仅查询当前用户数据
         userId = AuthUtil.getUserId();
      }
      if (!isAdmin) {
         // 非管理员:获取部门ID和用户ID
         deptId = Long.valueOf(AuthUtil.getDeptId());
         userId = AuthUtil.getUserId();
         mine = onlyMine == null ? 0 : onlyMine;
         // 非管理员:排除已退回状态(状态2)
         statusList = java.util.Arrays.asList(0, 1, 3, 4);
      } else {
@@ -161,7 +163,7 @@
      if (id == null) {
         throw new RuntimeException("事件ID不能为空");
      }
      Long deptId = Long.valueOf(AuthUtil.getDeptId());
      Long deptId = null; //Long.valueOf(AuthUtil.getDeptId());
      GdClueEventVO detail = baseMapper.selectGdClueEventDetailById(id, deptId);
      if (detail == null) {
         throw new RuntimeException("事件不存在");
@@ -185,6 +187,7 @@
      if (isAdmin) {
         // 管理员:可以查询所有状态
         userId = AuthUtil.getUserId();
         statusList = java.util.Arrays.asList(0, 1, 2, 3, 4);
      } else {
         deptId = Long.valueOf(AuthUtil.getDeptId());
@@ -201,7 +204,7 @@
         GdClueEventCountVO empty = new GdClueEventCountVO();
         empty.setTotalCount(0L);
         empty.setMyCount(0L);
         empty.setReturnedCount(0L);
         empty.setDisposingCount(0L);
         empty.setDisposedCount(0L);
         empty.setCompletedCount(0L);
         return empty;
@@ -218,10 +221,12 @@
      if (taskResult == null || (taskResult.getIsDeleted() != null && taskResult.getIsDeleted() != 0)) {
         throw new RuntimeException("成果不存在");
      }
      // 判断是否已分发, 不为空,并且不能是退回状态,则不能分发
      if (taskResult.getDistributeStatus() != null && !EventStatusEnum.RETURNED.getCode().equals(taskResult.getDistributeStatus())) {
      // 判断是否已分发,只有"已退回(2)"和"待确认(0)"状态才允许分发,其他状态均不能分发
      if (!EventStatusEnum.RETURNED.getCode().equals(taskResult.getDistributeStatus())
            && !EventStatusEnum.PENDING_CONFIRM.getCode().equals(taskResult.getDistributeStatus())) {
         throw new RuntimeException("成果已分发,无法再次分发");
      }
      // 查看事件直接是否分发过
      GdClueEventEntity clueEvent = getOne(Wrappers.<GdClueEventEntity>query().lambda()
         .eq(GdClueEventEntity::getResultId, distributeParam.getResultId())
@@ -231,7 +236,7 @@
         clueEvent = new GdClueEventEntity();
      }
      clueEvent.setResultId(distributeParam.getResultId());
      clueEvent.setWorkOrderId(distributeParam.getWorkOrderId());
      clueEvent.setWorkOrderId(taskResult.getPatrolTaskId());
      clueEvent.setDisposeUser(distributeParam.getDisposeUser());
      clueEvent.setDisposeDept(distributeParam.getDisposeDept());
      clueEvent.setLongitude(distributeParam.getLongitude());