using Admin.NET.Plugin.AiDOP.FinishedWarehouse;
namespace Admin.NET.Plugin.AiDOP.FinishedWarehouse.Dto;
///
/// 检验员提交检验结果入参。写 qms_qcpp_inspbill.pd/hgsl/bhgsl/clfs(业务结果)
/// + qms_fqcbj.jyfzr/jykssj/jywcsj/FINSPECTSTATUS(检验任务执行进度,经 lydjbh=FBILLNO 关联),并推进 N1→N2。
///
public class FqcSubmitResultInput
{
/// 检验单 id(qms_qcpp_inspbill.id,BizId)
public long Id { get; set; }
/// 判定:0=合格 1=不合格
public int Pd { get; set; }
/// 合格数量(qms_qcpp_inspbill.hgsl)
public decimal Hgsl { get; set; }
/// 不合格数量(qms_qcpp_inspbill.bhgsl)
public decimal Bhgsl { get; set; }
/// 处理方式:0=让步接收 1=挑选 2=报废(pd=1 时必填;本批仅保存,不触发返工/报废/放行/复检/库存/生产动作)
public int? Clfs { get; set; }
/// 提交说明(可选)
public string? Comment { get; set; }
}
/// 检验主管通过入参(N2→end,不覆盖检验员业务结果)。
public class FqcSupervisorApproveInput
{
/// 检验单 id
public long Id { get; set; }
/// 审批意见(可选)
public string? Comment { get; set; }
}
/// 检验主管退回入参(ReturnToPrev 回 N1,意见必填;保留 pd/hgsl/bhgsl/clfs/FINSPECTSTATUS/jywcsj)。
public class FqcSupervisorRejectInput
{
/// 检验单 id
public long Id { get; set; }
/// 退回意见(必填)
public string? Comment { get; set; }
}
///
/// FQC 检验单流程状态输出(只读,供前端按钮控制)。
///
public class FqcFlowStateOutput
{
/// BizType(S7_FQC_INSPBILL)
public string BizType { get; set; } = FqcInspBillFlowConst.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; }
/// 当前用户是否可提交检验结果(N1 待办)
public bool CanSubmitResult { get; set; }
/// 当前用户是否可主管通过(N2 待办)
public bool CanSupervisorApprove { get; set; }
/// 当前用户是否可主管退回(N2 待办)
public bool CanSupervisorReject { get; set; }
/// 流程是否已完成/终态
public bool IsCompleted { get; set; }
/// 更新时间
public DateTime? UpdatedAt { get; set; }
/// 提示信息
public string? Message { get; set; }
}