package com.ruoyi.web.controller.task; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.domain.vo.DeptOrderStatVO; import com.ruoyi.system.service.ISysTaskService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * 分公司录单统计 Controller */ @RestController @RequestMapping("/task/stat") public class SysTaskStatController extends BaseController { @Autowired private ISysTaskService sysTaskService; /** * 按分公司、时间范围查询每天录单统计 * * @param deptIds 分公司ID列表,逗号分隔,为空则查全部 * @param startDate 开始日期 yyyy-MM-dd * @param endDate 结束日期 yyyy-MM-dd */ @PreAuthorize("@ss.hasPermi('task:stat:query')") @GetMapping("/deptOrder") public AjaxResult deptOrderStat( @RequestParam(required = false) String deptIds, @RequestParam String startDate, @RequestParam String endDate) { List deptIdList = parseDeptIds(deptIds); List list = sysTaskService.selectDeptOrderStat(deptIdList, startDate, endDate); return AjaxResult.success(list); } /** * 导出 Excel */ @PreAuthorize("@ss.hasPermi('task:stat:export')") @GetMapping("/deptOrder/export") public void exportDeptOrderStat( HttpServletResponse response, @RequestParam(required = false) String deptIds, @RequestParam String startDate, @RequestParam String endDate) { List deptIdList = parseDeptIds(deptIds); List list = sysTaskService.selectDeptOrderStat(deptIdList, startDate, endDate); ExcelUtil util = new ExcelUtil<>(DeptOrderStatVO.class); util.exportExcel(response, list, "分公司录单统计"); } /** 解析逗号分隔的 deptIds 字符串为 Long 列表 */ private List parseDeptIds(String deptIds) { List result = new ArrayList<>(); if (deptIds == null || deptIds.trim().isEmpty()) { return result; } for (String id : deptIds.split(",")) { try { result.add(Long.parseLong(id.trim())); } catch (NumberFormatException ignored) { } } return result; } }