package com.tofly.feesapi.sfgl.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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @author sunjian
 * @date 2025/3/12
 */
@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 QfmxbgtjVo {

    @ExcelIgnore
    @ApiModelProperty(value = "欠费ID:用于部分收费时拆分欠费，newid()")
    private String id;

    @ExcelIgnore
    @ApiModelProperty(value = "欠费流水号，流水号相同欠费是一次抄表产生的同一笔欠费")
    private String qflsbh;

    @ExcelIgnore
    @ApiModelProperty(value = "冲红人员编码")
    private String chrybm;

    @ExcelProperty(value = "操作人员", order = 1)
    @ApiModelProperty(value = "冲红人员姓名")
    private String chryxm;

    @ExcelProperty(value = "用水月份", order = 2)
    @ApiModelProperty(value = "用水月份")
    private String ysyf;

    @ExcelProperty(value = "用水月份", order = 3)
    @ApiModelProperty(value = "用水月份")
    private String cwrq;

    @ExcelProperty(value = "用户编号", order = 4)
    @ApiModelProperty(value = "用户编号")
    private String yhbh;

    @ExcelProperty(value = "用户姓名", order = 5)
    @ApiModelProperty(value = "用户姓名")
    private String yhxm;

    @ExcelProperty(value = "用水性质", order = 6)
    @ApiModelProperty(value = "用水性质")
    private String yslx;

    @ExcelProperty(value = "水量", order = 7)
    @ApiModelProperty(value = "水量")
    private String yssl;

    @ExcelProperty(value = "水价", order = 8)
    @ApiModelProperty(value = "水价")
    private String sj;

    @ExcelProperty(value = "水费", order = 9)
    @ApiModelProperty(value = "水费")
    private String yssf;

    @ExcelProperty(value = "污水费", order = 10)
    @ApiModelProperty(value = "污水费")
    private String yswsf;

    @ExcelProperty(value = "垃圾费", order = 11)
    @ApiModelProperty(value = "垃圾费")
    private String ysljf;

    @ExcelProperty(value = "水资源税", order = 12)
    @ApiModelProperty(value = "水资源税")
    private String ysszyf;

    @ExcelProperty(value = "应收金额", order = 13)
    @ApiModelProperty(value = "应收金额")
    private String ysje;

    @ExcelProperty(value = "违约金", order = 14)
    @ApiModelProperty(value = "违约金")
    private String znj;

    @ExcelProperty(value = "应收合计", order = 15)
    @ApiModelProperty(value = "应收合计")
    private String yszje;

    @ExcelProperty(value = "抄表日期", order = 16)
    @ColumnWidth(30)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "抄表日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date cbrq;

    @ExcelProperty(value = "抄表人员", order = 17)
    @ApiModelProperty(value = "抄表人员姓名")
    private String cbryxm;

    @ExcelProperty(value = "水价名称", order = 18)
    @ApiModelProperty(value = "水价名称")
    private String sjmc;

    @ExcelProperty(value = "用水性质", order = 19)
    @ApiModelProperty(value = "用水性质")
    private String ysxzmc;

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

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

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

    @ExcelIgnore
    @ApiModelProperty(value = "工单原因")
    private String gdyx;

    @ExcelIgnore
    @ApiModelProperty(value = "应收二次加压费")
    private BigDecimal ysecjyf;

    @ExcelIgnore
    @ApiModelProperty(value = "应收附加费")
    private BigDecimal ysfjf;

    @ExcelIgnore
    @ApiModelProperty(value = "应收其它费(消防栓)")
    private BigDecimal ysqt;
}
