package com.zcxk.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zcxk.common.converter.Double1Serializer;
import com.zcxk.entity.MonthRevenueEntity;
import com.zcxk.model.ProgramItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @description
 * @auto yjy
 * @data 2021-2-24
 */
@ApiModel("营收情况")
@Data
public class MonthRevenueDto extends MonthRevenueEntity {

    private static final long serialVersionUID = -3866939316262264972L;

    @ApiModelProperty(value = "所属公司名称")
    private String companyOrgName;

    @ApiModelProperty(value = "时间")
    private String collectDateString;

    @JsonSerialize(using = Double1Serializer.class)
    @ApiModelProperty(value = "普通客户用水占比")
    private Double generalUserPercent;

    @JsonSerialize(using = Double1Serializer.class)
    @ApiModelProperty(value = "大客户用水占比")
    private Double bigUserPercent;

    @JsonSerialize(using = Double1Serializer.class)
    @ApiModelProperty(value = "水费回收率")
    private Double waterFeeRecoveryRate;

    @ApiModelProperty(value="近几月",hidden = true)
    @JsonIgnore
    private Integer months;

    @ApiModelProperty(value="起始日期",hidden = true)
    private String startDate;

    @ApiModelProperty(value="截至日期",hidden = true)
    private String endDate;

    @ApiModelProperty(value ="权限",hidden = true)
    @JsonIgnore
    private List<ProgramItem> programItems;

    @ApiModelProperty(value="用户权限类型",hidden = true)
    @JsonIgnore
    private Integer permissonType;

    @ApiModelProperty(value = "用户类型(-9999 超管 -999普通用户 2普通用户)",hidden = true)
    @JsonIgnore
    private String userType;

    @ApiModelProperty(value = "用水性质列表")
    private List<MonthSellwaterDto> monthSellList;

}
