using System.ComponentModel;
using Admin.NET.Plugin.AiDOP.Infrastructure;
using Admin.NET.Plugin.ApprovalFlow;
using Admin.NET.Plugin.ApprovalFlow.Service;
namespace Admin.NET.Plugin.AiDOP.FinishedWarehouse;
///
/// S7 FQC 成品检验任务(报检)操作:认领 / 检验员调配 / 优先级调整 / 生成检验单(带认领门)。
/// 对齐 S5 IQC 任务列表范式(IqcTaskEntryService),但 FQC 报检 qms_fqcbj 是头级单(无明细分录),
/// 认领/优先级/负责人直接落 qms_fqcbj(jyfzr/yxj/FINSPECTSTATUS/jykssj)。DDL-free,字段均已存在。
/// 只写 qms_fqcbj 的任务归属/优先级/进度;检验单生成复用 FqcApplyService.GenerateInspection(检规快照逻辑不重复)。
///
[ApiDescriptionSettings(Order = 344, Description = "FQC检验任务操作")]
[Route("api/S7FqcTaskEntry")]
[NonUnify]
public class FqcTaskEntryService : IDynamicApiController, ITransient
{
private readonly ISqlSugarClient _db;
private readonly UserManager _userManager;
private readonly FqcApplyService _fqcApply;
private readonly FlowEngineService _flowEngine;
public FqcTaskEntryService(ISqlSugarClient db, UserManager userManager, FqcApplyService fqcApply, FlowEngineService flowEngine)
{
_db = db;
_userManager = userManager;
_fqcApply = fqcApply;
_flowEngine = flowEngine;
}
private long ResolveTenantOrThrow() => AidopTenantScope.ResolveOrThrow(_userManager);
/// 待检任务列表:活源 qms_fqcbj + LEFT JOIN 检验单(qms_qcpp_inspbill by lydjbh+hid) 拿 inspBillId。
[DisplayName("FQC检验任务列表(报检)")]
[HttpGet("list")]
public async Task