package com.prolog.rdc.tms.constant;

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * 
 *
 * 数据字典常量
 *
 * @className :DataDictionaryConstant
 * @author :fanzw
 * @creationTime :2022/02/24
 * @description :
 *
 * @modifier :fanzw
 * @modifyTime :2022/02/24
 * @reviseRemarks:
 *
 * @version :1.0.0
 *
 */
public class DataDictionaryConstant {

	public final static Integer SHIPBILL_STATUS_HD_PIC = 160;
	public final static Integer SHIPBILL_STATUS_HD_ZB = 170;
	public final static Integer SHIPBILL_STATUS_END = 190;

	// 来源 数据字典SOURCE 1.新增 2.excel导入 3.接口导入
	public static final Integer SOURCE_ADD = 1;
	public static final Integer SOURCE_EXCEL = 2;
	public static final Integer SOURCE_INTERFACE = 3;

	// 包装类型 数据字典PACK_TYPE:1纸箱 2包装袋
	public static final String PACK_TYPE = "PACK_TYPE";

	// 包裹类型PACKAGE_TYPE:1整件 2拼箱
	public static final String PACKAGE_TYPE = "PACKAGE_TYPE";
	public static final Integer PACKAGE_TYPE_ZJ = 1;
	public static final Integer PACKAGE_TYPE_PX = 2;

	// 货物温层 数据字典CARGO_THERMOSPHERE:1常温 2冷藏 3冷冻
	public static final String CARGO_THERMOSPHERE = "CARGO_THERMOSPHERE";

	// 数据字典MAINDATA_STATUS: 0停用 1已创建 5审核中 10启用
	public static final String MAINDATA_STATUS = "MAINDATA_STATUS";
	public static final Integer STATUS_DISABLE = 0;
	public static final Integer STATUS_CREATE = 1;
	public static final Integer STATUS_UNDER_REVIEW = 5;
	public static final Integer STATUS_ENABLE = 10;

	// 合作性质 1合同 2临时
	public static final String COOPERATIVE_NATURE = "COOPERATIVE_NATURE";
	public static final Integer COOPERATIVE_NATURE_HT = 1;
	public static final Integer COOPERATIVE_NATURE_LS = 2;

	// 有效、无效
	public static final String EARLY_WARNING_STATUS = "EARLY_WARNING_STATUS";

	// 仓库车位类型
	public static final String CARPORT_TYPE = "CARPORT_TYPE";

	// 1:加油站, 2:维修厂
	public static final String PARTNER_TYPE = "PARTNER_TYPE";
	public static final Integer PARTNER_TYPE_JYZ = 1;
	public static final Integer PARTNER_TYPE_WXC = 2;

	// 设置类型(1仓库2客户3供应商)
	public static final Integer LINE_TYPE_CK = 1;
	public static final Integer LINE_TYPE_KH = 2;
	public static final Integer LINE_TYPE_GYS = 3;

	// 车型品牌 数据字典VEHICLE_TYPE_BRAND：1长安、2依维柯
	public static final String VEHICLE_TYPE_BRAND = "VEHICLE_TYPE_BRAND";

	// 车型类别 数据字典VEHICLE_TYPE_CATEGORY：1冷藏车、2平顶车、3厢式货车
	public static final String VEHICLE_TYPE_CATEGORY = "VEHICLE_TYPE_CATEGORY";

	// 车辆类型 数据字典VEHICLE_TYPE: 1自有、2挂靠、3临时
	public static final String VEHICLE_TYPE = "VEHICLE_TYPE";
	public static final Integer VEHICLE_TYPE_OWN = 1;
	public static final Integer VEHICLE_TYPE_ANCHORED = 2;
	public static final Integer VEHICLE_TYPE_TEMPORARY = 3;
	public static final String VEHICLE_TYPE_ZY = "自有";
	public static final String VEHICLE_TYPE_GK = "挂靠";
	public static final String VEHICLE_TYPE_LS = "临时";

	// GPS设备生产厂商 数据字典表DEVICE_COMPANY：1易流、2捷依、3G7
	public static final String DEVICE_COMPANY = "DEVICE_COMPANY";

	// 司机类型：数据字典DRIVER_TYPE 1自有、2挂靠、3临时
	public static final String DRIVER_TYPE = "DRIVER_TYPE";
	public static final Integer DRIVER_TYPE_OWN = 1;
	public static final Integer DRIVER_TYPE_ANCHORED = 2;
	public static final Integer DRIVER_TYPE_TEMPORARY = 3;
	public static final String DRIVER_TYPE_ZY = "1";
	public static final String DRIVER_TYPE_GK = "2";
	public static final String DRIVER_TYPE_LS = "3";

	// 承运方类型 数据字典LINE_CARRIER_TYPE:1.承运商 2.司机
	public static final String LINE_CARRIER_TYPE = "LINE_CARRIER_TYPE";
	public static final Integer LINE_CARRIER_TYPE_CARRIER = 1;
	public static final Integer LINE_CARRIER_TYPE_DRIVER = 2;

	// 线路起点类型 数据字典START_LINE_TYPE:1.仓库 2.行政区域
	public static final String START_LINE_TYPE = "START_LINE_TYPE";
	public static final Integer START_LINE_TYPE_BRANCH = 1;
	public static final Integer START_LINE_TYPE_ZONE = 2;

	// 客户收货方配送方式 数据字典 DELIVERY_PATTERN:1.配送 2.自提
	public static final String DELIVERY_PATTERN = "DELIVERY_PATTERN";
	public static final Integer DELIVERY_PATTERN_DELIVERY = 1;
	public static final Integer DELIVERY_PATTERN_PICKUP = 2;

	// 限制依据 数据字典LINE_BASIS:1.订单量
	public static final String LINE_BASIS = "LINE_BASIS";

	// 证件类型 数据字典PAPER_TYPE 1.身份证、2.行驶证、3.驾驶证
	public static final String PAPER_TYPE = "PAPER_TYPE";

	// 证件对象类型 数据字典PAPER_OBJECT:1.司机 2.送货员 3.车辆 4.承运商
	public static final String PAPER_OBJECT = "PAPER_OBJECT";
	public static final Integer PAPER_OBJECT_DRIVER = 1;
	public static final Integer PAPER_OBJECT_DELIVERY = 2;
	public static final Integer PAPER_OBJECT_VEHICLE = 3;

	public static final Integer PAPER_OBJECT_CARRIER = 4;

	// 设备类型 数据字典DEVICE_TYPE:1.GPS 2.冷链设备
	public static final String DEVICE_TYPE = "DEVICE_TYPE";
	public static final Integer DEVICE_TYPE_GPS = 1;
	public static final Integer DEVICE_TYPE_LLSB = 2;

	// 保险公司 数据字典INSURANCE_COMPANY:1.中国平安 2.太平洋保险
	public static final String INSURANCE_COMPANY = "INSURANCE_COMPANY";
	public static final Integer INSURANCE_COMPANY_ZGPA = 1;
	public static final Integer INSURANCE_COMPANY_TPYBX = 2;

	// 保险类型 数据字典INSURANCE_TYPE:1.车险 2.人意险
	public static final String INSURANCE_TYPE = "INSURANCE_TYPE";
	public static final Integer INSURANCE_TYPE_CX = 1;
	public static final Integer INSURANCE_TYPE_RYW = 2;

	// 保险受益对象类型 数据字典BENEFICIARY_TYPE:1.车辆 2.司机 3.送货员
	public static final String BENEFICIARY_TYPE = "BENEFICIARY_TYPE";
	public static final Integer INSURANCE_BENEFICIARY_TYPE_CL = 1;
	public static final Integer INSURANCE_BENEFICIARY_TYPE_SJ = 2;
	public static final Integer INSURANCE_BENEFICIARY_TYPE_SHY = 3;

	// 容器类型 数据字典CONTAINER_TYPE:1：托盘 2：周转箱 3：保温箱
	public static final String CONTAINER_TYPE = "CONTAINER_TYPE";

	// 送货员类型：数据字典DELIVERYMAN_TYPE 1自有、2挂靠、3临时
	public static final String DELIVERYMAN_TYPE = "DELIVERYMAN_TYPE";
	public static final Integer DELIVERYMAN_TYPE_OWN = 1;
	public static final Integer DELIVERYMAN_TYPE_ANCHORED = 2;
	public static final Integer DELIVERYMAN_TYPE_TEMPORARY = 3;
	public static final String DELIVERYMAN_TYPE_ZY = "1";
	public static final String DELIVERYMAN_TYPE_GK = "2";
	public static final String DELIVERYMAN_TYPE_LS = "3";

	// 数据字典-中转站类型
	public static final String TRANSFER_STATION_TYPE = "TRANSFER_STATION_TYPE";

	// 扩展字段类型
	public static final String FIELD_TYPE = "FIELD_TYPE";
	public static final String FIELD_TYPE_STRING = "1";
	public static final String FIELD_TYPE_NUMBER = "2";
	public static final String FIELD_TYPE_DATE = "3";
	public static final String FIELD_TYPE_RADIO = "4";

	// 扩展字段数量
	public static final int EXTENDED_FIELD_NUMBER = 5;

	// 扩展字段数量
	public static final List<Integer> EXTENDED_FIELD_SERIAL_NUMBER = Stream.of(1, 2, 3, 4, 5).collect(Collectors.toList());

	// 字符扩展字段
	public static final String EXTENDED_FIELD_STR1 = "extStr1";
	public static final String EXTENDED_FIELD_STR2 = "extStr2";
	public static final String EXTENDED_FIELD_STR3 = "extStr3";
	public static final String EXTENDED_FIELD_STR4 = "extStr4";
	public static final String EXTENDED_FIELD_STR5 = "extStr5";

	// 数值扩展字段
	public static final String EXTENDED_FIELD_NUM1 = "extNum1";
	public static final String EXTENDED_FIELD_NUM2 = "extNum2";
	public static final String EXTENDED_FIELD_NUM3 = "extNum3";
	public static final String EXTENDED_FIELD_NUM4 = "extNum4";
	public static final String EXTENDED_FIELD_NUM5 = "extNum5";

	// 日期扩展字段
	public static final String EXTENDED_FIELD_DATE1 = "extDate1";
	public static final String EXTENDED_FIELD_DATE2 = "extDate2";
	public static final String EXTENDED_FIELD_DATE3 = "extDate3";
	public static final String EXTENDED_FIELD_DATE4 = "extDate4";
	public static final String EXTENDED_FIELD_DATE5 = "extDate5";

	// 合同性质 数据字典CONTRACT_NATURE:1合同 2临时
	public static final String CONTRACT_NATURE = "CONTRACT_NATURE";

	// 开户行 数据字典BANK 1 工商银行 2 建设银行
	public static final String BANK = "BANK";

	// 是否绑定状态 数据字典WHETHER 0未绑 1已绑
	public static final String WHETHER = "WHETHER";

	// 商品品类层级 数据字典ITEM_CATEGORY_LEVEL： 1：1级 2：2级 3：3级
	public static final String ITEM_CATEGORY_LEVEL = "ITEM_CATEGORY_LEVEL";
	public static final Integer ITEM_CATEGORY_LEVEL_ONE = 1;
	public static final Integer ITEM_CATEGORY_LEVEL_TWO = 2;
	public static final Integer ITEM_CATEGORY_LEVEL_THREE = 3;

	// 扩展对象
	// 1 商品品类管理
	// 2 商品管理
	// 3 货主管理
	// 4 客户管理
	// 5 客户收货方
	// 6 仓库管理
	// 7 仓库车位
	// 8 承运商管理
	// 9 线路管理
	// 10 中转站管理
	// 11 司机管理
	// 12 送货员管理
	// 13 车型管理
	// 14 车辆管理
	// 15 订单管理-运单汇总表
	// 16 供应商
	public static final String EXTENDED_OBJECT = "EXTENDED_OBJECT";
	public static final String EXTENDED_OBJECT_ITEM_CATEGORY = "1";
	public static final String EXTENDED_OBJECT_ITEM = "2";
	public static final String EXTENDED_OBJECT_CARGO_OWNER = "3";
	public static final String EXTENDED_OBJECT_CUSTOMER = "4";
	public static final String EXTENDED_OBJECT_CUSTOMER_RECEIVER = "5";
	public static final String EXTENDED_OBJECT_BRANCH = "6";
	public static final String EXTENDED_OBJECT_BRANCH_CARPORT = "7";
	public static final String EXTENDED_OBJECT_CARRIER = "8";
	public static final String EXTENDED_OBJECT_LINE = "9";
	public static final String EXTENDED_OBJECT_TRANSFER_STATION = "10";
	public static final String EXTENDED_OBJECT_DRIVER = "11";
	public static final String EXTENDED_OBJECT_DELIVERYMAN = "12";
	public static final String EXTENDED_OBJECT_VEHICLE_TYPE = "13";
	public static final String EXTENDED_OBJECT_VEHICLE = "14";
	public static final String EXTENDED_OBJECT_SHIPBILL_HEADER = "15";
	public static final String EXTENDED_OBJECT_SHIPPER = "16";
	public static final String EXTENDED_OBJECT_SHIPBILL_DETAIL = "17";

	// 导入状态 数据字典IMPORT_STATUS:0失败，1.成功
	public static final String IMPORT_STATUS = "IMPORT_STATUS";
	public static final Integer IMPORT_STATUS_NO = 0;
	public static final Integer IMPORT_STATUS_YES = 1;

	// 操作状态 数据字典OPERATE_STATUS:0撤销，1.导入
	public static final String OPERATE_STATUS = "OPERATE_STATUS";
	public static final Integer OPERATE_STATUS_REVOKE = 0;
	public static final Integer OPERATE_STATUS_IMPORT = 1;

	// 导入对象
	public static final String IMPORT_OBJ_LIST = "IMPORT_OBJ_LIST";
	// 用户导入
	public static final String USER_IMPORT = "USER_IMPORT";
	// 商品资料导入
	public static final String ITEM_IMPORT = "ITEM_IMPORT";
	// 商品品类导入
	public static final String ITEM_CATEGORY_IMPORT = "ITEM_CATEGORY_IMPORT";
	// 供应商导入
	public static final String PROVIDER_IMPORT = "PROVIDER_IMPORT";
	// 供应商发货方导入
	public static final String PROVIDER_SHIPPER_IMPORT = "PROVIDER_SHIPPER_IMPORT";
	// 客户导入
	public static final String CUSTOMER_IMPORT = "CUSTOMER_IMPORT";
	// 客户收货方导入
	public static final String CUSTOMER_CONSIGNEE_IMPORT = "CUSTOMER_CONSIGNEE_IMPORT";
	// 仓库导入
	public static final String BRANCH_IMPORT = "BRANCH_IMPORT";
	// 仓库车位导入
	public static final String BRANCH_PARKING_SPACE_IMPORT = "BRANCH_PARKING_SPACE_IMPORT";
	// 承运商导入
	public static final String CARRIER_IMPORT = "CARRIER_IMPORT";
	// 线路导入
	public static final String LINE_IMPORT = "LINE_IMPORT";
	// 线路承运方导入
	public static final String LINE_CARRIER_IMPORT = "LINE_CARRIER_IMPORT";
	// 线路收货方导入
	public static final String LINE_CONSIGNEE_IMPORT = "LINE_CONSIGNEE_IMPORT";

	// 线路发货方导入
	public static final String LINE_SHIPPER_IMPORT = "LINE_SHIPPER_IMPORT";

	// 司机导入
	public static final String DRIVER_IMPORT = "DRIVER_IMPORT";
	// 送货员导入
	public static final String DELIVERYMAN_IMPORT = "DELIVERYMAN_IMPORT";
	// 车型导入
	public static final String VEHICLE_TYPE_IMPORT = "VEHICLE_TYPE_IMPORT";
	// 车辆导入
	public static final String VEHICLE_IMPORT = "VEHICLE_IMPORT";
	// 设备导入
	public static final String DEVICE_IMPORT = "DEVICE_IMPORT";
	// 容器导入
	public static final String CONTAINER_IMPORT = "CONTAINER_IMPORT";

	// 标记类型
	public static final String SIGNCONFIG_TYPE = "SIGNCONFIG_TYPE";

	// 匹配
	public static final String SIGNCONFIG_MATCHING = "SIGNCONFIG_MATCHING";

	// 优先级
	public static final String SIGNCONFIG_PRIORITY = "SIGNCONFIG_PRIORITY";

	// 审批流程类型 数据字典 APPROVAL_FLOW_TYPE：1 货主审核 2 承运商审核 3 运单提交 4调度审核 5承运商调度审核 6自提登记审核
	public static final String APPROVAL_FLOW_TYPE = "APPROVAL_FLOW_TYPE";
	public static final Integer APPROVAL_FLOW_TYPE_OWNER = 1;
	public static final Integer APPROVAL_FLOW_TYPE_CARRIER = 2;
	public static final Integer APPROVAL_FLOW_TYPE_COMMIT = 3;
	public static final Integer APPROVAL_FLOW_TYPE_DISPATCH = 4;
	public static final Integer APPROVAL_FLOW_TYPE_DISPATCH_CARRIER = 5;
	public static final Integer APPROVAL_FLOW_TYPE_SELF_PICK_UP_REG = 6;

	// 审批流程状态 数据字典 APPROVAL_STATUS: 1 启用 2 停用
	public static final String APPROVAL_STATUS = "APPROVAL_STATUS";
	public static final Integer APPROVAL_STATUS_ENABLE = 1;
	public static final Integer APPROVAL_STATUS_DISABLE = 2;

	// 审批流程状态 数据字典 NODE_STATUS: 1 启用 2 停用
	public static final String NODE_STATUS = "NODE_STATUS";
	public static final Integer NODE_STATUS_ENABLE = 1;
	public static final Integer NODE_STATUS_DISABLE = 2;

	// 业务审批状态 数据字典 APPROVAL_BUSSINESS_STATUS: 1发起申请 2驳回 3撤回 4提交 5审核中 6作废 7审核完成
	public static final String APPROVAL_BUSINESS_STATUS = "APPROVAL_BUSSINESS_STATUS";
	public static final Integer APPROVAL_BUSINESS_STATUS_APPLY = 1;
	public static final Integer APPROVAL_BUSINESS_STATUS_REJECT = 2;
	public static final Integer APPROVAL_BUSINESS_STATUS_RETRACT = 3;
	public static final Integer APPROVAL_BUSINESS_STATUS_SUBMIT = 4;
	public static final Integer APPROVAL_BUSINESS_STATUS_VERIFY = 5;
	public static final Integer APPROVAL_BUSINESS_STATUS_INVALID = 6;
	public static final Integer APPROVAL_BUSINESS_STATUS_FINISHED = 7;
	// 节点审批者类型 1 角色 2 用户
	public static final Integer NODE_APPROVER_TYPE_ROLE = 1;
	public static final Integer NODE_APPROVER_TYPE_USER = 2;

	// 审批方式 数据字典 NODE_APPROVAL_TYPE: 1 会签 2 或签
	public static final String NODE_APPROVAL_TYPE = "NODE_APPROVAL_TYPE";
	public static final Integer NODE_APPROVAL_TYPE_ALL = 1;
	public static final Integer NODE_APPROVAL_TYPE_ONE = 2;

	// 业务节点审批状态 数据字典 APPROVAL_BUSINESS_NODE_STATUS:1待审批 2驳回发起人 3驳回上一级 4审批通过
	public static final String APPROVAL_BUSINESS_NODE_STATUS = "APPROVAL_BUSINESS_NODE_STATUS";

	public static final Integer APPROVAL_BUSINESS_NODE_STATUS_PENDING = 1;

	public static final Integer APPROVAL_BUSINESS_NODE_STATUS_REJECT_FIRST = 2;

	public static final Integer APPROVAL_BUSINESS_NODE_STATUS_REJECT_PREVIOUS = 3;

	public static final Integer APPROVAL_BUSINESS_NODE_STATUS_PASS = 4;

	// 审批结果 数据字典 NODE_APPROVAL_RESULT:1发起申请 2驳回发起人 3驳回上一级 4审批通过 5撤回 6 作废
	public static final String NODE_APPROVAL_RESULT = "NODE_APPROVAL_RESULT";
	public static final Integer NODE_APPROVAL_RESULT_APPLY = 1;
	public static final Integer NODE_APPROVAL_RESULT_REJECT_FIRST = 2;
	public static final Integer NODE_APPROVAL_RESULT_REJECT_PREVIOUS = 3;
	public static final Integer NODE_APPROVAL_RESULT_PASS = 4;
	public static final Integer NODE_APPROVAL_RESULT_RETRACT = 5;
	public static final Integer NODE_APPROVAL_RESULT_INVALID = 6;

	// 线路类型 数据字典LINE_TYPE:1.干线 2.短驳
	public static final String LINE_TYPE = "LINE_TYPE";
	public static final Integer LINE_TYPE_GX = 1;
	public static final Integer LINE_TYPE_DB = 2;

	// 划分类型 数据字典DISTINGUISH_TYPE:1.收货方 2.行政区域
	public static final String DISTINGUISH_TYPE = "DISTINGUISH_TYPE";
	public static final Integer DISTINGUISH_TYPE_SHF = 1;
	public static final Integer DISTINGUISH_TYPE_XZQY = 2;

	// 流程类型 数据字典 FLOW_TYPE：1承运商 2自有
	public static final String FLOW_TYPE = "FLOW_TYPE";
	public static final Integer FLOW_TYPE_CARRIER = 1;
	public static final Integer FLOW_TYPE_ZY = 2;

	/*
	 * // 条件类型 数据字典CONDITION_TYPE 1满足条件 2排除条件 public static final String
	 * CONDITION_TYPE = "CONDITION_TYPE"; public static final Integer
	 * CONDITION_TYPE_MEET_CONDITIONS = 1; public static final Integer
	 * CONDITION_TYPE_EXCLUSION_CONDITIONS = 2;
	 */

	// 配送方式 数据字典DELIVERY_METHOD_TYPE：1配送 2自提
	public final static String DELIVERY_METHOD_TYPE = "DELIVERY_METHOD_TYPE";
	public final static String DELIVERY_METHOD_TYPE_SEND = "1";
	public final static String DELIVERY_METHOD_TYPE_ZT = "2";

	// 发货方类型 数据字典SHIPPER_TYPE:1客户 2仓库 3供应商
	public final static String SHIPPER_TYPE = "SHIPPER_TYPE";
	public final static Integer SHIPPER_TYPE_KH = 1;
	public final static Integer SHIPPER_TYPE_CK = 2;
	public final static Integer SHIPPER_TYPE_GYS = 3;

	// 收货方类型 数据字典CONSIGNEE_TYPE:1客户 2仓库 3供应商
	public final static String CONSIGNEE_TYPE = "CONSIGNEE_TYPE";
	public final static Integer CONSIGNEE_TYPE_KH = 1;
	public final static Integer CONSIGNEE_TYPE_CK = 2;
	public final static Integer CONSIGNEE_TYPE_GYS = 3;

	// 订单类型 数据字典ORDER_TYPE：1普通 2紧急 3加急
	public final static String ORDER_TYPE = "ORDER_TYPE";

	// 订单业务类型 数据字典ORDER_BUSINESS_TYPE：1销售订单-直送 2销售订单-供应商配送 3采购订单-供应商配送
	// 4采购订单-自提 5销售退货 6采购退货 7调拨
	public final static String ORDER_BUSINESS_TYPE = "ORDER_BUSINESS_TYPE";

	// 运输类型(运输模式) 数据字典TRANSPORT_TYPE:1整车 2零担
	public final static String TRANSPORT_TYPE = "TRANSPORT_TYPE";

	// 温度要求 数据字典TEMPERATURE_REQUIREMENT：1常温 2冷藏 3冷冻 4恒温
	public final static String TEMPERATURE_REQUIREMENT = "TEMPERATURE_REQUIREMENT";

	// 流程条件类型 数据字典 FLOW_CONDITION_TYPE 1配送方式 2发货方类型 3收货方类型 4订单类型 5订单业务类型 6运输模式 7温度要求
	// 8货主 9 承运商类型
	public final static String FLOW_CONDITION_TYPE = "FLOW_CONDITION_TYPE";
	public final static Integer FLOW_CONDITION_TYPE_DELIVERY = 1;
	public final static Integer FLOW_CONDITION_TYPE_SHIPPER = 2;
	public final static Integer FLOW_CONDITION_TYPE_CONSIGNEE = 3;
	public final static Integer FLOW_CONDITION_TYPE_ORDER = 4;
	public final static Integer FLOW_CONDITION_TYPE_ORDER_BUSINESS = 5;
	public final static Integer FLOW_CONDITION_TYPE_TRANSPORT = 6;
	public final static Integer FLOW_CONDITION_TYPE_TEMPERATURE = 7;
	public final static Integer FLOW_CONDITION_TYPE_CARGO_OWNER = 8;
	public final static Integer FLOW_CONDITION_TYPE_CARRIERS_TYPE = 9;

	// 流程配置 数据字典FLOW_CONFIG：Add新增,AddCommit新增提交,Commit提交,CommitReview提交审核,TransportPlan运输计划,Review审核,
	// ReviewSplit审核后自动拆分"
	// +
	// "ReviewDispatch匹配唯一承运方自动调度,Dispatch调度,DispatchCheck调度后自动审核,Check调度审核,Appointment预约,"
	// +
	// "ArrangeGoods理货,LoadUnLoad装卸,Scanning装车扫描,SendOff启运登记,ArriveConfirm送达确认
	// 接单Receive,接单后自动提交ReceiveCommit,承运商是否开启接单拒绝RejectReceive
	public final static String FLOW_CONFIG = "FLOW_CONFIG";
	public final static String FLOW_CONFIG_ADD = "Add";
	public final static String FLOW_CONFIG_ADD_COMMIT = "AddCommit";
	public final static String FLOW_CONFIG_COMMIT = "Commit";
	public final static String FLOW_CONFIG_COMMIT_REVIEW = "CommitReview";
	public final static String FLOW_CONFIG_REVIEW = "Review";
	public final static String FLOW_CONFIG_TRANSPORT_PLAN = "TransportPlan";
	public final static String FLOW_CONFIG_REVIEW_SPLIT = "ReviewSplit";

	public final static String FLOW_CONFIG_REVIEW_DISPATCH = "ReviewDispatch";
	public final static String FLOW_CONFIG_DISPATCH = "Dispatch";
	public final static String FLOW_CONFIG_DISPATCH_CHECK = "DispatchCheck";
	public final static String FLOW_CONFIG_CHECK = "Check";
	public final static String FLOW_CONFIG_APPOINTMENT = "Appointment";
	public final static String FLOW_CONFIG_APPOINTMENT_TN_CN = "AppointmentTakeNumAndCallNum";

	public final static String FLOW_CONFIG_ARRANGE_GOODS = "ArrangeGoods";
	public final static String FLOW_CONFIG_LOAD_UNLOAD = "LoadUnLoad";
	public final static String FLOW_CONFIG_SCANNING = "Scanning";
	public final static String FLOW_CONFIG_SEND_OFF = "SendOff";
	public final static String FLOW_CONFIG_ARRIVE_CONFIRM = "ArriveConfirm";

	public final static String FLOW_CONFIG_RECEIVE = "Receive";
	public final static String FLOW_CONFIG_RECEIVE_COMMIT = "ReceiveCommit";
	public final static String FLOW_CONFIG_REJECT_RECEIVE = "RejectReceive";

	// 逻辑符
	public static final String LOGIC_SYMBOL = "LOGIC_SYMBOL";
	public static final String LOGIC_SYMBOL_AND = "and";
	public static final String LOGIC_SYMBOL_OR = "or";

	// 高级查询 业务类型 10订单
	public static final String BIZ_TYPE = "BIZ_TYPE";
	public static final Integer BIZ_TYPE_BILL = 10;

	// 可预约时间点 数据字典AVAILABLE_TIME 10预计提货时间 20下单时间 30提交时间 40审核时间 50调度时间 60调度审核时间
	public static final String AVAILABLE_TIME = "AVAILABLE_TIME";

	// 可预约时间单位 数据字典AVAILABLE_UNIT 1小时 2天
	public static final String AVAILABLE_UNIT = "AVAILABLE_UNIT";
	public static final Integer AVAILABLE_UNIT_HOUR = 1;
	public static final Integer AVAILABLE_UNIT_DAY = 2;

	// 可预约时间点 数据字典AVAILABLE_TIME 10预计提货时间 20下单时间 30提交时间 40审核时间 50调度时间 60调度审核时间

	// 预约模式 数据字典 APPOINTMENT_TYPE 10仅提货预约 20仅送货预约 30提货,送货皆预约
	public static final String APPOINTMENT_TYPE = "APPOINTMENT_TYPE";

	// 叫号处理方式 数据字典CALL_HANDLE_TYPE 10等待区先叫号 20按照排队号叫号
	public static final String CALL_HANDLE_TYPE = "CALL_HANDLE_TYPE";

	// 过号处理方式 数据字典OVER_NUM_HANDLE_TYPE 10重新取号 20往后排三位 30往后排五位
	public static final String OVER_NUM_HANDLE_TYPE = "OVER_NUM_HANDLE_TYPE";

	// 状态 数据字典GENERAL_STATUS:0停用 10启用
	public static final String GENERAL_STATUS = "GENERAL_STATUS";
	public static final Integer GENERAL_STATUS_STOP = 0;
	public static final Integer GENERAL_STATUS_ENABLE = 10;

	// 策略条件类型 数据字典 STRATEGY_CONDITION_TYPE 1配送方式 2发货方类型 3收货方类型 4订单类型 5订单业务类型
	// 6运输模式 7温度要求 8货主 9部门
	public static final String STRATEGY_CONDITION_TYPE = "STRATEGY_CONDITION_TYPE";
	public final static Integer STRATEGY_CONDITION_TYPE_DELIVERY = 1;
	public final static Integer STRATEGY_CONDITION_TYPE_SHIPPER = 2;
	public final static Integer STRATEGY_CONDITION_TYPE_CONSIGNEE = 3;
	public final static Integer STRATEGY_CONDITION_TYPE_ORDER = 4;
	public final static Integer STRATEGY_CONDITION_TYPE_ORDER_BUSINESS = 5;
	public final static Integer STRATEGY_CONDITION_TYPE_TRANSPORT = 6;
	public final static Integer STRATEGY_CONDITION_TYPE_TEMPERATURE = 7;
	public final static Integer STRATEGY_CONDITION_TYPE_OWNER = 8;
	public final static Integer STRATEGY_CONDITION_TYPE_DEPARTMENT = 9;

	// 隶属机构类型AFFILIATION_TYPE:1货主 2.承运商
	public static final String AFFILIATION_TYPE = "AFFILIATION_TYPE";
	public final static Integer AFFILIATION_TYPE_HZ = 1;
	public final static Integer AFFILIATION_TYPE_CYS = 2;

	// 审批流条件类型 数据字典 APPROVAL_CONDITION_TYPE 1配送方式 2发货方类型 3收货方类型 4订单类型 5订单业务类型 6运输模式
	// 7温度要求 8货主 9部门
	public static final String APPROVAL_CONDITION_TYPE = "APPROVAL_CONDITION_TYPE";
	public final static Integer APPROVAL_CONDITION_TYPE_DELIVERY = 1;
	public final static Integer APPROVAL_CONDITION_TYPE_SHIPPER = 2;
	public final static Integer APPROVAL_CONDITION_TYPE_CONSIGNEE = 3;
	public final static Integer APPROVAL_CONDITION_TYPE_ORDER = 4;
	public final static Integer APPROVAL_CONDITION_TYPE_ORDER_BUSINESS = 5;
	public final static Integer APPROVAL_CONDITION_TYPE_TRANSPORT = 6;
	public final static Integer APPROVAL_CONDITION_TYPE_TEMPERATURE = 7;
	public final static Integer APPROVAL_CONDITION_TYPE_OWNER = 8;
	public final static Integer APPROVAL_CONDITION_TYPE_DEPARTMENT = 9;

	// 承运商配置条件类型 数据字典 CONFIG_CONDITION_TYPE 1配送方式 2发货方类型 3收货方类型 4订单类型 5订单业务类型
	// 6运输模式 7温度要求 8货主 9部门
	public static final String CONFIG_CONDITION_TYPE = "CONFIG_CONDITION_TYPE";
	public final static Integer CONFIG_CONDITION_TYPE_DELIVERY = 1;
	public final static Integer CONFIG_CONDITION_TYPE_SHIPPER = 2;
	public final static Integer CONFIG_CONDITION_TYPE_CONSIGNEE = 3;
	public final static Integer CONFIG_CONDITION_TYPE_ORDER = 4;
	public final static Integer CONFIG_CONDITION_TYPE_ORDER_BUSINESS = 5;
	public final static Integer CONFIG_CONDITION_TYPE_TRANSPORT = 6;
	public final static Integer CONFIG_CONDITION_TYPE_TEMPERATURE = 7;
	public final static Integer CONFIG_CONDITION_TYPE_OWNER = 8;
	public final static Integer CONFIG_CONDITION_TYPE_DEPARTMENT = 9;

	public final static Integer CONFIG_CONDITION_TYPE_DELIVER_TIME = 10;
	public final static Integer CONFIG_CONDITION_TYPE_PACK_TIME = 11;

	// 站点类型
	public static final String SITE_TYPE_NAME_CONSIGNEE = "送货";
	public static final String SITE_TYPE_NAME_SHIPPER = "提货";

	// 拆分后是否重新匹配线路 数据字典 REMATCH_LINE :0否 1是
	public final static String REMATCH_LINE = "REMATCH_LINE";
	public final static Integer REMATCH_LINE_NO = 0;
	public final static Integer REMATCH_LINE_YES = 1;

	public final static String CUSTOMER_TYPE_C = "C";
	public final static String CUSTOMER_TYPE_S = "S";

	// 中转时间类型 数据字典 TRANSFER_TIME_TYPE 1下单日期 2提交日期 3审核日期
	public final static String TRANSFER_TIME_TYPE = "TRANSFER_TIME_TYPE";
	public final static Integer TRANSFER_TIME_TYPE_ORDER_DT = 1;
	public final static Integer TRANSFER_TIME_TYPE_COMMIT_DT = 2;
	public final static Integer TRANSFER_TIME_TYPE_REVIEW_DT = 3;

	// 承运商策略条件类型 数据字典 BUSINESS_CONDITION_TYPE 1配送方式 2发货方类型 3收货方类型 4订单类型 5订单业务类型 " +
	// "6运输模式 7温度要求 8货主 9部门 10商品 11商品品类 12 商品件数 13 商品重量 14商品总件数 15商品总重量
	public static final String BUSINESS_CONDITION_TYPE = "BUSINESS_CONDITION_TYPE";
	public final static Integer BUSINESS_CONDITION_TYPE_DELIVERY = 1;
	public final static Integer BUSINESS_CONDITION_TYPE_SHIPPER = 2;
	public final static Integer BUSINESS_CONDITION_TYPE_CONSIGNEE = 3;
	public final static Integer BUSINESS_CONDITION_TYPE_ORDER = 4;
	public final static Integer BUSINESS_CONDITION_TYPE_ORDER_BUSINESS = 5;
	public final static Integer BUSINESS_CONDITION_TYPE_TRANSPORT = 6;
	public final static Integer BUSINESS_CONDITION_TYPE_TEMPERATURE = 7;
	public final static Integer BUSINESS_CONDITION_TYPE_OWNER = 8;
	public final static Integer BUSINESS_CONDITION_TYPE_DEPARTMENT = 9;
	public final static Integer BUSINESS_CONDITION_TYPE_ITEM = 10;
	public final static Integer BUSINESS_CONDITION_TYPE_ITEM_CATEGORY = 11;
	public final static Integer BUSINESS_CONDITION_TYPE_ITEM_PCS = 12;
	public final static Integer BUSINESS_CONDITION_TYPE_ITEM_WEIGHT = 13;
	public final static Integer BUSINESS_CONDITION_TYPE_ITEM_TOTAL_PCS = 14;
	public final static Integer BUSINESS_CONDITION_TYPE_ITEM_TOTAL_WEIGHT = 15;

	// PROCESS_ENABLE：0否 1是
	public static final String PROCESS_ENABLE = "PROCESS_ENABLE";
	public final static Integer PROCESS_ENABLE_NO = 0;
	public final static Integer PROCESS_ENABLE_YES = 1;

	// 比较符号 数据字典 CMP_SYMBOL 1大于 2大于等于 3小于 4小于等于
	public static final String CMP_SYMBOL = "CMP_SYMBOL";
	public final static Integer CMP_SYMBOL_GT = 1;
	public final static Integer CMP_SYMBOL_GE = 2;
	public final static Integer CMP_SYMBOL_LT = 3;
	public final static Integer CMP_SYMBOL_LE = 4;

	// 打印机配置状态 0:停用，1：启用
	public static final String SYS_PRINTER_CONFIGURATION_STATUS = "SYS_PRINTER_CONFIGURATION_STATUS";
	// 打印机状态 0:断开连接，1:已连接
	public static final String SYS_PRINTER_STATUS = "SYS_PRINTER_STATUS";
	// 打印机类型 0:纸单，1:标签
	public static final String SYS_PRINTER_TYPE = "SYS_PRINTER_TYPE";
	// 打印机模版 0:纸单，1:标签
	public static final String SYS_TEMPLATE_TYPE = "SYS_PRINTER_TYPE";
	// 单位类型 0:货主，1:供应商，2:客户，3:服务商
	public static final String SYS_COMPANY_TYPE = "SYS_COMPANY_TYPE";

	/**
	 * 消息配置状态
	 */
	public static final String MESSAGE_CONFIG_STATUS = "MESSAGE_CONFIG_STATUS";

	/**
	 * 消息单据类型
	 */
	public static final String MESSAGE_ORDER_TYPE = "MESSAGE_ORDER_TYPE";

	/**
	 * 消息类型
	 */
	public static final String MESSAGE_TYPE = "MESSAGE_TYPE";

	/**
	 * 消息推送方式
	 */
	public static final String MESSAGE_SEND_TYPE = "MESSAGE_SEND_TYPE";

	/**
	 * 消息策略条件类型
	 */
	public static final String MESSAGE_CONDITION_TYPE = "MESSAGE_CONDITION_TYPE";

	/**
	 * 消息日志状态
	 */
	public static final String MESSAGE_SEND_LOG_STATUS = "MESSAGE_SEND_LOG_STATUS";

	/**
	 * 时间类型
	 */
	public static final String MESSAGE_TIME_UNIT = "MESSAGE_TIME_UNIT";

	/**
	 * 通知货主、发货方等
	 */
	public static final String NOTICE_TO_Y = "Y";
	public static final String NOTICE_TO_N = "N";

	/**
	 * 是否已读
	 */
	public static final String WHETHER_READ_Y = "Y";
	public static final String WHETHER_READ_N = "N";

	/**
	 * 消息日志成功失败
	 */
	public static final String MESSAGE_SEND_LOG_SUCCESS = "0";
	public static final String MESSAGE_SEND_LOG_FAIL = "1";
	public static final Integer APPOINTMENT_STATUS_QX = 0;

	// 提货签到时间点 数据字典PICK_UP_SIGN_TIME 10预计提货开始时间 20预计提货结束时间 " +
	// "30下单时间 40提交时间 50审核时间 60调度时间 70调度审核时间
	public final static String PICK_UP_SIGN_TIME = "PICK_UP_SIGN_TIME";

	// 送达签到时间点 数据字典PICK_UP_SIGN_TIME 10预计送达开始时间 20预计送达结束时间 " +
	// "30下单时间 40提交时间 50审核时间 60调度时间 70调度审核时间
	public final static String DELIVERY_SIGN_TIME = "DELIVERY_SIGN_TIME";

	// 提货签到时间单位 数据字典SIGN_TIME_UNIT 1分钟 2小时 3天
	public final static String SIGN_TIME_UNIT = "SIGN_TIME_UNIT";
	public final static Integer SIGN_TIME_UNIT_MINUTE = 1;
	public final static Integer SIGN_TIME_UNIT_HOUR = 2;
	public final static Integer SIGN_TIME_UNIT_DAY = 3;

	// 里程管理 数据字典MILEAGE_MANAGEMENT 0：否 1：是
	public static final String MILEAGE_MANAGEMENT = "MILEAGE_MANAGEMENT";

	// 流程条件类别 数据字典flow_condition_category 10满足条件 20排除条件
	public final static String FLOW_CONDITION_CATEGORY = "FLOW_CONDITION_CATEGORY";
	public final static Integer FLOW_CONDITION_CATEGORY_MEET = 10;
	public final static Integer FLOW_CONDITION_CATEGORY_EXCLUSION = 20;

	// 线路方向 数据字典LINE_DIRECTION 10正向 20逆向
	public final static String LINE_DIRECTION = "LINE_DIRECTION";
	public final static Integer LINE_DIRECTION_F = 10;
	public final static Integer LINE_DIRECTION_R = 20;

    public static final Integer SHIPBILL_STATUS_QY = 120;

	// 价格表省市区匹配方式 数据字典PRICE_PCD_MATCH_TYPE 1.省市区精确匹配 2.省市区向上匹配 3.省市区向上匹配,未匹配到忽略省市区
	// 4.忽略省市区作为匹配条件
	public final static String PRICE_PCD_MATCH_TYPE = "PRICE_PCD_MATCH_TYPE";
	public static final Integer PRICE_PCD_MATCH_TYPE_PRECISE = 1;
	public static final Integer PRICE_PCD_MATCH_TYPE_UP = 2;
	public static final Integer PRICE_PCD_MATCH_TYPE_UP_IGNORE = 3;
	public static final Integer PRICE_PCD_MATCH_TYPE_IGNORE = 4;

	// 客户收货方类型：目的子库/收货方
	public final static String CUSTOMER_CONSIGNEE_TYPE_MDZK = "目的子库";
	public final static String CUSTOMER_CONSIGNEE_TYPE_SHF = "收货方";
	public final static String CUSTOMER_CONSIGNEE_TYPE_PJSHF = "配件-收货方";

	// 站点类型 数据字典STATION_TYPE:10.实际 20.虚拟
	public static final String STATION_TYPE = "STATION_TYPE";
	public static final Integer STATION_TYPE_ACTUAL = 10;
	public static final Integer STATION_TYPE_VIRTUAL = 20;

	/**
	 * 时效
	 */
	public static final String AGING_TIME_LINE = "AGING_TIME_LINE";

	// 承运商系统标志 CARRIER_SYS_FLG
	public final static String CARRIER_SYS_FLAG = "CARRIER_SYS_FLAG";
	public static final String CARRIER_SYS_FLAG_INNER = "I";
	public static final String CARRIER_SYS_FLAG_OUTSIDE = "O";

	public final static Integer LOADING_BILL_STATUS_SD = 150;

	//	承运商类型 1.三方快递  2.三方物流
	public final static String CARRIERS_TYPE = "CARRIERS_TYPE";
	public final static Integer CARRIERS_TYPE_FAST_MAIL = 1;
	public final static Integer CARRIERS_TYPE_LOGISTICS = 2;

	//	剂型 1胶囊 2药片
	public final static String ITEM_DOSE_TYPE = "ITEM_DOSE_TYPE";
	public final static Integer ITEM_DOSE_TYPE_CAPSULE = 1;
	public final static Integer ITEM_DOSE_TYPE_PILL = 2;
}
