namespace Admin.NET.Plugin.AiDOP.Production;
///
/// 可执行生产日计划(PeriodSequenceDet + 排产/工单等)
/// 路由前缀:/api/Production/daily-plan/...
///
[ApiDescriptionSettings(Order = 266, Description = "可执行生产日计划")]
[Route("api/Production")]
[AllowAnonymous]
[NonUnify]
public class ExecutableDailyPlanService : IDynamicApiController, ITransient
{
///
/// S8 Stage-2「产品设计」的 End 事件码。
///
/// 语义:某张真实销售订单首次有至少一条日计划由「未下达」成功变为
/// Status='Y',即该订单首次具备可执行生产日计划。
///
/// Stage-2 End 取本事件 FIRST SUCCESS 的 end_time(不是 start_time)——
/// end_time 写在业务状态提交成功之后,与 Stage-1 的 S1_DELIVERY_CONFIRM 同口径。
///
/// ⚠️ 动作码前缀 S2_ 只是本系统的动作命名,不代表 S8 五阶段归属;
/// 本事件服务于 S8 的 PRODUCT_DESIGN 阶段。
///
public const string ActionDailyPlanRelease = "S2_DAILY_PLAN_RELEASE";
private readonly ISqlSugarClient _db;
private readonly UserManager _userManager;
private readonly AidopActionRunLogWriter _runLog;
public ExecutableDailyPlanService(
ISqlSugarClient db,
UserManager userManager,
AidopActionRunLogWriter runLog)
{
_db = db;
_userManager = userManager;
_runLog = runLog;
}
/// 分页列表 GET /api/Production/daily-plan/list
[DisplayName("可执行生产日计划列表")]
[HttpGet("daily-plan/list")]
public async Task