using Admin.NET.Plugin.AiDOP.Dto.S8.OrderFlow; using Admin.NET.Plugin.AiDOP.Service.S8.OrderFlow; namespace Admin.NET.Plugin.AiDOP.Controllers.S8; /// /// ORDER-FLOW-S8-INTEGRATED-DOMAIN-RESET-1 t3d:S8 订单执行链路只读 API。 /// 仅 GET endpoint;调用 S8OrderFlowService 5 个方法暴露。 /// 路由:api/aidop/s8/order-flow/*。 /// [ApiController] [Route("api/aidop/s8/order-flow")] [NonUnify] public class AdoS8OrderFlowController : ControllerBase { private readonly S8OrderFlowService _svc; public AdoS8OrderFlowController(S8OrderFlowService svc) { _svc = svc; } /// 订单档案列表(不分页,当前 baseline 20 单)。 [HttpGet("orders")] public async Task OrdersAsync([FromQuery] AdoS8OrderFlowOrderQueryDto query) => Ok(await _svc.GetOrdersAsync(query)); /// 单订单详情(含 lifecycle 5 阶段,不含 substep/unit)。 [HttpGet("orders/{orderCode}")] public async Task OrderDetailAsync( string orderCode, [FromQuery] long tenantId = 1, [FromQuery] long factoryId = 1) => Ok(await _svc.GetOrderAsync(orderCode, tenantId, factoryId)); /// 订单链路(含 lifecycle + L2 substeps + L3 units;ProcurementPivot 留待后续切片注入)。 [HttpGet("orders/{orderCode}/chain")] public async Task ChainAsync( string orderCode, [FromQuery] long tenantId = 1, [FromQuery] long factoryId = 1) => Ok(await _svc.GetChainAsync(orderCode, tenantId, factoryId)); /// 链路聚合视图:BASELINE_PPT 走 snapshot;CURRENT_FILTERED 走实时聚合。 [HttpGet("aggregate")] public async Task AggregateAsync([FromQuery] AdoS8OrderFlowAggregateQueryDto query) => Ok(await _svc.GetAggregateAsync(query)); /// 采购透视:BASELINE_PPT 读 procurement_pivot 表 baseline 行。 [HttpGet("procurement-pivot")] public async Task ProcurementPivotAsync([FromQuery] AdoS8OrderFlowProcurementPivotQueryDto query) => Ok(await _svc.GetProcurementPivotAsync(query)); }