namespace Admin.NET.Plugin.AiDOP.MaterialWarehouse.Dto;
///
/// 检验员提交检验结果入参。写 qms_qcp_inspbill.pd/dhsl/bhgsl/clfs,并推进 ApprovalFlow N1→N2。
///
public class IqcSubmitResultInput
{
/// 检验单 id(qms_qcp_inspbill.id,BizId)
public long Id { get; set; }
/// 判定:0=合格 1=不合格
public int Pd { get; set; }
/// 合格数量
public decimal Dhsl { get; set; }
/// 不合格数量
public decimal Bhgsl { get; set; }
/// 处理方式:0=让步接收 1=挑选 2=报废(pd=1 时必填)
public int? Clfs { get; set; }
/// 提交说明(可选)
public string? Comment { get; set; }
}
/// 检验主管通过入参。
public class IqcSupervisorApproveInput
{
/// 检验单 id
public long Id { get; set; }
/// 审批意见(可选)
public string? Comment { get; set; }
}
/// 检验主管退回入参(回 N1,意见必填)。
public class IqcSupervisorRejectInput
{
/// 检验单 id
public long Id { get; set; }
/// 退回意见(必填)
public string? Comment { get; set; }
}
///
/// 检验单流程状态输出(只读,供前端按钮控制)。
///
public class IqcFlowStateOutput
{
/// BizType(S5_IQC_INSPBILL)
public string BizType { get; set; } = IqcInspBillFlowConst.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";
/// 当前节点码(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 CanSupervisorReject { get; set; }
/// 流程是否已完成/终态
public bool IsCompleted { get; set; }
/// 当前用户是否可提交 SQE 处置(当前节点 N3 且当前用户有 N3 待办)
public bool CanSqeSubmit { get; set; }
/// 是否停留在 SQE 处置节点
public bool IsWaitingSqe { get; set; }
/// 是否已有 SQE 处置记录
public bool HasSqeDisposition { get; set; }
/// SQE 处置记录 id
public long? SqeDispositionId { get; set; }
/// SQE 处置记录状态(1=已提交)
public int? SqeDispositionStatus { get; set; }
/// SQE 处置方式(0 让步接收 / 1 挑选 / 2 报废)
public int? SqeDispositionType { get; set; }
/// 更新时间
public DateTime? UpdatedAt { get; set; }
/// 提示信息
public string? Message { get; set; }
}
/// SQE 提交处置方案入参。写 ado_s5_iqc_sqe_disposition 并推进 N3→end。
public class IqcSqeSubmitDispositionInput
{
/// 检验单 id
public long Id { get; set; }
/// 处置方式:0 让步接收 / 1 挑选 / 2 报废
public int DispositionType { get; set; }
/// 处置数量
public decimal? DispositionQty { get; set; }
/// 让步接收数量
public decimal? ConcessionQty { get; set; }
/// 挑选数量
public decimal? SelectionQty { get; set; }
/// 报废数量
public decimal? ScrapQty { get; set; }
/// 处置意见(必填)
public string? DispositionOpinion { get; set; }
/// 供应商回复
public string? SupplierResponse { get; set; }
/// 附件 JSON(预留,本批不做上传)
public string? AttachmentJson { get; set; }
/// 流程意见(可选)
public string? Comment { get; set; }
}