IpqcInspectionFlowDto.cs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. namespace Admin.NET.Plugin.AiDOP.Manufacturing.Dto;
  2. /// <summary>
  3. /// 检验员提交检验结果入参。写 qms_gcjyd 白名单列(jgpd/jyhgsl/jybhgsl/ybl/jyr/bz),并推进 ApprovalFlow N1→N2。
  4. /// 判定 jgpd 可空(枚举未确认时不阻塞技术链路,不强写未知值)。
  5. /// </summary>
  6. public class IpqcSubmitInspectionInput
  7. {
  8. /// <summary>检验单 id(qms_gcjyd.id,BizId)</summary>
  9. public long Id { get; set; }
  10. /// <summary>结果判定(jgpd,字典码;枚举未确认,可空,不强写)</summary>
  11. public int? Jgpd { get; set; }
  12. /// <summary>检验合格数量(jyhgsl,不得为负)</summary>
  13. public decimal Jyhgsl { get; set; }
  14. /// <summary>检验不合格数量(jybhgsl,不得为负,不得大于样本量)</summary>
  15. public decimal Jybhgsl { get; set; }
  16. /// <summary>样本量(ybl,检验数,不得为负)</summary>
  17. public decimal? Ybl { get; set; }
  18. /// <summary>备注(bz,可选)</summary>
  19. public string? Bz { get; set; }
  20. /// <summary>提交说明(流程意见,可选)</summary>
  21. public string? Comment { get; set; }
  22. }
  23. /// <summary>
  24. /// 检验主管审核通过入参(整批判定驱动流程分流)。
  25. /// Qualified=true 整批合格→end;Qualified=false 整批不合格→N3 质量处置。
  26. /// Jgpd 为整批判定值(写 qms_gcjyd.jgpd,可空,枚举未确认不硬编码、由前端传测试/已确认合法值)。
  27. /// </summary>
  28. public class IpqcSupervisorApproveInput
  29. {
  30. /// <summary>检验单 id</summary>
  31. public long Id { get; set; }
  32. /// <summary>整批是否合格(true=合格结束 / false=不合格转质量处置)</summary>
  33. public bool Qualified { get; set; } = true;
  34. /// <summary>整批判定 jgpd(写 qms_gcjyd.jgpd,可空,不硬编码枚举)</summary>
  35. public int? Jgpd { get; set; }
  36. /// <summary>审批意见(可选)</summary>
  37. public string? Comment { get; set; }
  38. }
  39. /// <summary>检验主管退回入参(回 N1,意见必填)。</summary>
  40. public class IpqcSupervisorReturnInput
  41. {
  42. /// <summary>检验单 id</summary>
  43. public long Id { get; set; }
  44. /// <summary>退回意见(必填)</summary>
  45. public string? Comment { get; set; }
  46. }
  47. /// <summary>
  48. /// 过程检验单流程状态输出(只读,供前端按钮控制)。
  49. /// </summary>
  50. public class IpqcFlowStateOutput
  51. {
  52. /// <summary>BizType(IPQC_INSPECTION)</summary>
  53. public string BizType { get; set; } = IpqcInspectionFlowConst.BizType;
  54. /// <summary>BizId(=检验单 id)</summary>
  55. public long BizId { get; set; }
  56. /// <summary>流程实例 id(未启动为 null)</summary>
  57. public long? InstanceId { get; set; }
  58. /// <summary>流程状态(NotStarted / Running / Approved / Rejected / Cancelled / Terminated)</summary>
  59. public string FlowStatus { get; set; } = "NotStarted";
  60. /// <summary>业务状态(INSPECTING / PENDING_REVIEW / APPROVED / RETURNED)</summary>
  61. public string? BusinessStatus { get; set; }
  62. /// <summary>当前节点码(N1_INSPECT / N2_SUP_REVIEW,未启动/已结束为 null)</summary>
  63. public string? CurrentNodeCode { get; set; }
  64. /// <summary>当前节点名</summary>
  65. public string? CurrentNodeName { get; set; }
  66. /// <summary>当前节点角色</summary>
  67. public string? CurrentAssigneeRole { get; set; }
  68. /// <summary>当前用户是否可提交检验结果</summary>
  69. public bool CanSubmitResult { get; set; }
  70. /// <summary>当前用户是否可主管通过</summary>
  71. public bool CanSupervisorApprove { get; set; }
  72. /// <summary>当前用户是否可主管退回</summary>
  73. public bool CanSupervisorReturn { get; set; }
  74. /// <summary>当前用户是否可提交质量处置(当前节点 N3 且本人 pending)</summary>
  75. public bool CanSubmitDisposition { get; set; }
  76. /// <summary>是否需质量处置(1=不合格转N3 / 0=合格结束;主管 N2 整批判定驱动)</summary>
  77. public int? DispositionRequired { get; set; }
  78. /// <summary>是否已有质量处置记录</summary>
  79. public bool HasDisposition { get; set; }
  80. /// <summary>流程是否已完成/终态</summary>
  81. public bool IsCompleted { get; set; }
  82. /// <summary>检验员姓名</summary>
  83. public string? InspectorName { get; set; }
  84. /// <summary>检验主管姓名</summary>
  85. public string? SupervisorName { get; set; }
  86. /// <summary>更新时间</summary>
  87. public DateTime? UpdatedAt { get; set; }
  88. /// <summary>提示信息</summary>
  89. public string? Message { get; set; }
  90. }