package com.tofly.feesapi.sfgl.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.List;
import java.util.stream.Collectors;


@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "YY_WYJTZ", resultMap = "yyWyjtzMap")
@KeySequence("YY_WYJTZ")
@ApiModel
public class YyWyjtz extends Model<YyWyjtz> {
    private static final long serialVersionUID = 1L;

    /**
     * 调整记录ID
     */
    @TableId(value = "ID", type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "调整记录ID")
    private String id;
    /**
     * 用户编号
     */
    @ApiModelProperty(value = "用户编号")
    private String yhbh;
    /**
     * 欠费id
     */
    @ApiModelProperty(value = "欠费id")
    private String qfid;
    /**
     * 所属公司
     */
    @ApiModelProperty(value = "所属公司")
    private String ssgs;
    /**
     * 用水月份
     */
    @ApiModelProperty(value = "用水月份")
    private String ysyf;
    /**
     * 财务日期
     */
    @ApiModelProperty(value = "财务日期")
    private String cwrq;
    /**
     * 调整前金额
     */
    @ApiModelProperty(value = "调整前金额")
    private BigDecimal tzqje;
    /**
     * 调整金额
     */
    @ApiModelProperty(value = "调整金额")
    private BigDecimal tzje;
    /**
     * 调整后金额
     */
    @ApiModelProperty(value = "调整后金额")
    private BigDecimal tzhje;
    /**
     * 调整原因
     */
    @ApiModelProperty(value = "调整原因")
    private String tzyy;
    /**
     * 审核人员
     */
    @ApiModelProperty(value = "审核人员")
    private String shry;
    /**
     * 审核意见
     */
    @ApiModelProperty(value = "审核意见")
    private String shyj;
    /**
     * 操作人员编码
     */
    @ApiModelProperty(value = "操作人员编码")
    private String czrybm;
    /**
     * 操作人员姓名
     */
    @ApiModelProperty(value = "操作人员姓名")
    private String czryxm;
    /**
     * 操作时间
     */
    @ApiModelProperty(value = "操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date czsj;
    /**
     * 有效标志(0未收费，1已收费)
     */
    @ApiModelProperty(value = "有效标志(0未收费，1已收费)")
    private String sfbz;

    @ExcelIgnore
    @ApiModelProperty(value = "工单编号")
    private String gdbh;

    @ExcelIgnore
    @ApiModelProperty(value = "工单状态")
    private String gdzt;
    /**
     * 抄表日期
     */
    @ApiModelProperty(value = "抄表日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cbrq;
    /**
     * 应收水量
     */
    @ApiModelProperty(value = "应收水量")
    private BigDecimal yssl;

    /**
     * 应收水费
     */
    @ApiModelProperty(value = "应收水费")
    private BigDecimal yssf;
    /**
     * 违约金减免类型
     */
    @ApiModelProperty(value = "违约金减免类型")
    private String type;
    /**
     * 违约金减免依据
     */
    @ApiModelProperty(value = "违约金减免依据")
    private String jmyj;

    /**
     * 工单流水编号
     */
    @ApiModelProperty(value = "工单流水编号")
    private String gdlsbh;
}
