using Yitter.IdGenerator;
using Admin.NET.Plugin.AiDOP.Entity.S0.Sales;
namespace Admin.NET.Plugin.AiDOP.Order;
///
/// 产品设计服务(常规/非标;合同维度跟踪设计负责人、图号、BOM、工艺、图纸计划/实际时间)
/// 路由前缀:/api/Order/productdesign/...
///
/// 【租户安全边界】需认证访问(已移除类级 [AllowAnonymous]);租户一律经
/// AidopTenantScope.ResolveOrThrow 从认证后 JWT 解析,无有效租户即拒绝,
/// 不读前端 tenantId、无默认回退(原实现:类级匿名 + 直接取 _userManager.TenantId,
/// 匿名时 TenantId=0 使租户过滤失效/查不到数据)。
///
[ApiDescriptionSettings(Order = 255, Description = "产品设计")]
[Route("api/Order")]
[NonUnify]
public class ProductDesignService : IDynamicApiController, ITransient
{
private readonly ISqlSugarClient _db;
private readonly SqlSugarRepository _designRep;
private readonly SqlSugarRepository _bomRep;
private readonly SqlSugarRepository _routingRep;
private readonly UserManager _userManager;
public ProductDesignService(
ISqlSugarClient db,
SqlSugarRepository designRep,
SqlSugarRepository bomRep,
SqlSugarRepository routingRep,
UserManager userManager)
{
_db = db;
_designRep = designRep;
_bomRep = bomRep;
_routingRep = routingRep;
_userManager = userManager;
}
[DisplayName("获取产品设计列表")]
[HttpGet("productdesign/list")]
public async Task