package com.zt.plat.module.qms.business.config.controller.vo;

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

@Schema(description = "管理后台 - 检验委托来源配置新增/修改 Request VO")
@Data
public class ConfigEntrustSourceSaveReqVO {

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

    @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "1")
    private String entrustType;

    @Schema(description = "委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @NotEmpty(message = "委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托不能为空")
    private String name;

    @Schema(description = "委托来源Key", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "委托来源Key不能为空")
    private String key;

    @Schema(description = "数据集Key,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "数据集Key,T_DAT_COLT_FLD不能为空")
    private String dataCollectionKey;

    @Schema(description = "委托单模版Key")
    private String configReportTemplateKey;

    @Schema(description = "委托单号规则")
    private String codeRule;

    @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED)
    private String systemDepartmentCode;

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