package com.bs.tm.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;

/**
 * 运输装载对象 tm_order_trans_cargo
 *
 * @author bs
 * @date 2024-02-07
 */
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tm_order_trans_cargo")
@Data
public class TmOrderTransCargo extends BaseEntity{
    private static final long serialVersionUID = 1L;

    /** id */
    @TableId(value = "id",type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Long id;

    @Excel(name = "订单号")
    @TableField(exist = false)
    private String orderNo;

    @Excel(name = "订单状态")
    @TableField(exist = false)
    private String status;

    @Excel(name = "承运公司")
    @TableField(exist = false)
    private String custName;

    @Excel(name = "车牌号码")
    @TableField(exist = false)
    private String vehicleNumber;

    @Excel(name = "司机")
    @TableField(exist = false)
    private String driverName;


    //@Excel(name = "订单ID")
    @ApiModelProperty(value = "订单ID")
    private Long orderId;

    /** 运输计划ID */

    //@Excel(name = "运输计划ID")
    @ApiModelProperty(value = "运输计划ID")
    private Long transId;

    /** 货物ID */

    //@Excel(name = "货物ID")
    @ApiModelProperty(value = "货物ID")
    private Long orderCargoId;

    /** 运输货物 */

    @Excel(name = "运输货物")
    @ApiModelProperty(value = "运输货物")
    private String cargoName;

    /** 装货实际毛重 */

    @Excel(name = "装货毛重")
    @ApiModelProperty(value = "装货毛重")
    private BigDecimal grossWeightLoading;

    @Excel(name = "装货车重")
    @ApiModelProperty(value = "装货车重")
    private BigDecimal pierCarWeight;


    /** 实际装货重量 */

    @Excel(name = "装货净重")
    @ApiModelProperty(value = "装货净重")
    private BigDecimal realLoadWt;

    /** 卸货实际毛重 */

    @Excel(name = "卸货毛重")
    @ApiModelProperty(value = "卸货实际毛重")
    private BigDecimal grossWeightUnloading;

    @Excel(name = "卸货车重")
    @ApiModelProperty(value = "卸货车重")
    private BigDecimal plantCarWeight;

    /** 实际到货重量 */

    @Excel(name = "卸货净重")
    @ApiModelProperty(value = "卸货净重")
    private BigDecimal realTransWt;

    /** 工厂总重 */

    @Excel(name = "工厂总重")
    @ApiModelProperty(value = "工厂总重")
    private BigDecimal plantWeight;

    /** 码头总重 */

    @Excel(name = "码头总重")
    @ApiModelProperty(value = "码头总重")
    private BigDecimal pierWeight;


    /** 磅差 */

    @Excel(name = "磅差")
    @ApiModelProperty(value = "磅差")
    private BigDecimal poundDifference;

    /** 录入日期 */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "录入日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "录入日期")
    private Date inputDate;

    /** 预计装货重量 */

    @Excel(name = "预计装货重量")
    @ApiModelProperty(value = "预计装货重量")
    private BigDecimal loadWt;



    /** 预计装货体积 */

    @Excel(name = "预计装货体积")
    @ApiModelProperty(value = "预计装货体积")
    private BigDecimal loadVol;

    /** 实际装货体积 */

    @Excel(name = "实际装货体积")
    @ApiModelProperty(value = "实际装货体积")
    private BigDecimal realLoadVol;

    /** 实际到货体积 */

    @Excel(name = "实际到货体积")
    @ApiModelProperty(value = "实际到货体积")
    private BigDecimal realTransVol;

    /** 预计装货件数 */

    @Excel(name = "预计装货件数")
    @ApiModelProperty(value = "预计装货件数")
    private BigDecimal loadNum;

    /** 实际装货件数 */

    @Excel(name = "实际装货件数")
    @ApiModelProperty(value = "实际装货件数")
    private BigDecimal realLoadNum;

    /** 实际到货件数 */

    @Excel(name = "实际到货件数")
    @ApiModelProperty(value = "实际到货件数")
    private BigDecimal realTransNum;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "计划发货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "计划发货时间")
    private Date departTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "计划到货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "计划到货时间")
    private Date arrivalTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际发货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际发货时间")
    private Date realDepartTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际到货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际到货时间")
    private Date realArrivalTime;

    /** 备注 */

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

    @TableField(exist = false)
    private TmOrder order;


    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date beginDate;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

//    @Excel(name = "司机电话")
    @TableField(exist = false)
    private String driverMobile;

//    @Excel(name = "司机电话")
    @TableField(exist = false)
    private String receiver;




}
