fuliqi
2024-11-14 5533880a277aa5dd75c1794f7f5fa4426ea41d6e
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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
package com.ycl.platform.service;
 
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.platform.domain.entity.WorkOrder;
import com.ycl.platform.domain.entity.WorkOrderAuditingRecord;
import com.ycl.platform.domain.entity.WorkOrderWhite;
import com.ycl.platform.domain.excel.PointExport;
import com.ycl.platform.domain.form.*;
import com.ycl.platform.domain.query.*;
import com.ycl.platform.domain.vo.*;
import com.ycl.platform.domain.vo.screen.WorkOrderRegionVO;
import com.ycl.platform.domain.vo.screen.WorkOrderTotalVO;
import com.ycl.system.Result;
import com.ycl.system.page.TableDataInfo;
import jakarta.servlet.http.HttpServletResponse;
import org.bytedeco.javacv.FFmpegFrameGrabber;
 
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Map;
 
/**
 * 工单 服务类
 *
 * @author xp
 * @since 2024-03-05
 */
public interface WorkOrderService extends IService<WorkOrder> {
 
    /**
     * 系统内部的添加
     *
     * @param workOrderList
     * @return
     */
    Boolean innerAddWorkOrder(List<WorkOrder> workOrderList);
 
    /**
     * 添加
     * @param form
     * @return
     */
    Result add(WorkOrderForm form);
 
    /**
     * 修改
     * @param form
     * @return
     */
    Result update(WorkOrderForm form);
 
    /**
     * 批量删除
     * @param ids
     * @return
     */
    Result remove(List<String> ids);
 
    /**
     * id删除
     * @param id
     * @return
     */
    Result removeById(String id);
 
    /**
     * 分页查询
     * @param query
     * @return
     */
    Result page(WorkOrderQuery query);
 
    /**
     * 根据id查找
     * @param id
     * @return
     */
    Result detail(String id);
 
    /**
     * 列表
     * @return
     */
    Result all();
 
    /**
     * 工单审核
     * @param form
     * @return
     */
    Result auditing(WorkOrderAuditingForm form);
 
    /**
     * 批量审核
     * @param form 工单
     * @return 结果
     */
    Result batchAuditing(WorkOrderBatchAuditingForm form);
 
    /**
     * 运维情况
     * @param form
     * @return
     */
    Result ywCondition(WorkOrderYWConditionForm form);
 
    /**
     * 运维结果
     * @param form
     * @return
     */
    Result ywResult(WorkOrderYWResultForm form);
 
    /**
     * 检测结果
     * @param form
     * @return
     */
    Result checkResult(WorkOrderCheckResultForm form);
 
    /**
     * 下发分页
     * @param query
     * @return
     */
    Result distributePage(DistributeWorkOrderQuery query);
 
    /**
     * 快速下发
     * @param data
     * @return
     */
    Result distributeFast(DistributeWorkOrderVO data);
 
    /**
     * 获取工单运维情况
     * @param workOrderNo 工单号
     * @return 工单运维情况
     */
    List<WorkOrderYwConditionRecordVO> selectYwConditionByYwId(String workOrderNo);
 
    /**
     * 获取工单运维审核记录
     * @param workOrderNo 工单号
     * @return 工单运维审核记录
     */
    List<WorkOrderAuditingRecord> selectYwAuditingListByYwId(String workOrderNo);
 
    /**
     * 批量下发
     * @param query 条件
     * @return 结果
     */
    Result selectedIdsDistribute(DistributeWorkOrderQuery query);
 
    /**
     * 大屏工单统计
     * @param query
     * @return
     */
    Result screenWorkOrder(ScreenQuery query);
 
    /**
     * 首页折线图
     * @param monitorQuery 查询条件
     * @return 数据
     */
    Map<String, Object> home(HomeQuery monitorQuery);
 
    /**
     * 大屏工单数据
     * @param dashboardQuery 查询条件
     * @return 数据
     */
    WorkOrderTotalVO workOrderTotal(DashboardQuery dashboardQuery);
 
    /**
     * 大屏工单地区
     * @param dashboardQuery 查询条件
     * @return 数据
     */
    List<WorkOrderRegionVO> workOrderRegion(DashboardQuery dashboardQuery);
 
 
    /**
     * 工单设备点播获取一帧图片
     *
     * @param deviceId 国标设备国标码
     * @param channelId 设备通道编号(设备国标码)
     * @param workOrderNo 工单号
     * @return 数据
     */
    String getFrameImgByDevice(String deviceId, String channelId, String workOrderNo) throws Exception;
 
    /**
     * 工单设备点播获取一帧图片,并保存到数据库
     *
     * @param deviceId 国标设备国标码
     * @param channelId 设备通道编号(设备国标码)
     * @param workOrderNo 工单号
     * @return 数据
     */
    void saveFrameImgByDevice(String deviceId, String channelId, String workOrderNo);
 
    /**
     * 查询工单:待审核的工单
     *
     * @param start 开始时间
     * @param end 结束时间
     * @return 数据
     */
    List<DeviceInfoVO> hasErrorWorkOrderList(Date start, Date end);
 
    /**
     * 更新工单图片
     *
     * @param workOrderId 工单ID
     * @param imgPath 图像地址
     * @return 数据
     */
    void updateImgById(Integer workOrderId, String imgPath);
 
    /**
     * 工单过程图
     *
     * @param workOrderNo
     * @return
     */
    Result processImg(String workOrderNo);
 
    /**
     * 工单详情
     *
     * @param workOrderNo
     * @return
     */
    Result detailByNo(String workOrderNo);
 
    List<WorkOrderVO> export(WorkOrderExportQuery query);
 
    /**
     * 检测按钮
     * @param workOrderNo
     * @return
     */
    Result checkImage(String workOrderNo,String serialNumber);
 
    Result batchDeleteWorkOrder(List<String> workOrderNos);
 
    Result errorAll();
 
 
}