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 <= '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