package com.tofly.feesapi.yhgl.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
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 = "YH_HFYS_LOG", resultMap = "yhHfysLogMap")
@KeySequence("YH_HFYS_LOG")
@ApiModel
@HeadRowHeight(20)
@ColumnWidth(30)
@ContentStyle(
        borderBottom = BorderStyleEnum.THIN,
        borderLeft = BorderStyleEnum.THIN,
        borderRight = BorderStyleEnum.THIN,
        borderTop = BorderStyleEnum.THIN,
        bottomBorderColor = 8,
        topBorderColor = 8,
        leftBorderColor = 8,
        rightBorderColor = 8
)
public class YhHfysLog extends Model<YhHfysLog> {
    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @ColumnWidth(20)
    @ExcelProperty("编号")
    @ExcelIgnore
    @TableId(value = "BH", type = IdType.INPUT)
    @ApiModelProperty(value = "编号")
    private String bh;
    /**
     * 所属公司
     */
    @ColumnWidth(20)
    @ExcelProperty("所属公司")
    @ExcelIgnore
    @ApiModelProperty(value = "所属公司")
    private String ssgs;
    /**
     * 所属抄表片区
     */
    @ColumnWidth(20)
    @ExcelProperty("所属抄表片区")
    @ExcelIgnore
    @ApiModelProperty(value = "所属抄表片区")
    private String sscbpq;
    /**
     * 所属抄表本
     */
    @ColumnWidth(20)
    @ExcelProperty("所属表册")
    @ApiModelProperty(value = "所属表册")
    private String sscbb;

    /**
     * 用户编号
     */
    @ColumnWidth(30)
    @ExcelProperty("用户编号")
    @ApiModelProperty(value = "用户编号")
    private String yhbh;
    /**
     * 用户姓名
     */
    @ColumnWidth(30)
    @ExcelProperty("用户姓名")
    @ApiModelProperty(value = "用户姓名")
    private String yhxm;
    /**
     * 用户地址
     */
    @ColumnWidth(30)
    @ExcelProperty("用户地址")
    @ApiModelProperty(value = "用户地址")
    private String yhdz;
    /**
     * 联系电话
     */
    @ColumnWidth(30)
    @ExcelProperty("联系电话")
    @ApiModelProperty(value = "联系电话")
    private String lxdh;
    /**
     * 申请日期
     */
    @ColumnWidth(30)
    @ExcelProperty("申请日期")
    @ApiModelProperty(value = "申请日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sqrq;
    /**
     * 备注说明
     */
    @ColumnWidth(30)
    @ExcelProperty("备注说明")
    @ApiModelProperty(value = "备注说明")
    private String bz;
    /**
     * 操作日期
     */
    @ColumnWidth(30)
    @ExcelProperty("操作日期")
    @ApiModelProperty(value = "操作日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date czrq;
    /**
     * 操作人员姓名
     */
    @ColumnWidth(30)
    @ExcelProperty("操作人员")
    @ApiModelProperty(value = "操作人员")
    private String czryxm;


    /**
     * 恢复费用金额
     */
    @ColumnWidth(30)
    @ExcelProperty("恢复费用金额")
    @ExcelIgnore
    @ApiModelProperty(value = "恢复费用金额")
    private Double fyje;
    /**
     * 发票组
     */
    @ColumnWidth(30)
    @ExcelProperty("发票组")
    @ExcelIgnore
    @ApiModelProperty(value = "发票组")
    private String fpz;
    /**
     * 发票号
     */
    @ColumnWidth(30)
    @ExcelProperty("发票号")
    @ExcelIgnore
    @ApiModelProperty(value = "发票号")
    private String fph;
    /**
     * 打印次数
     */
    @ColumnWidth(30)
    @ExcelProperty("打印次数")
    @ExcelIgnore
    @ApiModelProperty(value = "打印次数")
    private BigDecimal dycs;

    /**
     * 收费人员姓名
     */
    @ColumnWidth(30)
    @ExcelProperty("收费人员姓名")
    @ExcelIgnore
    @ApiModelProperty(value = "收费人员姓名")
    private String sfryxm;
    /**
     * 操作人员编码
     */
    @ColumnWidth(30)
    @ExcelProperty("操作人员编码")
    @ExcelIgnore
    @ApiModelProperty(value = "操作人员编码")
    private String czrybm;

    @ExcelIgnore
    @TableField(exist = false)
    @ApiModelProperty(value = "抄表卡ID")
    private String cbkid;

    /**
     * 工单编号
     */
    @ExcelIgnore
    @TableField(exist = false)
    @ApiModelProperty(value = "工单编号")
    private String gdbh;


    /**
     * 工单状态
     */
    @ExcelIgnore
    @TableField(exist = false)
    @ApiModelProperty(value = "工单状态：1处理中、2已完成、3已作废")
    private String gdzt;

    @ApiModelProperty(value = "0微信 1营业厅")
    private String source;

    @ApiModelProperty(value = "微信来源表id")
    private String wxid;
}
