AdoS8OrderFlowController.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using Admin.NET.Plugin.AiDOP.Dto.S8.OrderFlow;
  2. using Admin.NET.Plugin.AiDOP.Service.S8.OrderFlow;
  3. namespace Admin.NET.Plugin.AiDOP.Controllers.S8;
  4. /// <summary>
  5. /// ORDER-FLOW-S8-INTEGRATED-DOMAIN-RESET-1 t3d:S8 订单执行链路只读 API。
  6. /// 仅 GET endpoint;调用 S8OrderFlowService 5 个方法暴露。
  7. /// 路由:api/aidop/s8/order-flow/*。
  8. /// </summary>
  9. [ApiController]
  10. [Route("api/aidop/s8/order-flow")]
  11. [NonUnify]
  12. public class AdoS8OrderFlowController : ControllerBase
  13. {
  14. private readonly S8OrderFlowService _svc;
  15. public AdoS8OrderFlowController(S8OrderFlowService svc)
  16. {
  17. _svc = svc;
  18. }
  19. /// <summary>订单档案列表(不分页,当前 baseline 20 单)。</summary>
  20. [HttpGet("orders")]
  21. public async Task<IActionResult> OrdersAsync([FromQuery] AdoS8OrderFlowOrderQueryDto query)
  22. => Ok(await _svc.GetOrdersAsync(query));
  23. /// <summary>单订单详情(含 lifecycle 5 阶段,不含 substep/unit)。</summary>
  24. [HttpGet("orders/{orderCode}")]
  25. public async Task<IActionResult> OrderDetailAsync(
  26. string orderCode,
  27. [FromQuery] long tenantId = 1,
  28. [FromQuery] long factoryId = 1)
  29. => Ok(await _svc.GetOrderAsync(orderCode, tenantId, factoryId));
  30. /// <summary>订单链路(含 lifecycle + L2 substeps + L3 units;ProcurementPivot 留待后续切片注入)。</summary>
  31. [HttpGet("orders/{orderCode}/chain")]
  32. public async Task<IActionResult> ChainAsync(
  33. string orderCode,
  34. [FromQuery] long tenantId = 1,
  35. [FromQuery] long factoryId = 1)
  36. => Ok(await _svc.GetChainAsync(orderCode, tenantId, factoryId));
  37. /// <summary>链路聚合视图:BASELINE_PPT 走 snapshot;CURRENT_FILTERED 走实时聚合。</summary>
  38. [HttpGet("aggregate")]
  39. public async Task<IActionResult> AggregateAsync([FromQuery] AdoS8OrderFlowAggregateQueryDto query)
  40. => Ok(await _svc.GetAggregateAsync(query));
  41. /// <summary>采购透视:BASELINE_PPT 读 procurement_pivot 表 baseline 行。</summary>
  42. [HttpGet("procurement-pivot")]
  43. public async Task<IActionResult> ProcurementPivotAsync([FromQuery] AdoS8OrderFlowProcurementPivotQueryDto query)
  44. => Ok(await _svc.GetProcurementPivotAsync(query));
  45. }