package com.sckw.transport.model.vo;

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

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * @author lfdc
 * @description 承运订单VO
 * @date 2023-06-27 10:06:30
 */
@Data
public class AcceptCarriageOrderVO /*extends PageRequest*/ {
    /**
     * 结算周期
     */
    private String accountsCycle;
    /**
     * 结算周期
     */
    private String accountsCycleLabel;
    /**
     * 发起人
     */
    private String appointor;

    /**
     * 创建人id
     */
    private Long createBy;
    /**
     * 计费方式
     */
    private String billingMode;

    /**
     * 计费方式
     */
    private String billingModeLabel;

    /**
     * 承运单位ID
     */
    private String carrierCompanyId;
    /**
     * 承运单位
     */
    private String carrierCompany;
    /**
     * 承运联系人
     */
    private String carrierContacts;
//    /**
//     * 承运订单
//     */
//    private String carrierOrder;
    /**
     * 承运联系电话
     */
    private String carrierPhone;
    /**
     * 分配承运量
     */
    private BigDecimal carryingCapacity;

    /**
     * 托运单位id
     */
    private String consignCompanyId;
    /**
     * 托运单位
     */
    private String consignCompany;
    /**
     * 托运联系人
     */
    private String consignContacts;
    /**
     * 托运联系电话
     */
    private String consignPhone;
    /**
     * 合同
     */
    private String contract;
    /**
     * 扣亏货值/元/吨
     */
    private BigDecimal deficitAmount;
    /**
     * 货物名称
     */
    private String goodsName;

    /**
     * 数据库id
     */
    @JsonProperty("lOrderId")
    private String lOrderId;
    /**
     * 托运订单号
     */
    @JsonProperty("lOrderNo")
    private String lOrderNo;

    /**
     * 贸易订单id
     */
    @JsonProperty("tOrderId")
    private String tOrderId;
    /**
     *  贸易订单编号
     */
    @JsonProperty("tOrderNo")
    private String tOrderNo;

    /**
     * 合理损耗
     */
    private BigDecimal loss;
    /**
     * 合理损耗单位
     */
    private String lossUnit;
    /**
     * 计划时间
     */
//    private String plannedDateTime;
    /**
     * 运价
     */
    private BigDecimal price;

    private List<String> prices;

    /**
     * 运价
     */
    private String priceType;

    /**
     * 运价
     */
    private String priceLabel;
    /**
     * 收货联系人
     */
    private String receiveGoodsContacts;
    /**
     * 计划收货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate receiveGoodsDateTime;
    /**
     * 收货电话
     */
    private String receiveGoodsPhone;
    /**
     * 备注
     */
    private String remark;
    /**
     * 发货联系人
     */
    private String shipmentsContacts;
    /**
     * 计划发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate shipmentsDateTime;
    /**
     * 发货电话
     */
    private String shipmentsPhone;
    /**
     * 签约方式
     */
    private String signing;

    /**
     * 签约方式
     */
    private String signingLabel;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 状态
     */
    private String statusLabel;

//    /**
//     * 关联承运订单号
//     */
//    @JsonProperty("wOrderNo")
//    private String wOrderNo;

    private String createTime;

    private String updateTime;

    /**
     * 发货单位
     */
    private String shipmentsUnitEntId;

    /**
     * 发货单位
     */
    private String shipmentsUnit;

    /**
     * 收货单位
     */
    private String receiveGoodsUnitEntId;

    /**
     * 收货单位
     */
    private String receiveGoodsUnit;

    /**
     * 商品价值（扣亏货值）
     */
    private BigDecimal goodsPrice;

    /**
     * 商品价值（扣亏货值）单位
     */
    private String goodsPriceUnit;

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

    /**
     *总装货量
     */
    private BigDecimal totalLoadAmount;

    /**
     * 剩余量
     */
    private BigDecimal ignoreAmount;

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

    /**
     * 分包量（给下游承运商分包的量）
     */
    private BigDecimal subcontractAmount;

    /**
     * 已委托量(自己承运,给下游司机分配的量)
     */
    private BigDecimal entrustAmount;


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

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

    /**
     * 单位翻译
     */
    private String unitLabel;

    /**
     * 卸货量
     */
    private BigDecimal totalUnloadAmount;

    /**
     * 订单主体企业id
     */
    private  Long entId;

    /**
     * 订单来源
     */
    private String type;


    /**
     * 订单来源
     */
    private String orderSource;

    /**
     * 订单来源翻译
     */
    private String orderSourceLabel;

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

    /**
     * 多装货地4.2
     */
    private List<String> loadNames;

    private List<String> loadAddresses;

    /**
     * 多卸货地4.2
     */
    private List<String> unloadNames;

    private List<String> unloadAddresses;

    /**
     * 多装货地4.2
     * */
    private List<LoadAddressVo> loading;

    private List<UnLoadAddressVo> unloading;


}
