package com.sdtool.common.datas;

/**
 * Created by jlutt on 2018-11-13.
 * es存储的索引
 *
 * @author jlutt
 */
public class ESKeys {

    public static final String INDEX_CONFIG = "docIndex.json";

    public static final String ESERPDEFAULT_TYPE = "info";

    /**
     * 系统群发站内信索引库，理论上此库只需一个即可，群发站内信不会太多
     */
    public static final String ESERPSYSMSG_INDEX = "es.sysmsg.index";

    /**
     * 系统群发站内信内容索引库
     */
    public static final String ESERPSYSMSGTEXT_INDEX = "es.sysmsgtext.index";

    /**
     * 用户对用户或者站内信通知，发送给指定人的站内信，暂时可以只用一个进行存储，
     * 未来数据量大的情况下，可以按年份之类的条件增加索引
     */
    public static final String ESERPP2PMSG_INDEX = "es.p2pmsg.index";

    /**
     * 点对点站内信内容索引库
     */
    public static final String ESERPP2PMSGTEXT_INDEX = "es.p2pmsgtext.index";

    /**
     * 用户对应站内信状态，用户在登录时在群发和对点发消息库中查找未读的消息写入此库中
     * 方便分页和最后的展示，理论上此库需要进行分表，可以针对用户id进行路由
     */
    public static final String ESERPUSERMSG_INDEX = "es.usermsg.index";

    /**
     * 操作记录
     */
    public static final String ESOPLOG_INDEX = "sdtool_oplog";


    /**
     * 通用文件信息存储
     */
    public static final String ESERPFILE_INDEX = "es.erpfile.index";

    /**
     * 数据权限
     */
    public static final String ESERPDATAPURVIEW_INDEX = "es.erpdatapurview.index";

    /**
     * 查询统计
     */
    public static final String ESERPINQUIREINFO_INDEX = "es.inquireinfo.index";
    public static final String ESERPINQUIREMAININFO_TYPE = "info";
    public static final String ESERPINQUIRERESULTCOLUMN_TYPE = "inquireresultcolumn";
    public static final String ESERPINQUIRECONDITION_TYPE = "inquirecondition";

    //region 系统公告
    public static final String ESERPANNOUNCEMENT_INDEX = "es.announcement.index";
    public static final String ESERPANNOUNCEMENT_TYPE = "info";

    public static final String ESERPANNOUNCEMENTATTACHMENT_INDEX = "es.announcementattachment.index";
    public static final String ESERPANNOUNCEMENTATTACHMENT_TYPE = "info";
    //endregion

    //region 产品档案
    public static final String ES_ERP_PRODUCT_INDEX = "es.productinfo.index";
    public static final String ES_ERP_PRODUCT_TYPE = "info";

    public static final String ES_ERP_WORK_PROCESS_INDEX = "es.workprocess.index";
    public static final String ES_ERP_WORK_PROCESS_TYPE = "info";

    public static final String ES_ERP_PRODUCT_IMAGE_INDEX = "es.product.image.index";
    public static final String ES_ERP_PRODUCT_IMAGE_TYPE = "info";

    //endregion

    //region 订单

    public static final String ES_ERP_PRINT_ORDER_INDEX = "es.printorder.index";
    public static final String ES_ERP_PRINT_ORDER_TYPE = "info";
    //订单修图处理情况
    public static final String ES_ERP_ORDER_IMAGE_DISPATCH_ITEM_TYPE = "orderimagedispatchitem";
    //订单发货通知
    public static final String ES_ERP_ORDER_DELIVER_INFORM_TYPE = "orderdeliverinform";
    //订单部件
    public static final String ES_ERP_ORDER_PART_TYPE = "orderpart";
    //订单部件参数
    public static final String ES_ERP_ORDER_PART_PARAMS_TYPE = "orderpartparamvalue";
    //订单部件工序
    public static final String ES_ERP_ORDER_PART_PROCESS_TYPE = "orderpartprocess";
    //订单组版部件
    public static final String ES_ERP_WORK_PART_TYPE = "workpart";
    //订单物料
    public static  final String ES_ERP_ORDER_MATERIAL_TYPE = "ordermaterial";
    //订单预收款申请
    public static final String ES_ERP_ORDER_PREPAY_TYPE = "orderprepay";
    //订单应收账款
    public static final String ES_ERP_ORDER_RECEIVABLE_TYPE = "orderreceivable";
    //收款记录
    public static final String ES_ERP_ORDER_CHARGE_DATA_TYPE = "orderchargedata";
    //订单生命周期表，作为订单子表
    public static final String ES_ERP_ORDER_LIFECYCLE_TYPE = "orderlifecycle";
    //订单生命周期数量
    public static final String ES_ERP_ORDER_LIFECYCLE_COUNT_TYPE = "orderlifecyclecount";
    //订单成本划分表
    public static final String ES_ERP_ORDER_COST_ITEM_TYPE = "ordercostitem";

    //订单文件
    public static final String ES_ERP_ORDER_FILE_TYPE = "orderfile";
    //订单物流代收
    public static final String ES_ERP_ORDER_LOGISTIC_INDEX = "es.order.logistic.index";

    //发货反馈记录,记作订单子表,使用订单的index
    public static final String ES_ERP_DELIVERY_FEED_BACK_INFO_TYPE = "deliveryfeedbackinfo";

    public static final String ES_ERP_ORDER_STOCK_ITEM_TYPE = "orderstockitem";
    public static final String ES_ERP_ORDER_STOCK_LABEL_TYPE = "orderstocklabel";

    //订单后工任务
    public static final String ES_ERP_ORDER_PROCESS_TASK_TYPE = "orderprocesstask";
    //订单机台任务
    public static final String ES_ERP_ORDER_MACHINE_TASK_TYPE = "ordermachinetask";

    //订单脚印
    public static final String ES_ERP_ORDER_STEP_TYPE = "info";
    public static final String ES_ERP_ORDER_STEP_INDEX = "es.orderstep.index";
    //订单入账流水
    public static final String ES_ERP_ORDER_TRADE_BILL_TYPE = "info";
    public static final String ES_ERP_ORDER_TRADE_BILL_INDEX = "es.ordertradebill.index";

    //中小型ERP订单任务
    public static final String ES_ERP_ORDER_TASK_INDEX = "es.erp.order.task.index";
    public static final String ES_ERP_ORDER_TASK_TYPE = "info";
    public static final String ES_ERP_ORDER_TASK_ITEM_TYPE = "taskitem";
    public static final String ES_ERP_ORDER_TASK_ITEM_BOOK_PAGE_TYPE = "taskbookpage";

    public static final String ES_ERP_ORDER_TASK_PART_LAYER_INDEX = "es.erp.order.task.part.layer.index";
    public static final String ES_ERP_ORDER_TASK_PART_LAYER_TYPE = "info";


    /**
     * 订单部件可变数据
     */
    public static final String ES_ERP_ORDER_PART_LAYER_INDEX = "es.order.part.layer.index";
    public static final String ES_ERP_ORDER_PART_LAYER_TYPE = "info";

    //订单后工任务反馈记录
    public static final String ES_ERP_ORDER_TASK_FEEDBACK_RECORD_INDEX = "es.erp.order.task.feedback.record.index";
    public static final String ES_ERP_ORDER_TASK_FEEDBACK_RECORD_TYPE = "info";

    //endregion

    //region 商城订单

    public static final String ES_MALL_PRINT_ORDER_INDEX = "es.mall.order.index";
    public static final String ES_MALL_PRINT_ORDER_TYPE = "info";

    //订单发货通知
    public static final String ES_MALL_ORDER_DELIVER_INFORM_TYPE = "orderdeliverinform";

    //订单部件
    public static final String ES_MALL_ORDER_PART_TYPE = "orderpart";

    //订单部件参数
    public static final String ES_MALL_ORDER_PART_PARAMS_TYPE = "orderpartparamvalue";

    //订单部件工序
    public static final String ES_MALL_ORDER_PART_PROCESS_TYPE = "orderpartprocess";

    //订单应收账款
    public static final String ES_MALL_ORDER_RECEIVABLE_TYPE = "orderreceivable";

    //收款记录
    public static final String ES_MALL_ORDER_CHARGE_DATA_TYPE = "orderchargedata";

    //订单文件
    public static final String ES_MALL_ORDER_FILE_TYPE = "orderfile";

    public static final String ES_MALL_ORDER_STOCK_ITEM_TYPE = "orderstockitem";
    public static final String ES_MALL_ORDER_STOCK_LABEL_TYPE = "orderstocklabel";

    //订单脚印
    public static final String ES_MALL_ORDER_STEP_INDEX = "es.mall.order.step.index";

    public static final String ES_MALL_ORDER_STEP_TYPE = "info";

    public static final String ES_MALL_ORDER_CANCEL_INDEX = "es.mall.order.cancel.index";

    public static final String ES_MALL_ORDER_CANCEL_TYPE = "info";

    //商城后台ERP
    public static final String ES_MALL_ORDER_TASK_INDEX = "es.mall.order.task.index";
    public static final String ES_MALL_ORDER_TASK_TYPE = "info";
    public static final String ES_MALL_ORDER_TASK_ITEM_TYPE = "taskitem";
    public static final String ES_MALL_ORDER_TASK_ITEM_BOOK_PAGE_TYPE = "taskbookpage";

    //endregion

    //region 报价历史记录

    public static final String ES_MALL_ORDER_QUOTE_INDEX = "es.mall.order.quote.index";

    public static final String ES_MALL_ORDER_QUOTE_TYPE = "info";

    //endregion

    //region 施工单

    public static final String ES_ERP_PRINTBILL_INDEX = "es.printbill.index";
    public static final String ES_ERP_PRINTBILL_TYPE = "info";

    public static final String ES_ERP_PRINTBILL_BREED_TYPE = "breed";
    //施工单生命周期,是版的子表,三级子表结构
    public static final String ES_ERP_PRINTBILL_LIFECYCLE_TYPE = "printbilllifecycle";

    public static final String ES_ERP_PRINT_BREED_PART_TYPE = "printbreedpart";

    //版任务
    public static final String ES_ERP_MACHINE_BREED_TASK_TYPE = "machinebreedtask";

    public static final String ES_ERP_PRINTBILL_STEP_INDEX = "es.billstep.index";
    public static final String ES_ERP_PRINTBILL_STEP_TYPE = "info";


    public static final String ES_ERP_PRINTBREED_PROCESS_INDEX = "es.breedprocess.index";
    public static final String ES_ERP_PRINTBREED_PROCESS_TYPE = "info";

    public static final String ES_ERP_TASK_FEEDBACK_RECORD_INDEX = "es.taskfeedbackrecord.index";
    public static final String ES_ERP_TASK_FEEDBACK_RECORD_TYPE = "info";

    /**
     * 专版施工单拼版任务
     */
    public static final String ESERPEXCLUSIVESPLICETASK_INDEX = "es.exclusivesplicetask.index";
    public static final String ESERPEXCLUSIVESPLICETASK_TYPE = "info";

    //endregion

    //region 客户档案

    public static final String ES_ERP_CLIENT_INFO_INDEX = "es.clientinfo.index";
    public static final String ES_ERP_CLIENT_INFO_TYPE = "info";

    public static final String ES_ERP_CLIENT_RECEIVEADDRESS_INDEX = "es.clientreceiveaddress.index";
    public static final String ES_ERP_CLIENT_RECEIVEADDRESS_TYPE = "info";
    //endregion

    //region 辅料
    public static final String ES_ERP_MATERIALTYPE_INDEX = "es.materialinfotype.index";
    public static final String ES_ERP_MATERIALTYPE_TYPE = "info";
    public static final String ES_ERP_MATERIALINFO_INDEX = "es.materialinfo.index";
    public static final String ES_ERP_MATERIALINFO_TYPE = "info";
    //endregion

    //region 纸张模块
    public static final String ES_ERP_PAPERINFO_INDEX = "es.paperinfo.index";
    public static final String ES_ERP_PAPERINFO_TYPE = "info";
    public static final String ES_ERP_PAPERTYPE_INDEX = "es.paperinfotype.index";
    public static final String ES_ERP_PAPERTYPE_TYPE = "info";
    public static final String ES_ERP_PAPERBASEINFO_INDEX = "es.paperbaseinfo.index";
    public static final String ES_ERP_PAPERBASEINFO_TYPE = "info";
    public static final String ES_ERP_PAPERQUOTEINFO_INDEX = "es.paperquoteinfo.index";
    public static final String ES_ERP_PAPERQUOTEINFO_TYPE = "info";

    //endregion

    //region 外协档案
    public static final String ES_ERP_OUTASSIST_INFO_INDEX = "es.outassistinfo.index";
    public static final String ES_ERP_OUTASSIST_INFO_TYPE = "info";
    //endregion

    //region 供应商档案
    public static final String ES_ERP_SUPPLIER_INFO_INDEX = "es.supplierInfo.index";
    public static final String ES_ERP_SUPPLIER_INFO_TYPE = "info";
    //endregion

    //region 物流档案
    public static final String ES_ERP_LOGISTICS_INFO_INDEX = "es.logisticsInfo.index";
    public static final String ES_ERP_LOGISTICS_INFO_TYPE = "info";
    //endregion

    //region 进销存
    public static final String ES_ERP_STOCK_BILL_INDEX = "es.stock.bill.index";
    public static final String ES_ERP_STOCK_BILL_TYPE = "info";
    public static final String ES_ERP_STOCK_BILL_ITEM_M_TYPE = "billitemm";
    public static final String ES_ERP_STOCK_BILL_ITEM_A_TYPE = "billitema";
    public static final String ES_ERP_STOCK_BILL_ITEM_P_TYPE = "billitemp";
    public static final String ES_ERP_STOCK_BILL_REFERENCE_TYPE = "billreference";
    public static final String ES_ERP_STOCK_BILL_ITEM_REFERENCE_TYPE = "billitemreference";
    public static final String ES_ERP_STOCK_BILL_STEP_INDEX = "es.stock.bill.step.index";
    public static final String ES_ERP_CORP_BILL_STATEMENT_INDEX = "es.corp.bill.statement.index";
    public static final String ES_ERP_STOCK_TRADE_BILL_INDEX = "es.stock.trade.bill.index";

    public static final String ES_ERP_ACCOUNT_TRADE_BILL_INDEX = "es.account.trade.bill.index";
    public static final String ES_ERP_ACCOUNT_WORK_BILL_INDEX = "es.account.work.bill.index";

    //endregion

    //region 外协单
    public static final String ES_ERP_OUTASSIST_BILL_INDEX = "es.outassistbill.index";
    public static final String ES_ERP_OUTASSIST_BILL_TYPE = "info";
    public static final String ES_ERP_OUTASSIST_BILL_ITEM_TYPE = "outassistbillitem";
    public static final String ES_ERP_OUTASSIST_PACK_MATERIAL_TYPE = "outassistpackmaterial";
    //endregion

    //region 在线支付

    public static final String ES_ERP_PAYMENT_ORDER_GROUP_INDEX = "es.paymentordergroup.index";
    public static final String ES_ERP_PAYMENT_ORDER_GROUP_TYPE = "info";

    //endregion

    //region 发货
    //2023-06-16，这个结构有个严重问题，es中label搞的父级是sendbill，没法改了还(把这句弄过来，引起下注意，看来老ERP弄的不是很好)
    public static final String ES_ERP_SEND_BILL_INDEX = "es.sendbill.index";
    public static final String ES_ERP_SEND_BILL_TYPE = "info";
    public static final String ES_ERP_SEND_BILL_ITEM_TYPE = "sendbillitem";
    public static final String ES_ERP_SEND_BILL_ITEM_LABEL_TYPE = "sendbillitemlabel";

    //endregion
}
