diff --git a/src/2.services/ATS.NonCustodial.Application/Impl/Business/AppPunchRecordService.cs b/src/2.services/ATS.NonCustodial.Application/Impl/Business/AppPunchRecordService.cs index 57d3a22..2e13dcc 100644 --- a/src/2.services/ATS.NonCustodial.Application/Impl/Business/AppPunchRecordService.cs +++ b/src/2.services/ATS.NonCustodial.Application/Impl/Business/AppPunchRecordService.cs @@ -31,6 +31,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using System.Dynamic; +using System.Linq; using Yitter.IdGenerator; namespace ATS.NonCustodial.Application.Impl.Business @@ -192,14 +193,15 @@ namespace ATS.NonCustodial.Application.Impl.Business var supervisorCaseList = await _appCaseSupervisorRepository.AsQueryable(false, true) .Where(w => w.SupervisorId == User.Id).Select(s => s.CaseId).ToListAsync(); - var intersection1 = supervisorCaseList.Intersect(supervisorCaseList).ToList(); + // var intersection1 = supervisorCaseList.Intersect(supervisorCaseList).ToList(); // var caseIds = await (await base.GetCurrentUserCaseListAsync()).Select(w => w.AppCaseManagement.Id).ToListAsync(); //var list= await base._appSupervisedPersonRepository.AsQueryable(false, true).Where(q=> caseIds.Contains(q.CaseId)).ToListAsync(); var data = await _appPunchRecordStatisticsRepository .AsQueryable(false, true) - .Where(w => intersection1.Contains(w.CaseId)) + .Where(w => caseIds.Contains(w.CaseId)) + .WhereIf(!userRole.IsAdmin,w=> supervisorCaseList.Contains(w.CaseId)) .WhereIf(!string.IsNullOrEmpty(input.name), q => q.SupervisedPersonName.Contains(input.name)) .OrderByDescending(r => r.CreatedTime) .ProjectTo(Mapper.ConfigurationProvider) 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 3449dfb..6a1984d 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 @@ -2039,12 +2039,13 @@ namespace ATS.NonCustodial.Application.Impl.Business.CaseManagements var userRole = await _userService.IsAdmin(null); var supervisorCaseList = await _appCaseSupervisorRepository.AsQueryable(false, true) .Where(w => w.SupervisorId == User.Id).Select(s => s.CaseId).ToListAsync(); - var intersection1 = supervisorCaseList.Intersect(caseIds).ToList(); + // var intersection1 = supervisorCaseList.Intersect(caseIds).ToList(); var caselist = await (await base.GetCurrentUserCaseListAsync()).Select(w => new { w.AppCaseManagement.Id, w.AppCaseManagement.Name }).ToListAsync(); var data = await _appSupervisedPersonRepository.AsQueryable(false, true) - .Where(q => intersection1.Contains(q.CaseId)) + .Where(w=> caseIds.Contains(w.CaseId)) + .WhereIf(userRole.IsAdmin,q => supervisorCaseList.Contains(q.CaseId)) .WhereIf(input.name.NotNull(), q => q.SupervisedPersonName.Contains(input.name)) .OrderByDescending(r => r.CreatedTime) .ProjectTo(Mapper.ConfigurationProvider) diff --git a/src/2.services/ATS.NonCustodial.Application/Impl/Business/MaterialManager/AppFileAccessRecordsService.cs b/src/2.services/ATS.NonCustodial.Application/Impl/Business/MaterialManager/AppFileAccessRecordsService.cs index fa1d920..0df200d 100644 --- a/src/2.services/ATS.NonCustodial.Application/Impl/Business/MaterialManager/AppFileAccessRecordsService.cs +++ b/src/2.services/ATS.NonCustodial.Application/Impl/Business/MaterialManager/AppFileAccessRecordsService.cs @@ -216,10 +216,12 @@ namespace ATS.NonCustodial.Application.Impl.Business.MaterialManager var supervisorCaseList = await _appCaseSupervisorRepository.AsQueryable(false, true) .Where(w => w.SupervisorId == User.Id).Select(s => s.CaseId).ToListAsync(); - var intersection1 = supervisorCaseList.Intersect(caseIds).ToList(); + // var intersection1 = supervisorCaseList.Intersect(caseIds).ToList(); - //var caseIds = await (await base.GetCurrentUserCaseListAsync()).Select(w => w.AppCaseManagement.Id).ToListAsync(); - var SupervisedPersonIds = await base._appSupervisedPersonRepository.AsQueryable(false, true).Where(q => intersection1.Contains(q.CaseId)).Select(q => q.SupervisedPersonId).ToListAsync(); + // var caseIds = await (await base.GetCurrentUserCaseListAsync()).Select(w => w.AppCaseManagement.Id).ToListAsync(); + var SupervisedPersonIds = await base._appSupervisedPersonRepository.AsQueryable(false, true) + .Where(q => caseIds.Contains(q.CaseId)) + .WhereIf(userRole.IsAdmin, q => supervisorCaseList.Contains(q.CaseId)).Select(q => q.SupervisedPersonId).ToListAsync(); //获取监管人查阅次数 var queryable = await GetExpression(input, _appFileAccessRecordsRepository.AsQueryable(false, true).Where(q => SupervisedPersonIds.Contains(q.SupervisedPersonId))) .ToListAsync();