package com.sckw.order.model.vo.res;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

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

/**
 * @desc: 订单列表响应参数
 * @author: yzc
 * @date: 2023-07-12 17:45
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class OrderListResVO {

    /**
     * 订单id
     */
    @JsonProperty("tOrderId")
    private Long tOrderId;
    /**
     * 订单状态
     */
    private Integer status;
    /**
     * 订单状态label
     */
    private String statusLabel;
    /**
     * 订单编号
     */
    @JsonProperty("tOrderNo")
    private String tOrderNo;
    /**
     * 采购企业主键ID
     */
    private Long procureEntId;

    /**
     * 采购单位
     */
    private String procureFirmName;

    /**
     * 销售单位主键ID
     */
    private Long supplyEntId;
    /**
     * 销售单位
     */
    private String supplyFirmName;
    /**
     * 交易方式(预付款、货到付款）
     */
    private String trading;

    /**
     * 交易方式label
     */
    private String tradingLabel;
    /**
     * 交付类型（签发交付、签收交付）
     */
    private String deliveryType;


    /**
     * 交付类型label
     */
    private String deliveryTypeLabel;
    /**
     * 提货方式（采方自提、供应配送）
     */
    private String pickupType;
    /**
     * 提货方式label
     */
    private String pickupTypeLabel;
    /**
     * 下单方式（自主下单/代客下单）
     */
    private String source;

    /**
     * 下单方式label
     */
    private String sourceLabel;

    /**
     * 是否需要增派运力（0-否，1-是）
     */
    private Integer addVehicles;

    /**
     * 合同主键
     */
    private Long contractId;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 合同mc
     */
    private String contractName;

    /**
     * 合同签约方式
     */
    private String contractSigningWay;
    /**
     * 商品id
     */
    private Long goodsId;
    /**
     * 商品名称
     */
    private String goodsName;
    /**
     * 单位（吨、方、箱、件）
     */
    private String goodsSpec;

    private String goodsTaxRate;
    private String goodsTypeLabel;
    private String goodsType;

    /**
     * 商品缩略图
     */
    private String goodsThumb;

    /**
     * 订单成交单价
     */
    private BigDecimal unitPrice;
    /**
     * 订单金额
     */
    private BigDecimal price;

    /**
     * 订单总量
     */
    private BigDecimal amount;
    /**
     * 已委托量
     */
    private BigDecimal entrustAmount;
    /**
     * 待委托量
     */
    private BigDecimal waitEntrustAmount;
    /**
     * 实际交付量
     */
    private BigDecimal actualAmount;

    /**
     * 实际订单金额
     */
    private BigDecimal actualPrice;
    /**
     * 归属项目
     */
    private String projectName;

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

    /**
     * 装货地点
     */
    private String loadAddress;

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

    /**
     * 卸货地点
     */
    private String unloadAddress;
    private String unloadContact;
    private String unloadContactPhone;

    /**
     * 计划开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate startTime;
    /**
     * 计划结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate endTime;
    /**
     * 备注
     */
    private String remark;

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

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

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

    /**
     * 已履约量
     */
    private BigDecimal dealAmount;
}
