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<Long> deptIdList = parseDeptIds(deptIds);
|
List<DeptOrderStatVO> 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<Long> deptIdList = parseDeptIds(deptIds);
|
List<DeptOrderStatVO> list = sysTaskService.selectDeptOrderStat(deptIdList, startDate, endDate);
|
ExcelUtil<DeptOrderStatVO> util = new ExcelUtil<>(DeptOrderStatVO.class);
|
util.exportExcel(response, list, "分公司录单统计");
|
}
|
|
/** 解析逗号分隔的 deptIds 字符串为 Long 列表 */
|
private List<Long> parseDeptIds(String deptIds) {
|
List<Long> 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;
|
}
|
}
|