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

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

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

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

/**
 * 
 *
 * 根据客户编码名称查询客户资料DTO
 *
 * @className :CustomerByEncodingNameDTO
 * @author :fanzw
 * @creationTime :2022/05/10
 * @description :
 *
 * @modifier :fanzw
 * @modifyTime :2022/05/10
 * @reviseRemarks:
 *
 * @version :1.0.0
 *
 */
@Data
@ApiModel("根据客户编码名称查询客户资料DTO")
public class CustomerByEncodingNameDTO implements Serializable {

	private static final long serialVersionUID = -5014256956934201693L;

	@ApiModelProperty(value = "客户ID")
	private Long id;

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

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

	@ApiModelProperty(value = "客户简称")
	private String shortName;

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

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

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

	@ApiModelProperty(value = "省编码")
	private String province;

	@ApiModelProperty(value = "省名称")
	private String provinceName;

	@ApiModelProperty(value = "市编码")
	private String city;

	@ApiModelProperty(value = "市名称")
	private String cityName;

	@ApiModelProperty(value = "区编码")
	private String district;

	@ApiModelProperty(value = "区名称")
	private String districtName;

	@ApiModelProperty(value = "详细地址")
	private String address;

	@ApiModelProperty(value = "联系人")
	private String contact;

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

	@ApiModelProperty(value = "座机号")
	private String landlineNumber;

	@ApiModelProperty(value = "邮箱")
	private String email;

	@ApiModelProperty(value = "邮编")
	private String postCode;

	@ApiModelProperty(value = "经度")
	private BigDecimal longitude;

	@ApiModelProperty(value = "纬度")
	private BigDecimal latitude;

	@ApiModelProperty(value = "合作性质 数据字典：COOPERATIVE_NATURE：1合同 2临时")
	private Integer cooperativeNature;

	@ApiModelProperty(value = "税务登记号")
	private String taxRegisterNumber;

	@ApiModelProperty(value = "营业执照号")
	private String businessLicenseNumber;

	@ApiModelProperty(value = "道路许可证")
	private String roadPermit;

	@ApiModelProperty(value = "法人代表")
	private String legalman;

	@ApiModelProperty(value = "发票抬头")
	private String invoice;

	@ApiModelProperty(value = "税号")
	private String invoiceTaxNumber;

	@ApiModelProperty(value = "注册资金")
	private String registeredCapital;

	@ApiModelProperty(value = "开户行")
	private Integer bank;

	@ApiModelProperty(value = "银行账号")
	private String bankAccount;

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

	@ApiModelProperty(value = "注册地址")
	private String registeredAddress;

	@ApiModelProperty(value = "提货签到 数据字典WHETHER:0否，1是")
	private Integer pickUpSign;

	@ApiModelProperty(value = "自动提货签到 数据字典WHETHER:0否，1是")
	private Integer autoPickUpSign;

	@ApiModelProperty(value = "提货图片 数据字典WHETHER:0否，1是")
	private Integer pickUpPicture;

	@ApiModelProperty(value = "默认提货围栏")
	private BigDecimal defaultPickUpRail;

	@ApiModelProperty(value = "送达签到 数据字典WHETHER:0否，1是")
	private Integer deliverySign;

	@ApiModelProperty(value = "自动送达签到 数据字典WHETHER:0否，1是")
	private Integer autoDeliverySign;

	@ApiModelProperty(value = "送达图片 数据字典WHETHER:0否，1是")
	private Integer deliveryPicture;

	@ApiModelProperty(value = "默认送达围栏")
	private BigDecimal defaultDeliveryRail;

	@ApiModelProperty(value = "是否要求回单 数据字典WHETHER:0否，1是")
	private Integer returnOrderFlag;

	@ApiModelProperty(value = "回单期限")
	private Integer returnOrderDeadline;

	@ApiModelProperty(value = "回单图片 数据字典WHETHER:0否，1是")
	private Integer returnOrderPicture;

	@ApiModelProperty(value = "收货方信息")
	private CustomerConsigneeByEncodingNameDTO consignee;

}
