package cn.muchinfo.rma.global.data

import android.os.Parcel
import android.os.Parcelable

data class AmountLogData(
    val OPERATETYPENAME : String? = "",//资金操作类型名称
    val accountid : String? = "",//资金账户ID
    val agoodscode : String? = "",//竞拍商品代码
    val agoodsname : String? = "",//竞拍商品名称
    val amount : String? = "",//资金金额
    val amountadjusttype : String? = "",//资金调整类型(默认值为0) - 0：系统 1:单边账调整 2:人工调整
    val autoid : String? = "",//流水ID(220+Unix秒时间戳(10位)+xxxxxx)
    val balance : String? = "",//期初余额
    val businesscode : String? = "",//业务编号
    val createtime : String? = "",//发生时间
    val currencyid : String? = "",//币种ID
    val currentbalance : String? = "",//期末余额(变动后金额)
    val dgoodscode : String? = "",//交割商品代码
    val dgoodsname : String? = "",//交割商品名称
    val goodscode : String? = "",//商品代码
    val goodsid : String? = "",//商品ID
    val goodsname : String? = "",//商品名称
    val histradedate : String? = "",//历史交易日
    val isvaliddata : String? = "",//是否有效 - 0:无效 1:有效
    val marketid : String? = "",//市场ID
    val marketname : String? = "",//市场名称
    val moneyticket : String? = "",//资金流水号：银行端流水号
    val operatetype : String? = "",//资金操作类型 (AccountFundCmdOp)- 101:入金 102:入金手续费 103:出金 104:出金冻结 105:出金解冻 106:出金手续费 107:出金手续费冻结 108:出金手续费解冻 201:交易冻结 202:交易解冻 203:交易占用 204:交易解占用 205:交易手续费冻结 206:交易手续费解冻 207:交易手续费 208:交易货款 209:交易盈亏 301:交割冻结 302:交割解冻 303:交割手续费 304:交割手续费冻结 305:交割手续费解冻 306:交割货款 307:交割税款 401:结算盈亏 402:结算递延费 403:分润收入 404:延期分润 501:授信增加 502:授信减少 503:转积分 504:转入 505:转出 506:转出冻结 507:转出解冻 601:履约金额冻结 602:履约最大冻结 603:履约金额解冻 604:履约扣款 605:履约收款 606:履约违约手续费 607:履约违约收入 608:履约最大扣款 701:供应链金融冻结 702:供应链金融解冻 703:供应链金融最大冻结 704:供应链金融利息 705:供应链金融货款 706:供应链金融押金 707:供应链金融最大扣款 801:仓单贸易冻结 802:仓单贸易解冻 803:仓单贸易首付款 804:仓单贸易最大扣款 901:商城扣款冻结 902:商城扣款解冻 903:商城扣款 904:商城收款 1001:期权冻结 1002:期权解冻 1003:期权权力金 1004:期权手续费冻结 1005:期权手续费解冻 1006:期权手续费 1007:期权盈亏 1101:营销扣款 1102:营销收款
    val relationorderid : String? = "",//关联单号
    val remark : String? = "",//备注
    val trademode : String? = ""//交易模式
) : Parcelable{
    constructor(parcel: Parcel) : this(
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString()
    ) {
    }

    override fun writeToParcel(parcel: Parcel, flags: Int) {
        parcel.writeString(OPERATETYPENAME)
        parcel.writeString(accountid)
        parcel.writeString(agoodscode)
        parcel.writeString(agoodsname)
        parcel.writeString(amount)
        parcel.writeString(amountadjusttype)
        parcel.writeString(autoid)
        parcel.writeString(balance)
        parcel.writeString(businesscode)
        parcel.writeString(createtime)
        parcel.writeString(currencyid)
        parcel.writeString(currentbalance)
        parcel.writeString(dgoodscode)
        parcel.writeString(dgoodsname)
        parcel.writeString(goodscode)
        parcel.writeString(goodsid)
        parcel.writeString(goodsname)
        parcel.writeString(histradedate)
        parcel.writeString(isvaliddata)
        parcel.writeString(marketid)
        parcel.writeString(marketname)
        parcel.writeString(moneyticket)
        parcel.writeString(operatetype)
        parcel.writeString(relationorderid)
        parcel.writeString(remark)
        parcel.writeString(trademode)
    }

    override fun describeContents(): Int {
        return 0
    }

    companion object CREATOR : Parcelable.Creator<AmountLogData> {
        override fun createFromParcel(parcel: Parcel): AmountLogData {
            return AmountLogData(parcel)
        }

        override fun newArray(size: Int): Array<AmountLogData?> {
            return arrayOfNulls(size)
        }
    }

}