package com.zt.plat.module.qms.resource.device.controller.vo;

import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceCalibrationDO;
import com.zt.plat.module.qms.resource.device.dal.dataobject.DevicePeriodCheckDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 设备-期间核查计划新增/修改 Request VO")
@Data
public class DevicePeriodCheckPlanSaveReqVO {

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

    @Schema(description = "汇总计划id", example = "25393")
    private Long parentId;

    @Schema(description = "核查年度")
    private String checkYear;

    @Schema(description = "申请人", example = "王五")
    private String applyUserName;

    @Schema(description = "审批状态", example = "2")
    private String flowStatus;

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

    @Schema(description = "申请标题")
    private String title;

    @Schema(description = "班组提交标识,0-未提交；1-已提交")
    private String basicSubmitFlag;

    @Schema(description = "退回意见")
    private String rollbackRemark;

    @Schema(description = "数据类型,班组/汇总", example = "1")
    private String dataType;

    @Schema(description = "核查对象类型")
    private String checkTarget;

    @Schema(description = "作废标识：0-有效；1-作废")
    private String cancelFlag;

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

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

    //==============扩展字段==================
    @Schema(description = "检定校准明细列表")
    List<DevicePeriodCheckDO> devicePeriodCheckList;
}