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