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

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

import com.prolog.product.core.easyexcel.support.DropdownPropExtConverter;
import org.apache.poi.ss.usermodel.IndexedColors;

import com.alibaba.excel.annotation.ExcelProperty;
import com.prolog.product.core.easyexcel.annotation.ValidationPropertyExt;
import com.prolog.product.core.easyexcel.util.ValidationCellEnum;

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

/**
 * 供应商资料导入VO
 * 
 * @author Eton Woo
 * @date 2022/03/30
 */
@Data
@ApiModel("供应商资料导入VO")
public class ProviderImportStdVO implements Serializable {

	private static final long serialVersionUID = -7635142485232482983L;

	@ValidationPropertyExt(headFontColor = IndexedColors.RED)
	@ExcelProperty(value = "供应商编码(必填)")
	private String code;

	@ValidationPropertyExt(headFontColor = IndexedColors.RED)
	@ExcelProperty(value = "供应商名称(必填)")
	private String name;

	@ExcelProperty(value = "供应商简称")
	private String shortName;

	@ValidationPropertyExt(headFontColor = IndexedColors.RED)
	@ExcelProperty(value = "所属货主编码(必填)")
	private String cargoOwnerCode;

	@ValidationPropertyExt(headFontColor = IndexedColors.RED)
	@ExcelProperty(value = "所属货主名称(必填)")
	private String cargoOwnerName;

	@ValidationPropertyExt(headFontColor = IndexedColors.RED)
	@ExcelProperty(value = "所属部门名称(必填)")
	private String departmentName;

	@ExcelProperty(value = "合同性质(必选)")
	@ValidationPropertyExt(headFontColor = IndexedColors.RED, dropdownValues = { "1", "2" }, dropdownNames = { "合同", "临时" }, cellType = ValidationCellEnum.LIST)
	private String contractNatureName;

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

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

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

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

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

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

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

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

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

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

	@ExcelProperty(value = "区/县名称")
	private String districtName;

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

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

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

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

	@ExcelProperty(value = "成立时间(年/月/日)")
	private Date established;

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

	@ExcelProperty(value = "开户行")
	private String bankName;

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

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

	@ValidationPropertyExt(dropdownValues = { "1", "0" }, dropdownNames = { "是", "否" }, cellType = ValidationCellEnum.LIST)
	@ExcelProperty(value = "提货签到")
	private String pickUpSignName;

	@ValidationPropertyExt(dropdownValues = { "1", "0" }, dropdownNames = { "是", "否" }, cellType = ValidationCellEnum.LIST)
	@ExcelProperty(value = "自动提货签到")
	private String autoPickUpSignName;

	@ValidationPropertyExt(dropdownValues = { "10", "20", "30" , "40" , "50" , "60" , "70"  },
			dropdownNames = { "预计提货开始时间", "预计提货结束时间", "下单时间", "提交时间", "审核时间", "调度时间", "调度审核时间" }, cellType = ValidationCellEnum.LIST)
	@ExcelProperty(value = "可提货签到时间点" , converter = DropdownPropExtConverter.class)
	private String pickUpSignTime;

	@ExcelProperty(value = "可提货签到时间区间")
	private Integer pickUpSignTimeDura;

	@ValidationPropertyExt(dropdownValues = { "1", "2", "3" },
			dropdownNames = { "分钟", "小时", "天" }, cellType = ValidationCellEnum.LIST)
	@ExcelProperty(value = "可提货签到时间单位", converter = DropdownPropExtConverter.class)
	private String pickUpSignTimeUnit;

	@ValidationPropertyExt(dropdownValues = { "1", "0" }, dropdownNames = { "是", "否" }, cellType = ValidationCellEnum.LIST)
	@ExcelProperty(value = "提货图片")
	private String pickUpPictureName;

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

	@ValidationPropertyExt(dropdownValues = { "1", "0" }, dropdownNames = { "是", "否" }, cellType = ValidationCellEnum.LIST)
	@ExcelProperty(value = "送达签到")
	private String deliverySignName;

	@ValidationPropertyExt(dropdownValues = { "1", "0" }, dropdownNames = { "是", "否" }, cellType = ValidationCellEnum.LIST)
	@ExcelProperty(value = "自动送达签到")
	private String autoDeliverySignName;

	@ValidationPropertyExt(dropdownValues = { "10", "20", "30" , "40" , "50" , "60" , "70"  },
			dropdownNames = { "预计送达开始时间", "预计送达结束时间", "下单时间", "提交时间", "审核时间", "调度时间", "调度审核时间" }, cellType = ValidationCellEnum.LIST)
	@ExcelProperty(value = "可送达签到时间点", converter = DropdownPropExtConverter.class)
	private String deliverySignTime;

	@ExcelProperty(value = "可送达签到时间区间")
	private Integer deliverySignTimeDura;

	@ValidationPropertyExt(dropdownValues = { "1", "2", "3" },
			dropdownNames = { "分钟", "小时", "天" }, cellType = ValidationCellEnum.LIST)
	@ExcelProperty(value = "可送达签到时间单位", converter = DropdownPropExtConverter.class)
	private String deliverySignTimeUnit;

	@ValidationPropertyExt(dropdownValues = { "1", "0" }, dropdownNames = { "是", "否" }, cellType = ValidationCellEnum.LIST)
	@ExcelProperty(value = "送货图片")
	private String deliveryPictureName;

	@ExcelProperty(value = "默认送货围栏(km)")
	private BigDecimal defaultDeliveryRail;

}
