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.HeadRowHeight;
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.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_GH_LOG", resultMap = "yhGhLogMap")
@KeySequence("YH_GH_LOG")
@ApiModel
@HeadRowHeight(20)
@ColumnWidth(30)
public class YhGhLog extends Model<YhGhLog> {
    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @ColumnWidth(30)
    @ExcelProperty("编号")
    @ExcelIgnore
    @TableId(value = "BH", type = IdType.INPUT)
    @ApiModelProperty(value = "编号")
    private String bh;
    /**
     * 所属公司
     */
    @ColumnWidth(30)
    @ExcelProperty("所属公司")
    @ExcelIgnore
    @ApiModelProperty(value = "所属公司")
    private String ssgs;
    /**
     * 片区
     */
    @ColumnWidth(30)
    @ExcelProperty("片区")
    @ExcelIgnore
    @ApiModelProperty(value = "片区")
    private String sscbpq;
    /**
     * 抄表本
     */
    @ColumnWidth(30)
    @ExcelProperty("所属表册")
    @ApiModelProperty(value = "抄表本")
    private String sscbb;
    /**
     * 用户编号
     */
    @ColumnWidth(30)
    @ExcelProperty("用户编号")
    @ApiModelProperty(value = "用户编号")
    private String yhbh;
    /**
     * 原用户姓名
     */
    @ColumnWidth(30)
    @ExcelProperty("原用户姓名")
    @ApiModelProperty(value = "原用户姓名")
    private String oldYhxm;
    /**
     * 新用户姓名
     */
    @ColumnWidth(30)
    @ExcelProperty("新用户姓名")
    @ApiModelProperty(value = "新用户姓名")
    private String newYhxm;
    /**
     * 原联系电话
     */
    @ColumnWidth(30)
    @ExcelProperty("原联系电话")
    @ApiModelProperty(value = "原联系电话")
    private String oldLxdh;
    /**
     * 新联系电话
     */
    @ColumnWidth(30)
    @ExcelProperty("新联系电话")
    @ApiModelProperty(value = "新联系电话")
    private String newLxdh;
    /**
     * 原用户地址
     */
    @ColumnWidth(30)
    @ExcelProperty("原用户地址")
    @ApiModelProperty(value = "原用户地址")
    private String oldYhdz;
    /**
     * 新用户地址
     */
    @ColumnWidth(30)
    @ExcelProperty("新用户地址")
    @ApiModelProperty(value = "新用户地址")
    private String newYhdz;


    /**
     * 原证件类别
     */
    @ColumnWidth(30)
    @ExcelProperty("原证件类别")
    @ExcelIgnore
    @ApiModelProperty(value = "原证件类别")
    private String oldZjlb;
    /**
     * 原证件号码
     */
    @ColumnWidth(30)
    @ExcelProperty("原证件号码")
    @ApiModelProperty(value = "原证件号码")
    private String oldZjhm;


    /**
     * 新证件类别
     */
    @ColumnWidth(30)
    @ExcelProperty("新证件类别")
    @ExcelIgnore
    @ApiModelProperty(value = "新证件类别")
    private String newZjlb;
    /**
     * 新证件号码
     */
    @ColumnWidth(30)
    @ExcelProperty("新证件号码")
    @ApiModelProperty(value = "新证件号码")
    @ExcelIgnore
    private String newZjhm;
    /**
     * 过户时间
     */
    @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 ghsj;
    /**
     * 操作人员编码
     */
    @ColumnWidth(30)
    @ExcelProperty("操作人员编码")
    @ExcelIgnore
    @ApiModelProperty(value = "操作人员编码")
    private String czrybm;
    /**
     * 操作人员姓名
     */
    @ColumnWidth(30)
    @ExcelProperty("操作人员姓名")
    @ApiModelProperty(value = "操作人员姓名")
    private String czryxm;
    /**
     * 备注
     */
    @ColumnWidth(30)
    @ExcelProperty("备注")
    @ExcelIgnore
    @ApiModelProperty(value = "备注")
    private String bz;
    /**
     * 类型（1：更名，2：过户）
     */
    @ColumnWidth(30)
    @ExcelProperty("类型")
    @ExcelIgnore
    @ApiModelProperty(value = "类型（1：更名，2：过户）")
    private String type;
    /**
     * 发票开具纳税人识别号
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具纳税人识别号")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具纳税人识别号")
    private String oldFpNsrsbh;
    /**
     * 发票开具地址
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具地址")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具地址")
    private String oldFpDz;
    /**
     * 发票开具姓名
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具姓名")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具姓名")
    private String oldFpName;
    /**
     * 发票开具联系电话
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具联系电话")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具联系电话")
    private String oldFpLxdh;
    /**
     * 发票开具开户行
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具开户行")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具开户行")
    private String oldFpBankname;
    /**
     * 发票开具备注
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具备注")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具备注")
    private String oldFpBz;
    /**
     * 发票开具银行账号
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具银行账号")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具银行账号")
    private String oldFpBankcode;


    /**
     * 开票类型
     */
    @ColumnWidth(30)
    @ExcelProperty("开票类型")
    @ExcelIgnore
    @ApiModelProperty(value = "开票类型")
    private String newFplx;


    /**
     * 发票开具纳税人识别号
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具纳税人识别号")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具纳税人识别号")
    private String newFpNsrsbh;
    /**
     * 发票开具地址
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具地址")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具地址")
    private String newFpDz;
    /**
     * 发票开具姓名
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具姓名")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具姓名")
    private String newFpName;
    /**
     * 发票开具联系电话
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具联系电话")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具联系电话")
    private String newFpLxdh;
    /**
     * 发票开具开户行
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具开户行")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具开户行")
    private String newFpBankname;
    /**
     * 发票开具备注
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具备注")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具备注")
    private String newFpBz;
    /**
     * 发票开具银行账号
     */
    @ColumnWidth(30)
    @ExcelProperty("发票开具银行账号")
    @ExcelIgnore
    @ApiModelProperty(value = "发票开具银行账号")
    private String newFpBankcode;

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

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

    @ApiModelProperty(value = "原用户档案信息")
    private String oldJson;

    @ApiModelProperty(value = "操作后档案信息")
    private String newJson;
}
