From 567b608568271d9fc6a5030187af97cd3a91ad87 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期四, 14 八月 2025 16:21:03 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs | 7 ++++--- FlexJobApi.Core/FlexJobApi.Core.xml | 5 +++++ FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs | 28 +++++++++++++++------------- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 9df5222..582d993 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -3898,6 +3898,11 @@ 浠诲姟Id </summary> </member> + <member name="P:FlexJobApi.Core.SubmitCheckReceiveTaskCommand.Date"> + <summary> + 鏃ユ湡 + </summary> + </member> <member name="P:FlexJobApi.Core.SubmitCheckReceiveTaskCommand.Files"> <summary> 闄勪欢 diff --git a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs index 9b802f4..a58614c 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs @@ -43,7 +43,9 @@ if (task == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ヤ换鍔�"); if (task.Status != EnumTaskStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔℃殏鏈畨鎺掍汉鍛�"); if (task.ReleaseStatus != EnumTaskReleaseStatus.InProcess) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔″凡缁撴潫"); - if (!(task.BeginTime <= request.Date.Date && request.Date.Date <= task.EndTime)) + if (task.BeginTime > request.Date.Date) + throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔℃湭寮�濮�"); + if (request.Date.Date > task.EndTime) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔″凡缁撴潫"); var taskUser = await repTaskInfoUser.AsQueryable() .FirstOrDefaultAsync(it => it.TaskInfoId == task.Id && it.EnterpriseEmployee.UserId == logier.Id, cancellationToken); @@ -165,18 +167,18 @@ /// <returns></returns> public async Task<string> Handle(ExportTaskCheckReceiveTaskUsersCommand request, CancellationToken cancellationToken) { - var models = await repTaskInfoUserSubmit.AsQueryable().AsNoTracking() - .Where(it => it.TaskInfoUser.TaskInfoId == request.Id) - .Select(it => new ExportTaskCheckReceiveTaskUsersCommandModel - { - UserId = it.TaskInfoUser.EnterpriseEmployee.UserId!.Value, - Name = it.TaskInfoUser.EnterpriseEmployee.User.Name, - Identity = it.TaskInfoUser.EnterpriseEmployee.User.Identity, - ContactPhoneNumber = it.TaskInfoUser.EnterpriseEmployee.User.ContactPhoneNumber, - CheckReceiveStatus = it.CheckReceiveStatus, - CheckReceiveTime = it.CheckReceiveTime, - }) - .ToListAsync(cancellationToken); + var models = await repTaskInfoUserSubmit.AsQueryable().AsNoTracking() + .Where(it => it.TaskInfoUser.TaskInfoId == request.Id) + .Select(it => new ExportTaskCheckReceiveTaskUsersCommandModel + { + UserId = it.TaskInfoUser.EnterpriseEmployee.UserId!.Value, + Name = it.TaskInfoUser.EnterpriseEmployee.User.Name, + Identity = it.TaskInfoUser.EnterpriseEmployee.User.Identity, + ContactPhoneNumber = it.TaskInfoUser.EnterpriseEmployee.User.ContactPhoneNumber, + CheckReceiveStatus = it.CheckReceiveStatus, + CheckReceiveTime = it.CheckReceiveTime, + }) + .ToListAsync(cancellationToken); if (models.IsNotNull()) { var userIds = models.DistinctSelect(it => it.UserId); diff --git a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs index d578e17..161ca2f 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs @@ -43,13 +43,13 @@ if (logier.Type == EnumUserType.Personal) { - q = q.Where(it => it.TaskInfoUsers.Any(tu => - tu.EnterpriseEmployee.UserId == logier.Id + q = q.Where(it => it.TaskInfoUsers.Any(tu => + tu.EnterpriseEmployee.UserId == logier.Id && tu.ArrangeStatus == EnumTaskUserArrangeStatus.Complete)); } else if (logier.Type == EnumUserType.Enterprise) { - q = q.Where(it => + q = q.Where(it => it.EnterpriseId == logier.EnterpriseId && it.Status == EnumTaskStatus.Complete); } @@ -73,6 +73,7 @@ } q = q.Where(it => (logier.Type == EnumUserType.Enterprise ? it.EnterpriseId == logier.EnterpriseId : true) + && it.BeginTime.Date <= request.Date.Value && request.Date.Value <= it.EndTime.Date && it.TaskInfoUsers.Any(tu => (logier.Type == EnumUserType.Personal ? tu.EnterpriseEmployee.UserId == logier.Id : true) && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit -- Gitblit v1.9.1