sunpengfei
2025-08-12 fb70afcfe16f5e6ec170a0cea2f8d90ffffbe26a
feat:开发
7个文件已修改
104 ■■■■ 已修改文件
FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUserSubmit.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/FlexJobApi.Core.xml 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetCheckReceiveTaskUserInfosQuery.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs
@@ -45,7 +45,7 @@
        public EnumTaskUserArrangeStatus? ArrangeStatus { get; set; }
        /// <summary>
        /// 安排状态
        /// 安排完成时间
        /// </summary>
        public DateTime? ArrangeTime { get; set; }
@@ -55,7 +55,7 @@
        public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; }
        /// <summary>
        /// 验收时间
        /// 验收完成时间
        /// </summary>
        public DateTime? CheckReceiveTime { get; set; }
FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUserSubmit.cs
@@ -27,6 +27,11 @@
        public TaskInfoUser TaskInfoUser { get; set; }
        /// <summary>
        /// 验收时间
        /// </summary>
        public DateTime Date { get; set; }
        /// <summary>
        /// 附件
        /// </summary>
        public List<TaskInfoUserSubmitFile> Files { get; set; }
@@ -35,5 +40,11 @@
        /// 验收状态
        /// </summary>
        public EnumTaskUserSubmitCheckReceiveStatus CheckReceiveStatus { get; set; }
        /// <summary>
        /// 验收完成时间
        /// </summary>
        public DateTime? CheckReceiveTime { get; set; }
    }
}
FlexJobApi.Core/FlexJobApi.Core.xml
@@ -936,7 +936,7 @@
        </member>
        <member name="P:FlexJobApi.Core.TaskInfoUser.ArrangeTime">
            <summary>
            安排状态
            安排完成时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfoUser.CheckReceiveStatus">
@@ -946,7 +946,7 @@
        </member>
        <member name="P:FlexJobApi.Core.TaskInfoUser.CheckReceiveTime">
            <summary>
            验收时间
            验收完成时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfoUser.LastSubmitTime">
@@ -974,6 +974,11 @@
            任务人员
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfoUserSubmit.Date">
            <summary>
            验收时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfoUserSubmit.Files">
            <summary>
            附件
@@ -982,6 +987,11 @@
        <member name="P:FlexJobApi.Core.TaskInfoUserSubmit.CheckReceiveStatus">
            <summary>
            验收状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfoUserSubmit.CheckReceiveTime">
            <summary>
            验收完成时间
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.TaskInfoUserSubmitFile">
@@ -4723,12 +4733,12 @@
            关键字
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.SubmitTimeBegin">
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.DateBegin">
            <summary>
            验收日期-最早时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.SubmitTimeEnd">
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.DateEnd">
            <summary>
            验收日期-最晚时间
            </summary>
@@ -4783,9 +4793,9 @@
            身份证号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.Birthday">
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.Gender">
            <summary>
            生日
            性别
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.Age">
FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetCheckReceiveTaskUserInfosQuery.cs
@@ -26,12 +26,12 @@
        /// <summary>
        /// 验收日期-最早时间
        /// </summary>
        public DateTime? SubmitTimeBegin { get; set; }
        public DateTime? DateBegin { get; set; }
        /// <summary>
        /// 验收日期-最晚时间
        /// </summary>
        public DateTime? SubmitTimeEnd { get; set; }
        public DateTime? DateEnd { get; set; }
        /// <summary>
        /// 验收状态
@@ -88,9 +88,9 @@
        public string Identity { get; set; }
        /// <summary>
        /// 生日
        /// 性别
        /// </summary>
        public DateTime? Birthday { get; set; }
        public EnumUserGender? Gender { get; set; }
        /// <summary>
        /// 年龄
@@ -111,6 +111,6 @@
        /// <summary>
        /// 验收状态
        /// </summary>
        public EnumTaskCheckReceiveStatus CheckReceiveStatus { get; set; }
        public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; }
    }
}
FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs
@@ -100,6 +100,7 @@
        {
            var logier = JwtUtils.GetCurrentLogier();
            var entity = await rep.AsQueryable()
                .Include(it => it.TaskInfo)
                .Include(it => it.EnterpriseEmployee)
                .Where(it =>
                    it.TaskInfo.EnterpriseId == logier.EnterpriseId
@@ -112,6 +113,7 @@
            {
                entity.ArrangeTime = DateTime.Now;
                entity.CheckReceiveStatus = EnumTaskCheckReceiveStatus.WaitSubmit;
                entity.TaskInfo.Status = EnumTaskStatus.Complete;
            }
            await rep.UpdateAsync(entity);
            return entity.Id;
FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs
@@ -1,5 +1,6 @@
using FlexJobApi.Core;
using Furion.DatabaseAccessor;
using Furion.FriendlyException;
using MediatR;
using Microsoft.EntityFrameworkCore;
using System;
@@ -141,17 +142,53 @@
                    || it.EnterpriseEmployee.User.ContactPhoneNumber.Contains(request.Keywords)
                    || it.EnterpriseEmployee.User.Identity.Contains(request.Keywords));
            }
            if (request.SubmitTimeBegin.HasValue && request.SubmitTimeEnd.HasValue)
            if (logier.ClientType == EnumClientType.Wxmp)
            {
                q = q.Where(it => it.Submits.Any(s => request.SubmitTimeBegin <= s.CreatedTime && s.CreatedTime <= request.SubmitTimeEnd));
                if (request.CheckReceiveStatus == null)
                {
                    throw Oops.Oh(EnumErrorCodeType.s400, "请选择验收状态");
                }
                if (request.DateBegin == null || request.DateEnd == null)
                {
                    throw Oops.Oh(EnumErrorCodeType.s400, "请选择日期");
                }
                q = q.Where(it => it.Submits.Any(s =>
                        request.DateBegin.Value.Date <= s.Date.Date
                        && s.Date.Date <= request.DateEnd.Value.Date
                        && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit
                        ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Submit
                        : request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive
                        ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Wait
                        : (s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Success
                        || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail))));
            }
            if (request.CheckReceiveStatus.HasValue)
            else
            {
                q = q.Where(it => it.CheckReceiveStatus == request.CheckReceiveStatus);
                if (request.DateBegin.HasValue && request.DateEnd.HasValue)
                {
                    q = q.Where(it => it.Submits.Any(s =>
                        request.DateBegin.Value.Date <= s.Date.Date
                        && s.Date.Date <= request.DateEnd.Value.Date));
                }
                if (request.CheckReceiveStatus.HasValue)
                {
                    q = q.Where(it => it.CheckReceiveStatus == request.CheckReceiveStatus);
                }
            }
            var s = q.Select(it => new GetCheckReceiveTaskUserInfosQueryResultItem
            {
                Id = it.TaskInfoId,
                TaskName = it.TaskInfo.Name,
                BeginTime = it.TaskInfo.BeginTime,
                EndTime = it.TaskInfo.EndTime,
                AddressName = it.TaskInfo.AddressName,
                Name = it.EnterpriseEmployee.User.Name,
                Identity = it.EnterpriseEmployee.User.Identity,
                Age = it.EnterpriseEmployee.User.Age,
                Gender = it.EnterpriseEmployee.User.Gender,
                ContactPhoneNumber = it.EnterpriseEmployee.User.ContactPhoneNumber,
                CheckReceiveStatus = it.CheckReceiveStatus,
                LastSubmitTime = it.LastSubmitTime,
            });
            return await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskUserInfosQueryResult, GetCheckReceiveTaskUserInfosQueryResultItem>(s, cancellationToken);
        }
FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
@@ -283,14 +283,6 @@
                        break;
                }
            }
            else
            {
                q = q.Where(it =>
                    it.TaskInfoUsers.Any(tu =>
                        tu.EnterpriseEmployee.UserId == logier.Id
                        && (tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait
                        || tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait)));
            }
            var s = q.Select(it => new GetPersonalHireTaskInfosQueryResultItem
            {
                Id = it.Id,