package com.dcsoft.system.domain;

import com.dcsoft.common.core.annotation.Excel;
import com.dcsoft.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 海康打卡记录对象 hk_people_record
 *
 * @author nichun
 * @date 2023-09-27
 */
public class HkPeopleRecord extends BaseEntity
{

    private static final long serialVersionUID = 1L;

    /** 记录Id */

    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 事件ID	 */
    private String eventId;

    /** 事件时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "打卡时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date dateTime;

    /** 人员ID */

    private String employeeNo;

    @Excel(name = "工号")
    private String gh;
    @Excel(name = "人员名称")
    private String peopleName;
    @Excel(name = "部门")
    private String branchName;

    /** 卡号 */
    @Excel(name = "卡号")
    private String cardNo;

    /** 设备序列号	 */
    @Excel(name = "设备序列号	")
    private String deviceSerial;

    /** 设备名称 */
    private String deviceName;

    private String equipmentId;

    @Excel(name = "设备名称")
    private String equipmentName;

    /** 触发报警的设备通道号 */
    private String channelNo;

    /** 触发报警的设备通道名称 */
    private String channelName;

    /** 读卡器类型 */
    private String cardReaderKind;

    /** 读卡器编号 */
    private String cardReaderNo;

    /** 门编号 */
    private String doorNo;

    /** 事件类型 */
    private String eventType;

    /** 事件码 */
    @Excel(name = "事件码",readConverterExp="10101=刷卡,10114=人脸识别")
    private String eventCode;

    /** 事件描述 */
    private String eventDescription;

    /** 事件描述 */
    private String pictureUrl;

    @JsonIgnore
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @JsonIgnore
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    public String getEquipmentName() {
        return equipmentName;
    }

    public void setEquipmentName(String equipmentName) {
        this.equipmentName = equipmentName;
    }

    private String isNew;

    public String getIsNew() {
        return isNew;
    }

    public void setIsNew(String isNew) {
        this.isNew = isNew;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setEventId(String eventId)
    {
        this.eventId = eventId;
    }

    public String getEventId()
    {
        return eventId;
    }
    public void setDateTime(Date dateTime)
    {
        this.dateTime = dateTime;
    }

    public Date getDateTime()
    {
        return dateTime;
    }
    public void setEmployeeNo(String employeeNo)
    {
        this.employeeNo = employeeNo;
    }

    public String getEmployeeNo()
    {
        return employeeNo;
    }
    public void setCardNo(String cardNo)
    {
        this.cardNo = cardNo;
    }

    public String getCardNo()
    {
        return cardNo;
    }
    public void setDeviceSerial(String deviceSerial)
    {
        this.deviceSerial = deviceSerial;
    }

    public String getDeviceSerial()
    {
        return deviceSerial;
    }
    public void setDeviceName(String deviceName)
    {
        this.deviceName = deviceName;
    }

    public String getDeviceName()
    {
        return deviceName;
    }
    public void setChannelNo(String channelNo)
    {
        this.channelNo = channelNo;
    }

    public String getChannelNo()
    {
        return channelNo;
    }
    public void setChannelName(String channelName)
    {
        this.channelName = channelName;
    }

    public String getChannelName()
    {
        return channelName;
    }
    public void setCardReaderKind(String cardReaderKind)
    {
        this.cardReaderKind = cardReaderKind;
    }

    public String getCardReaderKind()
    {
        return cardReaderKind;
    }
    public void setCardReaderNo(String cardReaderNo)
    {
        this.cardReaderNo = cardReaderNo;
    }

    public String getCardReaderNo()
    {
        return cardReaderNo;
    }
    public void setDoorNo(String doorNo)
    {
        this.doorNo = doorNo;
    }

    public String getDoorNo()
    {
        return doorNo;
    }
    public void setEventType(String eventType)
    {
        this.eventType = eventType;
    }

    public String getEventType()
    {
        return eventType;
    }
    public void setEventCode(String eventCode)
    {
        this.eventCode = eventCode;
    }

    public String getEventCode()
    {
        return eventCode;
    }
    public void setEventDescription(String eventDescription)
    {
        this.eventDescription = eventDescription;
    }

    public String getEventDescription()
    {
        return eventDescription;
    }
    public void setPictureUrl(String pictureUrl)
    {
        this.pictureUrl = pictureUrl;
    }

    public String getPictureUrl()
    {
        return pictureUrl;
    }

    public String getGh() {
        return gh;
    }

    public void setGh(String gh) {
        this.gh = gh;
    }

    public String getPeopleName() {
        return peopleName;
    }

    public void setPeopleName(String peopleName) {
        this.peopleName = peopleName;
    }

    public String getBranchName() {
        return branchName;
    }

    public void setBranchName(String branchName) {
        this.branchName = branchName;
    }

    public String getEquipmentId() {
        return equipmentId;
    }

    public void setEquipmentId(String equipmentId) {
        this.equipmentId = equipmentId;
    }



    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("eventId", getEventId())
            .append("dateTime", getDateTime())
            .append("employeeNo", getEmployeeNo())
            .append("cardNo", getCardNo())
            .append("deviceSerial", getDeviceSerial())
            .append("deviceName", getDeviceName())
            .append("channelNo", getChannelNo())
            .append("channelName", getChannelName())
            .append("cardReaderKind", getCardReaderKind())
            .append("cardReaderNo", getCardReaderNo())
            .append("doorNo", getDoorNo())
            .append("eventType", getEventType())
            .append("eventCode", getEventCode())
            .append("eventDescription", getEventDescription())
            .append("pictureUrl", getPictureUrl())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .toString();
    }
}
