package com.estate.expert.admin.service; import com.estate.expert.admin.domain.business.device.DeviceType; import com.estate.expert.admin.domain.exam.task.check.CheckTask; import com.estate.expert.admin.domain.exam.task.check.CheckTaskDto; import com.estate.expert.admin.domain.exam.task.pass.ByPassInfoDto; import com.estate.expert.admin.domain.exam.task.review.ReviewTaskDto; import com.estate.expert.admin.domain.standard.problem.Problem; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.domain.user.UserDto; import com.estate.expert.admin.service.common.CrudServiceBase; import com.estate.expert.admin.utils.tree.TreeNode; import javax.lang.model.type.NullType; import java.util.List; import java.util.Map; /** * 检查任务服务 */ public interface CheckTaskService extends CrudServiceBase { /** * 获取可用的检查任务 * @param planId 计划ID * @param keyword 关键词 * @return 检查任务列表 */ List listAvailableTasks(Integer planId, String keyword); /** * 获取我的检查任务 * @param userId 用户ID * @param planId 计划ID * @return 检查任务列表 */ List myTasks(Integer userId, Integer planId); /** * 获取我的待办检查任务 * @param userId 用户ID * @return 检查任务列表 */ List myTodoTasks(Integer userId); /** * 已经创建的任务 */ List listExistTasks(Integer planId); /** * 已经关闭的任务 */ List listClosedTasks(Integer planId); /** * 已经关闭的任务 * @param planIds 计划ID列表 * @return 检查任务列表 */ List listClosedTasks(List planIds); /** * 关闭检查任务 * @param id 检查任务ID */ void close(Integer id); /** * 驳回检查任务 * @param id 检查任务ID */ void reject(Integer id); /** * 获取轮空项 * @param checkTaskId 检查任务ID * @return 轮空项 */ ByPassInfoDto getByPassInfo(Integer checkTaskId); /** * 设置轮空项 * @param checkTaskId 检查任务ID * @param byPassInfo 轮空项 */ void setByPassInfo(Integer checkTaskId, ByPassInfoDto byPassInfo); /** * 检查树 */ TreeNode getSystemTree(Integer checkTaskId); /** * 获取系统问题 * @param checkTaskId 检查任务ID * @param hierarchyPath 层级路径 * @return 系统问题列表 */ List getSystemProblems(Integer checkTaskId, String hierarchyPath); /** * 获取设备问题 * @param checkTaskId 检查任务ID * @param deviceType 设备类型 * @return 设备问题列表 */ TreeNode getDeviceTree(Integer checkTaskId, DeviceType deviceType); /** * 获取设备问题 * @param checkTaskId 检查任务ID * @param hierarchyPath 层级路径 * @return 设备问题列表 */ List getDeviceProblems(Integer checkTaskId, String hierarchyPath); /** * 获取团队成员 * @param id 检查任务ID * @return 团队成员列表 */ Map> getTeamMembers(Integer id); /** * 轮空项树 */ TreeNode getByPassSystemTree(Integer checkTaskId); /** * 获取轮空项设备树 * @param checkTaskId 检查任务ID * @param deviceType 设备类型 * @return 轮空项设备树 */ TreeNode getByPassDeviceTree(Integer checkTaskId, DeviceType deviceType); /** * 获取轮空项设备树 * @param checkTaskId 检查任务ID * @return 轮空项设备树 */ TreeNode getByPassDeviceTree(Integer checkTaskId); ///// 复核任务相关 ///// /** * 获取复核任务 * @param checkTaskId 检查任务ID * @return 复核任务 */ ReviewTaskDto getReviewTask(Integer checkTaskId); /** * 添加复核任务 * @param user 用户 * @param checkTaskId 检查任务ID * @param reviewTask 复核任务 */ void addReviewTask(User user, Integer checkTaskId, ReviewTaskDto reviewTask); /** * 编辑复核任务 * @param checkTaskId 检查任务ID * @param reviewTask 复核任务 */ void editReviewTask(Integer checkTaskId, ReviewTaskDto reviewTask); /** * 关闭复核任务 * @param checkTaskId 检查任务ID */ void closeReviewTask(Integer checkTaskId); /** * 删除复核任务 * @param checkTaskId 检查任务ID */ void deleteReviewTask(Integer checkTaskId); }