From 89fd0b6ff97e90220376cec824eaf8eabb9d0a3e Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 04 Aug 2026 08:18:45 +0800
Subject: [PATCH] refactor(GdClueEventService): 优化线索事件查询逻辑
---
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java | 21 +++++++++++++--------
1 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java
index f804f14..30fbe2e 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java
+++ b/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());
--
Gitblit v1.9.3