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 com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.tofly.feesapi.common.Excel.EnumConverter;
import com.tofly.feesapi.common.MoneySerializer;
import com.tofly.feesapi.common.constant.PjztEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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


@Data
@ColumnWidth(20)
@ApiModel("群主户票据管理收费信息")
@ContentStyle(
        borderBottom = BorderStyleEnum.THIN,
        borderLeft = BorderStyleEnum.THIN,
        borderRight = BorderStyleEnum.THIN,
        borderTop = BorderStyleEnum.THIN,
        bottomBorderColor = 8,
        topBorderColor = 8,
        leftBorderColor = 8,
        rightBorderColor = 8
)
public class YySspjxxSelect1 {


    @ExcelProperty(value = "收费流水编号", order = 1)
    @ApiModelProperty(value = "收费流水编号")
    private String sflsbh;

    @ExcelProperty(value = "收费人员", order = 2)
    @ApiModelProperty(value = "收费人员")
    private String sfryxm;
    @ExcelProperty(value = "发票号", order = 3)
    @ApiModelProperty(value = "发票号")
    private String fph;
    @ExcelProperty(value = "污水费发票号", order = 4)
    @ApiModelProperty(value = "发票号1")
    private String fph1;

    @ExcelProperty(value = "票据号", order = 5)
    @ApiModelProperty(value = "票据号")
    private String fph2;

    @ExcelProperty(value = "票据状态", order = 5, converter = EnumConverter.class)
    @ApiModelProperty(value = "票据状态")
    private PjztEnum chbz;

    @ExcelProperty(value = "水量", order = 6)
    @ApiModelProperty(value = "应收水量")
    private BigDecimal yssl;

    @ExcelProperty(value = "水费", order = 7)
    @ApiModelProperty(value = "应收水费")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal yssf;

    @ExcelProperty(value = "污水费", order = 8)
    @ApiModelProperty(value = "应收污水费")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal yswsf;

    @ExcelProperty(value = "垃圾费", order = 9)
    @ApiModelProperty(value = "应收垃圾费")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal ysljf;

    @ExcelProperty(value = "水资源税", order = 10)
    @ApiModelProperty(value = "应收水资源税")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal ysszyf;

    @ExcelProperty(value = "其它费", order = 11)
    @ApiModelProperty(value = "应收其它费")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal ysqt;

    @ExcelProperty(value = "应收金额", order = 12)
    @ApiModelProperty(value = "应收金额=应收水费+应收污水费+应收垃圾费+应收其他费")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal ysje;

    @ExcelProperty(value = "违约金", order = 15)
    @ApiModelProperty(value = "实收滞纳金")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal ssznj;

    @ExcelProperty(value = "实收总金额", order = 13)
    @ApiModelProperty(value = "实收总金额:本次实际收取的金额，")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal sszje;

    @ExcelProperty(value = "收费日期", order = 14)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "收费日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date sfrq;


}
