liusheng
2026-10-12 0c1f8c479065739f3c7a5126de8e667035d00b58
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailTraceMapper.java
@@ -1,9 +1,12 @@
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;
/**
@@ -28,10 +31,42 @@
     * @param ServiceSubtaskDetailTtrace 随访任务异常记录跟踪
     * @return 随访任务异常记录跟踪集合
     */
    public List<ServiceSubtaskDetailTrace> selectServiceSubtaskDetailTtraceList(ServiceSubtaskDetailTrace ServiceSubtaskDetailTtrace);
    public List<ServiceSubtaskDetailTrace> selectServiceSubtaskDetailTtraceList(ServiceSubtaskDetailTraceVO ServiceSubtaskDetailTtrace);
    public List<ServiceSubtaskDetailTrace> tracedeallist(DetailTraceDealVO detailTraceDealVO);
    /**
     * 异常问题处理情况查询:当前页的问题分组聚合(一个 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);
    /**
     * 新增随访任务异常记录跟踪