mitao
9 天以前 4228467469ed54d81ffa0fec74a82f773e3c77a9
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
package com.panzhihua.sangeshenbian.service;
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo;
import com.panzhihua.sangeshenbian.model.dto.ComplaintCompletionDTO;
import com.panzhihua.sangeshenbian.model.dto.ComplaintProcessDTO;
import com.panzhihua.sangeshenbian.model.dto.*;
import com.panzhihua.sangeshenbian.model.entity.Complaint;
import com.baomidou.mybatisplus.extension.service.IService;
import com.panzhihua.sangeshenbian.model.entity.ComplaintAuditRecord;
import com.panzhihua.sangeshenbian.model.entity.ComplaintProgress;
import com.panzhihua.sangeshenbian.model.query.AnalyticStatisticsQuery;
import com.panzhihua.sangeshenbian.model.query.AppStaticsQuery;
import com.panzhihua.sangeshenbian.model.query.BasePage;
import com.panzhihua.sangeshenbian.model.query.ComplaintQuery;
import com.panzhihua.sangeshenbian.model.vo.*;
import com.panzhihua.sangeshenbian.warpper.MgtComplaintQuery;
 
import javax.validation.Valid;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.List;
 
/**
 * <p>
 * 问题报告表 服务类
 * </p>
 *
 * @author
 * @since 2025-02-22
 */
public interface IComplaintService extends IService<Complaint> {
    void saveComplaint(Complaint complaint,LoginUserInfoVO loginUserInfoVO);
 
    /**
     * 诉求列表
     *
     * @param query
     * @param loginUserInfoVO
     * @return
     */
    Page<ComplaintVO> complaintList(ComplaintQuery query, LoginUserInfoVO  loginUserInfoVO);
 
    /**
     * 工单详情
     * @param id
     * @return
     */
    ComplaintVO detail(Long id, LoginUserInfoVO  loginUserInfoVO);
    /**
     * 保存办理进度
     *
     * @param dto
     * @param loginUserInfoVO
     */
    void saveProcess(ComplaintProcessDTO dto, LoginUserInfoVO loginUserInfoVO);
 
    /**
     * 办理结果录入
     *
     * @param dto
     * @param loginUserInfoVO
     */
    void saveResult(ComplaintCompletionDTO dto, LoginUserInfoVO loginUserInfoVO);
 
    /**
     * 办理进度列表
     * @param complaintId
     * @return
     */
    List<ComplaintProgress> progress(Long complaintId);
 
    void saveAndReport(ComplaintVO complaintVO, LoginUserInfoVO loginUserInfo);
 
    /**
     * 诉求上报
     */
    void saveReport(ComplaintReportDTO dto, LoginUserInfoVO loginUserInfoVO);
 
    void saveAndComplete(@Valid ComplaintSaveAndCompleteDTO complaintVO, LoginUserInfoVO loginUserInfo);
 
    /**
     * 诉求上报撤回
     */
    void reportWithdraw(ComplaintReportWithdrawDTO dto, LoginUserInfoVO loginUserInfoVO);
 
 
 
    /**
     * 诉求下派
     */
    void saveDispatch(ComplaintDispatch dto, LoginUserInfoVO loginUserInfoVO);
 
    /**
     * 上报审核
     * @param complaintReporAuditDTO
     * @param loginUserInfoVO
     */
    void reportAudit(ComplaintReporAuditDTO complaintReporAuditDTO, LoginUserInfoVO loginUserInfoVO);
 
    /**
     * 延期申请
     */
    void saveDelay(ComplaintDelayDTO dto, LoginUserInfoVO loginUserInfoVO);
 
    /**
     * 延期审核
     */
    void delayAudit(ComplaintDelayAuditDTO complaintDelayAuditDTO, LoginUserInfoVO loginUserInfoVO);
 
    List<DispatchVO> getDispatchList(LoginUserInfoVO loginUserInfoVO);
 
    /**
     * 获取待办诉求
     * @param page
     * @param loginUserInfo
     * @return
     */
    Page<ComplaintTodoVO> getTodoList(BasePage page, LoginUserInfoVO loginUserInfo);
 
    /**
     * 延期情况说明
     * @param complaintId
     * @return
     */
    ComplaintAuditRecord delayDetail(Long complaintId);
 
    /**
     * 管理后台-诉求列表
     *
     * @param query
     * @param loginUserInfo
     * @return
     */
    Page<ComplaintVO> pageList(MgtComplaintQuery query, SystemUserVo loginUserInfo);
 
    /**
     * 管理后台-诉求详情
     * @param id
     * @return
     */
    ComplaintVO getDetailMgt(Long id);
 
    /**
     * 诉求列表导出
     * @param query
     * @param loginUserInfo
     */
    void export(MgtComplaintQuery query, SystemUserVo loginUserInfo) throws IOException;
 
    /**
     * 社区问题单、问题处理单、协调通知单 下载
     *
     * @param id
     * @param loginUserInfo
     */
    String downloadFile(Long id, Integer type, SystemUserVo loginUserInfo) throws IOException;
 
    /**
     * 获取超时未评价的数据
     * @return
     */
    List<Complaint> getTimeoutAndNotComment();
 
 
    /**
     * 修改办理进度
     * @param dto
     */
    void updateProgress(ComplaintProcessUpdateDto dto);
 
 
    /**
     * 删除办理进度
     * @param id
     */
    void delProgress(Long id);
 
    /**
     * 数据统计第一部分
     * @param query
     * @return
     */
    AnalyticStatisticsOneVo analyticStatisticsOne(AnalyticStatisticsQuery query,List<Complaint> complaints, SimpleDateFormat simpleDateFormat);
 
 
    /**
     * 数据统计第二部分
     * @param query
     * @param complaints
     * @param simpleDateFormat
     * @return
     */
    List<AnalyticStatisticsTwoVo> analyticStatisticsTwo(@Valid AnalyticStatisticsQuery query, List<Complaint> complaints, SimpleDateFormat simpleDateFormat);
 
 
    /**+
     * 数据统计第三部分
     * @param query
     * @param complaints
     * @return
     */
    List<AnalyticStatisticsThreeVo> analyticStatisticsThree(@Valid AnalyticStatisticsQuery query, List<Complaint> complaints);
 
    /**
     * 数据统计第四部分
     * @param complaints
     * @return
     */
    AnalyticStatisticsFourVo analyticStatisticsFour(List<Complaint> complaints);
 
    /**
     * 查询党员或上级对应的诉求列表
     * @param targetId
     * @param accountLevel
     * @param loginUserInfo
     * @return
     */
    List<Complaint> queryCompliantList(AppStaticsQuery query, LoginUserInfoVO loginUserInfo);
}