package cn.iocoder.yudao.module.finance.controller.admin.statistics; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.finance.controller.admin.statistics.vo.FinStatisticsOverviewRespVO; import cn.iocoder.yudao.module.finance.controller.admin.statistics.vo.FinStatisticsReqVO; import cn.iocoder.yudao.module.finance.controller.admin.statistics.vo.FinStatisticsTrendRespVO; import cn.iocoder.yudao.module.finance.service.statistics.FinStatisticsService; import io.swagger.v3.oas.annotations.Operation; 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; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 财务报表 / 会计核算看板") @RestController @RequestMapping("/finance/statistics") @Validated public class FinStatisticsController { @Resource private FinStatisticsService statisticsService; @GetMapping("/overview") @Operation(summary = "获得会计核算看板总览", description = "收支、购销金额取自 ERP 已审核的收款单/付款单/销售订单/采购订单,资产与凭证取自本模块") @PreAuthorize("@ss.hasPermission('finance:statistics:query')") public CommonResult getStatisticsOverview(@Valid FinStatisticsReqVO reqVO) { return success(statisticsService.getStatisticsOverview(reqVO)); } @GetMapping("/trend") @Operation(summary = "获得月度收支趋势", description = "期间内没有数据的月份补 0,便于前端直接绘图") @PreAuthorize("@ss.hasPermission('finance:statistics:query')") public CommonResult> getStatisticsTrend(@Valid FinStatisticsReqVO reqVO) { return success(statisticsService.getStatisticsTrend(reqVO)); } }