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; }
/// 当前用户是否可提交 QE 处置(N3 待办)
public bool CanSubmitDisposition { get; set; }
/// 网关判据:是否需要 QE 处置(1=需要/pd=1,0=不需要);供前端展示/调试
public int DispositionRequired { get; set; }
/// 是否停留在 QE 处置节点
public bool IsWaitingDisposition { get; set; }
/// 是否已有有效 QE 处置记录
public bool HasDisposition { get; set; }
/// QE 处置类型(已提交时展示,REWORK/CONCESSION/SCRAP/OTHER)
public string? DispositionType { get; set; }
/// QE 处置意见(已提交时展示)
public string? DispositionOpinion { get; set; }
/// 流程是否已完成/终态
public bool IsCompleted { get; set; }
/// 更新时间
public DateTime? UpdatedAt { get; set; }
/// 提示信息
public string? Message { get; set; }
}
///
/// QE 提交处置方案入参(N3_QE_DISPOSITION)。写 ado_s7_fqc_qe_disposition 并推进 N3→end。
/// 仅记录处置结论,不覆盖 qms_qcpp_inspbill.pd/hgsl/bhgsl/clfs、不写 qms_fqcbj/库存/仓储/生产。
///
public class FqcQeSubmitDispositionInput
{
/// 检验单 id(qms_qcpp_inspbill.id,BizId)
public long Id { get; set; }
/// 处置类型:REWORK 返工 / CONCESSION 让步放行 / SCRAP 报废 / OTHER 其它
public string? DispositionType { get; set; }
/// 处置数量
public decimal? DispositionQty { get; set; }
/// 返工数量
public decimal? ReworkQty { get; set; }
/// 让步数量
public decimal? ConcessionQty { get; set; }
/// 报废数量
public decimal? ScrapQty { get; set; }
/// 处置意见(必填)
public string? DispositionOpinion { get; set; }
/// 责任部门
public string? ResponsibilityDept { get; set; }
/// 责任人
public string? ResponsibleUser { get; set; }
/// 附件 JSON(预留,本批不做上传)
public string? AttachmentJson { get; set; }
/// 流程意见(可选)
public string? Comment { get; set; }
}