package cn.iocoder.yudao.module.qcreport.controller.admin.instance.vo;
|
|
import cn.iocoder.yudao.module.qcreport.engine.context.ReportContext;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import jakarta.validation.constraints.NotNull;
|
import lombok.Data;
|
|
/**
|
* 出件(渲染并落库报告实例)的入参,预览接口也复用它。
|
* <p>
|
* {@link #context} 直接用引擎的 {@link ReportContext},不另造一个镜像 VO:
|
* 那就是这个平台对外唯一的数据契约,镜像出来只是多一份需要同步维护的字段清单。
|
* 字段级的边界校验放在 Service 里做,引擎实体本身不挂校验注解。
|
*/
|
@Schema(description = "管理后台 - 智能质检报告出件 Request VO")
|
@Data
|
public class QcReportInstanceGenerateReqVO {
|
|
@Schema(description = "模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5")
|
@NotNull(message = "模板编号不能为空")
|
private Long templateId;
|
|
@Schema(description = "模板版本号。不传则用模板当前已发布的版本", example = "v1.0")
|
private String version;
|
|
@Schema(description = "报告编号。不传则按 QR+日期+流水 自动生成", example = "QR20260918-0001")
|
private String reportNo;
|
|
@Schema(description = "业务单据编号,用于将来按单据反查报告", example = "1024")
|
private String businessId;
|
|
@Schema(description = "业务单据类型,如 mes_qc_iqc / mes_qc_ipqc / mes_qc_oqc / mes_qc_rqc", example = "mes_qc_oqc")
|
private String businessType;
|
|
@Schema(description = "报告数据上下文:报告级字段 + 检验项列表", requiredMode = Schema.RequiredMode.REQUIRED)
|
@NotNull(message = "报告数据不能为空")
|
private ReportContext context;
|
|
}
|