package cn.iocoder.yudao.module.qcreport.dal.dataobject.instance; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.Jackson3TypeHandler; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.ToString; import java.util.Map; /** * 报告实例 DO *

* 生成报告时必须保存 dataSnapshot:历史报告不能因为业务数据变化而发生变化。 */ @TableName(value = "qc_report_instance", autoResultMap = true) @KeySequence("qc_report_instance_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class QcReportInstanceDO extends BaseDO { /** * 实例编号 */ @TableId private Long id; /** * 报告编号(业务唯一) */ private String reportNo; /** * 模板编号 */ private Long templateId; /** * 生成时使用的模板版本号 */ private String templateVersion; /** * 业务单据编号,如质检单 ID */ private String businessId; /** * 业务单据类型,如 mes_qc_iqc */ private String businessType; /** * 数据快照:渲染时的完整数据上下文,保证历史报告可复现 */ @TableField(typeHandler = Jackson3TypeHandler.class) private Map dataSnapshot; /** * 渲染产物 HTML */ private String renderHtml; /** * 报告状态。见 QcReportInstanceStatusEnum */ private Integer status; }