sunpengfei
2025-08-14 567b608568271d9fc6a5030187af97cd3a91ad87
feat:开发
3个文件已修改
40 ■■■■■ 已修改文件
FlexJobApi.Core/FlexJobApi.Core.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
            附件
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);
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