package com.sckw.transport.model.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author :chenXiaoFei
 * @version :1.0
 * @description : 分页查询订单响应参数
 * @create :2025-11-11 09:15:00
 */
@Data
public class LogisticsOrderResp implements Serializable {
    @Serial
    private static final long serialVersionUID = 7872786124086521416L;
    /**
     * 物流订单id
     */
    @Schema(description = "物流订单id")
    private String logisticsOrderId;
    /**
     * 物流订单编号
     */
    @Schema(description = "物流订单编号")
    private String logisticsOrderNo;
    @Schema(description = "贸易订单号")
    private String tradeOrderNo;
    /**
     * 托运单位id
     */
    @Schema(description = "托运单位id")
    private String consignCompanyId;
    /**
     * 托运单位名称
     */
    @Schema(description = "托运单位名称")
    private String consignCompanyName;
    /**
     * 承运单位id
     */
    @Schema(description = "承运单位id")
    private String carriageCompanyId;
    /**
     * 承运单位名称
     */
    @Schema(description = "承运单位名称")
    private String carriageCompanyName;
    /**
     * 商品id
     */
    @Schema(description = "商品id")
    private String goodsId;
    /**
     * 商品名称
     */
    @Schema(description = "商品名称")
    private String goodsName;
    /**
     * 运输单价
     */
    @Schema(description = "运输单价")
    private String transportPrice;
    /**
     * 计费方式
     */
    @Schema(description = "计费方式")
    private String chargeType;
    /**
     * 计费方式描述
     */
    @Schema(description = "计费方式描述")
    private String chargeTypeDesc;
    /**
     * 订单总量
     */
    @Schema(description = "订单总量")
    private String amount;
    /**
     * 预计运费
     */
    @Schema(description = "预计运费")
    private String expectedTransportPrice;
    /**
     * 实际运费
     */
    @Schema(description = "实际运费")
    private String actualTransportPrice;
    /**
     * 累计装货量
     */
    @Schema(description = "累计装货量")
    private String loadAmount;
    /**
     * 累计卸货量
     */
    @Schema(description = "累计卸货量")
    private String unloadAmount;
    /**
     * 装货地址
     */
    @Schema(description = "装货地址")
    private String loadAddress;
    /**
     * 卸货地址
     */

    @Schema(description = "卸货地址")
    private String unloadAddress;
    /**
     * 卸货联系人
     */
    @Schema(description = "卸货联系人")
    private String unloadContacts;
    /**
     * 卸货联系电话
     */

    @Schema(description = "卸货联系电话")
    private String unloadPhone;
    /**
     * 开始时间
     */
    @Schema(description = "开始时间")
    private String startTime;
    /**
     * 结束时间
     */
    @Schema(description = "结束时间")
    private String endTime;
    /**
     * 关联合同编号
     */
    @Schema(description = "关联合同编号")
    private String contractNo;
    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private String createTime;
    /**
     * 状态
     */
    @Schema(description = "状态")
    private String status;
    /**
     * 状态描述
     */
    @Schema(description = "状态描述")
    private String statusDesc;

    /**
     * 供应单位id
     */
    @Schema(description = "供应单位id")
    private String supplierCompanyId;
    /**
     * 供应单位名称
     */
    @Schema(description = "承运单位名称")
    private String supplierCompanyName;

    /**
     * 派单时间
     */
    @Schema(description = "派单时间")
    private String sendTime;

    /**
     * 派单人
     */
    @Schema(description = "派单人")
    private String sendOperator;

    /**
     * 派单人电话
     */
    @Schema(description = "派单人电话")
    private String sendPhone;

    /**
     * 装卸货之间距离
     */
    @Schema(description = "装卸货之间距离")
    private String distanceKm;

    /**
     * 购买企业id
     */
    @Schema(description = "购买企业id")
    private Long prEntId;

    /**
     * 购买企业名称
     */
    @Schema(description = "购买企业名称")
    private String prEntName;

    /**
     * 订单余量（带单位）
     */
    @Schema(description = "订单余量（带单位）")
    private String orderSurplus;

    /**
     * 订单余量
     */
    @Schema(description = "订单余量")
    private BigDecimal remainingAmount;

    /**
     * 订单类型
     */
    @Schema(description = "订单类型（1-原矿转运）")
    private Integer orderType;

}
