S6ProcessSpecResolveDto.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. namespace Admin.NET.Plugin.AiDOP.Manufacturing.Dto;
  2. /// <summary>过程检规解析状态。</summary>
  3. public static class S6SpecResolveStatus
  4. {
  5. public const string Matched = "MATCHED";
  6. public const string NoMatch = "NO_MATCH";
  7. public const string Ambiguous = "AMBIGUOUS";
  8. public const string InvalidSpec = "INVALID_SPEC";
  9. }
  10. /// <summary>
  11. /// 过程检规自动解析结果(Phase 1B)。只有 status==MATCHED 且 CandidateCount==1 才允许生成检验单。
  12. /// </summary>
  13. public class S6ProcessSpecResolveResult
  14. {
  15. public string Status { get; set; } = S6SpecResolveStatus.NoMatch;
  16. public long? MatchedSpecId { get; set; }
  17. public string? SpecCode { get; set; }
  18. public string? SpecVersion { get; set; }
  19. public string? EffectiveDate { get; set; }
  20. /// <summary>有效 wjbh 分组数(决策计数):MATCHED==1;AMBIGUOUS&gt;=2。</summary>
  21. public int CandidateCount { get; set; }
  22. public string Message { get; set; } = string.Empty;
  23. }
  24. /// <summary>过程检规候选(裁决用,一行=一张命中检规)。SELECT 列名映射 Id/Wjbh/Bb/Version/Sxrj/DetailCount。</summary>
  25. public sealed class S6SpecCandidate
  26. {
  27. public long Id { get; set; }
  28. public string? Wjbh { get; set; }
  29. public string? Bb { get; set; }
  30. public int? Version { get; set; }
  31. public string? Sxrj { get; set; }
  32. public int DetailCount { get; set; }
  33. public DateTime? NormalizedEffective { get; set; }
  34. }