package com.sundot.airport.web.controller.approval.dto;

import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.Map;

/**
 * 审批DTO
 *
 * @author simon lin
 * @date 2025-09-06
 */
public class ApprovalDTO {
    /**
     * 审批意见
     */
    @NotBlank(message = "审批意见不能为空")
    private String comment;

    /**
     * 节点类型
     */
    private String nodeType;

    /**
     * 目标班组ID
     */
    private Long targetGroupId;

    /**
     * 整改要求
     */
    private String rectificationRequirement;

    /**
     * 整改详情
     */
    private String rectificationDetail;

    /**
     * 整改时间
     */
    private Date rectificationTime;

    /**
     * 整改结果
     */
    private String rectificationResult;

    /**
     * 复查结果
     */
    private String reviewResult;

    /**
     * 复查意见
     */
    private String reviewComment;

    /**
     * 最终决定
     */
    private String finalDecision;

    /**
     * 复查时间
     */
    private Date reviewTime;

    /**
     * 表单数据
     */
    private Map<String, Object> formData;

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getNodeType() {
        return nodeType;
    }

    public void setNodeType(String nodeType) {
        this.nodeType = nodeType;
    }

    public Long getTargetGroupId() {
        return targetGroupId;
    }

    public void setTargetGroupId(Long targetGroupId) {
        this.targetGroupId = targetGroupId;
    }

    public String getRectificationRequirement() {
        return rectificationRequirement;
    }

    public void setRectificationRequirement(String rectificationRequirement) {
        this.rectificationRequirement = rectificationRequirement;
    }

    public String getRectificationDetail() {
        return rectificationDetail;
    }

    public void setRectificationDetail(String rectificationDetail) {
        this.rectificationDetail = rectificationDetail;
    }

    public Date getRectificationTime() {
        return rectificationTime;
    }

    public void setRectificationTime(Date rectificationTime) {
        this.rectificationTime = rectificationTime;
    }

    public String getRectificationResult() {
        return rectificationResult;
    }

    public void setRectificationResult(String rectificationResult) {
        this.rectificationResult = rectificationResult;
    }

    public String getReviewResult() {
        return reviewResult;
    }

    public void setReviewResult(String reviewResult) {
        this.reviewResult = reviewResult;
    }

    public String getReviewComment() {
        return reviewComment;
    }

    public void setReviewComment(String reviewComment) {
        this.reviewComment = reviewComment;
    }

    public String getFinalDecision() {
        return finalDecision;
    }

    public void setFinalDecision(String finalDecision) {
        this.finalDecision = finalDecision;
    }

    public Date getReviewTime() {
        return reviewTime;
    }

    public void setReviewTime(Date reviewTime) {
        this.reviewTime = reviewTime;
    }

    public Map<String, Object> getFormData() {
        return formData;
    }

    public void setFormData(Map<String, Object> formData) {
        this.formData = formData;
    }
}