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

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.*;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 审批意见新增/修改 Request VO")
@Data
public class DataOpinionSaveReqVO {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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