package com.sckw.mongo.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

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

/**
 * @author zk
 * @desc MongoDB-车辆订单信息
 * @date 2023/7/8
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@Document(collection = "sckw_waybill_order")
public class SckwWaybillOrder{

    /**
     * 主键
     */
    @Id
    private Long _id;

    /**
     * 主键
     */
    private Long wOrderId;

    /**
     * 编号
     */
    private String wOrderNo;

    /**
     * 主键
     */
    private Long lOrderId;

    /**
     * 物流订单编号
     */
    private String lOrderNo;

    /**
     * 交易订单id（kwo_trade_order）
     */
    private Long tOrderId;

    /**
     * 交易订单编号（kwo_trade_order）
     */
    private String tOrderNo;

    /**
     * 企业id
     */
    private Long entId;

    /**
     * 企业名称
     */
    private String firmName;


    /**
     * 车辆id
     */
    private Long truckId;

    /**
     * 车牌号
     */
    private String truckNo;

    /**
     * 车辆类型（牵引车、自卸、高栏、平板、厢式、集装箱车、罐车、封闭式、专项作业车、其他）
     */
    private String truckType;

    /**
     * 车能源类型（柴油、汽油、电动、氢能、天然气、液化石油气、甲醇、油电混动、油气混动、其他）
     */
    private String truckEnergyType;

    /**
     * 车使用性质(营运车、租赁车辆、货运车、危化品运输车、非营运车、其他)
     */
    private String truckUseType;

    /**
     * 车辆颜色
     */
    private String truckColor;

    /**
     * 车挂车号
     */
    private String truckTrailerNo;


    /**
     * 司机主键ID
     */
    private Long driverId;

    /**
     * 司机姓名
     */
    private String driverName;

    /**
     * 司机手机号码
     */
    private String driverPhone;

    /**
     * 司机身份证号
     */
    private String driverIdcard;


    /**
     * 装货日期（实际装货时间）
     */
    private Date loadTime;

    /**
     * 卸货日期(实际卸货时间)
     */
    private Date unloadTime;

    /**
     * 1循环/2趟次
     */
    private Integer type;

    /**
     * 启送时间
     */
    private Date startTime;

    /**
     * 结束时间
     */
    private Date endTime;

    /**
     * 已委托量
     */
    private BigDecimal entrustAmount;

    /**
     * 托量单位
     */
    private String unit;

    /**
     * 装货重量
     */
    private BigDecimal loadAmount;

    /**
     * 装货皮重
     */
    private BigDecimal loadTareAmount;

    /**
     * 装货毛重
     */
    private BigDecimal loadGrossAmount;

    /**
     * 装货上传凭证地址，多个以英文逗号隔开
     */
    private String loadUrls;

    /**
     * 卸货重量
     */
    private BigDecimal unloadAmount;

    /**
     * 卸货皮重
     */
    private BigDecimal unloadTareAmount;

    /**
     * 卸货毛重
     */
    private BigDecimal unloadGrossAmount;

    /**
     * 卸货上传凭证地址，多个以英文逗号隔开
     */
    private String unloadUrls;

    /**
     * 亏吨重量
     */
    private BigDecimal deficitAmount;

    /**
     * 亏吨扣款（自己承运总亏吨扣款）
     */
    private BigDecimal deficitPrice;

    /**
     * 合理损耗
     */
    private BigDecimal loss;

    /**
     * 合理损耗-单位
     */
    private String lossUnit;

    /**
     * 扣亏损值(合理损耗-(实装-实卸))
     */
    private BigDecimal goodsPrice;

    /**
     * 扣亏损值(合理损耗-(实装-实卸))-单位
     */
    private String goodsPriceUnit;


    /**
     * 商品主键
     */
    private Long goodsId;

    /**
     * 商品编号
     */
    private String goodsCode;

    /**
     * 商品名称
     */
    private String goodsName;

    /**
     * 商品类型
     */
    private String goodsType;

    /**
     * 商品行业
     */
    private Long goodsIndustry;

    /**
     * 商品尺寸大小
     */
    private String goodsSpec;


    /**
     * 托运企业主键ID
     */
    private Long checkEntId;

    /**
     * 托运企业名称
     */
    private String checkFirmName;

    /**
     * 托运企业联系人
     */
    private String checkContacts;

    /**
     * 托运企业联系电话
     */
    private String checkPhone;

    /**
     * 承运企业主键ID
     */
    private Long carrierEntId;

    /**
     * 承运企业名称
     */
    private String carrierFirmName;

    /**
     * 承运企业联系人
     */
    private String carrierContacts;

    /**
     * 承运企业联系电话
     */
    private String carrierPhone;


    /**
     * 装货地址名称
     */
    private String loadName;

    /**
     * 装货地址类型
     */
    private Long loadType;

    /**
     * 装货联系人姓名
     */
    private String loadContacts;

    /**
     * 装货联系电话
     */
    private String loadPhone;

    /**
     * 装货所在地区
     */
    private String loadCityCode;

    /**
     * 装货所属区域名称
     */
    private String loadCityName;

    /**
     * 装货详细地址
     */
    private String loadDetailAddress;

    /**
     * 装货纬度
     */
    private String loadLat;

    /**
     * 装货纬度
     */
    private String loadLng;

    /**
     * 卸货地址名称
     */
    private String unloadName;

    /**
     * 卸货地址类型
     */
    private Long unloadType;

    /**
     * 卸货联系人姓名
     */
    private String unloadContacts;

    /**
     * 卸货联系电话
     */
    private String unloadPhone;

    /**
     * 卸货所在地区
     */
    private String unloadCityCode;

    /**
     * 卸货所属区域名称
     */
    private String unloadCityName;

    /**
     * 卸货详细地址
     */
    private String unloadDetailAddress;

    /**
     * 卸货纬度
     */
    private String unloadLat;

    /**
     * 卸货纬度
     */
    private String unloadLng;


    /**
     * 单据状态
     */
    private Integer status;
    /**
     * 创建人主键id
     */
    private Long createBy;

    /**
     * 创建人姓名
     */
    private String createByName;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新人主键id
     */
    private Long updateBy;

    /**
     * 更新人姓名
     */
    private String updateByName;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 是否删除（0未删除，1删除）
     */
    private Integer delFlag;

}
