|
|
|
|
@ -929,11 +929,18 @@ namespace ATS.NonCustodial.Application.Impl.Business.CaseManagements
|
|
|
|
|
/// <returns></returns> |
|
|
|
|
public async Task<IResultOutput> 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
|
|
|
|
|
/// <param name="input"></param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
public async Task<IResultOutput> 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, |
|
|
|
|
|