From 3ff3de60e9274da9601fba4d2165fe46be4d7f07 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 22 Jun 2026 16:31:37 +0800
Subject: [PATCH] add : 吉安支持查询待验收的接口

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java             |   46 ++++++-----
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java                  |    9 ++
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java                     |    9 ++
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdPatrolTaskVO.java                             |    3 
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml                      |   41 ++++++++++
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/GdPatrolTaskPendingAcceptanceQueryParam.java |   53 +++++++++++++
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java          |   21 +++++
 7 files changed, 161 insertions(+), 21 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java
index cf3afad..2fb1996 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java
@@ -16,47 +16,39 @@
  */
 package org.sxkj.gd.workorder.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
-
-import javax.validation.Valid;
-
 import lombok.extern.slf4j.Slf4j;
-import org.springblade.core.secure.BladeUser;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
-import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.sxkj.common.redis.RedisOpsUtils;
 import org.sxkj.gd.common.IdParam;
 import org.sxkj.gd.workorder.entity.GdPatrolTaskEntity;
 import org.sxkj.gd.workorder.enums.PatrolTaskStatusEnum;
-import org.sxkj.gd.workorder.param.GdPatrolTaskAddParam;
-import org.sxkj.gd.workorder.param.GdPatrolTaskAuditParam;
-import org.sxkj.gd.workorder.param.GdPatrolTaskPageParam;
-import org.sxkj.gd.workorder.param.GdPatrolTaskUpdateParam;
+import org.sxkj.gd.workorder.excel.GdPatrolTaskExcel;
+import org.sxkj.gd.workorder.param.*;
+import org.sxkj.gd.workorder.service.IGdPatrolTaskService;
 import org.sxkj.gd.workorder.vo.GdPatrolTaskSimpleVO;
 import org.sxkj.gd.workorder.vo.GdPatrolTaskVO;
-import org.sxkj.gd.workorder.excel.GdPatrolTaskExcel;
-import org.sxkj.gd.workorder.wrapper.GdPatrolTaskWrapper;
-import org.sxkj.gd.workorder.service.IGdPatrolTaskService;
-import org.springblade.core.boot.ctrl.BladeController;
-import org.springblade.core.tool.utils.DateUtil;
-import org.springblade.core.excel.util.ExcelUtil;
-import org.springblade.core.tool.constant.BladeConstant;
-import org.sxkj.system.cache.SysCache;
 import springfox.documentation.annotations.ApiIgnore;
 
-import java.util.*;
 import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.*;
 
 /**
  * 巡查任务表 控制器
@@ -249,4 +241,16 @@
 		return R.data(list);
 	}
 
+	/**
+	 * 查询待验收状态的巡查任务列表(对外接口)
+	 * 支持按巡查任务名称模糊查询和时间区间查询
+	 */
+	@GetMapping("/pendingAcceptanceTasks")
+	@ApiOperationSupport(order = 18)
+	@ApiOperation(value = "查询待验收状态的巡查任务列表", notes = "对外接口,支持任务名称和时间区间查询")
+	public R<List<GdPatrolTaskVO>> pendingAcceptanceTasks(GdPatrolTaskPendingAcceptanceQueryParam queryParam) {
+		List<GdPatrolTaskVO> list = gdPatrolTaskService.selectPendingAcceptanceTasks(queryParam);
+		return R.data(list);
+	}
+
 }
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java
index 0bde2c6..23d0dd3 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java
@@ -19,6 +19,7 @@
 import org.sxkj.gd.workorder.entity.GdPatrolTaskEntity;
 import org.sxkj.gd.workorder.entity.GdWorkOrderEntity;
 import org.sxkj.gd.workorder.param.GdPatrolTaskPageParam;
+import org.sxkj.gd.workorder.param.GdPatrolTaskPendingAcceptanceQueryParam;
 import org.sxkj.gd.workorder.vo.GdPatrolTaskSimpleVO;
 import org.sxkj.gd.workorder.vo.GdPatrolTaskVO;
 import org.sxkj.gd.workorder.excel.GdPatrolTaskExcel;
@@ -91,4 +92,12 @@
 	 * @return 巡查任务列表
 	 */
 	List<GdPatrolTaskSimpleVO> selectListByWorkOrderId(@Param("workOrderId") Long workOrderId);
+
+	/**
+	 * 查询待验收状态的巡查任务列表(对外接口)
+	 *
+	 * @param queryParam 查询参数,包含任务名称和时间区间
+	 * @return 待验收状态的巡查任务列表
+	 */
+	List<GdPatrolTaskVO> selectPendingAcceptanceTasks(@Param("queryParam") GdPatrolTaskPendingAcceptanceQueryParam queryParam);
 }
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
index d35b67e..ce5500c 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
@@ -160,4 +160,45 @@
         ORDER BY create_time DESC
     </select>
 
+    <!-- 查询待验收状态的巡查任务列表(对外接口) -->
+    <select id="selectPendingAcceptanceTasks" resultMap="gdPatrolTaskResultMap">
+        SELECT
+            pt.*,
+            md.nickname as device_name,
+            wo.work_order_name,
+            wo.work_order_status,
+            COALESCE(tr.result_count, 0) as result_count,
+            COALESCE(tr.issue_event_count, 0) as issue_event_count
+        FROM
+            ja_gd_patrol_task pt
+        LEFT JOIN
+            ja_gd_work_order wo ON pt.work_order_id::VARCHAR = wo.id::VARCHAR
+        LEFT JOIN
+            ja_gd_manage_device md ON md.id::VARCHAR = pt.device_id::VARCHAR
+        LEFT JOIN
+        (
+            SELECT patrol_task_id,
+                   COUNT(*) as result_count,
+                   SUM(CASE WHEN distribute_status IN (1,2) THEN 1 ELSE 0 END) as issue_event_count
+            FROM
+                ja_gd_task_result
+            WHERE
+                is_deleted = 0
+            GROUP BY
+                patrol_task_id
+        ) tr ON tr.patrol_task_id::VARCHAR = pt.id::VARCHAR
+        <where>
+            pt.is_deleted = 0
+            AND wo.is_deleted = 0
+            AND wo.work_order_status::VARCHAR &lt;= '40'::VARCHAR
+            <if test="queryParam.patrolTaskName != null and queryParam.patrolTaskName != ''">
+                AND pt.patrol_task_name LIKE CONCAT('%',#{queryParam.patrolTaskName},'%')
+            </if>
+            <if test="queryParam.startTime != null and queryParam.startTime != '' and queryParam.endTime != null and queryParam.endTime != ''">
+                AND pt.execute_time BETWEEN #{queryParam.startTime}::timestamp AND #{queryParam.endTime}::timestamp
+            </if>
+        </where>
+        ORDER BY pt.create_time DESC, pt.execute_time ASC
+    </select>
+
 </mapper>
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/GdPatrolTaskPendingAcceptanceQueryParam.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/GdPatrolTaskPendingAcceptanceQueryParam.java
new file mode 100644
index 0000000..932b62a
--- /dev/null
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/GdPatrolTaskPendingAcceptanceQueryParam.java
@@ -0,0 +1,53 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.sxkj.gd.workorder.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.io.Serializable;
+
+/**
+ * 待验收状态巡查任务查询参数类
+ *
+ * @author lw
+ * @since 2026-06-22
+ */
+@Data
+@ApiIgnore
+public class GdPatrolTaskPendingAcceptanceQueryParam implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 巡查任务名称(模糊查询)
+	 */
+	@ApiModelProperty(value = "巡查任务名称(模糊查询)")
+	private String patrolTaskName;
+
+	/**
+	 * 执行时间范围-开始
+	 */
+	@ApiModelProperty(value = "执行时间范围-开始")
+	private String startTime;
+
+	/**
+	 * 执行时间范围-结束
+	 */
+	@ApiModelProperty(value = "执行时间范围-结束")
+	private String endTime;
+}
\ No newline at end of file
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java
index fe497d2..7343e63 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java
@@ -24,6 +24,7 @@
 import org.sxkj.gd.workorder.excel.GdPatrolTaskExcel;
 import org.sxkj.gd.workorder.param.GdPatrolTaskAuditParam;
 import org.sxkj.gd.workorder.param.GdPatrolTaskPageParam;
+import org.sxkj.gd.workorder.param.GdPatrolTaskPendingAcceptanceQueryParam;
 import org.sxkj.gd.workorder.vo.GdPatrolTaskSimpleVO;
 import org.sxkj.gd.workorder.vo.GdPatrolTaskVO;
 
@@ -112,4 +113,12 @@
 	 * @return 巡查任务列表
 	 */
 	List<GdPatrolTaskSimpleVO> selectListByWorkOrderId(Long workOrderId);
+
+	/**
+	 * 查询待验收状态的巡查任务列表(对外接口)
+	 *
+	 * @param queryParam 查询参数,包含任务名称和时间区间
+	 * @return 待验收状态的巡查任务列表
+	 */
+	List<GdPatrolTaskVO> selectPendingAcceptanceTasks(GdPatrolTaskPendingAcceptanceQueryParam queryParam);
 }
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
index 6571a85..61bdade 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -51,6 +51,7 @@
 import org.sxkj.gd.workorder.mapper.GdWorkOrderMapper;
 import org.sxkj.gd.workorder.param.GdPatrolTaskAuditParam;
 import org.sxkj.gd.workorder.param.GdPatrolTaskPageParam;
+import org.sxkj.gd.workorder.param.GdPatrolTaskPendingAcceptanceQueryParam;
 import org.sxkj.gd.workorder.service.IGdManageDeviceService;
 import org.sxkj.gd.workorder.service.IGdPatrolTaskService;
 import org.sxkj.gd.workorder.service.IGdTaskResultService;
@@ -793,6 +794,26 @@
 	}
 
 	/**
+	 * 查询待验收状态的巡查任务列表(对外接口)
+	 *
+	 * @param queryParam 查询参数,包含任务名称和时间区间
+	 * @return 待验收状态的巡查任务列表
+	 */
+	@Override
+	public List<GdPatrolTaskVO> selectPendingAcceptanceTasks(GdPatrolTaskPendingAcceptanceQueryParam queryParam) {
+		// 1. 参数校验:防止空指针
+		if (queryParam == null) {
+			queryParam = new GdPatrolTaskPendingAcceptanceQueryParam();
+		}
+
+		// 2. 调用Mapper查询待验收状态的巡查任务
+		List<GdPatrolTaskVO> pendingAcceptanceTasks = baseMapper.selectPendingAcceptanceTasks(queryParam);
+
+		// 3. 返回查询结果
+		return pendingAcceptanceTasks;
+	}
+
+	/**
 	 * 将区域编码转换为多级行政区划编码格式
 	 *
 	 * @param areaCode 区域编码(如:360802)
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdPatrolTaskVO.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdPatrolTaskVO.java
index 3092d83..2e7925c 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdPatrolTaskVO.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdPatrolTaskVO.java
@@ -44,6 +44,9 @@
 	@ApiModelProperty(value = "工单名称")
 	private String workOrderName;
 
+	@ApiModelProperty(value = "工单状态")
+	private String workOrderStatus;
+
 	/**
 	 * 关联工单任务表ID
 	 */

--
Gitblit v1.9.3