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

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

import io.swagger.annotations.ApiModelProperty;
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.support.DropdownPropExtConverter;
import com.prolog.product.core.easyexcel.util.ValidationCellEnum;

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

/**
 * 仓库导入VO
 * 
 * @author Eton Woo
 * @date 2022/03/29
 */
@ApiModel("仓库导入VO")
@Data
public class BranchImportStdVO implements Serializable {

	private static final long serialVersionUID = -1564295885241500489L;

	@ValidationPropertyExt(headFontColor = IndexedColors.RED)
	@ExcelProperty("仓库编码(必填)")
	private String code;

	@ValidationPropertyExt(headFontColor = IndexedColors.RED)
	@ExcelProperty("仓库名称(必填)")
	private String name;

	@ExcelProperty("仓库简称")
	private String shortName;

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

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

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

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

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

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

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

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

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

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

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

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

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

	@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 = "提货图片", converter = DropdownPropExtConverter.class)
	private String pickUpPicture;

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

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

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

	@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 = "送达图片", converter = DropdownPropExtConverter.class)
	private String deliveryPicture;

	@ValidationPropertyExt(dropdownValues = { "1", "0" }, dropdownNames = { "是", "否" }, cellType = ValidationCellEnum.LIST)
	@ExcelProperty(value = "回单图片", converter = DropdownPropExtConverter.class)
	private String returnOrderPicture;

	@ExcelProperty("默认送达围栏(km)")
	private BigDecimal defaultDeliveryRail;

}
