package com.prolog.rdc.tms.model.dto.planMng;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 计划单查询DTO
 *
 * @author lhb
 * @since 2023-06-07 15:30:16
 */
@Data
@ApiModel("计划单查询DTO")
public class PlanBillQueryDTO implements Serializable {

	private static final long serialVersionUID = -95869941042132913L;

	@ApiModelProperty(value = "运输计划单ID")
	private String planBillId;

	@ApiModelProperty(value = "运输计划单编号")
	private String planBillNo;

	@ApiModelProperty(value = "货主ID")
	private Long cargoOwnerId;

	@ApiModelProperty(value = "货主编码")
	private String cargoOwnerCode;

	@ApiModelProperty(value = "货主名称")
	private String cargoOwnerName;

	@ApiModelProperty(value = "收货方ID")
	private Long consigneeId;

	@ApiModelProperty(value = "收货方编码")
	private String consigneeCode;

	@ApiModelProperty(value = "收货方名称")
	private String consigneeName;

	@ApiModelProperty(value = "承运方类型 数据字典LINE_CARRIER_TYPE:1.承运商  2.司机")
	private Integer carrierType;

	@ApiModelProperty(value = "承运方类型 数据字典LINE_CARRIER_TYPE:1.承运商  2.司机")
	private String carrierTypeName;

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

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

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

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

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

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

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

	@ApiModelProperty(value = "车辆ID")
	private Long vehicleId;

	@ApiModelProperty(value = "车辆编号")
	private String vehicleCode;

	@ApiModelProperty(value = "车辆名称")
	private String vehicleName;

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

	@ApiModelProperty(value = "计划单状态 数据字典：PLAN_BILL_STATUS:10待调度 ")
	private Integer status;

	@ApiModelProperty(value = "计划单状态 数据字典：PLAN_BILL_STATUS:10待调度 ")
	private String statusName;

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

	@ApiModelProperty(value = "计划的日期")
	private Date planDate;

	@ApiModelProperty(value = "计划发运日期")
	private Date planDeliveryDate;

	@ApiModelProperty(value = "实际发运日期")
	private Date actualDeliveryDate;

	@ApiModelProperty(value = "计划总箱数")
	private Long planTotalPcs;

	@ApiModelProperty(value = "实际总箱数")
	private Long actualTotalPcs;

	@ApiModelProperty(value = "计划总车数")
	private Long planTotalVehicleNumber;

	@ApiModelProperty(value = "实际总车数")
	private Long actualTotalVehicleNumber;

	@ApiModelProperty(value = "超限提交日期")
	private Date transfiniteCommitDate;

	@ApiModelProperty(value = "超限说明")
	private String transfiniteDescription;

	@ApiModelProperty(value = "装车地点")
	private String loadingLocation;

	@ApiModelProperty(value = "待发运情况说明")
	private String deliveryDescription;

	@ApiModelProperty(value = "产品名称,多个运单的产品名称,分隔组合")
	private String productName;

	@ApiModelProperty(value = "是否过磅 0:否 1:是")
	private Integer isWeigh;

	@ApiModelProperty(value = "是否过磅 0:否 1:是")
	private String isWeighName;


	@ApiModelProperty(value = "所属部门ID")
	private String departmentId;

	@ApiModelProperty(value = "所属部门编码")
	private String departmentCode;

	@ApiModelProperty(value = "所属部门名称")
	private String departmentName;

	@ApiModelProperty(value = "企业ID")
	private Long enterpriseId;

	@ApiModelProperty(value = "企业名称")
	private String enterpriseName;

	@ApiModelProperty(value = "字符属性扩展1")
	private String extStr1;

	@ApiModelProperty(value = "字符属性扩展2")
	private String extStr2;

	@ApiModelProperty(value = "字符属性扩展3")
	private String extStr3;

	@ApiModelProperty(value = "字符属性扩展4")
	private String extStr4;

	@ApiModelProperty(value = "字符属性扩展5")
	private String extStr5;

	@ApiModelProperty(value = "数值属性扩展1")
	private BigDecimal extNum1;

	@ApiModelProperty(value = "数值属性扩展2")
	private BigDecimal extNum2;

	@ApiModelProperty(value = "数值属性扩展3")
	private BigDecimal extNum3;

	@ApiModelProperty(value = "数值属性扩展4")
	private BigDecimal extNum4;

	@ApiModelProperty(value = "数值属性扩展5")
	private BigDecimal extNum5;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展1")
	private Date extDate1;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展2")
	private Date extDate2;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展3")
	private Date extDate3;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展4")
	private Date extDate4;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展5")
	private Date extDate5;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "创建时间")
	private Date createtime;

	@ApiModelProperty(value = "创建人")
	private String createperson;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "修改时间")
	private Date updatetime;

	@ApiModelProperty(value = "修改人")
	private String updateperson;
}
