package cn.iocoder.yudao.module.mes.dal.dataobject.qc.ncr; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; import cn.iocoder.yudao.module.mes.enums.DictTypeConstants; import cn.iocoder.yudao.module.mes.enums.qc.MesNcrDispositionEnum; import cn.iocoder.yudao.module.mes.enums.qc.MesNcrStatusEnum; import cn.iocoder.yudao.module.mes.enums.qc.MesQcDefectLevelEnum; import cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; import java.math.BigDecimal; import java.time.LocalDateTime; /** * MES 不合格品处理单(NCR) DO * * @author 超级管理员 */ @TableName("mes_qc_ncr") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class MesQcNcrDO extends BaseDO { /** * 编号 */ @TableId private Long id; /** * NCR 单号 */ private String code; /** * NCR 名称 */ private String name; // ========== 来源检验单 ========== /** * 检验类型(IQC/IPQC/OQC/RQC) * * 字典 {@link DictTypeConstants#MES_QC_TYPE} * 枚举 {@link MesQcTypeEnum} */ private Integer qcType; /** * 来源检验单 ID */ private Long qcId; /** * 来源检验单编号(冗余) */ private String qcCode; // ========== 不合格品信息 ========== /** * 不合格物料 ID * * 关联 {@link MesMdItemDO#getId()} */ private Long itemId; /** * 缺陷等级(致命/严重/轻微) * * 字典 {@link DictTypeConstants#MES_DEFECT_LEVEL} * 枚举 {@link MesQcDefectLevelEnum} */ private Integer defectLevel; /** * 不合格数量 */ private BigDecimal unqualifiedQuantity; /** * 不合格描述 */ private String defectDescription; // ========== 评审信息 ========== /** * 处置方式(退货/报废/返工/让步接收/降级使用) * * 字典 {@link DictTypeConstants#MES_NCR_DISPOSITION} * 枚举 {@link MesNcrDispositionEnum} */ private Integer disposition; /** * 责任部门 ID */ private Long responsibleDeptId; /** * 评审人 ID */ private Long reviewerUserId; /** * 评审日期 */ private LocalDateTime reviewDate; /** * 评审意见 */ private String reviewOpinion; // ========== 处理信息 ========== /** * 处理人 ID */ private Long handlerUserId; /** * 处理日期 */ private LocalDateTime handleDate; /** * 处理结果说明 */ private String handleResult; // ========== 原因与措施 ========== /** * 根本原因 */ private String rootCause; /** * 纠正措施 */ private String correctiveAction; /** * 预防措施 */ private String preventiveAction; // ========== 关闭信息 ========== /** * 关闭人 ID */ private Long closeUserId; /** * 关闭日期 */ private LocalDateTime closeDate; /** * 关闭意见 */ private String closeOpinion; // ========== 状态与流程 ========== /** * 状态(待评审/已评审/已处置/已关闭) * * 字典 {@link DictTypeConstants#MES_NCR_STATUS} * 枚举 {@link MesNcrStatusEnum} */ private Integer status; /** * BPM 流程实例 ID(预留) */ private String processInstanceId; /** * 备注 */ private String remark; }