package com.ruoyi.sales.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.service.ICustomerService; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.framework.web.domain.R; import com.ruoyi.sales.dto.StatisticsTableDto; import com.ruoyi.sales.service.impl.MetricStatisticsServiceImpl; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author :yys * @date : 2026/1/15 9:39 */ @Tag(name = "指标统计") @RestController @RequestMapping("/metricStatistics") @AllArgsConstructor public class MetricStatisticsController extends BaseController { private final MetricStatisticsServiceImpl metricStatisticsService; private final ICustomerService customerService; @Operation(summary = "头部总计") @GetMapping("/total") public AjaxResult total() { return metricStatisticsService.total(); } @Operation(summary = "统计表") @GetMapping("/statisticsTable") public AjaxResult statisticsTable(StatisticsTableDto statisticsTableDto) { return metricStatisticsService.statisticsTable(statisticsTableDto); } @GetMapping("/projectTransactions") @Operation(summary = "营销管理--客户往来-项目汇总") public R projectTransactions(Page page, String projectName, String customerName, String contractName) { return R.ok(customerService.projectTransactions(page, projectName, customerName, contractName)); } @GetMapping("/customewTransactions") @Operation(summary = "营销管理--客户往来-客户汇总") public R customewTransactions(Page page, Long projectId, String customerName, String contractName) { return R.ok(customerService.customewTransactions(page, projectId, customerName, contractName)); } @GetMapping("/customewTransactionsDetails") @Operation(summary = "营销管理--客户往来明细-合同级") public R customewTransactionsDetails(Page page, Long projectId, Long customerId, String contractName) { return R.ok(customerService.customewTransactionsDetails(page, projectId, customerId, contractName)); } @GetMapping("/transactionsSummary") @Operation(summary = "营销管理--客户往来-大盘总览") public R transactionsSummary() { return R.ok(customerService.transactionsSummary()); } }