|
|
|
|
@ -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)) |
|
|
|
|
|