package com.youchain.utils;
/**
 * @website https://eladmin.vip
 * @author houjianlan
 * @date 2023-08-17
 **/
public  interface  BizStatus {
    /**通用属性-异常*/
    public static String UNUSUAL = "UNUSUAL";
    /**
     * 出入库状态-打开||任务状态-待执行
     */
    public static String OPEN = "OPEN";
    /**
     * 出入库状态-审核
     */
    public static String ACTIVE = "ACTIVE";
    /**
     * 入库状态-收货中
     */
    public static String RECEIVING = "RECEIVING";
    /**
     * 入库状态-收货完毕
     */
    public static String RECEIVED = "RECEIVED";
    /**
     * 入库状态-上架中
     */
    public static String PUTAWAY = "PUTAWAY";
    /**
     * 出入库状态-已取消||任务状态-已取消
     */
    public static String CANCEL = "CANCEL";
    /**
     * 出入库状态-已关闭
     */
    public static String CLOSE = "CLOSE";
    /**
     * 出库状态-分配;
     */
    public static String ALLOCATE = "ALLOCATE";
    /**
     * 出库状态-拣货
     */
    public static String PICKUP = "PICKUP";
    /**
     * 出库状态-拣货完成
     */
    public static String PICK_ALL = "PICK_ALL";
    /**
     * 出库状态-部分发货;
     */
    public static String SHIP_PART = "SHIP_PART";
    /**
     * 出库状态-全部发货;
     */
    public static String SHIP_ALL = "SHIP_ALL";

    /**
     * 任务状态-执行中
     */
    public static String ATCALL  = "ATCALL";

    /**
     * 任务状态-工作中
     */
    public static String ATWORK = "ATWORK";

    /**
     * 任务状态-顶升
     */
    public static String UP_CONTAINER = "UP_CONTAINER";

    /**
     * 任务状态-返库中
     */
    public static String RETURN = "RETURN";



    /**
     * 任务状态-完成
     */
    public static String FINISH = "FINISH";

    /**
     * 入库任务
     */
    public static String ASN = "ASN";
    /**
     * 上架
     */
    public static String PUT = "PUT";
    /**
     * 出库任务
     */
    public static String PICK = "PICK";
    /** 料箱出库*/
    public static String RM_CK = "RM_CK";
    /** 成品出库*/
    public static String FC_CK = "FC_CK";
    /** 半成品出库*/
    public static String SM_CK = "SM_CK";

    /**
     * 盘点任务
     */
    public static String INV = "INV";

    /**
     * 库存日志-移位
     */
    public static String MOVE = "MOVE";
    /**
     * 库存日志-库存调整
     */
    public static String INVENTORY_ADJUST = "INVENTORY_ADJUST";
    /**
     * 库存日志-拆托
     */
    public static String MODIFY_LOT = "MODIFY_LOT";
    /** 删除*/
    public static String DEL = "DEL";
    /**
     * 库存日志-状态调整
     */
    public static String MODIFY_STATUS = "MODIFY_STATUS";
    /**
     * 库存日志-拣货下架
     */
    public static String PICK_DOWN = "PICK_DOWN";
    /**
     * 库存日志-拣货退回
     */
    public static String PICK_CANCEL = "PICK_CANCEL";
    /**
     * 库存日志-发货
     */
    public static String SHIPPING = "SHIPPING";

    /**
     * 库存日志-收货上架
     */
    public static String RECEIVING_UP = "RECEIVING_UP";

    /**
     * 库存日志-收货取消
     */
    public static String RECEIVING_CANCEL = "RECEIVING_CANCEL";
    /**
     * 盘点类型-库区
     */
    public static String ZONE = "ZONE";

    /**
     * 盘点类型-物料
     */
    public static String ITEM = "ITEM";

    /**
     * 盘点类型-仓库
     */
    public static String WAREHOUSE = "WAREHOUSE";

    /**
     * 盘点状态-分配;
     */
    public static String COUNT = "COUNT";

    /**
     * 盘点状态-差异调整;
     */
    public static String ADJUST = "ADJUST";

    /**
     * 增减类型-ADD
     */
    public static int ADD = 1;

    /**
     * 增减类型-不变的
     */
    public static int INVARIANT = 0;

    /**
     * 增减类型-减少
     */
    public static int REDUCE = -1;

    /**
     * 物料类型，前桶
     */
    public static String QT = "QT";

    /**
     * 物料类型，后桶
     */
    public static String HT = "HT";

    /**
     * 物料类型，小件
     */
    public static String XJ = "XJ";

    /**
     * 物料类型，门封
     */
    public static String MF = "MF";
    /**
     * 物料类型，轴承座
     */
    public static String ZC = "ZC";
    /**
     * 空车入库
     */
    public static String EMPTY_IN = "EMPTY_IN";

    /**
     * 空车出库/空箱出库
     */
    public static String EMPTY_OUT = "EMPTY_OUT";

    /** AGV_搬运任务*/
    public static String AGV="AGV";
    /** AGV_容器入场*/
    String AGV_R="AGV_R";
    /** AGV_容器出场*/
    String AGV_C="AGV_C";
    /** 库区*/
    /*料箱货架区*/
    String LX="LX";
    /*半成品 存储区*/
    String BCP="BCP";
    /*成品 存储区*/
    String CP="CP";
    /** 成品入库*/
    String FC_RK="FC_RK";
    /** 半成品入库*/
    String SM_RK="SM_RK";
    /** 料箱入库*/
    String RM_RK="RM_RK";
    /*料箱存储区 容器类型stockType-料箱*/
    String LX_STO="LX";
    String LXMode="";
    /* 容器类型stockType-料箱载具*/
    String LXZ_STO="LXZ";
    String LXZMode="K-MRES潜伏车模型";
    /** 容器类型stockType-叉车托盘*/
    String CTP_STO="CTP";
    String CTPMode="K-MRES叉车模型";
    /*容器类型stockType-半成品托盘*/
    String TP_STO="BTP";
    String TPMode="K-MRES潜伏车模型";
    String BCP_PT="BCP_PT";
    /** AGV出库*/
    String AGV_PT="AGV_PT";
    /** 人工出库*/
    String RG_PT="RG_PT";
    /** AGV入库*/
    String AGV_ASN="AGV_ASN";
    /** 人工入库*/
    String RG_ASN="RG_ASN";

    static String getBillToStock(String billTypeCode) {
        if (billTypeCode.equals(BizStatus.FC_RK)){
            return BizStatus.CP;
        } else if (billTypeCode.equals(BizStatus.SM_RK)) {
            return BizStatus.BCP;
        } else if (billTypeCode.equals(BizStatus.RM_RK)) {
            return BizStatus.LX;
        }else {
            return null;
        }
    }
    static String getBillToAgv(String billTypeCode) {
        if (billTypeCode.equals(BizStatus.FC_RK)){
            return "CTP";
        } else if (billTypeCode.equals(BizStatus.SM_RK)) {
            return "BTP";
        } else if (billTypeCode.equals(BizStatus.RM_RK)) {
            return "LXZ";
        }else {
            return null;
        }
    }

    static boolean Continued(String status) {
        if (status.equals(BizStatus.OPEN)||status.equals(BizStatus.OPEN)||status.equals(BizStatus.OPEN)){
            return true;
        }
        return false;
    }
}
