diff --git a/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs b/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs index 0dbb23d9..897cee20 100644 --- a/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs +++ b/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs @@ -2692,16 +2692,64 @@ namespace YLErp.Modules.RiskModule switch (O.QuotaType) { case QuotaTypeEnum.UNDERLYING: - O.QuotaRangeStr = O.QuotaRange == 0 ? "全部" : DataCacheProvider.GetUnderlyingDataSource().GetData(O.QuotaRange).UnderlyingCode; + if (O.QuotaRange == 0) + { + O.QuotaRangeStr = "全部"; + } + else + { + var underlying = DataCacheProvider.GetUnderlyingDataSource().GetData(O.QuotaRange); + if (underlying == null) + { + _logger.Info($"未找到ID为 {O.QuotaRange} 的标的,quotaSetting ID: {O.id}"); + O.QuotaRangeStr = "未知标的"; + } + else + { + O.QuotaRangeStr = underlying.UnderlyingCode; + } + } break; case QuotaTypeEnum.STOCK_PERCENT: O.QuotaRangeStr = O.QuotaRange + "天"; break; case QuotaTypeEnum.CLIENT: - O.QuotaRangeStr = O.QuotaRange == 0 ? "全部" : DataCacheProvider.GetClientDataSource().GetData(O.QuotaRange).Name; + if (O.QuotaRange == 0) + { + O.QuotaRangeStr = "全部"; + } + else + { + var client = DataCacheProvider.GetClientDataSource().GetData(O.QuotaRange); + if (client == null) + { + _logger.Info($"未找到ID为 {O.QuotaRange} 的客户,quotaSetting ID: {O.id}"); + O.QuotaRangeStr = "未知客户"; + } + else + { + O.QuotaRangeStr = client.Name; + } + } break; case QuotaTypeEnum.Assetunit: - O.QuotaRangeStr = O.QuotaRange == 0 ? "全部" : DataCacheProvider.GetAssetUnitDataSource().GetData(O.QuotaRange).Name; + if (O.QuotaRange == 0) + { + O.QuotaRangeStr = "全部"; + } + else + { + var assetUnit = DataCacheProvider.GetAssetUnitDataSource().GetData(O.QuotaRange); + if (assetUnit == null) + { + _logger.Info($"未找到ID为 {O.QuotaRange} 的簿记,quotaSetting ID: {O.id}"); + O.QuotaRangeStr = "未知簿记"; + } + else + { + O.QuotaRangeStr = assetUnit.Name; + } + } break; case QuotaTypeEnum.GLOBAL_OFF_EXCHANGE: case QuotaTypeEnum.GLOBAL_OPTION: