package com.lukouguoji.module_base.bean

import androidx.databinding.ObservableBoolean
import androidx.lifecycle.MutableLiveData
import com.lukouguoji.module_base.R
import com.lukouguoji.module_base.interfaces.ICheck
import com.lukouguoji.module_base.ktx.noNull
import com.lukouguoji.module_base.util.DictUtils
import com.lukouguoji.module_base.util.DictUtils.transportTypeList
import dev.DevUtils
import dev.utils.app.info.KeyValue

/**
 * 转运日志
 */
class TransportLogBean : ICheck {
    var id: Long = 0
    var carId: String = "" // 012
    var driver: String = "" // null
    var opId: String = "" // null
    var opDate: String = "" // 2024-06-25 21:00:00
    val opDateTime: String
        get() {
            return opDate.split(" ").lastOrNull().noNull()
        }


    var fdate: String = "" // 2024-06-25

    val fDateNoYear: String
        get() {
            var (year, mon, day) = fdate.split("-")
            return "$year$mon$day"
        }
    var fdep: String = "" // PEK
    var fdest: String = "" // HFE
    var flight: String = "" // null
    var fno: String = "" // MU2266


    // 0出港、1进港(转运页面判断)
    var status: String = "" // 1
    var transDate: String = "" // null

    // 转运起始站(1：出港库区，2：进港库区，3：转运区，4：出港机坪，5：进港机坪)
    var transDep: String = "" // 5

    // 转运目的站(1：出港库区，2：进港库区，3：转运区，4：出港机坪)
    var transDest: String = "" // 3


    // 运输状态 字典表code = TRANSSTATUS(0待运输、1开始运输、2完成运输)
    var transStatus: String = "" // 0

    var transStatusName: String = ""
//        get() {
//            return when (transStatus) {
//                "0" -> "未运输"
//                "1" -> "开始运输"
//                "2" -> "完成运输"
//                else -> ""
//            }
//        }
    val transStatusColor: Int
        get() {
            return DevUtils.getTopActivity().resources.getColor(
                when (transStatus) {
                    "0" -> R.color.blue
                    "1" -> R.color.green
                    "2" -> R.color.red
                    else -> R.color.blue
                }
            )
        }
    var transType: String = "" // 运输类型 字典表code = TRANSTYPE()
    var transTypeName: String = "" // 运输类型 字典表code = TRANSTYPE()

    var useId: String = "" // 平板记录ID
    var standId: String = "" // 机位


    var range: String = "" // null
        get() {
            if (field.isEmpty()) {
                field = "$fdep-$fdest"
            }
            return field
        }


    // 选中状态
    val checked = ObservableBoolean(false)



    override fun getCheckObservable() = checked

}