/* * 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.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; 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; /** * 成果表 服务类 * * @author lw * @since 2026-01-14 */ public interface IGdTaskResultService extends BaseService { /** * 自定义分页 * * @param page * @param gdTaskResult * @return */ IPage selectGdTaskResultPage(IPage page, GdTaskResultVO gdTaskResult); /** * 根据巡查任务ID查询成果列表 * * @param patrolTaskId 巡查任务ID * @param attachmentTypes 附件类型列表(可选,为null或空时查询全部) * @return 成果列表 */ List listByPatrolTaskId(Long patrolTaskId, List attachmentTypes); /** * 导出数据 * * @param queryWrapper * @return */ List exportGdTaskResult(Wrapper queryWrapper); /** * 批量保存成果数据 * * @param gdTaskResults 成果DTO列表 * @return 保存成功后的成果ID列表 */ boolean saveBatchTaskResult(List gdTaskResults); /** * 根据ID更新成果信息(更新所有字段) * * @param taskResult 成果实体 * @return 是否成功 */ boolean updateTaskResultById(GdTaskResultEntity taskResult); /** * 批量下载成果文件(打包成ZIP) * * @param ids 成果ID列表(逗号分隔) * @param response HTTP响应 */ void downloadResultFiles(String ids, HttpServletResponse response); /** * 批量保存成果数据(包含ID) * * @param gdTaskResults 成果DTO列表 * @return 保存成功后的成果ID列表 * @return */ List batchSaveWithIds(List gdTaskResults); }