package com.prolog.rdc.tms.app.model.dto.business;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * 查询运单DTO
 *
 * Company: 湖北普罗格科技股份有限公司
 *
 * @author zhangsj
 * @since 2022/7/20 16:16
 */
@Data
@ApiModel("待提交-查询运单DTO")
public class WaitForArrangeGoodsDTO implements Serializable {

	private static final long serialVersionUID = 8428322766451988776L;

	@ApiModelProperty(value = "预约单ID")
	private String appointmentId;

	@ApiModelProperty(value = "预约单号")
	private String appointmentNo;

	@ApiModelProperty(value = "预约类型")
	private Integer appointmentType;

	@ApiModelProperty(value = "预约类型名称")
	private String appointmentTypeName;

	@ApiModelProperty(value = "预约状态")
	private Integer status;

	@ApiModelProperty(value = "预约状态名称")
	private String statusName;

	@ApiModelProperty(value = "仓库ID")
	private Long branchId;

	@ApiModelProperty(value = "仓库编码")
	private String branchCode;

	@ApiModelProperty(value = "仓库名称")
	private String branchName;

	@ApiModelProperty(value = "仓库详细地址")
	private String branchAddress;

	@ApiModelProperty(value = "预约日期")
	private Date appointmentDate;

	@ApiModelProperty(value = "预约时间")
	private String appointmentTime;

	@ApiModelProperty(value = "预约号码")
	private String reserveNumber;

	@ApiModelProperty(value = "预约时间")
	private Date reserveNumberTime;

	@ApiModelProperty(value = "取号号码")
	private String queueNumber;

	@ApiModelProperty(value = "取号时间")
	private Date queueNumberTime;

	@ApiModelProperty(value = "叫号号码")
	private String callNumber;

	@ApiModelProperty(value = "叫号时间")
	private Date callNumberTime;

	@ApiModelProperty(value = "紧急运单数量")
	private Integer urgentQuantity;

	@ApiModelProperty(value = "运单数量")
	private Integer shipbillQuantity;

	@ApiModelProperty(value = "总件数")
	private BigDecimal totalPcs;

	@ApiModelProperty(value = "总体积")
	private BigDecimal totalVolume;

	@ApiModelProperty(value = "总重量")
	private BigDecimal totalWeight;

	@ApiModelProperty(value = "司机ID")
	private Long driverId;

	@ApiModelProperty(value = "司机编码")
	private String driverCode;

	@ApiModelProperty(value = "司机名称 ")
	private String driverName;

	@ApiModelProperty(value = "司机手机号")
	private String driverPhoneNumber;

	@ApiModelProperty(value = "车牌号")
	private String vehiclePlateNumber;

	@ApiModelProperty(value = "承运商ID")
	private Long carrierId;

	@ApiModelProperty(value = "承运商编码")
	private String carrierCode;

	@ApiModelProperty(value = "承运商名称")
	private String carrierName;

	@ApiModelProperty(value = "理货状态")
	private Integer tallyStatus;

	@ApiModelProperty(value = "对应的商品明细集合")
	private List<WaitForArrangeGoodsItemDTO> waitForArrangeGoodsItemDTOS = new ArrayList<WaitForArrangeGoodsItemDTO>();

	@ApiModelProperty(value = "运单ID集合")
	private List<String> shipbillIds;

	@ApiModelProperty(value = "派车单ID集合")
	private String loadingBillIds;

	@ApiModelProperty(value = "是否有取号和叫号")
	private boolean hasTakeNumAndCallNum;
}
