liujie
2026-01-14 f976a39b294f8c7dd60bcd2c661983c0dcc97fc6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
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<CheckTask, CheckTaskDto> {
 
    /**
     * 获取可用的检查任务
     * @param planId 计划ID
     * @param keyword 关键词
     * @return 检查任务列表
     */
    List<CheckTaskDto> listAvailableTasks(Integer planId, String keyword);
 
    /**
     * 获取我的检查任务
     * @param userId 用户ID
     * @param planId 计划ID
     * @return 检查任务列表
     */
    List<CheckTaskDto> myTasks(Integer userId, Integer planId);
 
    /**
     * 获取我的待办检查任务
     * @param userId 用户ID
     * @return 检查任务列表
     */
    List<CheckTaskDto> myTodoTasks(Integer userId);
 
    /**
     * 已经创建的任务
     */
    List<CheckTask> listExistTasks(Integer planId);
 
    /**
     * 已经关闭的任务
     */
    List<CheckTask> listClosedTasks(Integer planId);
 
    /**
     * 已经关闭的任务
     * @param planIds 计划ID列表
     * @return 检查任务列表
     */
    List<CheckTask> listClosedTasks(List<Integer> 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<NullType> getSystemTree(Integer checkTaskId);
 
    /**
     * 获取系统问题
     * @param checkTaskId 检查任务ID
     * @param hierarchyPath 层级路径
     * @return 系统问题列表
     */
    List<Problem> getSystemProblems(Integer checkTaskId, String hierarchyPath);
 
    /**
     * 获取设备问题
     * @param checkTaskId 检查任务ID
     * @param deviceType 设备类型
     * @return 设备问题列表
     */
    TreeNode<NullType> getDeviceTree(Integer checkTaskId, DeviceType deviceType);
 
    /**
     * 获取设备问题
     * @param checkTaskId 检查任务ID
     * @param hierarchyPath 层级路径
     * @return 设备问题列表
     */
    List<Problem> getDeviceProblems(Integer checkTaskId, String hierarchyPath);
 
    /**
     * 获取团队成员
     * @param id 检查任务ID
     * @return 团队成员列表
     */
    Map<String, List<UserDto>> getTeamMembers(Integer id);
 
    /**
     * 轮空项树
     */
    TreeNode<NullType> getByPassSystemTree(Integer checkTaskId);
 
    /**
     * 获取轮空项设备树
     * @param checkTaskId 检查任务ID
     * @param deviceType 设备类型
     * @return 轮空项设备树
     */
    TreeNode<NullType> getByPassDeviceTree(Integer checkTaskId, DeviceType deviceType);
 
    /**
     * 获取轮空项设备树
     * @param checkTaskId 检查任务ID
     * @return 轮空项设备树
     */
    TreeNode<NullType> 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);
}