* Added GetOrderNumbersByWz method to MaterialTransactionService

This commit is contained in:
2025-04-06 17:16:22 +02:00
parent d7f49829a2
commit 6977708099
2 changed files with 22 additions and 0 deletions

View File

@@ -45,4 +45,25 @@ public class MaterialTransactionService(SytelineSaAppDbContext context, IMapper
return await context.MaterialTransactions.Where(x => x.RefNum == orderNumber).OrderByDescending(x => x.TransDate)
.Select(x => mapper.Map<MaterialTransactionDto>(x)).ToListAsync();
}
public async Task<IEnumerable<MaterialTransactionDto>> GetOrderNumbersByWz(ISet<string> wzNumbers)
{
if (!wzNumbers.Any())
return [];
var wzNumbersList = string.Join(",", wzNumbers.Select(w => $"'{w}'"));
var sql = $@"
SELECT z.*
FROM ZPL_InternalNum_Matltran z
WHERE z.MTGroupNum <> ''
AND z.MTGroupNum IN ({wzNumbersList})";
IList<MaterialTransaction> result = await context.MaterialTransactions
.FromSqlRaw(sql)
.AsNoTracking()
.ToListAsync();
return result.Select(x => mapper.Map<MaterialTransactionDto>(x));
}
}