package com.lukouguoji.module_base.bean

import androidx.databinding.ObservableBoolean
import com.lukouguoji.module_base.ktx.noNull
import com.lukouguoji.module_base.util.DictUtils

data class GncAssembleListBean(
    /**
     * 有效性
     */
    val activited: String = "",

    /**
     * 分配状态 0：未分配，1：已分配
     */
    val allocationStatus: String = "",

    /**
     * 板型
     */
    val boardType: String = "",

    /**
     * 货物类型(C-货物,M-邮件,X-空板箱)
     */
    val cargoType: String = "",

    /**
     * 货重-必填
     */
    val cargoWeight: String = "",

    /**
     * 平板车号-必填
     */
    val carId: String = "",

    /**
     * 承运人
     */
    val carrier: String = "",

    /**
     * 平板车自重量-必填
     */
    val carWeight: String = "",

    /**
     * 板车状态-0未复磅、1已复磅
     */
    val checkFlag: String = "",

    /**
     * 复磅操作时间
     */
    val copDate: String = "",

    /**
     * 复磅人
     */
    val copId: String = "",

    /**
     * 转运司机
     */
    val driver: String = "",

    /**
     * 预计起飞时间
     */
    val estimatedTakeOff: String = "",

    /**
     * 航班关闭时间
     */
    val fclose: String = "",

    /**
     * 航班日期
     */
    val fdate: String = "",

    /**
     * 起始站
     */
    val fdep: String = "",

    /**
     * 目的站
     */
    val fdest: String = "",

    /**
     * 航班
     */
    val flight: String = "",

    /**
     * 航班号
     */
    val fno: String = "",

    /**
     * 装机单备注
     */
    val ldRemark: String = "",

    /**
     * 舱位
     */
    val location: String = "",

    /**
     * 货邮混装时邮件重量
     */
    val mailWeight: String = "",

    /**
     * 最大载重-必填
     */
    val maxWeight: String = "",

    /**
     * 净重（装机重量）-必填
     */
    val netWeight: String = "",

    /**
     * 操作时间
     */
    val opDate: String = "",

    /**
     * 操作人
     */
    val opId: String = "",

    /**
     * 操作人--中文
     */
    val username: String = "",

    /**
     * 件数-必填
     */
    val pc: String = "",

    /**
     * 装载优先级
     */
    val priority: String = "",

    /**
     * 备注
     */
    val remark: String = "",

    /**
     * 机位
     */
    val standId: String = "",

    /**
     * 存放区域
     */
    val storageArea: String = "",

    /**
     * 总重-必填
     */
    val totalWeight: String = "",

    val transDate: String = "",
    val transId: String = "",

    /**
     * 运输状态 字典表code = TRANSSTATUS
     */
    val transStatus: String = "",

    /**
     * 运输类型 字典表code = TRANSTYPE
     */
    val transType: String = "",

    /**
     * ULD编号
     */
    val uld: String = "",

    /**
     * ULD自重
     */
    val uldWeight: String = "",

    /**
     * ID
     */
    val useId: String = "",

    /**
     * 体积-必填
     */
    val volume: String = "",

    /**
     * 仓库记录列表
     */
    val warehouseList: List<WaybillBean>? = null
) {

    val checked = ObservableBoolean(false)

    val showMore = ObservableBoolean(false)

    // 获取复磅名称
    fun getFuBangStatusName(): String {
        return DictUtils.reWeightStatusList.find { it.value == checkFlag }?.key.noNull()
    }

    // 获取截载状态
    fun getJieZaiStatusName(): String {
        return DictUtils.cutStatusList.find { it.value == activited }?.key.noNull()
    }

}