package com.ecep.contract;

import lombok.Getter;

/**
 * 合同审批文件
 */
@Getter
public enum ContractFileType {
    /**
     * 普通文件，一般的文件当文件没有特殊情况时，默认为普通文件
     */
    General(true, true),
    /**
     * 成本审批
     */
    Cost(true, false),
    /**
     * 成本审批表
     */
    CostForm(true, false),
    /**
     * 采购申请表
     */
    PurchaseRequestForm(false, true),
    /**
     * 采购合同审批表
     */
    PurchaseContractApprovalForm(false, true),
    /**
     * 报价
     */
    Quotation(true, false),
    /**
     * 报价审批表（单）
     */
    QuotationApprovalForm(true, false),
    /**
     * 报价表（单）
     */
    QuotationSheet(false, true),
    /**
     * 合同
     */
    Contract(true, true),
    /**
     * 销售合同审批表
     */
    ContractApprovalForm(true, false),
    /**
     * 提货单
     */
    DeliveryOrder(true, true),
    /**
     * 投标审批表
     */
    BidApprovalForm(true, false),
    /**
     * 中标通知书
     */
    BidAcceptanceLetter(true, false),
    /**
     * 项目计划文件(项目策划书)
     */
    ProjectPlanningDocument(true, false),
    /**
     * 提单申请单(发货申请单)
     */
    ShippingApplication(true, false),
    /**
     * 到货签收单
     */
    SignedDeliveryNote(true, false),
    /**
     * 完工验收单
     */
    AcceptanceForm(true, true),
    /**
     * 重大项目决策记录单
     */
    CriticalProjectDecisionRecord(true, true),
    /**
     * 顾客满意度调查表
     */
    CustomerSatisfactionSurvey(true, false),
    ;

    final boolean supportCustomer;
    final boolean supportVendor;

    ContractFileType(boolean supportCustomer, boolean supportVendor) {
        this.supportCustomer = supportCustomer;
        this.supportVendor = supportVendor;
    }

    /**
     * 文件频率
     */
    public enum Frequency {
        /**
         * 一次性
         */
        Once,
        /**
         * 每日
         */
        Daily,
        /**
         * 每周
         */
        Weekly,
        /**
         * 每两周
         */
        BiWeekly,
        /**
         * 每月
         */
        Monthly,
        /**
         * 每季度
         */
        Quarterly,
        /**
         * 每半年
         */
        HalfYearly,
        /**
         * 每年
         */
        Yearly;
    }
}
