package com.prolog.cs.biz.outbound.model.dto;

import com.prolog.framework.core.annotation.Column;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@ApiModel
@Data
public class BillDTO implements Serializable {

    private static final long serialVersionUID = -6955298586222655121L;
    @ApiModelProperty(value = "订单id")
    private String id;

    @ApiModelProperty(value = "来源单类型")
    @Column(value = "type")
    private String type;

    @ApiModelProperty(value = "订单编码")
    private String code;

    @ApiModelProperty(value = "收货单位(客户)编码")
    @Column(value = "shipper_code")
    private String shipperCode;

    @ApiModelProperty(value = "收货单位(客户)名称")
    @Column(value = "shipper_name")
    private String shipperName;

    @ApiModelProperty(value = "收货单位(客户)id")
    @Column(value = "shipper_id")
    private String shipperId;

    @ApiModelProperty(value = "收货联系人")
    @Column(value = "contact_name")
    private String contactName;

    @ApiModelProperty(value = "收货联系人电话")
    @Column(value = "contact_tel")
    private String contactTel;

    @ApiModelProperty(value = "收货地址")
    @Column(value = "receive_address")
    private String receiveAddress;

    @ApiModelProperty(value = "收货方式")
    @Column(value = "receive_way")
    private String receiveWay;

    @ApiModelProperty(value = "运输路线ID")
    @Column(value = "ship_line_id")
    private String shipLineId;

    @ApiModelProperty(value = "预定到货日")
    @Column(value = "attain_date")
    private Date attainDate;

    @ApiModelProperty(value = "物流商名称")
    @Column(value = "carrier_name")
    private String carrierName;

    @ApiModelProperty(value = "订单紧急等级")
    @Column(value = "priority")
    private Integer priority;

    @Column(value = "sale_branch_name")
    @ApiModelProperty(value = "销售员部门")
    private String saleBranchName;

    @Column(value = "wave_id")
    @ApiModelProperty(value = "波次id")
    private String waveId;

    @ApiModelProperty(value = "开始日期")
    private Date startDate;
    @ApiModelProperty(value = "结束日期")
    private Date endDate;

    @ApiModelProperty(value = "仓库id")
    private String warehouseId;

    @ApiModelProperty(value = "状态")
    private String status;


    @ApiModelProperty(value = "每页数量", required = true)
    private Integer pageSize;

    @ApiModelProperty(value = "当前页量", required = true)
    private Integer pageNum;

    @ApiModelProperty(value = "补货时间")
    private Date replenishmentTime;

    @ApiModelProperty(value = "是否急单(1:否 2:是)")
    private String isEmergency;

    @ApiModelProperty(value = "业务员")
    private String createby;

    @ApiModelProperty(value = "备注")
    private String remark;



    @ApiModelProperty(value = "客户id")
    private String customerId;

    @ApiModelProperty(value = "客户编码")
    private String customerCode;

    @ApiModelProperty(value = "客户名称")
    private String customerName;

    @ApiModelProperty(value = "波次编号")
    private String waveCode;

    @ApiModelProperty(value = "单据编码")
    private String billTypeCode;

    @ApiModelProperty(value = "单据名称")
    private String billTypeName;

    @ApiModelProperty(value = "开单员")
    private String createBy;

    @ApiModelProperty(value = "总数量")
    private Double totalQty;

}
