package com.zt.plat.module.qms.common.data.controller.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 审批意见 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DataOpinionRespVO {

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

    @Schema(description = "业务数据ID", example = "4483")
    @ExcelProperty("业务数据ID")
    private Long businessId;

    @Schema(description = "流程实例ID", example = "28150")
    @ExcelProperty("流程实例ID")
    private String flowInstanceId;

    @Schema(description = "流程活动code")
    @ExcelProperty("流程活动code")
    private String nodeKey;

    @Schema(description = "流程活动名", example = "王五")
    @ExcelProperty("流程活动名")
    private String nodeName;

    @Schema(description = "自定义key")
    @ExcelProperty("自定义key")
    private String customKey;

    @Schema(description = "审批人ID", example = "23093")
    @ExcelProperty("审批人ID")
    private Long opinionUserId;

    @Schema(description = "审批人姓名", example = "赵六")
    @ExcelProperty("审批人姓名")
    private String opinionUserName;

    @Schema(description = "审批人部门ID", example = "2389")
    @ExcelProperty("审批人部门ID")
    private Long opinionDepartmentId;

    @Schema(description = "审批人部门名", example = "赵六")
    @ExcelProperty("审批人部门名")
    private String opinionDepartmentName;

    @Schema(description = "审批时间")
    @ExcelProperty("审批时间")
    private LocalDateTime opinionTime;

    @Schema(description = "意见内容")
    @ExcelProperty("意见内容")
    private String opinionContent;

    @Schema(description = "签名id", example = "29049")
    @ExcelProperty("签名id")
    private Long opinionSignatureId;

    @Schema(description = "禁用状态,0-启用；1-禁用", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("禁用状态,0-启用；1-禁用")
    private String cancelFlag;

    @Schema(description = "所属部门")
    @ExcelProperty("所属部门")
    private String systemDepartmentCode;

    @Schema(description = "排序号")
    @ExcelProperty("排序号")
    private Integer sortNo;

    @Schema(description = "备注")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;


    //===========扩展字段

    @Schema(description = "审批时间年月日")
    @ExcelProperty("审批时间年月日")
    private String opinionTimeYYYYMMDD;

    @Schema(description = "base64签名图片")
    private String signatureIdBase64;
}