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

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 lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import static com.baomidou.mybatisplus.annotation.FieldStrategy.NEVER;

/**
 * 居家长者信息 DO
 */
@TableName("home_elderly_info")
@Data
public class HomeElderlyInfoDO extends BaseNoDeleteDO implements Serializable {

    @TableId(type = IdType.AUTO)
    private Long id;
    private String idCardType;
    private String idCard;
    private String elderName;
    private String elderQrCode;
    private String sex;
    private LocalDateTime birthday;
    private String phone;
    private String telephone;
    private String liveSituation;
    private BigDecimal liveArea;
    private LocalDateTime checkIn;
    private String currentLiveArea;
    private String currentLiveAddress;
    private String currentLiveCommunity;
    private String householdArea;
    private String householdAddress;
    private String householdCommunity;
    private String householdType;
    private String ethnicity;
    private String maritalStatus;
    private String job;
    private String selfCareSituation;
    private String educationalLevel;
    private String disabilityType;
    private String incomeSource;
    private BigDecimal disposableIncome;
    private String medicalType;
    private String intendedElderlyCareMode;
    private String intendedService;
    private String problem;
    private String trackingRecord;
    private String isMigrate;
    private String isResident;
    private Integer isService;
    private Integer isSubsidize;
    private Integer serviceTimesYear;
    private Integer inStatus;
    private String healthStatus;
    private String bloodType;
    private String medicalInsuranceCard;
    private String eyesight;
    private String hearing;
    private String disease;
    private String medicalHistory;
    private String extraFile;
    /**
     * 送工费
     */
    private BigDecimal deliveryFee;

    /**
     * 余额（兼容字段，实际值取 home_elderly_account.amount）
     */
    @TableField(exist = false, updateStrategy = NEVER)
    private BigDecimal balance;

    private Long tenantId;
}
