feat(bid): 新增投标报表统计分析模块

本次提交新增了完整的投标报表统计分析功能,包括:

添加用于数据检查与菜单初始化的 SQL 脚本

实现采购概览仪表板、采购成本分析及供应商绩效报告的后端服务、Mapper、Controller 及 VO 类

添加前端 API、路由配置以及使用 ECharts 可视化图表的页面组件

为仪表板添加通用的 KPI 卡片组件
This commit is contained in:
2026-06-03 14:26:25 +08:00
parent 9db84336bc
commit ba74618bea
17 changed files with 3106 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
package com.ruoyi.web.controller.bid;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.service.bid.IBizReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
/**
* 统计分析报表 Controller
*/
@RestController
@RequestMapping("/bid/report")
public class BizReportController extends BaseController {
@Autowired
private IBizReportService reportService;
/**
* 采购总览看板
*/
@PreAuthorize("@ss.hasPermi('bid:report:dashboard')")
@GetMapping("/dashboard")
public AjaxResult dashboard() {
return success(reportService.getDashboard());
}
/**
* 采购成本分析
*/
@PreAuthorize("@ss.hasPermi('bid:report:cost')")
@GetMapping("/cost")
public AjaxResult costAnalysis(
@RequestParam(required = false) String startMonth,
@RequestParam(required = false) String endMonth) {
return success(reportService.getCostAnalysis(startMonth, endMonth));
}
/**
* 供应商绩效
*/
@PreAuthorize("@ss.hasPermi('bid:report:supplier')")
@GetMapping("/supplier")
public AjaxResult supplierPerformance() {
return success(reportService.getSupplierPerformance());
}
// 保留扩展:导出 Excel
@PreAuthorize("@ss.hasPermi('bid:report:list')")
@Log(title = "报表导出", businessType = BusinessType.EXPORT)
@PostMapping("/export/{type}")
public AjaxResult export(@PathVariable String type) {
// TODO: 使用 ExcelUtil 导出(后续可扩展)
return success("导出功能待实现");
}
}