package com.casic.missiles.model.meter;


import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
@ColumnWidth(30)
@HeadRowHeight(15)
@ContentRowHeight(20)
@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
@ExcelIgnoreUnannotated
@TableName("meter_price")
public class MeterPrice implements Serializable {

    private static final long serialVersionUID = 3882143045642737113L;

    @TableId("id")
    @ApiModelProperty(value = "主键id", dataType = "Long")
    private Long id;

    @TableField("price_no")
    @ExcelProperty(value = "价格编号",order = 0)
    @ApiModelProperty(value = "价格编号", dataType = "String")
    private String priceNo;

    @TableField("price_name")
    @ExcelProperty(value = "价格名称",order = 1)
    @ApiModelProperty(value = "价格名称", dataType = "String")
    private String priceName;

    @TableField("check_type")
//    @ExcelProperty(value = "校验类型")
    @ApiModelProperty(value = "校验类型-字典value", dataType = "String")
    private String checkType;

    @TableField(exist = false)
    @ExcelProperty(value = "检校类型",order = 2)
    @ApiModelProperty(value = "检校类型名称", dataType = "String")
    private String checkTypeName;

    @TableField("price_type")
    @ApiModelProperty(value = "类别id", dataType = "String")
    private String priceType;

    @TableField(exist = false)
    @ExcelProperty(value = "类别",order = 4)
    @ApiModelProperty(value = "类别名称", dataType = "String")
    private String categoryName;

    @TableField("price_item")
    @ApiModelProperty(value = "项目id", dataType = "String")
    private String priceItem;

    @TableField(exist = false)
    @ExcelProperty(value = "项目",order = 5)
    @ApiModelProperty(value = "项目名称", dataType = "String")
    private String itemName;

    @TableField(exist = false)
    @ExcelProperty(value = "依据标准",order = 9)
    @ApiModelProperty(value = "依据标准-计量规程文件名", dataType = "String")
    private String priceStandardName;

    @TableField("price_standard")
    @ApiModelProperty(value = "依据标准-计量规程文件名", dataType = "String")
    private String priceStandard;

    @TableField("price_limit")
    @ApiModelProperty(value = "限制范围", dataType = "String")
    private String priceLimit;

    @TableField("price_description")
    @ApiModelProperty(value = "说明", dataType = "String")
    private String priceDescription;

    @TableField("operator_discount_permission")
//    @ExcelProperty(value = "业务员折扣权限")
    @ApiModelProperty(value = "业务员折扣权限-字典value", dataType = "String")
    private String operatorDiscountPermission;

    @TableField(exist = false)
    @ExcelProperty(value = "业务员折扣权限",order = 7)
    @ApiModelProperty(value = "业务员折扣权限名称", dataType = "String")
    private String operatorDiscountPermissionName;

    @TableField("director_discount_permission")
//    @ExcelProperty(value = "负责人折扣权限")
    @ApiModelProperty(value = "负责人折扣权限-字典value", dataType = "String")
    private String directorDiscountPermission;

    @TableField(exist = false)
    @ExcelProperty(value = "负责人折扣权限",order = 8)
    @ApiModelProperty(value = "负责人折扣权限名称", dataType = "String")
    private String directorDiscountPermissionName;

    @TableField("remark")
    @ApiModelProperty(value = "备注", dataType = "String")
    private String remark;

    @TableField("is_del")
    @ApiModelProperty(value = "删除标记", dataType = "Integer")
    private Integer isDel;

    @TableField("model")
//    @ExcelProperty(value = "型号",order = 3)
    @ApiModelProperty(value = "型号", dataType = "String")
    private String model;

    @TableField("price")
    @ExcelProperty(value = "标准价格(元)",order = 6)
    @ApiModelProperty(value = "标准价格(元)", dataType = "Double")
    private Double price;

    @TableField("create_time")
    @ExcelProperty(value = "创建时间",order = 10)
    @ApiModelProperty(value = "创建时间", dataType = "String")
    private String createTime;

    @TableField("update_time")
    @ApiModelProperty(value = "更新时间", dataType = "String")
    private String updateTime;

    @ApiModelProperty(value = "历史价格列表", dataType = "List")
    @TableField(exist = false)
    private List<MeterHistoricalPrice> historicalPriceList;


}
