package com.fjhx.sale.entity.quality.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fjhx.file.entity.ObsFile;
import com.fjhx.file.utils.ObsFileUtil;
import com.fjhx.sale.entity.quality.dto.EhsdQualityAqlDto;
import com.ruoyi.common.core.domain.BasePo;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 质检基础信息表
 * </p>
 *
 * @author 
 * @since 2023-05-22
 */
@Getter
@Setter
@TableName("ehsd_quality")
public class EhsdQuality extends BasePo {

    /**
     * 业务类型  1:销售合同产品  2:样品单产品
     */
    private String businessType;

    /**
     * 业务ID  1:销售合同产品ID  2:样品单产品ID
     */
    private Long businessId;

    /**
     * 质检单编码
     */
    private String code;

    /**
     * 供应商ID
     */
    private Long supplyId;

    /**
     * 供应商名称
     */
    private String supplyName;

    /**
     * 质检时间
     */
    private Date inspectionDate;

    /**
     * 参考样品 0：无  1： 产品规格
     */
    private String referenceSample;

    /**
     * 产品
     */
    private String productName;

    /**
     * 订单数量
     */
    private BigDecimal orderQuantity;

    /**
     * 质检位置
     */
    private String inspectionLocation;

    /**
     * 质检总结列表JSON {name:passed}
     */
    private String inspectionSummary;

    /**
     * 总结
     */
    private String summary;

    /**
     * 总结结果 0：成功  1：失败
     */
    private String summaryResult;

    /**
     * 总结描述
     */
    private String summaryDescription;

    /**
     * 现场测试结果 0：成功  1:失败
     */
    private String siteTestResult;

    /**
     * 现场测试备注
     */
    private String siteTestRemark;

    /**
     * 状态 0：草稿  10 质检通过
     */
    private Integer status;

    /**
     * 打标类型 0：
     */
    private String markingType;

    /**
     * 标记结果 0：成功  1：失败
     */
    private String markingResult;

    /**
     * 装运唛头JSON  {shippingMarks:0}
     */
    private String shippingMarks;

    /**
     * 产品规格结果
     */
    private String productSpecificationResult;

    /**
     * 产品规格备注
     */
    private String productSpecificationRemark;

    /**
     * 步骤节点
     */
    private String step;

    /**
     * 样品是否在现场采集0：YES  1: NO
     */
    private String sampleSite;

    /**
     * AQL列表
     */
    @TableField(exist = false)
    private List<EhsdQualityAql> ehsdQualityAqlList;

    /**
     * 打标明细列表
     */
    @TableField(exist = false)
    private List<EhsdQualityMarkingDetail> ehsdQualityMarkingDetails;

    /**
     * 商品包装列表
     */
    @TableField(exist = false)
    private List<EhsdQualityProduct> ehsdQualityProductList;


    /**
     * 工序列表
     */
    @TableField(exist = false)
    private List<EhsdQualityWorkship> ehsdQualityWorkshipList;


    /**
     * 现场测试列表
     */
    @TableField(exist = false)
    private List<EhsdQualitySiteTest> ehsdQualitySiteTestList;


    /**
     * 质检问题列表
     */
    @TableField(exist = false)
    private List<EhsdQualityProblem> ehsdQualityProblemList;


    /**
     * 质检纸箱列表
     */
    @TableField(exist = false)
    private List<EhsdQualityCartons> ehsdQualityCartonsList;


    /**
     * 质检包装明细表
     */
    @TableField(exist = false)
    private List<EhsdQualityPack> ehsdQualityPackList;


    /**
     * 产品规格列表
     */
    @TableField(exist = false)
    private List<EhsdQualityProductColor> ehsdQualityProductColorList;

    /**
     * 样品采集记录文件列表
     */
    @TableField(exist = false)
    private List<ObsFile> sampleCollectionRecordFileList;

    /**
     * 工序照片文件列表
     */
    @TableField(exist = false)
    private List<ObsFile> workshipPhotoFileList;

    /**
     * 物品缺陷照片文件列表
     */
    @TableField(exist = false)
    private List<ObsFile> defectPhotosOfItemsFileList;

    /**
     * 支持文档视频文件列表
     */
    @TableField(exist = false)
    private List<ObsFile> supportDocumentationFileList;
}
