package com.lukouguoji.module_base.common

import kotlin.String

interface Constant {

    /**
     * shareKey
     */
    interface Share {
        companion object {

            /////用户信息
            const val ipAddress: String = "ipAddress"//返回值 String    接口地址
            const val ipAddressWeight: String = "ipAddressWeight"//返回值 String    地磅接口地址
            const val userName: String = "username"//返回值 String    用户名称
            const val account: String = "account"//返回值 String    用户名称

            //            const val userAccount: String = "account"//返回值 String    用户账号
            const val authList: String = "pass"//返回值 String    用户密码
            const val token: String = "token"//返回值 String    token
            const val id: String = "id"

            // 角色ID
            const val roleId: String = "roleId"

            const val IS_PDA = "is_pda"
        }
    }

    /**
     * 返回结果
     */
    interface Result {
        companion object {
            const val code2: String = "2"
            const val succ: String = "1"
            const val fail: String = "0"
            const val CODED_CONTENT = "codedContent"
        }
    }

    /**
     * 请求码
     */
    interface RequestCode {
        companion object {
            /**
             * 导航栏
             */
            const val home_left_hang_ban_query = 90 //航班查询

            /**
             * 国内出港
             */
            const val gnc_shouyun_refresh = 110  //国内出港收运列表刷新
            const val gnc_shouyun_search = 111  //国内出港收运查询
            const val gnc_shouyun_waybill = 112  //国内出港收运开始 运单
            const val gnc_shouyun_uld = 113  //国内出港收运开始 板车、uld
            const val gnc_shouyun_dibang_weight = 114  //国内出港收运开始 地磅

            const val gnc_fubang_car_no = 115  //国内出港复磅 板车
            const val gnc_fubang_dibang_weight = 116  //国内出港复磅 重量
            const val gnc_shouyun_list_refresh = 117  //国内出港复磅 列表回调
            const val gnc_fubang_search = 118  //国内出港复磅 查询


            const val gnc_transfer_car_no = 121  //国内出港转运 板车
            const val gnc_transfer_dibang_weight = 122  //国内出港转运 称重

            const val gnc_query_list = 141  //国内出港查询列表

            /**
             * 国内进港
             */
            const val gnj_cang_dan_list = 201  //国内进港 舱单列表
            const val gnj_cang_dan_info = 202  //国内进港 舱单详情
            const val gnj_chu_ku_list = 211  //国内进港 出库
            const val gnj_chu_ku_waybill = 212  //国内进港 出库运单

            const val gnj_ru_ku_car_no = 221  //国内进港 入库 板车
            const val gnj_ru_ku_waybill_no = 222  //国内进港 入库 运单

            const val gnj_yiku_wb_no_scan = 231  //国内进港 移库 运单
            const val gnj_yiku2_id_scan = 241  //国内进港 完成移库 移库单编号
            const val gnj_yiku2_wb_no_scan = 242  //国内进港 完成移库 运单

            /**
             * 国际出港
             */
            const val gjc_shouyun_refresh = 311  //国际出港收运列表刷新
            const val gjc_shouyun_search = 312  //国际出港收运查询
            const val gjc_shouyun_waybill = 313  //国际出港收运开始 运单
            const val gjc_shouyun_tuopan = 314  //国际出港收运开始 托盘
            const val gjc_shouyun_jizhuang = 315  //国际出港收运开始 集装

            const val gjc_fubang_car_id = 321  //国际出港复磅 架子车
            const val gjc_fubang_uld_id = 322  //国际出港复磅 集装器

            const val gjc_yiku_wb_no_scan = 331  //国际出港 移库 运单
            const val gjc_yiku2_id_scan = 341  //国际出港 完成移库 移库单编号
            const val gjc_yiku2_wb_no_scan = 342  //国际出港 完成移库 运单

            /**
             * 国际进港
             */
            const val gjj_cang_dan_list = 401  //国际进港 舱单列表
            const val gjj_cang_dan_info = 402  //国际进港 舱单详情

            /**
             * 货物查询
             */
            const val cargo_query_wbno_scan = 501 //货物查询 运单扫码

            /**
             * 监装监卸
             */
            const val mit_in_pack_info_car_scan = 601  //监装监卸 扫码板车号

            const val accident_visa_info_wbno_scan = 701  //事故签证 运单扫描
            const val accident_visa_list_query_result = 702  //事故签证 返回查询

            // 平板车
            const val CAR = 1000
            const val CAREND = 1001

            // ULD
            const val ULD = 10001

            // 航班号
            const val FLIGHT_NO = 10005

            // 运单
            const val WAYBILL = 10002

            // 分单号
            const val HNO = 10006

            // 单号
            const val CODE = 10003
            const val ORDER = 10004

        }
    }

    interface businessType {
        companion object {
            //CI:国内进港,CO:国内出港,II:国际进港,IO:国际出港
            const val CI = "CI"
            const val CO = "CO"
            const val II = "II"
            const val IO = "IO"
        }
    }

    interface CargoTracking {
        companion object {
            const val gnStatus = "0"//国内
            const val gjStatus = "1"//国际
            const val importStatus = "I"//进港
            const val exportStatus = "E"//出港
        }
    }

    interface Other {
        companion object {
            const val DGR = "DGR"//特码 危险品
        }
    }

    /**
     * 菜单权限名称
     */
    /*国内出港	mnuDomExp	出港收运	AppDomExpCheckin
                            出港复磅	AppDomExpWeighting
                            出港转运	AppDomExpTransport
                            仓库管理	AppDomExpWareHouse
                            出港查询	AppDomExpSearch
    国内进港	mnuDomImp	进港舱单	AppDomImpManiFest
                        提取出库	AppDomImpPickUpDLV
                        进港移库	AppDomImpMove
                        仓库管理	AppDomImpWareHouse
                        入库确认	AppDomImpConfirm
                        进港查询	AppDomImpSearch
    国际出港	mnuIntExp	出港收运	AppIntExpCheckIn
                        出港复磅	AppIntExpULDWeighing
                        仓库管理	AppIntExpWareHouse
                        出港移库	AppIntExpMove
                        出港查询	AppIntExpSearch
    国际进港	mnuIntImp	进港舱单	AppIntImpManiFest
                        提取出库	AppIntImpPickUpDLV
                        仓库管理	AppIntImpWareHouse
                        进港查询	AppIntImpSearch
    航班查询	mnuFlight	航班查询	AppFlightManage
    货物状态查询	mnuCargoStatus	货物状态查询	AppCargoStatus
    监装监卸	mnuSupervision 	进港卸机	AppImpLoad
                            事故签证	AppAccidentVisa
                            出港装板	AppExpLoad
    */
    interface AuthName {
        companion object {
            /**
             * 国内出港
             */
            const val DomExp = "DomExp" //国内出港    主菜单

            const val AppTest = "AppTest"//测试页面

            const val AppDomExpCheckin = "AppDomExpCheckIn"//国内出港收运
            const val AppDomExpWeighting = "AppDomExpWeighting"//国内出港复磅
            const val AppDomExpTransport = "AppDomExpTransport"//国内出港转运
            const val AppDomExpWareHouse = "AppDomExpWareHouse"//国内出港仓库
            const val AppDomExpSearch = "AppDomExpSearch"//国内出港查询
            const val AppDomOut = "AppDomExpOut"//国内出港出库
            const val AppDomLoad = "AppDomExpLoad"//国内出港装机

            const val AppDomExpAssemble = "AppDomExpAssemble"//国内出港 组装
            const val AppDomExpDistribution = "AppDomExpDistribution"//国内出港 分配
            const val AppDomExpDeposit = "AppDomExpDeposit"//国内出港 存放
            const val AppDomExpInspection = "AppDomExpInspection"//国内出港 收运检查

            /**
             * 国内进港
             */
            const val DomImp = "DomImp" //国内进港    主菜单

            const val GnjAppDomExpCheckin = "AppDomImpManiFest" //舱单
            const val GnjChuKuList = "AppDomImpPickUpDLV" //出库
            const val GnjWareHouse = "AppDomImpWareHouse" //仓库
            const val GnjQueryList = "AppDomImpSearch" //查询
            const val GnjRuKu = "AppDomImpConfirm" //入库
            const val GnjYiKu = "AppDomImpMove" //移库
            const val GnjHandover = "AppDomImpHandover" // 进港交接

            /**
             * 国际出港
             */
            const val IntExp = "IntExp" //国际出港    主菜单

            const val GjcAppDomExpCheckin = "AppIntExpCheckIn" //收运
            const val GjcFuBangActivity = "AppIntExpULDWeighing" //复磅
            const val GjcCheckWeighing = "AppIntExpCheckWeighing" //出港计重
            const val GjcWareHouseActivity = "AppIntExpWareHouse" //仓库
            const val GjcQueryListActivity = "AppIntExpSearch" //查询
            const val GjcYiKuListActivity = "AppIntExpMove" //移库

            const val GjcBanXListActivity = "AppIntExpBox" //板箱
            const val GjcGoodsListActivity = "AppIntExpGoods" //货物交接
            const val GjcInspectionActivity = "AppIntExpInspection" //收运检查
            const val GjcIntExpAssembleActivity = "AppIntExpAssemble" //出港组装
            const val GjcAssembleAllocateActivity = "AppIntExpAssembleAllocate" //组装分配
            const val GjcIntExpOutHandover = "AppIntExpOutHandover" //出库交接
            const val GjcIntExpLoad = "AppIntExpLoad" //出港装载
            const val GjcIntExpTally = "AppIntExpTally" //出港理货
            const val GjcIntExpArrive = "AppIntExpArrive" //出港运抵
            const val GjcIntExpStorageUse = "AppIntExpStorageUse" //仓库

            /**
             * 国际进港
             */
            const val IntImp = "IntImp" //国际进港    主菜单

            const val GjjCangDanListActivity = "AppIntImpManiFest" //舱单
            const val GjjWareHouseActivity = "AppIntImpWareHouse" //仓库
            const val GjjChuKuListActivity = "AppIntImpPickUpDLV" //出库
            const val GjjQueryListActivity = "AppIntImpSearch" //查询

            const val GjjPacketParseActivity = "AppIntExpPacketParse" //报文解析（旧）
            const val IntImpMsgParseActivity = "AppIntImpMsgParse" //电报解析（电报生成）
            const val IntArrAirManifest = "AppIntImpOMFT" //原始舱单
            const val IntImpManifest = "AppIntImpManifest" //进港舱单
            const val IntImpTally = "AppIntImpTally" //理货报告
            const val IntImpPickUpRecord = "AppIntImpPickUpRecord" //提取记录
            const val IntImpPickUpDLV = "AppIntImpPickUpDLV" //提取出库
            // 进港移库：后端暂无该模块与权限串（2026-07-31 api-doc 核对），按 AppIntImp* 命名约定预定义，
            // 权限串下发前手机首页菜单不会显示该入口（已登记后端接口对接问题清单）
            const val IntImpAccidentVisa = "AppIntImpAccidentVisa" //事故签证
            const val GjjManifestListActivity = "AppIntExpManifest" //舱单
            const val GjjTallyListActivity = "AppIntExpTally" //理货
            const val GjjGoodsListActivity = "AppIntExpGjjGoods" //货物交接

            /**
             * 航班查询
             */
            const val Flight = "Flight" //航班查询    主菜单

            const val HangBanQuery = "AppFlightManage" //查询

            /**
             * 货物追踪
             */
            const val CargoStatus = "CargoStatus" //货物追踪    主菜单

            const val CargoTracking = "AppCargoStatus" //货物追踪

            /**
             * 监装监卸
             */
            const val Supervision = "Supervision" //监装监卸    主菜单

            const val MonitorInPack = "AppImpLoad" //进港卸机
            const val AccidentVisa = "AppAccidentVisa" //事故签证

            // 事故签证
            const val ComprehensiveAccidentVisa = "AppGNJAccidentVisa"
            // 单证交接
            const val DocumentHandover = "AppDocHandoverLog"

            const val OutLoadingActivity = "AppExpLoad" //出港装板

            /**
             * 综合管理
             */
            const val Comprehensive = "Comprehensive" //综合管理    主菜单

            // 消息管理
            const val ComprehensiveMessage = "AppComprehensiveMessage"

            // 电报管理
            const val ComprehensiveTelegram = "AppComprehensiveTelegram"

            // 货物转运
            const val ComprehensiveTransfer = "AppComprehensiveTransfer"

            //转运记录
            const val TransportLog = "AppTransportLog"

            // 平板车管理
            const val ComprehensiveCar = "AppComprehensiveCar"

            // 日志查询
            const val ComprehensiveLog = "AppComprehensiveLog"

            // ULD管理
            const val ComprehensiveUld = "AppComprehensiveUld"

            // 冷库登记
            const val ComprehensiveColdStorage = "AppComprehensiveColdStorage"
        }
    }

    object Key {
        // 平板车
        const val FLATCAR = "flatcar"

        // ULD
        const val ULD = "uld"

        // 数据
        const val DATA = "data"
        const val POSITION = "position"

        // 单号
        const val CODE = "code"

        // ID
        const val ID = "id"

        // 流向
        const val FLOW = "flow"

        // 页面类型
        const val PAGE_TYPE = "pageType"

        // 运单
        const val WAYBILL = "waybill"

        // 始发港
        const val DEPARTURE = "departure"

        // 目的港
        const val DESTINATION = "destination"

        // 航班
        const val FLIGHT = "flight"

        // 国际进港舱单-新增
        const val FNJ_MANIFEST_ADD = "fnj_manifest_add"

        // 是否可修改
        const val MODIFY = "MODIFY"

        // 运单主键ID
        const val MAWB_ID = "maWbId"

        // 舱单ID
        const val MF_ID = "MF_ID"

        // 运单前缀
        const val PREFIX = "prefix"

        // 运单号
        const val NO = "no"

        // 操作时间
        const val OP_DATE = "opDate"

        // Bean对象传递
        const val BEAN = "bean"

        // 运单号（日志详情）
        const val KEY = "key"

        // 运单类型
        const val AWB_TYPE = "awbType"

        const val PIC = "pic"
        const val ORIGINAL_PIC = "originalPic"
    }
}