package com.ema.admin.modules.assets.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 资产统计VO
 *
 * @author LIJIAN
 * @since 2026-05-15
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("资产统计")
public class AssetsStatisticsVo {

    /**
     * 资产总数
     */
    @ApiModelProperty("资产总数")
    private Long totalCount;

    /**
     * 资产总价值
     */
    @ApiModelProperty("资产总价值")
    private BigDecimal totalValue;

    /**
     * 已盘点数量
     */
    @ApiModelProperty("已盘点数量")
    private Long invstkYesCount;

    /**
     * 未盘点数量
     */
    @ApiModelProperty("未盘点数量")
    private Long invstkNoCount;

    /**
     * 盘点率
     */
    @ApiModelProperty("盘点率")
    private Double invstkRate;

    /**
     * 资产类型分布
     */
    @ApiModelProperty("资产类型分布")
    private List<TypeCount> typeDistribution;

    /**
     * 使用状态分布
     */
    @ApiModelProperty("使用状态分布")
    private List<TypeCount> statusDistribution;

    /**
     * 资产类型数量
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class TypeCount {
        /**
         * 类型名称
         */
        @ApiModelProperty("类型名称")
        private String name;

        /**
         * 数量
         */
        @ApiModelProperty("数量")
        private Long count;

        /**
         * 金额
         */
        @ApiModelProperty("金额")
        private BigDecimal value;
    }
}
