package com.estate.expert.admin.service; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.domain.common.response.PageResp; import com.estate.expert.admin.domain.exam.record.error.ErrorLevel; import com.estate.expert.admin.domain.exam.record.error.ErrorRecord; import com.estate.expert.admin.domain.exam.record.error.ErrorRecordDto; import com.estate.expert.admin.domain.exam.record.review.ErrorReviewDto; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.service.common.CrudServiceBase; import java.time.LocalDate; import java.util.List; /** * 问题记录服务 */ public interface ErrorRecordService extends CrudServiceBase { /** * 获取综合问题记录列表 * @param checkTaskId 检查任务ID * @param creatorId 创建者ID * @param pageReq 分页请求 * @return 综合问题记录列表 */ PageResp listSystemErrors(Integer checkTaskId, Integer creatorId, PageReq pageReq); /** * 获取设备问题记录列表 * @param checkTaskId 检查任务ID * @param deviceId 设备ID * @param creatorId 创建者ID * @param pageReq 分页请求 * @return 设备问题记录列表 */ PageResp listDeviceErrors(Integer checkTaskId, Integer deviceId, Integer creatorId, PageReq pageReq); /** * 获取综合问题记录列表 * @param clientId 客户ID * @param planId 计划ID * @param taskId 检查任务ID * @param startDate 开始日期 * @param endDate 结束日期 * @return 综合问题记录列表 */ List listSystemErrors(Integer clientId, Integer planId, Integer taskId, LocalDate startDate, LocalDate endDate); /** * 获取综合问题记录列表 * @param clientId 客户ID * @param planId 计划ID * @param taskId 检查任务ID * @param startDate 开始日期 * @param endDate 结束日期 * @param pageReq 分页请求 * @return 综合问题记录列表 */ PageResp listSystemErrors(Integer clientId, Integer planId, Integer taskId, LocalDate startDate, LocalDate endDate, PageReq pageReq); /** * 获取设备问题记录列表 * @param clientId 客户ID * @param planId 计划ID * @param taskId 检查任务ID * @param startDate 开始日期 * @param endDate 结束日期 * @return 设备问题记录列表 */ List listDeviceErrors(Integer clientId, Integer planId, Integer taskId, LocalDate startDate, LocalDate endDate); /** * 获取设备问题记录列表 * @param clientId 客户ID * @param planId 计划ID * @param taskId 检查任务ID * @param startDate 开始日期 * @param endDate 结束日期 * @param pageReq 分页请求 * @return 设备问题记录列表 */ PageResp listDeviceErrors(Integer clientId, Integer planId, Integer taskId, LocalDate startDate, LocalDate endDate, PageReq pageReq); /** * 获取综合问题记录列表 * @param checkTaskId 检查任务ID * @return 综合问题记录列表 */ List listSystemErrors(Integer checkTaskId); /** * 获取设备问题记录列表 * @param checkTaskId 检查任务ID * @return 设备问题记录列表 */ List listDeviceErrors(Integer checkTaskId); /** * 计算问题记录的隐患等级 */ ErrorLevel computeErrorLevel(ErrorRecord record); /** * 计算问题记录的隐患等级 * @param dto 问题记录DTO * @return 隐患等级 */ ErrorLevel computeErrorLevel(ErrorRecordDto dto); /** * 添加问题复查记录 * @param user 用户 * @param errorRecordId 问题记录ID * @param reviewDto 问题复查记录DTO */ void addReview(User user, Integer errorRecordId, ErrorReviewDto reviewDto); /** * 编辑问题复查记录 * @param errorRecordId 问题记录ID * @param reviewDto 问题复查记录DTO */ void editReview(Integer errorRecordId, ErrorReviewDto reviewDto); /** * 获取问题复查记录 * @param errorRecordId 问题记录ID * @return 问题复查记录 */ ErrorReviewDto getReview(Integer errorRecordId); ///// 测试用接口 ///// /** * 添加问题记录 * @param user 用户 * @param checkTaskId 检查任务ID */ void addErrorRecords(User user, Integer checkTaskId); /** * 添加问题复查记录 * @param user 用户 * @param checkTaskId 检查任务ID */ void addErrorReviews(User user, Integer checkTaskId); }