package cn.iocoder.yudao.module.system.dal.dataobject.extra;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseNoDeleteDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * (附件)授权委托书 DO
 *
 * @author 管理员
 */
@TableName("elderly_extra_power_of_attorney")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ElderlyExtraPowerOfAttorneyDO extends BaseNoDeleteDO {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(description = "长者id")
    private Long elderId;

    @Schema(description = "记录人")
    private String recorder;

    @Schema(description = "记录日期")
    private LocalDate recordDate;

    @Schema(description = "内容")
    private String content;

    @Schema(description = "授权人与被授权人关系")
    private String certigierRelation;

    @Schema(description = "授权人签字")
    private String signCertigier;

    @Schema(description = "被授权人签字")
    private String signBeCertigier;

    @Schema(description = "签字日期")
    private LocalDateTime signDate;

    @Schema(description = "机构id")
    private Long tenantId;

    // ================== 非数据库字段（查询扩展） ==================

    @Schema(description = "长者姓名")
    @TableField(exist = false)
    private String elderName;

    @Schema(description = "床位号")
    @TableField(exist = false)
    private String bedNumber;

}
