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

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

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/30
 */
@ApiModel("线路导入VO")
@Data
public class TranslineImportStdVO implements Serializable {

	private static final long serialVersionUID = 7353576757560519067L;

	@ValidationPropertyExt(headFontColor = IndexedColors.RED)
	@ExcelProperty("线路编码(必填)")
	private String lineCode;

	@ValidationPropertyExt(headFontColor = IndexedColors.RED)
	@ExcelProperty("线路名称(必填)")
	private String lineName;

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

	@ExcelProperty(value = "线路起点类型(必填)", converter = DropdownPropExtConverter.class)
	@ValidationPropertyExt(headFontColor = IndexedColors.RED, dropdownValues = { "1", "2" }, dropdownNames = { "仓库", "行政区域" }, cellType = ValidationCellEnum.LIST)
	private String lineStartType;

	@ExcelProperty("线路起点编码")
	private String startLineCode;

	@ExcelProperty("线路起点名称")
	@ValidationPropertyExt(headFontColor = IndexedColors.RED)
	private String startLineName;

	@ExcelProperty("线路终点编码")
	private String endLineCode;

	@ExcelProperty("线路终点名称")
	private String endLineName;

	@ExcelProperty(value = "承运方类型", converter = DropdownPropExtConverter.class)
	@ValidationPropertyExt(dropdownValues = { "1", "2" }, dropdownNames = { "承运商", "司机" }, cellType = ValidationCellEnum.LIST)
	private String carrierTypeName;

	@ExcelProperty(value = "是否承运方份额限制(是/否)", converter = DropdownPropExtConverter.class)
	@ValidationPropertyExt(dropdownValues = { "1", "0" }, dropdownNames = { "是", "否" }, cellType = ValidationCellEnum.LIST)
	private String limitName;

	@ExcelProperty(value = "限制依据", converter = DropdownPropExtConverter.class)
	@ValidationPropertyExt(dropdownValues = { "1" }, dropdownNames = { "订单量" }, cellType = ValidationCellEnum.LIST)
	private String basisName;

	@ExcelProperty(value = "方向", converter = DropdownPropExtConverter.class)
	@ValidationPropertyExt(headFontColor = IndexedColors.RED, dropdownValues = { "10", "20" }, dropdownNames = { "正向", "逆向" }, cellType = ValidationCellEnum.LIST)
	private String lineDirection;

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

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

	@ExcelProperty(value = "线路类型(必选)", converter = DropdownPropExtConverter.class)
	@ValidationPropertyExt(headFontColor = IndexedColors.RED, dropdownValues = { "1", "2" }, dropdownNames = { "干线", "短驳" }, cellType = ValidationCellEnum.LIST)
	private String lineType;

	@ExcelProperty(value = "划分类型(必选)", converter = DropdownPropExtConverter.class)
	@ValidationPropertyExt(headFontColor = IndexedColors.RED, dropdownValues = { "1", "2" }, dropdownNames = { "收货方", "行政区域" }, cellType = ValidationCellEnum.LIST)
	private String distinguishType;

}
