package com.huaheng.common.constant;

/**
 * 数字自定义常量
 *
 * @author  ricard
 */
public class QuantityConstant {
    /**
     * 1、入库单状态
     * 2、出库单状态
     * 3、单据上传状态
     * 4、入库组盘状态
     * 5、出库组盘状态
     * 6、任务类型
     * 7、任务状态
     * 8、波次状态
     * 9、质检状态
     * 10、盘点状态
     * 11、INVENTORY_TRANSACTION_RECEIPT
     * 12、调整单状态
     * 13、任务内部类型
     * 14、质检单类型
     */

    //1、入库单状态

    //新建
    public static final Integer RECEIPT_HEADER_BUILD = 0;

    //等待审核
    public static final Integer RECEIPT_HEADER_VERIFYING = 5;

    //驳回
    public static final Integer RECEIPT_HEADER_REJECTED = 10;

    //作废
    public static final Integer RECEIPT_HEADER_OBSOLETE = 20;

    /**通过*/
//    public static final Integer RECEIPT_HEADER_APPROVE = 50;

    /**订单池*/
    public static final Integer RECEIPT_HEADER_POOL = 100;

    //入库预约
    public static final Integer RECEIPT_HEADER_RESERVATION = 120;

    //入库到货
    public static final Integer RECEIPT_HEADER_ARRIVAL = 150;

    //入库质检
    public static final Integer RECEIPT_HEADER_CHECK = 180;

    //收货
    public static final Integer RECEIPT_HEADER_RECEIVING = 200;

    //定位
    public static final Integer RECEIPT_HEADER_POSITION = 240;

    //等待上架
    public static final Integer RECEIPT_HEADER_WAIT = 280;

    /** 上架 */
    public static final Integer RECEIPT_HEADER_SHELF = 300;

    /** 过账*/
    public static final Integer RECEIPT_HEADER_POSTING = 800;

    /** 回传 */
    public static final Integer RECEIPT_HEADER_RETURN = 900;





    //2、出库单状态

    //新建
    public static final Integer SHIPMENT_HEADER_BUILD = 0;

    //订单池
    public static final Integer SHIPMENT_HEADER_POOL = 100;

    //出库预约
    public static final Integer SHIPMENT_HEADER_RESERVATION = 120;

    //订单分析
    public static final Integer SHIPMENT_HEADER_ANALYSIS = 150;

    //波次
    public static final Integer SHIPMENT_HEADER_WAVE = 200;

    //出库组盘
    public static final Integer SHIPMENT_HEADER_GROUPDISK = 300;

    //拣货完成
    public static final Integer SHIPMENT_HEADER_COMPLETED = 500;

    //发运
    public static final Integer SHIPMENT_HEADER_SHIPPING = 800;

    //回传
    public static final Integer SHIPMENT_HEADER_RETURN = 900;




    //3、单据上传状态

    //未上传
    public static final Integer UPLOAD_NOT = 0;

    //上传失败
    public static final Integer UPLOAD_FAILED = 10;

    //上架完成
    public static final Integer UPLOAD_SUCCESS = 20;




    //4、入库组盘状态

    //新建
    public static final Integer RECEIPT_CONTAINER_BUILD = 0;

    /** 生成任务 */
    public static final Integer RECEIPT_CONTAINER_TASK= 10;

    /**上架完成 */
    public static final Integer RECEIPT_CONTAINER_FINISHED = 20;

    /** 复核完成*/
    public static final Integer RECEIPT_CONTAINER_REVIEWSUCCESS = 30;



    //5、出库组盘状态

    /** 新建 */
    public static final Integer SHIPMENT_CONTAINER_BUILD = 0;

    /** 生成任务 */
    public static final Integer SHIPMENT_CONTAINER_TASK= 10;

    /** 拣货完成 */
    public static final Integer SHIPMENT_CONTAINER_FINISHED = 20;

    /** 复核完成 */
    public static final Integer SHIPMENT_CONTAINER_REVIEWSUCCESS = 30;



    //6、任务类型

    /** 整盘入库 */
    public static final int TASK_TYPE_WHOLERECEIPT = 100;

    /** 补充入库 */
    public static final int TASK_TYPE_SUPPLEMENTRECEIPT = 200;

    /** 整盘出库 */
    public static final int TASK_TYPE_WHOLESHIPMENT = 300;

    /** 分拣出库 */
    public static final int TASK_TYPE_SORTINGSHIPMENT = 400;

    /** 空容器入库 */
    public static final int TASK_TYPE_EMPTYRECEIPT = 500;

    /** 空容器出库 */
    public static final int TASK_TYPE_EMPTYSHIPMENT = 600;

    /** 盘点 */
    public static final int TASK_TYPE_CYCLECOUNT = 700;

    /** 移库 */
    public static final int TASK_TYPE_TRANSFER = 800;

    /** 出库查看 */
    public static final int TASK_TYPE_VIEW = 900;

    /** 过站 */
    public static final int TASK_TYPE_OVER_STATION = 1000;

    /** 空托盘组入库 */
    public static final int TASK_TYPE_MANY_EMPTYRECEIPT = 1100;

    /** 空托盘组出库 */
    public static final int TASK_TYPE_MANY_EMPTYSHIPMENT = 1200;



    //7、任务状态

    /** 生成任务 */
    public static final int TASK_STATUS_BUILD = 1;

    /** 下达任务 */
    public static final int TASK_STATUS_RELEASE = 10;

    /** 开始执行 */
    public static final int TASK_STATUS_RUNNING = 20;

    /** 到达拣选站台 */
    public static final int TASK_STATUS_ARRIVED_STATION = 50;


    /** 任务完成 */
    public static final int TASK_STATUS_COMPLETED = 100;

    /** 单据已删除*/
    public static final int TASK_STATUS_REMOVE = 170;


    //8、波次状态

    //未执行
    public static final Integer WAVE_STATUS_BUILD = 10;

    //执行中
    public static final Integer WAVE_STATUS_START = 20;

    //结束
    public static final Integer WAVE_STATUS_END = 30;

    //执行失败
    public static final Integer WAVE_STATUS_ERROR = 40;


    //波次新建
    public static final Integer WAVE_STEP_BUILD = 0;

    //剔除订单
    public static final Integer WAVE_STEP_CULL = 5;

    //波次执行
    public static final Integer WAVE_STEP_START = 10;

    //波次释放
    public static final Integer WAVE_STEP_FREED = 130;

    //波次完成
    public static final Integer WAVE_STEP_END = 100;

    //波次失败
    public static final Integer WAVE_STEP_ERROR = 120;




    //9、质检状态

    //新建
    public static final Integer CHECK_STATUS_BUILD = 0;

    //质检中
    public static final Integer CHECK_STATUS_IN = 10;

    //质检完成
    public static final Integer CHECK_STATUS_COMPLETED = 20;



    //10、盘点状态

    //新建
    public static final Integer CYCLECOUNT_STATUS_BUILD = 1;

    //盘点任务生成
    public static final Integer CYCLECOUNT_STATUS_BUILDTASK = 5;

    //执行中
    public static final Integer CYCLECOUNT_STATUS_EXECUTING = 10;

    //已登记
    public static final Integer CYCLECOUNT_STATUS_REGISTERED= 15;

    //审核
    public static final Integer CYCLECOUNT_STATUS_REVIEW = 30;

    //关闭
    public static final Integer CYCLECOUNT_STATUS_CLOSE = 99;

    //盘点完成
    public static final Integer CYCLECOUNT_STATUS_COMPLETED = 100;

    //盘点有差异
    public static final Integer CYCLECOUNT_STATUS_DIFFERENCE = 105;

    //已生成调整单
    public static final Integer CYCLECOUNT_STATUS_GENERATEADJUST = 110;




    //11、库存交易类型

    /** 入库 */
    public static final Integer INVENTORY_TRANSACTION_RECEIPT = 10;

    /** 出库 */
    public static final Integer INVENTORY_TRANSACTION_SHIPMENT = 20;

    /** 调整入 */
    public static final Integer INVENTORY_TRANSACTION_ADJUSTINTO = 30;

    /** 调整出 */
    public static final Integer INVENTORY_TRANSACTION_ADJUSTOUT = 40;

    /** 调整属性 */
    public static final Integer INVENTORY_TRANSACTION_ADJUSTPROPERTIES = 50;

    /** 盘点 */
    public static final Integer INVENTORY_TRANSACTION_CYCLECOUNT = 60;

    /** 移库入 */
    public static final Integer INVENTORY_TRANSACTION_TRANSFERINTO = 70;

    /** 移库出 */
    public static final Integer INVENTORY_TRANSACTION_TRANSFEROUT = 80;


    /** clearReceipt */
    public static final Integer INVENTORY_TRANSACTION_CLEAR_RECEIPT = 200;
    /** clearShipment */
    public static final Integer INVENTORY_TRANSACTION_CLEAR_SHIPMENT = 210;



    //12、调整单状态

    //未批准
    public static final Integer ADJUST_STATUS_NOAPPROVED = 0;

    //已批准
    public static final Integer ADJUST_STATUS_APPROVED = 1;

    //待调整
    public static final Integer ADJUST_STATUS_WAIT = 2;

    //已调整
    public static final Integer ADJUST_STATUS_STOP = 3;


    //13、任务内部类型

    /** 上架任务*/
    public static final Integer TASK_INTENERTYPE_RECEIPT = 100;

    /** 拣货任务*/
    public static final Integer TASK_INTENERTYPE_SHIPMENT = 200;

    /** 工作任务*/
    public static final Integer TASK_INTENERTYPE_WORK = 300;

    //盘点任务
    public static final Integer TASK_INTENERTYPE_CYCLECOUNT = 400;



    //13、质检单类型

    //入库质检
    public static final Integer CHECK_TYPE_RECEIPT = 100;

    //在库全检
    public static final Integer CHECK_TYPE_FULL = 200;

    //在库抽检
    public static final Integer CHECK_TYPE_SELECT = 300;

    //空货架
    public static final Integer POINTS_EMPTY = 0;

    //非空货架
    public static final Integer POINTS_SOME = 1;

    public static final int ROW_OUT = 1;
    public static final int ROW_IN = 0;

    //WCS任务下发
    public static final String ADDRESS_WCS_TASK_ASSIGN = "wcs";
    //WCS任务取消
    public static final String ADDRESS_WCS_TASK_CANCEL = "WCS_TASK_CANCEL";
    //WCS任务信息查询
    public static final String ADDRESS_WCS_TASK_INFO = "WCS_TASK_INFO";
    //WCS设置任务优先级
    public static final String ADDRESS_WCS_TASK_PRIORITY_CHANGE = "WCS_TASK_PRIORITY_CHANGE";
    //WCS站台信息查询
    public static final String ADDRESS_WCS_STATION_INFOS = "WCS_STATION_INFOS";

    public static final String ADDRESS_WCS_TASK_STATIONINFOS_="WCS_TASK_STATIONINFOS";

    public static final String ADDRESS_WCS_TASK_GETLOCATIONS="WCS_TASK_GETLOCATIONS";

    public static final String ADDRESS_WCS_TASK_GETAVAILABLE_ROWDWAY="WCS_TASK_GETAVAILABLE_ROWDWAY";

    public static final String ADDRESS_WCS_TASK_GETSTATIONCONTAINER="WCS_TASK_GETSTATIONCONTAINER";
    //WCS获取可用巷道
    public static final String ADDRESS_WCS_AVAILABLE_ROADWAY = "WCS_AVAILABLE_ROADWAY";
    //拆盘机地址
    public static final String ADDRESS_WCS_MANY_EMPTY_CONTAINER = "WCS_MANY_EMPTY_CONTAINER";
    //mms
    public static final String ADDRESS_MMS = "mms";

    //ERP
    public static final String PLATFORM_ERP = "ERP";
    public static final String PLATFORM_WMS = "WMS";
    public static final String PLATFORM_SRM = "SRM";
    //good
    public static final String GOOD = "good";
    public static final String EMPTY_STRING = "";

    //入口
    public static final int STATION_IN = 1;
    //出口
    public static final int STATION_OUT = 2;
    //出入口
    public static final int STATION_PICK = 3;
    //出入口和出口
    public static final int STATION_PICK_AND_OUT = 4;

    public static final String STATUS_CONTAINER_EMPTY = "empty";
    public static final String STATUS_CONTAINER_LOCK = "lock";
    public static final String STATUS_CONTAINER_SOME = "some";
    public static final String STATUS_CONTAINER_FULL = "full";
    public static final String STATUS_CONTAINER_MANY = "many";

    public static final String STATUS_LOCATION_EMPTY = "empty";
    public static final String STATUS_LOCATION_LOCK = "lock";

    public static final String RULE_SHIPMENT_TASK= "shipmentTaskRule";
    public static final String RULE_TASK_LOCATION = "taskLocationRule";
    public static final String RULE_CONNECT_WCS = "connectWcs";
    public static final String RULE_ALLOCATION = "allocationRule";
    public static final String ZONE_MUTLI_ROADWAY = "ZONE_MUTLI_ROADWAY";
    public static final String DOUBLE_FORK_RESERVE_LOCATION = "doubleForkReserveLocation";

    public static final int DOUBLE_FORK = 1;
    public static final int SINGLE_FORK = 0;

    public static final int RULE_TASK_SET_LOCATION = 1;
    public static final int RULE_TASK_NOT_LOCATION = 0;

    public static final int RULE_TASK_PICK_SHIPMENT = 1;
    public static final int RULE_TASK_WHOLE_SHIPMENT = 0;

    public static final int RULE_WCS_CONNECT = 1;
    public static final int RULE_WCS_DISCONNECT = 0;

    public static final int NOT_MATERIAL_AREAS = 0;

    public static final int RYTASK_STATUS_RUN = 0;
    public static final int RYTASK_STATUS_STOP = 1;

    public static final int DOUBLE_IN = 1;
    public static final int NORMAL_IN = 0;

    public static final int EMPTY_OUT = 1;
    public static final int NORMAL_OUT = 0;


    public static String ryTask_warehouse_code;

    public static String RECEIPT_TYPE_PPI = "PPI";
    public static String U8_RECEIPT_TYPE_PCI = "PCI";
    public static String U8_RECEIPT_TYPE_CI = "CI";
    public static String U8_RECEIPT_TYPE_PI = "PI";
    public static String U8_RECEIPT_TYPE_SRI = "SRI";
    public static String MES_RECEIPT_TYPE_SI = "SI";

    public static String SHIPMENT_TYPE_PO = "PO";
    public static String U8_SHIPMENT_TYPE_OO = "OO";
    public static String U8_SHIPMENT_TYPE_MO = "MO";
    public static String U8_SHIPMENT_TYPE_SO = "SO";
    public static String U8_SHIPMENT_TYPE_PRO = "PRO";

    public static String U8_RECEIPT_BACK = "U8_RECEIPT_BACK";
    public static String U8_SHIPMENT_BACK = "U8_SHIPMENT_BACK";
    public static String MES_RECEIPT_BACK = "MES";

    /**
     * 回传状态
     */
    public static Integer ISRETURN_FAIL = 1;
    public static Integer ISRETURN_SUCC = 2;
    public static Integer NOT_RETURN = 3;

    /**
     * 公司
     */
    public static String COMPANY_CS="cshuahengweld";

    public static String WAREHOUSE_CS="CS0001";
    public static String WAREHOUSE_KS="KS0001";
    public static String WAREHOUSE_XZ="XZ0001";

    public static final int ROLE_XC = 13;

    public static final String ZONECODE_LK = "LK";
    public static final String ZONECODE_XC = "XC";

    public static final  String STATUS_TASK_SHELF="100";
    public static final  String STATUS_TASK_PICK="200";
    public static final  String STATUS_TASK_ROTATE="300";

    public static final int RULE_AGV_CONNECT = 1;
    //是否连接AGV
    public static final  String RULE_CONNECT_AGV= "RULE_CONNECT_AGV";

    //AGV接口地址
    public static final  String AGV_CANCEL_TASK= "AGV_CANCEL_TASK";
    public static final  String AGV_CREATED_TASK= "AGV_CREATED_TASK";

    //AGV容器类型
    public static final  String AGV_CONTAINER_TYPE= "A";

    //库区类型
    public static final  String ZONE_CODE_TYPE_LK= "LK";


    // 16 送货单类型

    // 到货单
    public static Integer THE_ARRIVAL = 2;

    // 未到货单
    public static Integer NO_THE_ARRIVAL = 0;

    // 17 长沙立库移库任务二维距离
    public static final String SPACE_3D = "SPACE_3D";


    public static final String CONTAINER_TYPEM = "M";

    public static final String CONTAINER_TYPEC = "C";
}