package com.ruoyi.web.controller.smartor; import com.ruoyi.common.annotation.AddOrgId; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.smartor.domain.DTO.DetailTraceDealDTO; import com.smartor.domain.ServiceSubtaskDetailTrace; import com.smartor.domain.VO.DetailTraceDealVO; import com.smartor.domain.VO.SatisfactionExceptConfigQuestionReqVO; import com.smartor.service.IServiceSubtaskDetailTraceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; /** * 随访任务异常记录跟踪Controller * * @author lihu * @date 2026-03-24 */ @Slf4j @Api("随访任务异常记录跟踪") @RestController @RequestMapping("/smartor/trace") public class ServiceSubtaskDetailTraceController extends BaseController { @Autowired private IServiceSubtaskDetailTraceService serviceSubtaskDetailTraceService; /** * 查询随访任务异常记录跟踪列表 */ @ApiOperation("查询随访任务异常记录跟踪列表") //@PreAuthorize("@ss.hasPermi('smartor:ltrace:list')") @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") @PostMapping("/list") public Map list(@RequestBody ServiceSubtaskDetailTrace serviceSubtaskDetailTrace) { Integer offset = PageUtils.getOffset(serviceSubtaskDetailTrace.getPageNum(), serviceSubtaskDetailTrace.getPageSize()); serviceSubtaskDetailTrace.setPageNum(offset); List list = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTrace); serviceSubtaskDetailTrace.setPageNum(null); serviceSubtaskDetailTrace.setPageSize(null); List total = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTrace); return getDataTable3(CollectionUtils.isNotEmpty(total) ? total.size() : 0, list); } @ApiOperation("异常问题处理情况查询") //@PreAuthorize("@ss.hasPermi('smartor:ltrace:list')") @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") @PostMapping("/tracedeallist") public Map tracedeallist(@RequestBody DetailTraceDealVO detailTraceDealVO) { Integer offset = PageUtils.getOffset(detailTraceDealVO.getPageNum(), detailTraceDealVO.getPageSize()); detailTraceDealVO.setPageNum(offset); List list = serviceSubtaskDetailTraceService.tracedeallist(detailTraceDealVO); detailTraceDealVO.setPageNum(null); detailTraceDealVO.setPageSize(null); List total = serviceSubtaskDetailTraceService.tracedeallist(detailTraceDealVO); return getDataTable3(CollectionUtils.isNotEmpty(total) ? total.size() : 0, list); } /** * 获取满意度异常配置题目 */ @ApiOperation("获取满意度异常配置题目") @PostMapping("/getSatisfactionExceptConfigQuestion") public Map getSatisfactionExceptConfigQuestion(@RequestBody SatisfactionExceptConfigQuestionReqVO questionReqVO) { log.info("获取满意度异常配置题目的入参: {}", questionReqVO); Map satisfactionExceptConfigQuestion = serviceSubtaskDetailTraceService.getSatisfactionExceptConfigQuestion(questionReqVO); return satisfactionExceptConfigQuestion; } /** * 导出随访任务异常记录跟踪列表 */ @ApiOperation("导出随访任务异常记录跟踪列表") //@PreAuthorize("@ss.hasPermi('smartor:ltrace:export')") @Log(title = "随访任务异常记录跟踪", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ServiceSubtaskDetailTrace serviceSubtaskDetailTrace) { List list = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTrace); ExcelUtil util = new ExcelUtil(ServiceSubtaskDetailTrace.class); util.exportExcel(response, list, "随访任务异常记录跟踪数据"); } /** * 获取随访任务异常记录跟踪详细信息 */ @ApiOperation("获取随访任务异常记录跟踪详细信息") //@PreAuthorize("@ss.hasPermi('smartor:ltrace:query')") @GetMapping(value = "/getInfo/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceById(id)); } /** * 新增随访任务异常记录跟踪 */ @ApiOperation("新增随访任务异常记录跟踪") //@PreAuthorize("@ss.hasPermi('smartor:ltrace:add')") @Log(title = "随访任务异常记录跟踪", businessType = BusinessType.INSERT) @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") @PostMapping("/add") public AjaxResult add(@RequestBody ServiceSubtaskDetailTrace serviceSubtaskDetailTrace) { return toAjax(serviceSubtaskDetailTraceService.insertServiceSubtaskDetailTtrace(serviceSubtaskDetailTrace)); } /** * 修改随访任务异常记录跟踪 */ @ApiOperation("修改随访任务异常记录跟踪") //@PreAuthorize("@ss.hasPermi('smartor:ltrace:edit')") @Log(title = "随访任务异常记录跟踪", businessType = BusinessType.UPDATE) @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") @PostMapping("/edit") public AjaxResult edit(@RequestBody ServiceSubtaskDetailTrace serviceSubtaskDetailTrace) { return toAjax(serviceSubtaskDetailTraceService.updateServiceSubtaskDetailTtrace(serviceSubtaskDetailTrace)); } /** * 删除随访任务异常记录跟踪 */ @ApiOperation("删除随访任务异常记录跟踪") //@PreAuthorize("@ss.hasPermi('smartor:ltrace:remove')") @Log(title = "随访任务异常记录跟踪", businessType = BusinessType.DELETE) @GetMapping("/remove/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(serviceSubtaskDetailTraceService.deleteServiceSubtaskDetailTtraceByIds(ids)); } }