from pydantic import BaseModel, Field
from typing import List, Optional, Literal
from ..common.validators import DateStr

class HydropowerExtension(BaseModel):
    """
    抽蓄项目特定字段
    """
    dam_type: Optional[str] = Field(None, description="大坝坝型")
    storage_capacity: Optional[float] = Field(None, description="总库容")
    normal_storage_level: Optional[float] = Field(None, description="正常蓄水位")
    regulation_performance: Optional[str] = Field(None, description="调节性能")
    workshop_type: Optional[str] = Field(None, description="厂房类型")

    precon_start_date: Optional[str] = Field(None, description="筹建准备期起始时间")
    precon_end_date: Optional[str] = Field(None, description="筹建准备期终止时间")
    maincon_start_date: Optional[str] = Field(None, description="主体施工期起始时间")
    maincon_end_date: Optional[str] = Field(None, description="主体施⼯期终止时间")
    comm_start_date: Optional[str] = Field(None, description="完建期开始起始时间")
    comm_end_date: Optional[str] = Field(None, description="完建期终止时间")

    implementation_estimate: Optional[float] = Field(None, description="执行概算")
    static_total_investment: Optional[float] = Field(None, description="静态总投资")
    completed_investment: Optional[float] = Field(None, description="完成投资")
    total_contract_quantity: Optional[float] = Field(None, description="总合同数量")
    completed_settlement_quantity: Optional[float] = Field(None, description="完成结算数量")