diff --git a/src/Oms.Application/Services/System/DictService.cs b/src/Oms.Application/Services/System/DictService.cs index 88a23af..3fba8de 100644 --- a/src/Oms.Application/Services/System/DictService.cs +++ b/src/Oms.Application/Services/System/DictService.cs @@ -55,7 +55,11 @@ public class DictService : ApplicationService var kw = keyword?.Trim(); var metaRows = await DictTypeRepository.GetListAsync(); var countRows = await DictRepository.GetItemCountByTypeAsync(); - var countMap = countRows.ToDictionary(x => x.DictType, x => x.ItemCount, StringComparer.OrdinalIgnoreCase); + var countMap = countRows + .Select(x => (Type: x.DictType.Trim(), x.ItemCount)) + .Where(x => !string.IsNullOrWhiteSpace(x.Type)) + .GroupBy(x => x.Type, StringComparer.OrdinalIgnoreCase) + .ToDictionary(g => g.Key, g => g.Sum(x => x.ItemCount), StringComparer.OrdinalIgnoreCase); var merged = new Dictionary(StringComparer.OrdinalIgnoreCase); foreach (var meta in metaRows)