package com.ssm.manage.vo;

import com.ssm.manage.entity.AbnormalClockInRecord;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.beans.BeanUtils;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * 异常打卡记录视图对象
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class AbnormalClockInRecordsVo extends AbnormalClockInRecord {
    private List<AbnormalClockInRecordDetail> records;

    public AbnormalClockInRecordsVo(@NotNull AbnormalClockInRecord abnormalClockInRecord) {
        BeanUtils.copyProperties(abnormalClockInRecord, this);
    }
    @Override
    public AbnormalClockInRecordsVo setId(Long id) {
        super.setId(id);
        return this;
    }

    @Override
    public AbnormalClockInRecordsVo setStaffNum(String staffNum) {
        super.setStaffNum(staffNum);
        return this;
    }

    @Override
    public AbnormalClockInRecordsVo setStaffName(String staffName) {
        super.setStaffName(staffName);
        return this;
    }

    @Override
    public AbnormalClockInRecordsVo setIdentityCard(String identityCard) {
        super.setIdentityCard(identityCard);
        return this;
    }
//
//    @Override
//    public AbnormalClockInRecordsVo setType(Integer type) {
//        super.setType(type);
//        return this;
//    }
//
//    @Override
//    public AbnormalClockInRecordsVo setZhongkongDimission(Integer zhongkongDimission) {
//        super.setZhongkongDimission(zhongkongDimission);
//        return this;
//    }
//
//    @Override
//    public AbnormalClockInRecordsVo setAbnormalCount(Integer abnormalCount) {
//        super.setAbnormalCount(abnormalCount);
//        return this;
//    }
//
//    @Override
//    public AbnormalClockInRecordsVo setTotalClockInCount(Integer totalClockInCount) {
//        super.setTotalClockInCount(totalClockInCount);
//        return this;
//    }
//
//    @Override
//    public AbnormalClockInRecordsVo setEnterTime(Date enterTime) {
//        super.setEnterTime(enterTime);
//        return this;
//    }
//
//    @Override
//    public AbnormalClockInRecordsVo setLeaveTime(Date leaveTime) {
//        super.setLeaveTime(leaveTime);
//        return this;
//    }
}
