package com.sckw.transport.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

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

/**
 * @author lfdc
 * @description 订单详情vo
 * @date 2023-07-12 09:07:57
 */
@Data
public class OrderDetailVO {
    private String id;
    /**
     * 计费方式
     */
    private String billingMode;
    /**
     * 计费方式-label
     */
    private String billingModeLabel;
    /**
     * 承运单位id
     */
    private Long carrierCompanyId;
    /**
     * 承运单位
     */
    private String carrierCompany;
    /**
     * 承运联系人
     */
    private String carrierContacts;
    /**
     * 承运联系电话
     */
    private String carrierPhone;
    /**
     * 收款单位
     */
    private String collectionCompany;
    /**
     * 托运单位id
     */
    private Long consignCompanyId;
    /**
     * 托运单位
     */
    private String consignCompany;
    /**
     * 托运联系人
     */
    private String consignContacts;
    /**
     * 托运联系电话
     */
    private String consignPhone;
    /**
     * 扣亏损值
     */
    private BigDecimal deduct;

    /**
     * 扣亏损值
     */
    private String deductLabel;

    /**
     * 订单状态
     */
    private Integer status;

    /**
     * 订单状态label
     */
    private String statusLabel;

    /**
     * 商品名称
     */
    private String goodsId;
    /**
     * 商品名称
     */
    private String goodsName;
    /**
     * 合理亏损
     */
    private BigDecimal loss;

    /**
     * 合理亏损
     */
    private String lossLabel;
    /**
     * 任务总量
     */
    private BigDecimal number;

    /**
     * 任务总量
     */
    private String numberLabel;

    /**
     * 订单金额
     */
    private BigDecimal orderAmount;
    /**
     * 已履约量
     */
    private BigDecimal performanceAmount;
    /**
     * 运价
     */
    private BigDecimal price;


    /**
     * 运价方式
     */
    private String priceLabel;

    /**
     * 计划结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime scheduleEndTime;
    /**
     * 计划开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime scheduleStartTime;
    /**
     * 结算周期
     */
    private String settlementCycle;

    /**
     * 结算周期
     */
    private String settlementCycleLabel;

    /**
     * 备注
     */
    private String remark;
    /**
     * 合同id
     */
    private String contractId;
    /**
     * 合同名称
     */
    private String contractName;
    /**
     * 合同编号
     */
    private String contractNo;

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

    /**
     * 装货地址
     */
    private String loadAddress;
    /**
     * 装货联系人
     */
    private String loadContacts;
    /**
     * 装货联系电话
     */
    private String loadPhone;
    /**
     * 装货详细地址
     */
    private String loadAddressDetail;
    /**
     * 装货地名
     */
    private String unloadName;
    /**
     * 装货详细地址
     */
    private String unloadAddress;
    /**
     * 卸货联系人
     */
    private String unloadContacts;
    /**
     * 卸货联系电话
     */
    private String unloadPhone;
    /**
     * 卸货详细地址
     */
    private String unloadAddressDetail;

    /**
     * 卸货-履约量（自己+下游承运总卸货量）
     */
    private BigDecimal totalUnloadAmount;

    /**
     * 装货-履约量（自己+下游承运总装货量）
     */
    private BigDecimal totalLoadAmount;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 付款方式
     */
    private Long payment;

    /**
     * 付款方式翻译
     */
    private String paymentLabel;

    /**
     * 签约方式
     */
    private Integer signingWay;

    /**
     * 签约方式翻译
     */
    private String signingWayLabel;

    /**
     * 待分配量(amount-subcontract_amount-entrust_amount)
     */
    private BigDecimal waitDistributionAmount;

    /**
     *税率
     */
    private BigDecimal taxRate;

    /**
     *税率
     */
    private String taxRateLabel;


}
