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

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.tofly.feesapi.common.MoneySerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

@ApiModel(value = "综合收费报表VO", description = "综合收费报表")
@Data
@NoArgsConstructor
@AllArgsConstructor
@ContentStyle(
        borderBottom = BorderStyleEnum.THIN,
        borderLeft = BorderStyleEnum.THIN,
        borderRight = BorderStyleEnum.THIN,
        borderTop = BorderStyleEnum.THIN,
        bottomBorderColor = 8,
        topBorderColor = 8,
        leftBorderColor = 8,
        rightBorderColor = 8
)
public class YySspjxxZhSfStat {

    @ExcelProperty(value = "抄表本",order = 1)
    @ApiModelProperty(value = "所属抄表本")
    private String sscbbmc;

    @ExcelProperty(value = "票据数", order = 2)
    @ApiModelProperty(value = "票据数")
    private Integer pjs;

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

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

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

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

    @ExcelIgnore
    @ApiModelProperty(value = "本次扣减(冲预交水费)")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal bckj;

    @ExcelProperty(value = "预付费", order = 8)
    @ApiModelProperty(value = "本次预存(预付费)")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal bcyc;

    @ExcelIgnore
    @ApiModelProperty(value = "转预存金额")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal zyc;

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

    @ExcelProperty(value = "水量合计", order = 10)
    @ApiModelProperty(value = "水量合计")
    private BigDecimal zsl;

    @ExcelProperty(value = "实收合计", order = 11)
    @ApiModelProperty(value = "实收总金额（实收合计）")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal sszje;

}
