gaoluyang
5 天以前 006020bc9a87dc40c2e73bc50f244b348b831de1
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/statistics/ErpPurchaseStatisticsController.java
@@ -2,14 +2,20 @@
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils;
import cn.iocoder.yudao.module.erp.controller.admin.statistics.vo.purchase.ErpPurchasePriceAnalysisRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.statistics.vo.purchase.ErpPurchaseStatisticsReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.statistics.vo.purchase.ErpPurchaseSummaryRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.statistics.vo.purchase.ErpPurchaseSupplierStatisticsRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.statistics.vo.purchase.ErpPurchaseTimeSummaryRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.statistics.vo.purchase.ErpPurchaseUncompletedOrderRespVO;
import cn.iocoder.yudao.module.erp.service.statistics.ErpPurchaseStatisticsService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
@@ -40,12 +46,14 @@
        LocalDateTime yesterday = LocalDateTimeUtils.getYesterday();
        LocalDateTime month = LocalDateTimeUtils.getMonth();
        LocalDateTime year = LocalDateTimeUtils.getYear();
        ErpPurchaseSummaryRespVO summary = new ErpPurchaseSummaryRespVO()
        // 1.1 概览:订单 / 入库 / 退货的总数与总金额
        ErpPurchaseSummaryRespVO summary = purchaseStatisticsService.getPurchaseSummary();
        // 1.2 首页看板:今日 / 昨日 / 本月 / 今年采购金额(复用同一响应,避免两套接口)
        return success(summary
                .setTodayPrice(purchaseStatisticsService.getPurchasePrice(today, null))
                .setYesterdayPrice(purchaseStatisticsService.getPurchasePrice(yesterday, today))
                .setMonthPrice(purchaseStatisticsService.getPurchasePrice(month, null))
                .setYearPrice(purchaseStatisticsService.getPurchasePrice(year, null));
        return success(summary);
                .setYearPrice(purchaseStatisticsService.getPurchasePrice(year, null)));
    }
    @GetMapping("/time-summary")
@@ -64,4 +72,28 @@
        return success(summaryList);
    }
    @GetMapping("/supplier")
    @Operation(summary = "获得供应商供货统计")
    @PreAuthorize("@ss.hasPermission('erp:purchase-statistics:query')")
    public CommonResult<PageResult<ErpPurchaseSupplierStatisticsRespVO>> getSupplierStatistics(
            @Valid ErpPurchaseStatisticsReqVO reqVO) {
        return success(purchaseStatisticsService.getSupplierStatistics(reqVO));
    }
    @GetMapping("/price")
    @Operation(summary = "获得采购价格分析")
    @PreAuthorize("@ss.hasPermission('erp:purchase-statistics:query')")
    public CommonResult<PageResult<ErpPurchasePriceAnalysisRespVO>> getPriceAnalysis(
            @Valid ErpPurchaseStatisticsReqVO reqVO) {
        return success(purchaseStatisticsService.getPriceAnalysis(reqVO));
    }
    @GetMapping("/uncompleted")
    @Operation(summary = "获得未完成采购订单跟踪")
    @PreAuthorize("@ss.hasPermission('erp:purchase-statistics:query')")
    public CommonResult<PageResult<ErpPurchaseUncompletedOrderRespVO>> getUncompletedOrders(
            @Valid ErpPurchaseStatisticsReqVO reqVO) {
        return success(purchaseStatisticsService.getUncompletedOrders(reqVO));
    }
}