namespace Admin.NET.Plugin.AiDOP.Manufacturing.Dto; /// /// 检验员提交检验结果入参。写 qms_gcjyd 白名单列(jgpd/jyhgsl/jybhgsl/ybl/jyr/bz),并推进 ApprovalFlow N1→N2。 /// 判定 jgpd 可空(枚举未确认时不阻塞技术链路,不强写未知值)。 /// public class IpqcSubmitInspectionInput { /// 检验单 id(qms_gcjyd.id,BizId) public long Id { get; set; } /// 结果判定(jgpd,字典码;枚举未确认,可空,不强写) public int? Jgpd { get; set; } /// 检验合格数量(jyhgsl,不得为负) public decimal Jyhgsl { get; set; } /// 检验不合格数量(jybhgsl,不得为负,不得大于样本量) public decimal Jybhgsl { get; set; } /// 样本量(ybl,检验数,不得为负) public decimal? Ybl { get; set; } /// 备注(bz,可选) public string? Bz { get; set; } /// 提交说明(流程意见,可选) public string? Comment { get; set; } } /// /// 检验主管审核通过入参(整批判定驱动流程分流)。 /// Qualified=true 整批合格→end;Qualified=false 整批不合格→N3 质量处置。 /// Jgpd 为整批判定值(写 qms_gcjyd.jgpd,可空,枚举未确认不硬编码、由前端传测试/已确认合法值)。 /// public class IpqcSupervisorApproveInput { /// 检验单 id public long Id { get; set; } /// 整批是否合格(true=合格结束 / false=不合格转质量处置) public bool Qualified { get; set; } = true; /// 整批判定 jgpd(写 qms_gcjyd.jgpd,可空,不硬编码枚举) public int? Jgpd { get; set; } /// 审批意见(可选) public string? Comment { get; set; } } /// 检验主管退回入参(回 N1,意见必填)。 public class IpqcSupervisorReturnInput { /// 检验单 id public long Id { get; set; } /// 退回意见(必填) public string? Comment { get; set; } } /// /// 过程检验单流程状态输出(只读,供前端按钮控制)。 /// public class IpqcFlowStateOutput { /// BizType(IPQC_INSPECTION) public string BizType { get; set; } = IpqcInspectionFlowConst.BizType; /// BizId(=检验单 id) public long BizId { get; set; } /// 流程实例 id(未启动为 null) public long? InstanceId { get; set; } /// 流程状态(NotStarted / Running / Approved / Rejected / Cancelled / Terminated) public string FlowStatus { get; set; } = "NotStarted"; /// 业务状态(INSPECTING / PENDING_REVIEW / APPROVED / RETURNED) public string? BusinessStatus { get; set; } /// 当前节点码(N1_INSPECT / N2_SUP_REVIEW,未启动/已结束为 null) public string? CurrentNodeCode { get; set; } /// 当前节点名 public string? CurrentNodeName { get; set; } /// 当前节点角色 public string? CurrentAssigneeRole { get; set; } /// 当前用户是否可提交检验结果 public bool CanSubmitResult { get; set; } /// 当前用户是否可主管通过 public bool CanSupervisorApprove { get; set; } /// 当前用户是否可主管退回 public bool CanSupervisorReturn { get; set; } /// 当前用户是否可提交质量处置(当前节点 N3 且本人 pending) public bool CanSubmitDisposition { get; set; } /// 是否需质量处置(1=不合格转N3 / 0=合格结束;主管 N2 整批判定驱动) public int? DispositionRequired { get; set; } /// 是否已有质量处置记录 public bool HasDisposition { get; set; } /// 流程是否已完成/终态 public bool IsCompleted { get; set; } /// 检验员姓名 public string? InspectorName { get; set; } /// 检验主管姓名 public string? SupervisorName { get; set; } /// 更新时间 public DateTime? UpdatedAt { get; set; } /// 提示信息 public string? Message { get; set; } }