Browse Source

[MODIFY]违规统计功能增加权限验证

dev_wp
zhaozhenjing 3 months ago
parent
commit
496946447e
  1. 16
      src/2.services/ATS.NonCustodial.Application/Impl/Business/AppViolationStatisticsService.cs

16
src/2.services/ATS.NonCustodial.Application/Impl/Business/AppViolationStatisticsService.cs

@ -100,15 +100,21 @@ namespace ATS.NonCustodial.Application.Impl.Business
[HttpPost]
public async Task<IResultOutput> ViolationStatisticsPageAsync(ViolationStatisticsPageInput input)
{
//获取当前用户权限下的案件ids
var limits = User.limits;
var selectLimits = await _appCaseSupervisorRepository.AsQueryable(false, true)
.Where(w => limits.Contains(w.UnitId.ToString()))
.ToListAsync();
var caseIdList = selectLimits.Select(w => w.CaseId).Distinct().ToList();
//根据当前登录人查看其手里的案件被监管人
var spList = await base.GetCurrentUserCaseListAsync();
//获取案件信息
var casebaselist = await spList.Where(q => q.AppCaseManagement != null).Select(q => q.AppCaseManagement).ToListAsync();
var casebaselist = await spList.Where(q => q.AppCaseManagement != null&& caseIdList.Contains(q.AppCaseManagement.Id)).Select(q => q.AppCaseManagement).ToListAsync();
//获取案件id
var casebase = await spList
.Where(q => q.AppCaseManagement != null)
.WhereIf(input.CaseProgress != null, a => a.AppCaseManagement.CaseProgress == input.CaseProgress).Select(q => q.AppCaseManagement.Id).ToListAsync();
var spIds = await spList.Where(q => q.AppCaseSupervisedPerson != null&& casebase.Contains(q.AppCaseSupervisedPerson.CaseId)).Select(w => w.AppCaseSupervisedPerson!.SupervisedPersonId).ToListAsync();
//var casebase = await spList
// .Where(q => q.AppCaseManagement != null && caseIdList.Contains(q.AppCaseManagement.Id))
// .WhereIf(input.CaseProgress != null, a => a.AppCaseManagement.CaseProgress == input.CaseProgress).Select(q => q.AppCaseManagement.Id).ToListAsync();
var spIds = await spList.Where(q => q.AppCaseSupervisedPerson != null&& caseIdList.Contains(q.AppCaseSupervisedPerson.CaseId)).Select(w => w.AppCaseSupervisedPerson!.SupervisedPersonId).ToListAsync();
//查询记录
var query = await _appEarlyWarningRepository
.AsQueryable(false, true).Where(q=> spIds.Contains(q.SupervisedPersonId))

Loading…
Cancel
Save