吉安感知网项目-后端
linwei
2026-01-19 ddd6344100ad8e5033b520090743c864fd923e0c
工单巡查
22 files modified
2 files added
465 ■■■■■ changed files
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMapper.xml 2 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/controller/GdApplicationInnovationController.java 44 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/controller/GdDataObjectionAttachmentController.java 45 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdManageDeviceController.java 11 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java 3 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdWorkOrderController.java 4 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/entity/GdWorkOrderEntity.java 2 ●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/DocumentTypeEnum.java 80 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/WorkOrderStatusEnum.java 34 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdManageDeviceMapper.java 6 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdManageDeviceMapper.xml 16 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java 3 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdWorkOrderMapper.java 6 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdWorkOrderMapper.xml 128 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/GdPatrolTaskPageParam.java 33 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/WorkOrderPageParam.java 6 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdManageDeviceService.java 6 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java 3 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdWorkOrderService.java 7 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java 7 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java 3 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdWorkOrderServiceImpl.java 7 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdManageDeviceVO.java 4 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdPatrolTaskVO.java 5 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMapper.xml
@@ -251,6 +251,8 @@
        left join ja_fw_task_schedule fts on d.id = fts.device_id
        <where>
            d.is_deleted = 0
            and d.longitude is not null
            and d.latitude is not null
            <if test="param2.id != null and param2.id != ''">
                and d.id = #{param2.id}
            </if>
drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/controller/GdApplicationInnovationController.java
@@ -69,16 +69,6 @@
        GdApplicationInnovationEntity detail = gdApplicationInnovationService.getOne(Condition.getQueryWrapper(gdApplicationInnovation));
        return R.data(GdApplicationInnovationWrapper.build().entityVO(detail));
    }
    /**
     * 应用创新案例表 分页
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入gdApplicationInnovation")
    public R<IPage<GdApplicationInnovationVO>> list(@ApiIgnore @RequestParam Map<String, Object> gdApplicationInnovation, Query query) {
        IPage<GdApplicationInnovationEntity> pages = gdApplicationInnovationService.page(Condition.getPage(query), Condition.getQueryWrapper(gdApplicationInnovation, GdApplicationInnovationEntity.class));
        return R.data(GdApplicationInnovationWrapper.build().pageVO(pages));
    }
    /**
     * 应用创新案例表 自定义分页
@@ -91,25 +81,6 @@
        return R.data(pages);
    }
//    /**
//     * 应用创新案例表 新增
//     */
//    @PostMapping("/save")
//    @ApiOperationSupport(order = 4)
//    @ApiOperation(value = "新增", notes = "传入gdApplicationInnovation")
//    public R save(@Valid @RequestBody GdApplicationInnovationEntity gdApplicationInnovation) {
//        return R.status(gdApplicationInnovationService.save(gdApplicationInnovation));
//    }
//    /**
//     * 应用创新案例表 修改
//     */
//    @PostMapping("/update")
//    @ApiOperationSupport(order = 5)
//    @ApiOperation(value = "修改", notes = "传入gdApplicationInnovation")
//    public R update(@Valid @RequestBody GdApplicationInnovationEntity gdApplicationInnovation) {
//        return R.status(gdApplicationInnovationService.updateById(gdApplicationInnovation));
//    }
    /**
     * 应用创新案例表 新增或修改
@@ -132,20 +103,5 @@
    }
//    /**
//     * 导出数据
//     */
//    @GetMapping("/export-gdApplicationInnovation")
//    @ApiOperationSupport(order = 9)
//    @ApiOperation(value = "导出数据", notes = "传入gdApplicationInnovation")
//    public void exportGdApplicationInnovation(@ApiIgnore @RequestParam Map<String, Object> gdApplicationInnovation, BladeUser bladeUser, HttpServletResponse response) {
//        QueryWrapper<GdApplicationInnovationEntity> queryWrapper = Condition.getQueryWrapper(gdApplicationInnovation, GdApplicationInnovationEntity.class);
        //if (!AuthUtil.isAdministrator()) {
        //    queryWrapper.lambda().eq(GdApplicationInnovation::getTenantId, bladeUser.getTenantId());
        //}
//        queryWrapper.lambda().eq(GdApplicationInnovationEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
//        List<GdApplicationInnovationExcel> list = gdApplicationInnovationService.exportGdApplicationInnovation(queryWrapper);
//        ExcelUtil.export(response, "应用创新案例表数据" + DateUtil.time(), "应用创新案例表数据表", list, GdApplicationInnovationExcel.class);
//    }
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/controller/GdDataObjectionAttachmentController.java
@@ -69,16 +69,7 @@
        GdDataObjectionAttachmentEntity detail = gdDataObjectionAttachmentService.getOne(Condition.getQueryWrapper(gdDataObjectionAttachment));
        return R.data(GdDataObjectionAttachmentWrapper.build().entityVO(detail));
    }
    /**
     * 数据异议申请附件表 分页
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入gdDataObjectionAttachment")
    public R<IPage<GdDataObjectionAttachmentVO>> list(@ApiIgnore @RequestParam Map<String, Object> gdDataObjectionAttachment, Query query) {
        IPage<GdDataObjectionAttachmentEntity> pages = gdDataObjectionAttachmentService.page(Condition.getPage(query), Condition.getQueryWrapper(gdDataObjectionAttachment, GdDataObjectionAttachmentEntity.class));
        return R.data(GdDataObjectionAttachmentWrapper.build().pageVO(pages));
    }
    /**
     * 数据异议申请附件表 自定义分页
@@ -91,25 +82,6 @@
        return R.data(pages);
    }
//    /**
//     * 数据异议申请附件表 新增
//     */
//    @PostMapping("/save")
//    @ApiOperationSupport(order = 4)
//    @ApiOperation(value = "新增", notes = "传入gdDataObjectionAttachment")
//    public R save(@Valid @RequestBody GdDataObjectionAttachmentEntity gdDataObjectionAttachment) {
//        return R.status(gdDataObjectionAttachmentService.save(gdDataObjectionAttachment));
//    }
//    /**
//     * 数据异议申请附件表 修改
//     */
//    @PostMapping("/update")
//    @ApiOperationSupport(order = 5)
//    @ApiOperation(value = "修改", notes = "传入gdDataObjectionAttachment")
//    public R update(@Valid @RequestBody GdDataObjectionAttachmentEntity gdDataObjectionAttachment) {
//        return R.status(gdDataObjectionAttachmentService.updateById(gdDataObjectionAttachment));
//    }
    /**
     * 数据异议申请附件表 新增或修改
@@ -132,20 +104,5 @@
    }
//    /**
//     * 导出数据
//     */
//    @GetMapping("/export-gdDataObjectionAttachment")
//    @ApiOperationSupport(order = 9)
//    @ApiOperation(value = "导出数据", notes = "传入gdDataObjectionAttachment")
//    public void exportGdDataObjectionAttachment(@ApiIgnore @RequestParam Map<String, Object> gdDataObjectionAttachment, BladeUser bladeUser, HttpServletResponse response) {
//        QueryWrapper<GdDataObjectionAttachmentEntity> queryWrapper = Condition.getQueryWrapper(gdDataObjectionAttachment, GdDataObjectionAttachmentEntity.class);
        //if (!AuthUtil.isAdministrator()) {
        //    queryWrapper.lambda().eq(GdDataObjectionAttachment::getTenantId, bladeUser.getTenantId());
        //}
//        queryWrapper.lambda().eq(GdDataObjectionAttachmentEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
//        List<GdDataObjectionAttachmentExcel> list = gdDataObjectionAttachmentService.exportGdDataObjectionAttachment(queryWrapper);
//        ExcelUtil.export(response, "数据异议申请附件表数据" + DateUtil.time(), "数据异议申请附件表数据表", list, GdDataObjectionAttachmentExcel.class);
//    }
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdManageDeviceController.java
@@ -73,6 +73,17 @@
    /**
     * 设备信息 自定义分页
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "不分页", notes = "传入gdManageDevice")
    public R<List<GdManageDeviceVO>> page(GdManageDeviceVO gdManageDevice) {
        List<GdManageDeviceVO> pages = gdManageDeviceService.selectGdManageDevice(gdManageDevice);
        return R.data(pages);
    }
    /**
     * 设备信息 自定义分页
     */
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入gdManageDevice")
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java
@@ -35,6 +35,7 @@
import org.sxkj.gd.workorder.entity.GdPatrolTaskEntity;
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.vo.GdPatrolTaskVO;
import org.sxkj.gd.workorder.excel.GdPatrolTaskExcel;
import org.sxkj.gd.workorder.wrapper.GdPatrolTaskWrapper;
@@ -92,7 +93,7 @@
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入gdPatrolTask")
    public R<IPage<GdPatrolTaskVO>> page(GdPatrolTaskVO gdPatrolTask, Query query) {
    public R<IPage<GdPatrolTaskVO>> page(GdPatrolTaskPageParam gdPatrolTask, Query query) {
        IPage<GdPatrolTaskVO> pages = gdPatrolTaskService.selectGdPatrolTaskPage(Condition.getPage(query), gdPatrolTask);
        return R.data(pages);
    }
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdWorkOrderController.java
@@ -69,7 +69,7 @@
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入gdWorkOrder")
    public R<GdWorkOrderVO> detail(GdWorkOrderEntity gdWorkOrder) {
        GdWorkOrderEntity detail = gdWorkOrderService.getOne(Condition.getQueryWrapper(gdWorkOrder));
        GdWorkOrderEntity detail = gdWorkOrderService.getWorkOrderDetail(gdWorkOrder);
        return R.data(GdWorkOrderWrapper.build().entityVO(detail));
    }
@@ -111,7 +111,7 @@
     */
    @PostMapping("/handleStatus")
    @ApiOperationSupport(order = 8)
    @ApiOperation(value = "处理工单状态", notes = "传入workOrderStatusParam")
    @ApiOperation(value = "处理工单状态变更(接单或拒接接单)", notes = "传入workOrderStatusParam")
    public R handleStatus(@Valid @RequestBody WorkOrderStatusParam workOrderStatusParam) {
        return R.status(gdWorkOrderService.handleWorkOrderStatus(workOrderStatusParam));
    }
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/entity/GdWorkOrderEntity.java
@@ -74,7 +74,7 @@
     */
    @ApiModelProperty(value = "工单状态:0草稿、10发布中_接单中、11发布中_拒绝接单、20响应中_待拆分、21响应中_申请取消、22响应中_申请修改、23响应中_已取消、30执行中_待全部完成、31执行中_协商修改、40完成待验_待全部验收、50验收通过_待结算、60结算完成_已结算")
    @TableField("work_order_status")
    private Byte workOrderStatus = 0;
    private String workOrderStatus;
    /**
     * 执行时间范围-开始
     */
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/DocumentTypeEnum.java
New file
@@ -0,0 +1,80 @@
package org.sxkj.gd.workorder.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
 * 文档类型枚举
 * 用于标识不同类型的文档
 *
 * @author BladeX
 * @date 2026-01-19
 */
@Getter
@AllArgsConstructor
public enum DocumentTypeEnum {
    /**
     * 巡查类文档
     */
    PATROL_DOCUMENT("1", "巡查类文档"),
    /**
     * 巡检类文档
     */
    INSPECTION_DOCUMENT("2", "巡检类文档"),
    /**
     * 安保类文档
     */
    SECURITY_DOCUMENT("3", "安保类文档"),
    /**
     * 文旅类文档
     */
    CULTURAL_TOURISM_DOCUMENT("4", "文旅类文档"),
    /**
     * 采集数据类文档
     */
    DATA_COLLECTION_DOCUMENT("5", "采集数据类文档");
    /**
     * 枚举值,对应数据库存储值
     */
    @EnumValue
    private final String value;
    /**
     * 枚举描述,用于展示
     */
    @JsonValue
    private final String desc;
    /**
     * 根据值获取对应的枚举
     *
     * @param value 枚举值
     * @return 对应的枚举,如果未找到则返回null
     */
    public static DocumentTypeEnum getByValue(String value) {
        for (DocumentTypeEnum type : values()) {
            if (type.getValue().equals(value)) {
                return type;
            }
        }
        return null;
    }
    /**
     * 判断值是否为有效的文档类型
     *
     * @param value 待验证的值
     * @return 是否有效
     */
    public static boolean isValidValue(String value) {
        return getByValue(value) != null;
    }
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/WorkOrderStatusEnum.java
@@ -42,64 +42,64 @@
    /**
     * 草稿
     */
    DRAFT(0, "草稿", null),
    DRAFT("0", "草稿", null),
    /**
     * 发布中_接单中
     */
    PUBLISHING_ACCEPTING(10, "发布中_接单中", "工单发布"),
    PUBLISHING_ACCEPTING("10", "发布中_接单中", "工单发布"),
    /**
     * 发布中_拒绝接单
     */
    PUBLISHING_REJECTING(11, "发布中_拒绝接单", "工单发布"),
    PUBLISHING_REJECTING("11", "发布中_拒绝接单", "工单发布"),
    /**
     * 响应中_待拆分
     */
    RESPONDING_TO_BE_SPLIT(20, "响应中_待拆分", "接单响应"),
    RESPONDING_TO_BE_SPLIT("20", "响应中_待拆分", "接单响应"),
    /**
     * 响应中_申请取消
     */
    RESPONDING_APPLY_CANCEL(21, "响应中_申请取消", "接单响应"),
    RESPONDING_APPLY_CANCEL("21", "响应中_申请取消", "接单响应"),
    /**
     * 响应中_申请修改
     */
    RESPONDING_APPLY_MODIFY(22, "响应中_申请修改", "接单响应"),
    RESPONDING_APPLY_MODIFY("22", "响应中_申请修改", "接单响应"),
    /**
     * 响应中_已取消
     */
    RESPONDING_CANCELED(23, "响应中_已取消", "接单响应"),
    RESPONDING_CANCELED("23", "响应中_已取消", "接单响应"),
    /**
     * 执行中_待全部完成
     */
    EXECUTING_TO_BE_COMPLETED(30, "执行中_待全部完成", "执行中"),
    EXECUTING_TO_BE_COMPLETED("30", "执行中_待全部完成", "执行中"),
    /**
     * 执行中_协商修改
     */
    EXECUTING_NEGOTIATE_MODIFY(31, "执行中_协商修改", "执行中"),
    EXECUTING_NEGOTIATE_MODIFY("31", "执行中_协商修改", "执行中"),
    /**
     * 完成待验_待全部验收
     */
    COMPLETED_TO_BE_INSPECTED(40, "完成待验_待全部验收", "完成待验"),
    COMPLETED_TO_BE_INSPECTED("40", "完成待验_待全部验收", "完成待验"),
    /**
     * 验收通过_待结算
     */
    ACCEPTED_TO_BE_SETTLED(50, "验收通过_待结算", "验收通过"),
    ACCEPTED_TO_BE_SETTLED("50", "验收通过_待结算", "验收通过"),
    /**
     * 结算完成_已结算
     */
    SETTLEMENT_COMPLETED(60, "结算完成_已结算", "结算完成");
    SETTLEMENT_COMPLETED("60", "结算完成_已结算", "结算完成");
    private final Byte code;
    private final String code;
    private final String desc;
    private final String stageDesc;
    private final boolean isStage;
@@ -117,8 +117,8 @@
    /**
     * 工单状态构造函数
     */
    WorkOrderStatusEnum(int code, String desc, String stageDesc) {
        this.code = (byte) code;
    WorkOrderStatusEnum(String code, String desc, String stageDesc) {
        this.code = code;
        this.desc = desc;
        this.stageDesc = stageDesc;
        this.isStage = false;
@@ -128,7 +128,7 @@
     * 获取状态码
     * @return 状态码
     */
    public Byte getCode() {
    public String getCode() {
        return code;
    }
@@ -199,4 +199,4 @@
    public static boolean isValid(Byte code) {
        return getByCode(code) != null;
    }
}
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdManageDeviceMapper.java
@@ -51,4 +51,10 @@
     */
    List<GdManageDeviceExcel> exportGdManageDevice(@Param("ew") Wrapper<GdManageDeviceEntity> queryWrapper);
    /**
     *
     * @param gdManageDevice
     * @return
     */
    List<GdManageDeviceVO> selectGdManageDevice(GdManageDeviceVO gdManageDevice);
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdManageDeviceMapper.xml
@@ -54,7 +54,9 @@
    <select id="selectGdManageDevicePage" resultMap="gdManageDeviceResultMap">
        select id,device_sn,device_name,nickname,device_payload from ja_gd_manage_device where is_deleted = 0
        select id, device_sn, device_name, nickname, device_payload
        from ja_gd_manage_device
        where is_deleted = 0
    </select>
@@ -62,4 +64,16 @@
        SELECT * FROM ja_gd_manage_device ${ew.customSqlSegment}
    </select>
    <select id="selectGdManageDevice" resultType="org.sxkj.gd.workorder.vo.GdManageDeviceVO">
        select id, device_sn, device_name, nickname, device_payload
        from ja_gd_manage_device
        where is_deleted = 0
        <if test="deviceIds != null and deviceIds.size() > 0">
            and id in
            <foreach item="item" collection="deviceIds" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
    </select>
</mapper>
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java
@@ -17,6 +17,7 @@
package org.sxkj.gd.workorder.mapper;
import org.sxkj.gd.workorder.entity.GdPatrolTaskEntity;
import org.sxkj.gd.workorder.param.GdPatrolTaskPageParam;
import org.sxkj.gd.workorder.vo.GdPatrolTaskVO;
import org.sxkj.gd.workorder.excel.GdPatrolTaskExcel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -40,7 +41,7 @@
     * @param gdPatrolTask
     * @return
     */
    List<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage page, GdPatrolTaskVO gdPatrolTask);
    List<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage page, GdPatrolTaskPageParam gdPatrolTask);
    /**
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdWorkOrderMapper.java
@@ -52,4 +52,10 @@
     */
    List<GdWorkOrderExcel> exportGdWorkOrder(@Param("ew") Wrapper<GdWorkOrderEntity> queryWrapper);
    /**
     *
     * @param gdWorkOrder
     * @return
     */
    GdWorkOrderEntity getWorkOrderDetail(GdWorkOrderEntity gdWorkOrder);
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdWorkOrderMapper.xml
@@ -26,6 +26,31 @@
        <result column="is_deleted" property="isDeleted"/>
    </resultMap>
    <select id="getWorkOrderDetail" resultType="org.sxkj.gd.workorder.entity.GdWorkOrderEntity">
        select id,
               work_order_name,
               work_order_code,
               work_order_type,
               device_load_demand,
               recommend_device_ids,
               work_order_status,
               execute_start_time,
               execute_end_time,
               service_party,
               ST_AsText(geom) geom,
               remark,
               area_code,
               create_user,
               create_dept,
               create_time,
               update_user,
               update_time,
               status,
               is_deleted
        from ja_gd_work_order
        where id = #{id}
    </select>
    <select id="selectGdWorkOrderPage" resultMap="gdWorkOrderResultMap">
        select
@@ -63,17 +88,38 @@
            <if test="param2.createUser != null and param2.createUser != ''">
                and create_user = #{param2.createUser}
            </if>
            <if test="param2.startTime != null and param2.startTime != '' and param2.endTime != null and param2.endTime != ''">
                and create_time BETWEEN #{param2.startTime} AND #{param2.endTime}
            </if>
            and is_deleted = 0
        </where>
    </select>
    <select id="exportGdWorkOrder" resultType="org.sxkj.gd.workorder.excel.GdWorkOrderExcel">
        SELECT id, work_order_name, work_order_code, work_order_type, device_load_demand, recommend_device_ids,
               work_order_status, execute_start_time, execute_end_time, service_party, geom, remark, area_code,
               create_user, create_dept, create_time, update_user, update_time, status, is_deleted
        SELECT id,
               work_order_name,
               work_order_code,
               work_order_type,
               device_load_demand,
               recommend_device_ids,
               work_order_status,
               execute_start_time,
               execute_end_time,
               service_party,
               geom,
               remark,
               area_code,
               create_user,
               create_dept,
               create_time,
               update_user,
               update_time,
               status,
               is_deleted
        FROM ja_gd_work_order ${ew.customSqlSegment}
    </select>
    <!-- 自定义插入语句,使用ST_GeomFromText处理几何数据 -->
    <insert id="insert" parameterType="org.sxkj.gd.workorder.entity.GdWorkOrderEntity">
@@ -92,25 +138,59 @@
    </insert>
    <!-- 自定义更新语句,使用ST_GeomFromText处理几何数据 -->
    <update id="updateById" parameterType="org.sxkj.gd.workorder.entity.GdWorkOrderEntity">
        UPDATE ja_gd_work_order
        SET work_order_name      = #{workOrderName},
            work_order_code      = #{workOrderCode},
            work_order_type      = #{workOrderType},
            device_load_demand   = #{deviceLoadDemand},
            recommend_device_ids = #{recommendDeviceIds},
            work_order_status    = #{workOrderStatus},
            execute_start_time   = #{executeStartTime},
            execute_end_time     = #{executeEndTime},
            service_party        = #{serviceParty},
            geom                 = ST_GeomFromText(#{geom}),
            remark               = #{remark},
            area_code            = #{areaCode},
            update_user          = #{updateUser},
            update_time          = #{updateTime},
            status               = #{status},
            is_deleted           = #{isDeleted}
        WHERE id = #{id}
    </update>
    <!-- <update id="updateById" parameterType="org.sxkj.gd.workorder.entity.GdWorkOrderEntity"> -->
    <!--     UPDATE ja_gd_work_order -->
    <!--     <set> -->
    <!--         <if test="workOrderName != null and workOrderName != ''"> -->
    <!--             work_order_name = #{workOrderName}, -->
    <!--         </if> -->
    <!--         <if test="workOrderCode != null and workOrderCode != ''"> -->
    <!--             work_order_code = #{workOrderCode}, -->
    <!--         </if> -->
    <!--         <if test="workOrderType != null and workOrderType != ''"> -->
    <!--             work_order_type = #{workOrderType}, -->
    <!--         </if> -->
    <!--         <if test="deviceLoadDemand != null and deviceLoadDemand != ''"> -->
    <!--             device_load_demand = #{deviceLoadDemand}, -->
    <!--         </if> -->
    <!--         <if test="recommendDeviceIds != null and recommendDeviceIds != ''"> -->
    <!--             recommend_device_ids = #{recommendDeviceIds}, -->
    <!--         </if> -->
    <!--         <if test="workOrderStatus != null"> -->
    <!--             work_order_status = #{workOrderStatus}, -->
    <!--         </if> -->
    <!--         <if test="executeStartTime != null"> -->
    <!--             execute_start_time = #{executeStartTime}, -->
    <!--         </if> -->
    <!--         <if test="executeEndTime != null"> -->
    <!--             execute_end_time = #{executeEndTime}, -->
    <!--         </if> -->
    <!--         <if test="serviceParty != null and serviceParty != ''"> -->
    <!--             service_party = #{serviceParty}, -->
    <!--         </if> -->
    <!--         <if test="geom != null and geom != ''"> -->
    <!--             geom = ST_GeomFromText(#{geom}), -->
    <!--         </if> -->
    <!--         <if test="remark != null and remark != ''"> -->
    <!--             remark = #{remark}, -->
    <!--         </if> -->
    <!--         <if test="areaCode != null and areaCode != ''"> -->
    <!--             area_code = #{areaCode}, -->
    <!--         </if> -->
    <!--         <if test="updateUser != null"> -->
    <!--             update_user = #{updateUser}, -->
    <!--         </if> -->
    <!--         <if test="updateTime != null"> -->
    <!--             update_time = #{updateTime}, -->
    <!--         </if> -->
    <!--         <if test="status != null"> -->
    <!--             status = #{status}, -->
    <!--         </if> -->
    <!--         <if test="isDeleted != null"> -->
    <!--             is_deleted = #{isDeleted}, -->
    <!--         </if> -->
    <!--     </set> -->
    <!--     WHERE id = #{id} -->
    <!-- </update> -->
</mapper>
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/GdPatrolTaskPageParam.java
New file
@@ -0,0 +1,33 @@
package org.sxkj.gd.workorder.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class GdPatrolTaskPageParam {
    /**
     * 巡查任务名称
     */
    @ApiModelProperty(value = "巡查任务名称")
    private String patrolTaskName;
    /**
     * 巡查任务类型(巡查类/安检类等)
     */
    @ApiModelProperty(value = "巡查任务类型 1.巡查类 2.巡检类 3.安保类 4.文旅类 5.采集数据类 ")
    private String patrolTaskType;
    /**
     * 状态:0待签收、1拒绝签收、2已撤回、3待审核、4审核驳回、5审核通过、6待验收、7拒绝验收、8验收通过
     */
    @ApiModelProperty(value = "状态:0待签收、1拒绝签收、2已撤回、3待审核、4审核驳回、5审核通过、6待验收、7拒绝验收、8验收通过")
    private String taskStatus;
    @ApiModelProperty(value = "开始时间")
    private String startTime;
    @ApiModelProperty(value = "结束时间")
    private String endTime;
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/WorkOrderPageParam.java
@@ -28,4 +28,10 @@
    @ApiModelProperty(value = "创建人")
    private Long createUser;
    @ApiModelProperty(value = "开始时间")
    private String startTime;
    @ApiModelProperty(value = "结束时间")
    private String endTime;
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdManageDeviceService.java
@@ -49,4 +49,10 @@
     */
    List<GdManageDeviceExcel> exportGdManageDevice(Wrapper<GdManageDeviceEntity> queryWrapper);
    /**
     * 查询数据
     * @param gdManageDevice
     * @return
     */
    List<GdManageDeviceVO> selectGdManageDevice(GdManageDeviceVO gdManageDevice);
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.sxkj.gd.workorder.entity.GdPatrolTaskEntity;
import org.sxkj.gd.workorder.param.GdPatrolTaskPageParam;
import org.sxkj.gd.workorder.vo.GdPatrolTaskVO;
import org.sxkj.gd.workorder.excel.GdPatrolTaskExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -38,7 +39,7 @@
     * @param gdPatrolTask
     * @return
     */
    IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskVO gdPatrolTask);
    IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskPageParam gdPatrolTask);
    /**
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdWorkOrderService.java
@@ -67,4 +67,11 @@
     * @return
     */
    boolean handleWorkOrderStatus(@Valid WorkOrderStatusParam statusParam);
    /**
     * 获取工单任务表详情
     * @param gdWorkOrder
     * @return
     */
    GdWorkOrderEntity getWorkOrderDetail(GdWorkOrderEntity gdWorkOrder);
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java
@@ -25,6 +25,7 @@
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import java.util.List;
/**
@@ -41,11 +42,15 @@
        return page.setRecords(baseMapper.selectGdManageDevicePage(page, gdManageDevice));
    }
    @Override
    public List<GdManageDeviceVO> selectGdManageDevice(GdManageDeviceVO gdManageDevice) {
        return baseMapper.selectGdManageDevice(gdManageDevice);
    }
    @Override
    public List<GdManageDeviceExcel> exportGdManageDevice(Wrapper<GdManageDeviceEntity> queryWrapper) {
        List<GdManageDeviceExcel> gdManageDeviceList = baseMapper.exportGdManageDevice(queryWrapper);
        //gdManageDeviceList.forEach(gdManageDevice -> {
        // gdManageDeviceList.forEach(gdManageDevice -> {
        //    gdManageDevice.setTypeName(DictCache.getValue(DictEnum.YES_NO, GdManageDevice.getType()));
        //});
        return gdManageDeviceList;
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -27,6 +27,7 @@
import org.sxkj.gd.workorder.enums.PatrolTaskStatusEnum;
import org.sxkj.gd.workorder.enums.WorkOrderStatusEnum;
import org.sxkj.gd.workorder.enums.WorkOrderTypeEnum;
import org.sxkj.gd.workorder.param.GdPatrolTaskPageParam;
import org.sxkj.gd.workorder.service.IGdWorkOrderFlowService;
import org.sxkj.gd.workorder.vo.GdPatrolTaskVO;
import org.sxkj.gd.workorder.excel.GdPatrolTaskExcel;
@@ -53,7 +54,7 @@
    private IGdWorkOrderFlowService gdWorkOrderFlowService;
    @Override
    public IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskVO gdPatrolTask) {
    public IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskPageParam gdPatrolTask) {
        return page.setRecords(baseMapper.selectGdPatrolTaskPage(page, gdPatrolTask));
    }
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdWorkOrderServiceImpl.java
@@ -59,6 +59,11 @@
    private IGdWorkOrderFlowService gdWorkOrderFlowService;
    @Override
    public GdWorkOrderEntity getWorkOrderDetail(GdWorkOrderEntity gdWorkOrder) {
        return baseMapper.getWorkOrderDetail(gdWorkOrder);
    }
    @Override
    public IPage<GdWorkOrderVO> selectGdWorkOrderPage(IPage<GdWorkOrderVO> page, WorkOrderPageParam gdWorkOrder) {
        return page.setRecords(baseMapper.selectGdWorkOrderPage(page, gdWorkOrder));
    }
@@ -142,7 +147,7 @@
        // 操作类型:1接单,2拒接接单
        Integer operationType = statusParam.getOperationType();
        Byte newStatus = null;
        String newStatus = null;
        String flowName = null;
        String flowDesc = null;
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdManageDeviceVO.java
@@ -26,6 +26,7 @@
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * 设备信息 视图实体类
@@ -64,5 +65,8 @@
    @ApiModelProperty(value = "当前纬度")
    private Double latitude;
    @ApiModelProperty(value = "设备ids")
    private List<Integer> deviceIds;
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdPatrolTaskVO.java
@@ -32,10 +32,5 @@
public class GdPatrolTaskVO extends GdPatrolTaskEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "开始时间")
    private String startTime;
    @ApiModelProperty(value = "结束时间")
    private String endTime;
}