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

import cn.iocoder.yudao.module.system.api.bpm.vo.PriceChangeRecordReqVO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.List;

/**
 * @Author: jinyd
 * @CreateTime: 2024/9/11  10:34
 * @Description:
 * @Version: 4.0
 */


@Schema(description = "管理后台 - 转院变更详情 Response VO")
@Data
@ExcelIgnoreUnannotated
public class TransferChangeDetailRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14680")
    private Long id;

    @Schema(description = "长者id", example = "23841")
    private Long elderlyId;

    @Schema(description = "床位号")
    private String bedName;

    @Schema(description = "长者姓名", example = "23841")
    private String elderName;

    @Schema(description = "身份证", example = "23841")
    private String idCard;

    @Schema(description = "变更生效日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate changeDate;

    @Schema(description = "变更文件")
    private String changeFiles;

    @Schema(description = "变更原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不好")
    private String reason;

    @Schema(description = "原机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "20769")
    @NotNull(message = "原机构id不能为空")
    private Long originalId;

    @Schema(description = "原机构名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @NotEmpty(message = "原机构名称不能为空")
    private String originalName;

    @Schema(description = "新机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16757")
    @NotNull(message = "新机构id不能为空")
    private Long expectId;

    @Schema(description = "新机构名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @NotEmpty(message = "新机构名称不能为空")
    private String expectName;

    @Schema(description = "审批流程主键", example = "赵六")
    private String processInstanceId;


    @Schema(description = "审批状态，1-审批中，2-审批通过，3-审批不通过，4-已取消，5-系统审批",  example = "赵六")
    private String status;

}
