Pu Zhibing
2025-03-16 6aa6dc075078cca11be048a267911bd7f74dadcd
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
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.BasePage;
import com.panzhihua.sangeshenbian.model.query.ComplaintQuery;
import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO;
import com.panzhihua.sangeshenbian.model.vo.ComplaintVO;
import com.panzhihua.sangeshenbian.model.vo.DispatchVO;
 
import java.io.IOException;
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 saveReport(ComplaintReportDTO 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(ComplaintQuery query, SystemUserVo loginUserInfo);
 
    /**
     * 管理后台-诉求详情
     * @param id
     * @return
     */
    ComplaintVO getDetailMgt(Long id);
 
    /**
     * 诉求列表导出
     * @param query
     * @param loginUserInfo
     */
    void export(ComplaintQuery query, SystemUserVo loginUserInfo) throws IOException;
 
    /**
     * 社区问题单
     * @param id
     */
    void communityProblem(Long id) throws IOException;
 
    /**
     * 问题处理单
     * @param id
     */
    void problemHandle(Long id);
 
    /**
     * 协调通知
     * @param id
     */
    void coordinationNotice(Long id);
    
    
    /**
     * 获取超时未评价的数据
     * @return
     */
    List<Complaint> getTimeoutAndNotComment();
}