package com.tofly.feesapi.cbgl.entity.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tofly.feesapi.common.constant.CbbzEnum;
import com.tofly.feesapi.common.constant.JsbzEnum;
import com.tofly.feesapi.common.constant.ShbzEnum;
import com.tofly.feesapi.common.Excel.EnumConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;


@Data
@ApiModel("抄表录入列表VO")
@ContentStyle(
        borderBottom = BorderStyleEnum.THIN,
        borderLeft = BorderStyleEnum.THIN,
        borderRight = BorderStyleEnum.THIN,
        borderTop = BorderStyleEnum.THIN,
        bottomBorderColor = 8,
        topBorderColor = 8,
        leftBorderColor = 8,
        rightBorderColor = 8
)
public class YyCblrSelect {

    @ColumnWidth(20)
    @ExcelProperty("用户编号")
    @ApiModelProperty(value = "用户编号", position = 0)
    private String yhbh;

    @ColumnWidth(20)
    @ExcelProperty("抄表卡号")
    @ApiModelProperty(value = "抄表卡号", position = 1)
    private String cbkh;

    @ColumnWidth(20)
    @ExcelProperty("水表编号")
    @ApiModelProperty(value = "水表编号", position = 2)
    private String sbbh;

    @ColumnWidth(20)
    @ExcelProperty("用户姓名")
    @ApiModelProperty(value = "用户姓名", position = 3)
    private String yhxm;

    @ColumnWidth(20)
    @ExcelProperty("用户地址")
    @ApiModelProperty(value = "用户地址", position = 4)
    private String yhdz;

    @ColumnWidth(20)
    @ExcelProperty("上次读数")
    @ApiModelProperty(value = "上次读数", position = 5)
    private BigDecimal scds;

    @ColumnWidth(20)
    @ExcelProperty("本次读数")
    @ApiModelProperty(value = "本次读数", position = 6)
    private BigDecimal bcds;

    @ColumnWidth(20)
    @ExcelProperty("加减水量")
    @ApiModelProperty(value = "本次加减量", position = 7)
    private BigDecimal jjl;

    @ColumnWidth(20)
    @ExcelProperty("实际水量")
    @ApiModelProperty(value = "实际水量", position = 8)
    private BigDecimal sjsl;

    @ExcelIgnore
    @ApiModelProperty(value = "抄表方式", position = 9)
    private String cbfsmc;

    @ColumnWidth(20)
    @ExcelProperty(value = "抄表状态", converter = EnumConverter.class)
    @ApiModelProperty(value = "抄表标志", position = 10)
    private CbbzEnum cbbz;

    @ColumnWidth(20)
    @ExcelProperty(value = "审核状态", converter = EnumConverter.class)
    @ApiModelProperty(value = "审核标志", position = 11)
    private ShbzEnum shbz;

    @ColumnWidth(20)
    @ExcelProperty(value = "算费状态", converter = EnumConverter.class)
    @ApiModelProperty(value = "计算标志", position = 12)
    private JsbzEnum jsbz;

    @ExcelIgnore
    @ApiModelProperty(value = "抄表类型编码", position = 13)
    private String cblx;

    @ExcelIgnore
    @ApiModelProperty(value = "抄表类型名称", position = 14)
    private String cblxmc;

    @ExcelIgnore
    @ApiModelProperty(value = "旧表止读", position = 15)
    private BigDecimal jbzd;

    @ExcelIgnore
    @ApiModelProperty(value = "新表起度", position = 16)
    private BigDecimal xbqd;

    @ExcelIgnore
    @ApiModelProperty(value = "旧表编号", position = 17)
    private String jbbh;

    @ColumnWidth(20)
    @ExcelProperty("抄表日期")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "抄表日期", position = 19, example = "2024-01-30 15:16:36")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime cbrq;

    @ExcelIgnore
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "录入日期", position = 20, example = "2024-01-30 15:16:36")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime lrrq;

    @ExcelIgnore
    @ApiModelProperty(value = "照片地址链接", position = 21)
    private String photo;

    @ExcelIgnore
    @ApiModelProperty(value = "抄表备注", position = 22)
    private String bz;

    @ExcelIgnore
    @ApiModelProperty(value = "录入人员编码", position = 23)
    private String lrrybm;

    @ExcelIgnore
    @ApiModelProperty(value = "录入人员姓名", position = 24)
    private String lrryxm;

    @ExcelIgnore
    @ApiModelProperty(value = "抄表人员编码", position = 25)
    private String cbrybm;

    @ExcelIgnore
    @ApiModelProperty(value = "抄表人员姓名", position = 26)
    private String cbryxm;

    @ExcelIgnore
    @ApiModelProperty(value = "区域负责人编码", position = 27)
    private String qyfzrbm;

    @ExcelIgnore
    @ApiModelProperty(value = "区域负责人姓名", position = 28)
    private String qyfzrxm;

    @ExcelIgnore
    @ApiModelProperty(value = "抄表序号", position = 29)
    private Integer cbxh;

    @ExcelIgnore
    @ApiModelProperty(value = "财务日期", position = 30)
    private String cwrq;

    @ExcelIgnore
    @ApiModelProperty(value = "抄表卡ID", position = 31)
    private String cbkid;

    @ExcelIgnore
    @ApiModelProperty(value = "联系电话", position = 32)
    private String lxdh;

    @ExcelIgnore
    @ApiModelProperty(value = "水表量程", position = 33)
    private String sblc;

    @ExcelIgnore
    @ApiModelProperty(value = "所属抄表册", position = 34)
    private String sscbb;

    @ExcelIgnore
    @ApiModelProperty(value = "欠费金额", position = 35)
    private String qfje;

    @ExcelIgnore
    @ApiModelProperty(value = "预存金额", position = 36)
    private String ycje;

    @ExcelIgnore
    @ApiModelProperty("水表状态")
    private String sbzt;

    @ExcelIgnore
    @ApiModelProperty(value = "阀门状态", position = 37)
    private String fmzt;

    @ExcelIgnore
    @ApiModelProperty("需要抄表 0-否 1-是")
    private Integer xycb;

    @ExcelIgnore
    @ApiModelProperty("抄表频率")
    private String cbpl;
}
