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

import cn.hutool.core.util.StrUtil;
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
public class YySspjxxDailyStat2 {

    public YySspjxxDailyStat2(String sfrq, Integer sfbs, Integer tfbs, BigDecimal yssl, BigDecimal yssf, BigDecimal yswsf, BigDecimal ysljf, BigDecimal ysszyf, BigDecimal bckj, BigDecimal zyc, BigDecimal bcyc, BigDecimal fsszje, BigDecimal sszje, BigDecimal ysecjyf, BigDecimal ysfjf, BigDecimal ysqt) {
        this.sfrq = sfrq;
        this.sfbs = sfbs;
        this.tfbs = tfbs;
        this.yssl = yssl;
        this.yssf = yssf;
        this.yswsf = yswsf;
        this.ysljf = ysljf;
        this.ysszyf = ysszyf;
        this.bckj = bckj;
        this.zyc = zyc;
        this.bcyc = bcyc;
        this.fsszje = fsszje;
        this.sszje = sszje;
        this.ysecjyf = ysecjyf;
        this.ysfjf = ysfjf;
        this.ysqt = ysqt;
        this.sfryxm = StrUtil.EMPTY;
    }

    public YySspjxxDailyStat2(String sfrq, Integer sfbs, Integer tfbs, BigDecimal yssl, BigDecimal yssf, BigDecimal yswsf, BigDecimal ysljf, BigDecimal ysszyf, BigDecimal bckj, BigDecimal zyc, BigDecimal bcyc, BigDecimal fsszje, BigDecimal sszje) {
        this.sfrq = sfrq;
        this.sfbs = sfbs;
        this.tfbs = tfbs;
        this.yssl = yssl;
        this.yssf = yssf;
        this.yswsf = yswsf;
        this.ysljf = ysljf;
        this.ysszyf = ysszyf;
        this.bckj = bckj;
        this.zyc = zyc;
        this.bcyc = bcyc;
        this.fsszje = fsszje;
        this.sszje = sszje;
        this.ysecjyf = BigDecimal.ZERO;
        this.ysfjf = BigDecimal.ZERO;
        this.ysqt = BigDecimal.ZERO;
    }

    @ApiModelProperty(value = "收费日期")
    private String sfrq;

    @ApiModelProperty(value = "收费笔数")
    private Integer sfbs;

    @ApiModelProperty(value = "退费笔数")
    private Integer tfbs;

    @ApiModelProperty(value = "应收水量")
    private BigDecimal yssl;

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

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

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

    @ApiModelProperty(value = "应收水资源费")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal ysszyf;

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

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

    @ApiModelProperty(value = "本次预存(预交水费)")
    @JsonSerialize(using = MoneySerializer.class)
    private BigDecimal bcyc;

    @ApiModelProperty(value = "预存退费")
    private BigDecimal fsszje;

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

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

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

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

    @ApiModelProperty(value = "收费人员姓名")
    private String sfryxm;
}
