package com.yhy.module.core.controller.admin.unit.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import java.math.BigDecimal;
import java.util.Map;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * 工程费率设定 保存请求 VO
 */
@Schema(description = "管理后台 - 工程费率设定保存请求")
@Data
public class UnitRateSettingSaveReqVO {

    @Schema(description = "费率设定ID（更新时必填）")
    private Long id;

    @Schema(description = "单位工程ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "单位工程ID不能为空")
    private Long unitId;

    @Schema(description = "费率项ID（目录节点）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "费率项ID不能为空")
    private Long rateItemId;

    @Schema(description = "选中的值节点ID（下拉模式）")
    private Long selectedValueId;

    @Schema(description = "输入值（填写模式）")
    private BigDecimal inputValue;

    @Schema(description = "设置名称（用于显示）")
    private String settingName;

    @Schema(description = "字段值（虚拟字段用户修改值，null表示恢复计算值）")
    private Map<Integer, BigDecimal> fieldValues;
}
