package com.zcxk.charge.api.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zcxk.core.common.pojo.ProgramItem;
import com.zcxk.core.utils.converter.Double3Serializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 月度售水表(sms_month_sellwater)扩展类
 *
 * @author yjy
 * @since 2021-2-24
 */
@Data
@ApiModel(value = "供水分析")
public class MonthSellwaterVo {

    @ApiModelProperty(value = "主键")
    private Integer id;

    @ApiModelProperty(value = "租户标识")
    private String tenantId;

    @ApiModelProperty(value = "所属公司")
    private Integer companyOrgId;

    @ApiModelProperty(value = "用水性质id")
    private Integer propertyId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @ApiModelProperty(value = "采集时间")
    private Date collectDate;

    @ApiModelProperty(value = "用水量")
    @JsonSerialize(using = Double3Serializer.class)
    private Double waterUsage;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date dateCreate;

    @ApiModelProperty(value = "更新人")
    private String updateBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间")
    private Date dateUpdate;

    @ApiModelProperty(value = "用水性质名称")
    private String propertyName;

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

    @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;
}