package com.jwipc.order.constants;

import com.google.common.collect.Lists;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *
 * </p>
 *
 * @author JiTong
 * @version 1.0
 * @since JDK 1.8
 */
public interface CargoPlanConst {
    /**
     * 字段对应Excel关系
     */
    Map<String, String> planAndDetail = new HashMap<String, String>(){
        private static final long serialVersionUID = -4315128137406614579L;
        {
            put("替代组","replaceGroup");
            put("物料编号","productCode");
            put("物料描述","productName");
            put("物料组","materialGroup");
            put("物料组描述","materialGroupDesc");
            put("采购组","purchaseGroup");
            put("采购组描述","purchaseGroupDesc");
            put("MRP控制者","mrp");
            put("物料等级","materialLevel");
            put("采购周期","cycle");
            put("安全库存","safetyStock");
            put("舍入值","rounding");
            put("超期库存(1077)","extendedStock");
            put("MRP总库存","totalStock");
            put("是否寄售","isVmi");
            put("无价值工厂库存","valuelessStock");
            put("无价值工厂可用库存","availableStock");
            put("周期内需求数","cycleNum");
            put("是否满足周期内需求","isContent");
            put("总需求","totalNum");
            put("采购不足量","insufficientNum");
            put("3周订单需求量","orderReqNum");
            put("在途采购订单","onwayNum");
            put("采购申请","procurementNum");
            put("有效在途送货单的数量","validOnwayNum");
            put("备注说明","remark");
            put("待检库存","reserveStock");
            put("MRP质检状态库存","mrpStock");
            put("复测库(2020)","retestStock");
            put("产品组","productGroup");
            put("产品组描述","productGroupDesc");
            put("物料类","materialCategory");
            put("已核准采购申请数","approvedPurchaseRequisitions");
            put("产品线","productLine");
            put("应用产品","applicationProduct");
    }};

    interface dateType{
        /**
         * 日
         */
        int day = 1;
        /**
         * 周
         */
        int week = 2;
        /**
         * 月
         */
        int month = 3;
    }

    /**
     * 计划状态
     */
    interface planStatus{
        /**
         * 有效
         */
        int effective = 1;
        /**
         * 失效
         */
        int invalid = 0;
        /**
         * 已发布
         */
        int has_release = 10;
        /**
         * 已回复
         */
        int has_reply = 11;
    }

    /**
     * 计划主表
     */
    interface tableNameList{
        /**
         * 要货计划计划表
         */
        String cargoPlan = "t_dev_cargo_plan";
        /**
         * 标准预测
         */
        String basicPlan = "t_dev_basic_plan";
        /**
         * 标准预测
         */
        String shortagePlan = "t_shortage_plan";
        /**
         * 外协标准预测
         */
        String foreignPlan = "t_dev_foreign_plan";

        /**
         * 外包物料到货需求
         */
        String receive_research = "t_material_receive_research";
    }

    /**
     * 版本号生成需要
     */
    interface serial{
        List<String> list = Lists.newArrayList("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
                "AA","AB","AC","AD","AE",
                "BA","BB","BC","BD","BE",
                "CA","CB","CC","CD","CE",
                "DA","DB","DC","DD","DE",
                "EA","EB","EC","ED","EE",
                "FA","FB","FC","FD","FE"
                );
    }
}
