吉安感知网项目-后端
linwei
6 days ago 05fb356099b5af472ee23d9164bca61962d9c2ed
add : 吉安支持查询待验收的接口
8 files modified
118 ■■■■■ changed files
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdTaskResultController.java 11 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/entity/GdClueEventEntity.java 21 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdClueEventMapper.xml 13 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/GdClueEventDistributeParam.java 3 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdTaskResultService.java 22 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java 1 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdTaskResultServiceImpl.java 42 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdClueEventListVO.java 5 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdTaskResultController.java
@@ -156,6 +156,17 @@
    }
    /**
     * 成果表批量新增并返回ID列表,不关联任务-对外接口
     */
    // @PostMapping("/batchSaveWithIds")
    // @ApiOperationSupport(order = 8)
    // @ApiOperation(value = "批量新增并返回ID", notes = "传入gdTaskResult")
    // public R<List<Long>> batchSaveWithIds(@Valid @RequestBody List<GdTaskResultDTO> gdTaskResults) {
    //     log.info("批量新增并返回ID-对外接口{}", JSON.toJSONString(gdTaskResults));
    //     return R.data(gdTaskResultService.batchSaveWithIds(gdTaskResults));
    // }
    /**
     * 成果表 删除
     */
    @PostMapping("/remove")
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/entity/GdClueEventEntity.java
@@ -80,5 +80,26 @@
     */
    @ApiModelProperty(value = "事件编号")
    private String eventNum;
    /**
     * 事件名称
     */
    @ApiModelProperty(value = "事件名称")
    private String eventName;
    /**
     * 附件类型:1媒体文件; 2ai文件; 3主视频
     */
    @ApiModelProperty(value = "附件类型:1媒体文件; 2ai文件; 3主视频")
    private Integer attachmentType;
    /**
     * 附件URL
     */
    @ApiModelProperty(value = "附件URL")
    private String attachUrl;
    /**
     * AI图片的画框数据
     */
    @ApiModelProperty(value = "AI图片的画框数据")
    private String geojson;
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdClueEventMapper.xml
@@ -59,6 +59,7 @@
        <result column="create_time" property="createTime"/>
        <result column="geojson" property="geojson"/>
        <result column="attachment_type" property="attachmentType"/>
        <result column="event_name" property="eventName"/>
    </resultMap>
    <resultMap id="gdClueEventCountVoResultMap" type="org.sxkj.gd.workorder.vo.GdClueEventCountVO">
@@ -98,11 +99,13 @@
    </select>
    <select id="selectGdClueEventSimpleList" resultMap="gdClueEventListVoResultMap">
        select ce.id as id,
        tr.result_url as event_image_url,
        tr.geojson as geojson,
        tr.attachment_type,
        ce.create_time as create_time
        select
            ce.id as id,
            ce.event_name,
            tr.result_url as event_image_url,
            tr.geojson as geojson,
            tr.attachment_type,
            ce.create_time as create_time
        from ja_gd_clue_event ce
        left join ja_gd_task_result tr on tr.id::VARCHAR = ce.result_id::VARCHAR and tr.is_deleted = 0
        <include refid="gdClueEventDeptWhere"/>
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/GdClueEventDistributeParam.java
@@ -56,4 +56,7 @@
     */
    @ApiModelProperty(value = "区域编码")
    private String areaCode;
     @ApiModelProperty(value = "事件名称", required = true)
     private String eventName;
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdTaskResultService.java
@@ -17,12 +17,12 @@
package org.sxkj.gd.workorder.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.sxkj.gd.workorder.dto.GdTaskResultDTO;
import org.sxkj.gd.workorder.entity.GdTaskResultEntity;
import org.sxkj.gd.workorder.vo.GdTaskResultVO;
import org.sxkj.gd.workorder.excel.GdTaskResultExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.sxkj.gd.workorder.dto.GdTaskResultDTO;
import org.sxkj.gd.workorder.entity.GdTaskResultEntity;
import org.sxkj.gd.workorder.excel.GdTaskResultExcel;
import org.sxkj.gd.workorder.vo.GdTaskResultVO;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -62,9 +62,10 @@
    List<GdTaskResultExcel> exportGdTaskResult(Wrapper<GdTaskResultEntity> queryWrapper);
    /**
     * 批量保存成果数据
     *
     * @param gdTaskResults
     * @return
     * @param gdTaskResults 成果DTO列表
     * @return 保存成功后的成果ID列表
     */
    boolean saveBatchTaskResult(List<GdTaskResultDTO> gdTaskResults);
@@ -83,4 +84,13 @@
     * @param response HTTP响应
     */
    void downloadResultFiles(String ids, HttpServletResponse response);
    /**
     * 批量保存成果数据(包含ID)
     *
     * @param gdTaskResults 成果DTO列表
     * @return 保存成功后的成果ID列表
     * @return
     */
    List<Long> batchSaveWithIds(List<GdTaskResultDTO> gdTaskResults);
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java
@@ -135,6 +135,7 @@
        clueEvent.setCreateUser(AuthUtil.getUserId());
        clueEvent.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
        clueEvent.setCreateTime(new Date());
        clueEvent.setEventName(distributeParam.getEventName());
        if (!save(clueEvent)) {
            throw new RuntimeException("事件分发失败");
        }
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdTaskResultServiceImpl.java
@@ -20,6 +20,7 @@
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.secure.utils.AuthUtil;
import org.sxkj.gd.workorder.dto.GdTaskResultDTO;
import org.sxkj.gd.workorder.entity.GdDeviceCallDetailEntity;
import org.sxkj.gd.workorder.entity.GdDeviceCallEntity;
@@ -147,6 +148,47 @@
     * 保存普通成果数据(dateType != 4)
     *
     * @param gdTaskResults 成果DTO列表
     * @return 保存成功后的成果ID列表
     */
    @Override
    public List<Long> batchSaveWithIds(List<GdTaskResultDTO> gdTaskResults) {
        // 步骤1:转换DTO为实体
        List<GdTaskResultEntity> gdTaskResultEntities = GdTaskResultWrapper.build().listEntity(gdTaskResults);
        // 步骤2:处理每个实体的属性
        gdTaskResultEntities.forEach(gdTaskResult -> {
            String processedAreaCode = HeaderUtils.processAreaCode(gdTaskResult.getAreaCode());
            gdTaskResult.setAreaCode(processedAreaCode);
            // 如果resultCode为空,生成时间戳作为默认值
            if (StringUtil.isEmpty(gdTaskResult.getResultCode())) {
                gdTaskResult.setResultCode(String.valueOf(System.currentTimeMillis()));
            }
            if (gdTaskResult.getShootTime() == null) {
                gdTaskResult.setShootTime(new Date());
            }
            gdTaskResult.setStatus(0);
            gdTaskResult.setUpdateTime(new Date());
            gdTaskResult.setCreateTime(new Date());
            gdTaskResult.setIsDeleted(0);
            gdTaskResult.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
            gdTaskResult.setUpdateUser(AuthUtil.getUserId());
            gdTaskResult.setDistributeStatus(0);
        });
        // 步骤3:批量插入数据
        int insertCount = baseMapper.insertBatch(gdTaskResultEntities);
        // 步骤4:收集并返回保存后的ID列表
        return gdTaskResultEntities.stream()
                .map(GdTaskResultEntity::getId)
                .filter(Objects::nonNull)
                .collect(Collectors.toList());
    }
    /**
     * 保存普通成果数据(dateType != 4)
     *
     * @param gdTaskResults 成果DTO列表
     */
    private void saveNormalTaskResults(List<GdTaskResultDTO> gdTaskResults) {
        List<GdTaskResultEntity> gdTaskResultEntities = GdTaskResultWrapper.build().listEntity(gdTaskResults);
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdClueEventListVO.java
@@ -49,4 +49,9 @@
    @ApiModelProperty(value = "事件附件类型")
    private Integer attachmentType;
    /**
     * 事件名称
     */
    @ApiModelProperty(value = "事件名称")
    private String eventName;
}