liusheng
2026-10-10 0afac42fb2e9d6e5291304dd0044ce3042b45d2b
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
package com.smartor.mapper;
 
import java.util.List;
import java.util.Map;
 
import com.smartor.domain.VO.DetailTraceDealVO;
import com.smartor.domain.VO.ServiceSubtaskDetailTraceVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.smartor.domain.ServiceSubtaskDetailTrace;
 
/**
 * 随访任务异常记录跟踪Mapper接口
 *
 * @author lihu
 * @date 2026-03-24
 */
@Mapper
public interface ServiceSubtaskDetailTraceMapper {
    /**
     * 查询随访任务异常记录跟踪
     *
     * @param id 随访任务异常记录跟踪主键
     * @return 随访任务异常记录跟踪
     */
    public ServiceSubtaskDetailTrace selectServiceSubtaskDetailTtraceById(Long id);
 
    /**
     * 查询随访任务异常记录跟踪列表
     *
     * @param ServiceSubtaskDetailTtrace 随访任务异常记录跟踪
     * @return 随访任务异常记录跟踪集合
     */
    public List<ServiceSubtaskDetailTrace> selectServiceSubtaskDetailTtraceList(ServiceSubtaskDetailTraceVO ServiceSubtaskDetailTtrace);
 
 
    /**
     * 异常问题处理情况查询:当前页的问题分组聚合(一个 SQL 拿到本页每个问题的异常数、已处理/未处理数)
     * <p>
     * 分页按「问题」维度下推,不再把整表 trace 明细拉回 Java 再分组
     *
     * @param vo 查询条件(pageNum 为 offset,与 PageUtils.getOffset 一致)
     * @return 每行含 questiontext、scriptid、templateType、exceptionFillNum、yesDeal、noDeal
     */
    public List<Map<String, Object>> selectTraceDealGroups(@Param("vo") DetailTraceDealVO vo);
 
    /**
     * 异常问题处理情况查询:问题总数(分页 total,按 questiontext 去重)
     */
    public long countTraceDealQuestions(@Param("vo") DetailTraceDealVO vo);
 
    /**
     * 异常问题处理情况查询:全量汇总(不受分页影响)
     *
     * @return totalException 异常总数、yesDeal 已处理数
     */
    public Map<String, Object> sumTraceDeal(@Param("vo") DetailTraceDealVO vo);
 
    /**
     * 异常问题处理情况查询:当前页问题的负责科室(按 todeptcode 去重)
     */
    public List<Map<String, Object>> selectTraceDealDepts(@Param("vo") DetailTraceDealVO vo,
                                                         @Param("questiontexts") List<String> questiontexts);
 
    /**
     * 异常问题处理情况查询:当前页问题的最新处理人和处理时间(handle_time 最大的一条)
     */
    public List<Map<String, Object>> selectTraceDealLatestHandle(@Param("vo") DetailTraceDealVO vo,
                                                                @Param("questiontexts") List<String> questiontexts);
 
    /**
     * 新增随访任务异常记录跟踪
     *
     * @param ServiceSubtaskDetailTtrace 随访任务异常记录跟踪
     * @return 结果
     */
    public int insertServiceSubtaskDetailTtrace(ServiceSubtaskDetailTrace ServiceSubtaskDetailTtrace);
 
    /**
     * 修改随访任务异常记录跟踪
     *
     * @param ServiceSubtaskDetailTtrace 随访任务异常记录跟踪
     * @return 结果
     */
    public int updateServiceSubtaskDetailTtrace(ServiceSubtaskDetailTrace ServiceSubtaskDetailTtrace);
 
    /**
     * 删除随访任务异常记录跟踪
     *
     * @param id 随访任务异常记录跟踪主键
     * @return 结果
     */
    public int deleteServiceSubtaskDetailTtraceById(Long id);
 
    /**
     * 批量删除随访任务异常记录跟踪
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteServiceSubtaskDetailTtraceByIds(Long[] ids);
}