package com.lukouguoji.module_base.bean

import androidx.databinding.ObservableBoolean

data class ULDBean(
    var airport: String = "",
    var carrier: String = "",
    // 最大体积
    var maxVolume: String = "",
    // 最大载量
    var maxWeight: String = "",
    // 自重
    var uldWeight: String = "",
    var organizationCode: String = "",
    var uld: String = "",
    var uldFlag: String = "",
    var uldType: String = "",
    // 状态 0:正常 1:故障
    var status: String = "",
    // 备注
    var remark: String = "",
    // ========== 以下字段接口出参已有（api-doc /eqm/uld/pageQuery），此前 Bean 未解析 ==========
    // 进港航班号（语义待后端确认，见 documents/后端接口对接问题清单.xlsx）
    var ifNo: String = "",
    // 出港航班号
    var efNo: String = "",
    // 入库时间
    var checkInDate: String = "",
    // 出库时间
    var checkOutDate: String = "",
    // ========== 后端暂无对应字段，前端按设计稿预留（提交后端忽略，无副作用） ==========
    // 来源：空运 / 陆运（后端字段需求已登记清单）
    var source: String = "",
){
    val checked = ObservableBoolean(false)

    fun statusName(): String = when (status) {
        "0" -> "正常"
        "1" -> "故障"
        else -> status
    }

    // ========== 手机版（5.5 寸手持端）三态状态展示 ==========
    // 设计稿状态为 可用(绿)/占用(橙)/维修(红) 三态；后端当前仅两态（0/1），
    // 按语义映射 0→可用、1→维修，"2"→占用为后端扩展枚举后的预留（需求已登记清单）。

    /** 手机版状态文案 */
    val statusPhoneName: String
        get() = when (status) {
            "0" -> "可用"
            "1" -> "维修"
            "2" -> "占用"
            else -> statusName()
        }

    /** 可用（绿色标签） */
    val isStatusAvailable: Boolean get() = status == "0"

    /** 占用（橙色标签，后端扩展枚举后的预留） */
    val isStatusOccupied: Boolean get() = status == "2"
}