From bdc112f517420eff3e999295f92a17fcee90c8c0 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 05 Aug 2026 11:16:08 +0800
Subject: [PATCH] feat(workorder): 添加线索事件列表中已退回数据的显示选项

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdClueEventController.java |   44 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 35 insertions(+), 9 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdClueEventController.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdClueEventController.java
index 96a2085..37d2082 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdClueEventController.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdClueEventController.java
@@ -78,17 +78,33 @@
 	}
 
 	/**
-	 * 事件表(线索事件) 列表
+	 * 事件表(线索事件) 列表(分页)
 	 */
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
-	@ApiOperation(value = "列表", notes = "固定过滤本部门,onlyMine=1时仅我的数据")
-	public R<List<GdClueEventListVO>> list(@ApiParam(value = "是否仅我的数据,1为是,0为否")
+	@ApiOperation(value = "列表(分页)", notes = "固定过滤本部门,onlyMine=1时仅我的数据")
+	public R<IPage<GdClueEventListVO>> list(@ApiParam(value = "是否仅我的数据,1为是,0为否")
 			@RequestParam(value = "onlyMine", required = false, defaultValue = "0") Integer onlyMine,
 			@ApiParam(value = "事件编号关键字")
-			@RequestParam(value = "keyword", required = false) String keyword) {
-		List<GdClueEventListVO> list = gdClueEventService.listGdClueEventByDept(onlyMine, keyword);
-		return R.data(list);
+			@RequestParam(value = "keyword", required = false) String keyword,
+			@ApiParam(value = "事件状态:0待确认、1处置中、2已退回、3已处置、4已完成")
+			@RequestParam(value = "eventStatus", required = false) Integer eventStatus,
+			@ApiParam(value = "开始时间(创建时间)")
+			@RequestParam(value = "startTime", required = false) String startTime,
+			@ApiParam(value = "结束时间(创建时间)")
+			@RequestParam(value = "endTime", required = false) String endTime,
+			@ApiParam(value = "是否包含已退回数据,1为是,0为否")
+			@RequestParam(value = "includeReturned", required = false, defaultValue = "0") Integer includeReturned,
+			@ApiParam(value = "分页参数") Query query) {
+		// 1. 构建分页对象
+		IPage<GdClueEventListVO> pages = Condition.getPage(query);
+
+		// 2. 查询分页数据
+		IPage<GdClueEventListVO> result = gdClueEventService.pageGdClueEventByDept(
+				pages, onlyMine, keyword, eventStatus, startTime, endTime, includeReturned);
+
+		// 3. 返回分页结果
+		return R.data(result);
 	}
 
 	/**
@@ -169,7 +185,7 @@
 	 */
 	@PostMapping("/handle")
 	@ApiOperationSupport(order = 8)
-	@ApiOperation(value = "处理", notes = "传入事件ID与事件状态")
+	@ApiOperation(value = "退回处理-(弃用)", notes = "传入事件ID与事件状态")
 	public R handle(@Valid @RequestBody GdClueEventRejectParam rejectParam) {
 		return R.status(gdClueEventService.handleClueEvent(rejectParam));
 	}
@@ -230,11 +246,21 @@
 	}
 
 	/**
+	 * 查询状态时间线
+	 */
+	@GetMapping("/statusTimeline")
+	@ApiOperationSupport(order = 13)
+	@ApiOperation(value = "查询状态时间线", notes = "传入事件ID,返回所有状态(包含已到达和未到达),并标识每个状态是否已到达")
+	public R<List<GdClueEventStatusFlowVO>> getStatusTimeline(@ApiParam(value = "事件ID", required = true) @RequestParam Long eventId) {
+		return R.data(gdClueEventStatusFlowService.getStatusTimeline(eventId));
+	}
+
+	/**
 	 * 更新事件状态
 	 */
 	@PostMapping("/updateStatus")
-	@ApiOperationSupport(order = 13)
-	@ApiOperation(value = "更新事件状态", notes = "传入事件ID和目标状态,必须符合状态流转矩阵")
+	@ApiOperationSupport(order = 14)
+	@ApiOperation(value = "更新事件状态(完成,处置中和已处置状态切换,退回)", notes = "传入事件ID和目标状态,必须符合状态流转矩阵")
 	public R updateStatus(@Valid @RequestBody GdClueEventStatusUpdateParam updateParam) {
 		return R.status(gdClueEventService.updateEventStatus(updateParam));
 	}

--
Gitblit v1.9.3