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

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

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;

/**
 * 供应商资料修改VO
 * 
 * @author Eton Woo
 * @date 2022/03/28
 */
@Data
@ApiModel("供应商资料修改VO")
public class ProviderModifyVO implements Serializable {

	private static final long serialVersionUID = 8530032386778382696L;

	@ApiModelProperty(value = "供应商ID", required = true)
	private Long id;
	
	@ApiModelProperty(value = "供应商简称")
	private String shortName;
	
	@ApiModelProperty(value = "所属货主ID", required = true)
	private Long cargoOwnerId;
	
	@ApiModelProperty(value = "所属货主编码", required = true)
	private String cargoOwnerCode;
	
	@ApiModelProperty(value = "所属货主名称", required = true)
	private String cargoOwnerName;
	
	@ApiModelProperty(value = "合同性质 数据字典 CONTRACT_NATURE 1-合同 2-临时", required = true)
	private Integer contractNature;
	
	@ApiModelProperty(value = "税务登记号")
	private String taxRegisterNumber;
	
	@ApiModelProperty(value = "营业执照号")
	private String businessLicenseNumber;
	
	@ApiModelProperty(value = "备注")
	private String memo;
	
	@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 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 BigDecimal longitude;

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

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

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

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

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

	@ApiModelProperty(value = "开户行  数据字典BANK")
	private Integer bank;

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

	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd", 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 = "默认提货围栏(km)")
	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 = "回单图片 数据字典WHETHER:0否，1是")
	private Integer returnOrderPicture;
	
	@ApiModelProperty(value = "默认送货围栏(km)")
	private BigDecimal defaultDeliveryRail;

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

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

	@ApiModelProperty(value = "所属部门名称")
	private String departmentName;
	
	@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;

	@ApiModelProperty(value = "提货签到时间点 数据字典PICK_UP_SIGN_TIME 10预计提货开始时间 20预计提货结束时间 " +
			"30下单时间 40提交时间 50审核时间 60调度时间 70调度审核时间")
	private Integer pickUpSignTime;

	@ApiModelProperty(value = "提货签到时间期间")
	private Integer pickUpSignTimeDura;

	@ApiModelProperty(value = "提货签到时间单位 数据字典SIGN_TIME_UNIT 1分钟 2小时 3天")
	private Integer pickUpSignTimeUnit;

	@ApiModelProperty(value = "送达签到时间点 数据字典PICK_UP_SIGN_TIME 10预计送达开始时间 20预计送达结束时间 " +
			"30下单时间 40提交时间 50审核时间 60调度时间 70调度审核时间")
	private Integer deliverySignTime;

	@ApiModelProperty(value = "送达签到时间期间")
	private Integer deliverySignTimeDura;

	@ApiModelProperty(value = "送达签到时间单位 数据字典SIGN_TIME_UNIT 1分钟 2小时 3天")
	private Integer deliverySignTimeUnit;
}
