import { PageParams } from "../base/BaseDataModel";
import { FeeBasicDataDto, PartitionList, PartitionSpecialParametersList } from "../customerfee/CustomerFeeSetModel";
import { FeeItemComputeDetails } from "../feecommon/feeItemComputeDetailsModel";
import { FeeItemCompute } from "../feecommon/feeItemComputeModel";
// 继承模型
export interface CostFeeItemComputeDto extends FeeItemCompute {
    /**
     * 分摊方式 ShareType
     */
    shareType: number
}
export interface CostFeeItemComputeDetailsDto extends FeeItemComputeDetails {
    /**
        * 分摊方式 ShareType
        */
    shareType: number
}

export interface ListByParentId {
    id: string,
    parentId: string
}
/**
 * 费用信息
 */
export interface SubmitProviderFeeSetModel {
    /**
     * 费用 ID
     */
    id: string;
    /**
     * 费用名称
     */
    feeSetName: string;
    /**
     * 服务商编号
     */
    providerId: number;
    /**
     * 费项类型
     */
    feeItemCategory: number
    /**
     * 渠道产品
     */
    providerName: string;
    /**
     * 生效起始时间
     */
    beginDate: Date | Recordable;
    /**
     * 生效结束时间
     */
    endDate: Date;
    /**
     * 备注
     */
    remark: string;
    /**
     * 费用基础信息
     */
    feeBasicData: FeeBasicDataDto;
    /**
     * 费用计算信息
     */
    feeItemComputeList: CostFeeItemComputeDto[];
    /**
     * 费用计算明细信息
     */
    feeItemComputeDetailsList: CostFeeItemComputeDetailsDto[];
    /**
     * 分区设置
     */
    partitionList: PartitionList[];
    /**
     * 分区特殊参数信息
     */
    partitionSpecialParametersList: PartitionSpecialParametersList[];
    /**
     * 生效日期费用父 ID
     */
    parentId: string;
    /**
     * 是否发布
     */
    activeFlag: boolean;
    /**
     * 创建时间
     */
    createDate: Date;
    /**
     * 加载分区编号
     */
    loadPartitionId: string
}

// 成本费用设置查询参数
export interface ProviderFeeSetParams extends PageParams {
    feeSetName: string;//费用名称
    providerId?: number;//服务商编号
    feeItemId?: number;//费用类型
    currentEffective: boolean;//生效记录
}