From 70e44379a25edfd136ca20e2336ed138dce107bb Mon Sep 17 00:00:00 2001 From: zhaozhenjing Date: Wed, 17 Sep 2025 10:17:20 +0800 Subject: [PATCH] =?UTF-8?q?[MODIFY]=E6=A1=88=E4=BB=B6=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppCaseManagementService.cs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/2.services/ATS.NonCustodial.Application/Impl/Business/CaseManagements/AppCaseManagementService.cs b/src/2.services/ATS.NonCustodial.Application/Impl/Business/CaseManagements/AppCaseManagementService.cs index 0c14b6c..1ec5b29 100644 --- a/src/2.services/ATS.NonCustodial.Application/Impl/Business/CaseManagements/AppCaseManagementService.cs +++ b/src/2.services/ATS.NonCustodial.Application/Impl/Business/CaseManagements/AppCaseManagementService.cs @@ -929,11 +929,18 @@ namespace ATS.NonCustodial.Application.Impl.Business.CaseManagements /// public async Task CaseTypeStatistics(CaseTypeStatisticsGetPageInput input) { + //获取当前用户权限下的案件ids + var limits = User.limits; + var selectLimits = await _appCaseSupervisorRepository.AsQueryable(false, true) + .Where(w => limits.Contains(w.UnitId.ToString())) + .ToListAsync(); + var caseIds = selectLimits.Select(w => w.CaseId).Distinct().ToList(); + var data = await _appCaseManagementRepository.AsQueryable(false, true) .WhereIf(input.KeyWord.NotNull(), a => a.Name.Contains(input.KeyWord)) .WhereIf(input.TimeSearch.BeginTime.Length == 2, w => w.CreatedTime > input.TimeSearch.BeginTime[0] && w.CreatedTime < input.TimeSearch.BeginTime[1].AddDays(1)) .WhereIf(input.TimeSearch.EndTime.Length == 2, w => w.CaseClosedTime > input.TimeSearch.EndTime[0] && w.CaseClosedTime < input.TimeSearch.EndTime[1].AddDays(1)) - .WhereIf(input.ajtype.NotNull(), w => w.CaseTypeId == input.ajtype.ToLong()) + .WhereIf(input.ajtype.NotNull(), w => w.CaseTypeId == input.ajtype.ToLong()).Where(w=> caseIds.Contains(w.Id)) .ToListAsync(); var dataGroup = data.GroupBy(w => w.CaseTypeId); @@ -977,7 +984,13 @@ namespace ATS.NonCustodial.Application.Impl.Business.CaseManagements /// /// public async Task CaseHandlingFrequencyStatistics(CaseHandlingFrequencyStatisticsGetPageInput input) - { + { + //获取当前用户权限下的案件ids + var limits = User.limits; + var selectLimits = await _appCaseSupervisorRepository.AsQueryable(false, true) + .Where(w => limits.Contains(w.UnitId.ToString())) + .ToListAsync(); + var caseIds = selectLimits.Select(w => w.CaseId).Distinct().ToList(); //query var query = await (await base.GetCurrentUserCaseListAsync()) //.Where(w => w.AppCaseSupervisedPerson != null && w.AppCaseManagement.CaseProgress != CaseProgressEnum.Closed) @@ -991,7 +1004,7 @@ namespace ATS.NonCustodial.Application.Impl.Business.CaseManagements SupervisedPersonName = w.AppCaseSupervisedPerson.SupervisedPersonName }).ToListAsync(); - var dataGroup = query.GroupBy(w => new + var dataGroup = query.Where(w=> caseIds.Contains(w.CaseId)).GroupBy(w => new { w.CaseId, w.SupervisedPersonId,