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 selectServiceSubtaskDetailTtraceList(ServiceSubtaskDetailTraceVO ServiceSubtaskDetailTtrace); /** * 异常问题处理情况查询:当前页的问题分组聚合(一个 SQL 拿到本页每个问题的异常数、已处理/未处理数) *

* 分页按「问题」维度下推,不再把整表 trace 明细拉回 Java 再分组 * * @param vo 查询条件(pageNum 为 offset,与 PageUtils.getOffset 一致) * @return 每行含 questiontext、scriptid、templateType、exceptionFillNum、yesDeal、noDeal */ public List> selectTraceDealGroups(@Param("vo") DetailTraceDealVO vo); /** * 异常问题处理情况查询:问题总数(分页 total,按 questiontext 去重) */ public long countTraceDealQuestions(@Param("vo") DetailTraceDealVO vo); /** * 异常问题处理情况查询:全量汇总(不受分页影响) * * @return totalException 异常总数、yesDeal 已处理数 */ public Map sumTraceDeal(@Param("vo") DetailTraceDealVO vo); /** * 异常问题处理情况查询:当前页问题的负责科室(按 todeptcode 去重) */ public List> selectTraceDealDepts(@Param("vo") DetailTraceDealVO vo, @Param("questiontexts") List questiontexts); /** * 异常问题处理情况查询:当前页问题的最新处理人和处理时间(handle_time 最大的一条) */ public List> selectTraceDealLatestHandle(@Param("vo") DetailTraceDealVO vo, @Param("questiontexts") List 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); }