package com.bonus.canteen.core.kitchen.domain;

import java.time.LocalDate;
import java.util.List;

import com.bonus.system.api.domain.SysUser;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bonus.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;

/**
 * 厨房员工资料对象 kitchen_staff_info
 * 
 * @author xsheng
 * @date 2025-06-16
 */


@Data
@ToString
public class KitchenStaffInfo extends SysUser {
    private static final long serialVersionUID = 1L;

    /** 食堂后场人员id */
    private Long staffId;

    /** 食堂后场人员编号 */
    @Excel(name = "食堂后场人员编号")
    @ApiModelProperty(value = "食堂后场人员编号")
    private String staffNo;

    /** 用户id */
    @Excel(name = "用户id")
    @ApiModelProperty(value = "用户id")
    private Long userId;

    /** 健康证到期时间 */
    @ApiModelProperty(value = "健康证到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "健康证到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate healthCertExpire;

    /** 健康证正面 */
    @Excel(name = "健康证正面")
    @ApiModelProperty(value = "健康证正面")
    private String healthCertFrontImg;

    /** 健康证反面 */
    @Excel(name = "健康证反面")
    @ApiModelProperty(value = "健康证反面")
    private String healthCertBackImg;

    /** 营养师证到期时间 */
    @ApiModelProperty(value = "营养师证到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "营养师证到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate nutrityCertExpire;

    /** 安全员证到期时间 */
    @ApiModelProperty(value = "安全员证到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "安全员证到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate safetyCertExpire;

    @ApiModelProperty(value = "健康证状态名称")
    private String healthCertStatusName;

    @ApiModelProperty(value = "健康证状态")
    private Integer healthCertStatus;

    @ApiModelProperty(value = "岗位名称")
    private String postName;

    @ApiModelProperty(value = "员工设备权限")
    private List<AccessAuthority> accessAuthorityList;

    @ApiModelProperty(value = "食堂编号")
    private Long canteenId;

    @JsonIgnore
    private String encryptedSearchValue;

}
