package cn.iocoder.yudao.module.finance.controller.admin.statistics.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDate; @Schema(description = "管理后台 - 会计核算看板总览 Response VO") @Data public class FinStatisticsOverviewRespVO { @Schema(description = "开始日期", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDate startDate; @Schema(description = "结束日期", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDate endDate; // ========== 收支(来源:ERP 收款单 / 付款单,只统计已审核单据) ========== @Schema(description = "总营收(收款单收款金额合计)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100000.00") private BigDecimal receiptPrice; @Schema(description = "总支出(付款单付款金额合计)", requiredMode = Schema.RequiredMode.REQUIRED, example = "60000.00") private BigDecimal paymentPrice; @Schema(description = "净利润(总营收 - 总支出)", requiredMode = Schema.RequiredMode.REQUIRED, example = "40000.00") private BigDecimal netProfit; // ========== 购销(来源:ERP 销售订单 / 采购订单,只统计已审核单据) ========== @Schema(description = "销售订单金额合计(应收口径)", requiredMode = Schema.RequiredMode.REQUIRED, example = "150000.00") private BigDecimal saleOrderPrice; @Schema(description = "采购订单金额合计(应付口径)", requiredMode = Schema.RequiredMode.REQUIRED, example = "80000.00") private BigDecimal purchaseOrderPrice; // ========== 资产(时点数,取当前全部资产) ========== @Schema(description = "固定资产原值合计", requiredMode = Schema.RequiredMode.REQUIRED, example = "1200000.00") private BigDecimal fixedAssetOriginalValue; @Schema(description = "固定资产累计折旧合计", requiredMode = Schema.RequiredMode.REQUIRED, example = "240000.00") private BigDecimal fixedAssetAccumulatedDepreciation; @Schema(description = "固定资产净值合计", requiredMode = Schema.RequiredMode.REQUIRED, example = "960000.00") private BigDecimal fixedAssetNetValue; @Schema(description = "无形资产原值合计", requiredMode = Schema.RequiredMode.REQUIRED, example = "300000.00") private BigDecimal intangibleAssetOriginalValue; @Schema(description = "无形资产累计摊销合计", requiredMode = Schema.RequiredMode.REQUIRED, example = "60000.00") private BigDecimal intangibleAssetAccumulatedAmortization; @Schema(description = "无形资产净值合计", requiredMode = Schema.RequiredMode.REQUIRED, example = "240000.00") private BigDecimal intangibleAssetNetValue; @Schema(description = "资产净值合计(固定资产 + 无形资产)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1200000.00") private BigDecimal totalAssetNetValue; // ========== 会计核算(时点数) ========== @Schema(description = "会计科目数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "120") private Long subjectCount; @Schema(description = "凭证总数", requiredMode = Schema.RequiredMode.REQUIRED, example = "300") private Long voucherCount; @Schema(description = "未过账凭证数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") private Long voucherUnpostedCount; @Schema(description = "已过账凭证数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "280") private Long voucherPostedCount; @Schema(description = "已作废凭证数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") private Long voucherCancelledCount; }