package com.xjrsoft.module.attendance.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.yulichang.annotation.EntityMapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;


/**
* @title: 考勤规则
* @Author dzx
* @Date: 2024-05-08
* @Version 1.0
*/
@Data
@TableName("attendance_rule_category")
@ApiModel(value = "attendance_rule_category", description = "考勤规则")
public class AttendanceRuleCategory implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 
    */
    @ApiModelProperty("")
    @TableId
    private Long id;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private Long createUserId;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private Date createDate;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.UPDATE)
    private Long modifyUserId;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.UPDATE)
    private Date modifyDate;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    private Integer deleteMark;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private Integer enabledMark;
    /**
    * 
    */
    @ApiModelProperty("")
    private Integer sortCode;
    /**
    * 考勤规则名称
    */
    @ApiModelProperty("考勤规则名称")
    private String name;
    /**
    * 考勤开始时间
    */
    @ApiModelProperty("考勤开始时间")
    private LocalDate startDate;
    /**
    * 考勤结束时间
    */
    @ApiModelProperty("考勤结束时间")
    private LocalDate endDate;
    /**
    * 被考勤角色（xjr_role）
    */
    @ApiModelProperty("被考勤角色（xjr_role）")
    private Long roleId;
    /**
    * 考勤人员范围（1：全体 2：指定）
    */
    @ApiModelProperty("考勤人员范围（1：全体 2：指定）")
    private Integer attendanceRange;
    /**
    * 就读方式(xjr_dictionary_item[stduy_status])
    */
    @ApiModelProperty("就读方式(xjr_dictionary_item[stduy_status])")
    private String stduyStatus;
    /**
    * 状态（1：启用 0：禁用）
    */
    @ApiModelProperty("状态（1：启用 0：禁用）")
    private Integer status;

    /**
    * attendanceRuleDetails
    */
    @ApiModelProperty("attendanceRuleDetails子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "attendanceRuleCategoryId")
    private List<AttendanceRuleDetails> attendanceRuleDetailsList;
    /**
    * attendanceUserRelation
    */
    @ApiModelProperty("attendanceUserRelation子表")
    private String userRelation;

    @ApiModelProperty("非考勤周期是否允许进出（1：是 0：否）")
    private Integer notCycleIsInOut;

}