package cn.iocoder.yudao.module.system.controller.admin.biz.vo.excel;

import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;


@Schema(description = "管理后台 - 长者导入 Request VO")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false，避免用户导入有问题
public class ElderlyImportExcelVO {

    @ExcelProperty("长者名称")
    private String elderName;

    @ExcelProperty(value = "性别", converter = DictConvert.class)
    @DictFormat(DictTypeConstants.USER_SEX)
    private Integer elderSex;

    @ExcelProperty("年龄")
    private String elderAge;

    @ExcelProperty("出生日期")
    private Date birthday;

    @ExcelProperty(value = "民族", converter = DictConvert.class)
    @DictFormat(DictTypeConstants.NATION_ARR)
    private String nationId;

    @ExcelProperty(value = "身份证类型", converter = DictConvert.class)
    @DictFormat(DictTypeConstants.PAPERS_TYPE)
    private Integer papersType;

    @ExcelProperty("身份证号")
    private String idCard;

    @ExcelProperty("身份证地址")
    private String papersAddress;

    @ExcelProperty("户籍地址")
    private String registeredResidenceAddress;

    @ExcelProperty("血型")
    private String elderBlood;

//    @ExcelProperty("语言")
//    private String language;

    @ExcelProperty("地址")
    private String address;

    @ExcelProperty("社会保障卡号")
    private String socialSecurityCardNumber;

    @ExcelProperty("经济来源")
    private String economySource;

    @ExcelProperty("宗教信仰")
    private String religiousBelief;

    @ExcelProperty("政治面貌")
    private String political;

    @ExcelProperty("入住类型(长住填1,试住填2)")
    private Integer inStatusType;

    @ExcelProperty("退休时间")
    private Date retirementTime;

    @ExcelProperty("退休金")
    private BigDecimal pension;

    @ExcelProperty("长者标签")
    private String elderTags;


//    @ExcelProperty("生日关怀日期")
//    private String birthdayCareDate;

    @ExcelProperty("医疗保险")
    private String medicalInsurance;

    @ExcelProperty("媒介渠道")
    private String mediaChannels;


    //****************** 亲属字段 *******************

    @ExcelProperty("第一托养人姓名")
    private String firstName;

    @ExcelProperty("第一托养人证件号")
    private String firstIdCard;

    @ExcelProperty("第一托养人联系手机")
    private String firstPhone;

    @ExcelProperty("与第一托养人关系")
    private String firstRelation;

    @ExcelProperty("第一托养人现在住址")
    private String firstAddress;

    @ExcelProperty("第二托养人姓名")
    private String secondName;

    @ExcelProperty("第二托养人证件号")
    private String secondIdCard;

    @ExcelProperty("第二托养人联系手机")
    private String secondPhone;

    @ExcelProperty("与第二托养人关系")
    private String secondRelation;

    @ExcelProperty("第二托养人现在住址")
    private String secondAddress;


    @ExcelProperty("错误原因")
    private String errorMsg;

}
