gaoluyang
2 天以前 8c65f898ed6e5b0c7a94c792c4562f6ec831dccd
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/finance/CrmFinanceReportController.java
@@ -1,7 +1,10 @@
package cn.iocoder.yudao.module.crm.controller.admin.finance;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.crm.controller.admin.finance.vo.CrmCustomerStatementReqVO;
import cn.iocoder.yudao.module.crm.controller.admin.finance.vo.CrmCustomerStatementRespVO;
import cn.iocoder.yudao.module.crm.controller.admin.finance.vo.CrmCustomerStatementSummaryReqVO;
import cn.iocoder.yudao.module.crm.controller.admin.finance.vo.CrmCustomerStatementSummaryRespVO;
import cn.iocoder.yudao.module.crm.controller.admin.finance.vo.CrmFinanceTrendRespVO;
import cn.iocoder.yudao.module.crm.controller.admin.finance.vo.CrmShippedNotInvoicedRespVO;
import cn.iocoder.yudao.module.crm.controller.admin.finance.vo.CrmUnwrittenOffRespVO;
@@ -10,6 +13,7 @@
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;
@@ -36,11 +40,18 @@
    private CrmFinanceReportService financeReportService;
    @GetMapping("/customer-statement")
    @Operation(summary = "获得客户应收对账单", description = "按客户统计所有已审核销售订单的订单金额、出库金额、开票金额、回款金额、未核销应收及下月回款计划")
    @Parameter(name = "customerId", description = "客户编号", required = true)
    @Operation(summary = "获得客户往来对账数据", description = "按客户统计销售订单、开票、回款流水,可按下单/开票/回款时间过滤")
    @PreAuthorize("@ss.hasPermission('crm:receivable:query')")
    public CommonResult<CrmCustomerStatementRespVO> getCustomerStatement(@RequestParam("customerId") Long customerId) {
        return success(financeReportService.getCustomerStatement(customerId));
    public CommonResult<CrmCustomerStatementRespVO> getCustomerStatement(@Valid CrmCustomerStatementReqVO reqVO) {
        return success(financeReportService.getCustomerStatement(reqVO));
    }
    @GetMapping("/customer-statement/summary-list")
    @Operation(summary = "获得各客户往来汇总列表(左侧客户总览)")
    @PreAuthorize("@ss.hasPermission('crm:receivable:query')")
    public CommonResult<List<CrmCustomerStatementSummaryRespVO>> getCustomerSummaryList(
            @Valid CrmCustomerStatementSummaryReqVO reqVO) {
        return success(financeReportService.getCustomerSummaryList(reqVO));
    }
    @GetMapping("/shipped-not-invoiced")