吉安感知网项目-后端
linwei
7 days ago 3ff3de60e9274da9601fba4d2165fe46be4d7f07
add : 吉安支持查询待验收的接口
6 files modified
1 files added
182 ■■■■ changed files
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java 46 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java 9 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml 41 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/GdPatrolTaskPendingAcceptanceQueryParam.java 53 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java 9 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java 21 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdPatrolTaskVO.java 3 ●●●●● patch | view | raw | blame | history
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);
    }
}
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);
}
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>
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/GdPatrolTaskPendingAcceptanceQueryParam.java
New file
@@ -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;
}
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);
}
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)
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
     */