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

import com.fasterxml.jackson.annotation.JsonFormat;
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;
import java.util.List;

@Data
public class ExecuteCostStrategyVO implements Serializable {

    @ApiModelProperty(value = "运单号")
    private String shipbillNo;

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

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

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

    @ApiModelProperty(value = "运单完成时间")
    private Date completionDate;

//    @ApiModelProperty(value = "拦截类型（APPROVAL_CONDITION_TYPE） 1：配送方式，2：发货方类型，3：收货放类型，4：订单类型，5：业务类型，6：运输模式，7：温度要求，8：货主，9：部门，10：商品")
//    private Integer unitType;

    @ApiModelProperty(value = "发货方类型 数据字典SHIPPER_TYPE:1客户 2仓库 3供应商")
    private Integer shipperType;

    @ApiModelProperty(value = "收货方类型 数据字典CONSIGNEE_TYPE:1客户 2仓库 3供应商")
    private Integer consigneeType;

    @ApiModelProperty(value = "订单类型 数据字典ORDER_TYPE：1普通 2紧急 3加急")
    private Integer orderType;

    @ApiModelProperty(value = "订单类型")
    private String orderTypeName;

    @ApiModelProperty(value = "订单业务类型 数据字典ORDER_BUSINESS_TYPE：1销售订单-直送  2销售订单-供应商配送 3采购订单-供应商配送 4采购订单-自提 5销售退货 6采购退货 7调拨")
    private Integer orderBusinessType;

    @ApiModelProperty(value = "配送方式 数据字典DELIVERY_METHOD_TYPE：1配送 2自提")
    private Integer deliveryMethodType;

    @ApiModelProperty(value = "运输类型(运输模式) 数据字典TRANSPORT_TYPE:1整车 2零担")
    private Integer transportType;

    @ApiModelProperty(value = "温度要求 数据字典TEMPERATURE_REQUIREMENT：1常温 2冷藏 3冷冻 4恒温")
    private Integer temperatureRequirement;

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

    @ApiModelProperty(value = "总里程数")
    private BigDecimal totalMileage;

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

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

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "正本回单日期")
    private Date originalBackDate;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "电子回单日期")
    private Date receiptDate;

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

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

    @ApiModelProperty(value = "收货方单位编码")
    private String consigneeUnitCode;

    @ApiModelProperty(value = "发货方单位编码")
    private String shipperCode;

    @ApiModelProperty(value = "wms单号")
    private String wmsOrderNo;

    @ApiModelProperty(value = "运单详情")
    private List<ExecuteCostStrategyDetailDTO> list;

}