Browse Source

[MODIFY] 打卡记录统计功能增加条件限制

dev_wp
zhaozhenjing 3 months ago
parent
commit
64c5ca915e
  1. 12
      src/2.services/ATS.NonCustodial.Application/Impl/Business/AppPunchRecordService.cs

12
src/2.services/ATS.NonCustodial.Application/Impl/Business/AppPunchRecordService.cs

@ -345,12 +345,20 @@ namespace ATS.NonCustodial.Application.Impl.Business
case null: case null:
break; break;
} }
//获取当前用户权限下的案件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 spList = await base.GetCurrentUserCaseListAsync();
var spIds = await spList.Where(q => q.AppCaseSupervisedPerson != null).Select(w => w.AppCaseSupervisedPerson!.SupervisedPersonId).ToListAsync(); var spIds = await spList.Where(q => q.AppCaseSupervisedPerson != null && caseIdList.Contains(q.AppCaseSupervisedPerson.CaseId)).Select(w => w.AppCaseSupervisedPerson!.SupervisedPersonId).ToListAsync();
//查询记录 //查询记录
var query = await _appPunchRecordStatisticsRepository var query = await _appPunchRecordStatisticsRepository
.AsQueryable(false, true).Where(q => spIds.Contains(q.SupervisedPersonId)) .AsQueryable(false, true).Where(q => spIds.Contains(q.SupervisedPersonId)&& caseIdList.Contains(q.CaseId))
.WhereIf(input.CaseId != default, a => a.CaseId == input.CaseId) .WhereIf(input.CaseId != default, a => a.CaseId == input.CaseId)
.WhereIf(input.SupervisedPersonId != default, w => w.SupervisedPersonId == input.SupervisedPersonId) .WhereIf(input.SupervisedPersonId != default, w => w.SupervisedPersonId == input.SupervisedPersonId)
.WhereIf(startTime != DateTime.MinValue, w => w.CreatedTime >= startTime) .WhereIf(startTime != DateTime.MinValue, w => w.CreatedTime >= startTime)

Loading…
Cancel
Save