sunpengfei
2025-08-13 c1bff84f284ee912a3db6b866be3916e1d762a90
feat:开发
1个文件已添加
1个文件已删除
8个文件已修改
862 ■■■■■ 已修改文件
FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfo.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/FlexJobApi.Core.xml 351 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskQuery.cs 125 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserQuery.cs 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserSubmitsQuery.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTasksQuery.cs 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskUserSubmitQueryHandler.cs 104 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfo.cs
@@ -151,6 +151,21 @@
        public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; }
        /// <summary>
        /// 验收完成时间
        /// </summary>
        public DateTime? CheckReceiveTime { get; set; }
        /// <summary>
        /// 最近提交时间
        /// </summary>
        public DateTime? LastSubmitTime { get; set; }
        /// <summary>
        /// 最近验收时间
        /// </summary>
        public DateTime? LastCheckReceiveTime { get; set; }
        /// <summary>
        /// 结算状态
        /// </summary>
        public EnumTaskSettlementStatus? SettlementStatus { get; set; }
FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs
@@ -65,6 +65,11 @@
        public DateTime? LastSubmitTime { get; set; }
        /// <summary>
        /// 最近验收时间
        /// </summary>
        public DateTime? LastCheckReceiveTime { get; set; }
        /// <summary>
        /// 提交
        /// </summary>
        public List<TaskInfoUserSubmit> Submits { get; set; }
FlexJobApi.Core/FlexJobApi.Core.xml
@@ -844,6 +844,21 @@
            验收状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfo.CheckReceiveTime">
            <summary>
            验收完成时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfo.LastSubmitTime">
            <summary>
            最近提交时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfo.LastCheckReceiveTime">
            <summary>
            最近验收时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfo.SettlementStatus">
            <summary>
            结算状态
@@ -952,6 +967,11 @@
        <member name="P:FlexJobApi.Core.TaskInfoUser.LastSubmitTime">
            <summary>
            最近提交时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfoUser.LastCheckReceiveTime">
            <summary>
            最近验收时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfoUser.Submits">
@@ -3725,158 +3745,229 @@
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTaskQuery">
            <summary>
            查询验收任务分页列表
            查询验收任务详情
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQuery.DateBegin">
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQuery.TaskInfoId">
            <summary>
            验收日期-最早时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQuery.DateEnd">
            <summary>
            验收日期-最晚时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQuery.CheckReceiveStatus">
            <summary>
            验收状态
            任务Id
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTaskQueryResult">
            <summary>
            查询验收任务分页列表-结果
            查询验收任务详情-结果
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResult.ObjectData">
            <summary>
            详情
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTaskQueryResultObjectData">
            <summary>
            查询验收任务详情-结果-详情
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultObjectData.Name">
            <summary>
            任务名称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultObjectData.Code">
            <summary>
            任务单号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultObjectData.BillingMethod">
            <summary>
            结算周期
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultObjectData.ServiceFee">
            <summary>
            服务费
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultObjectData.SettlementCycle">
            <summary>
            结算方式
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultObjectData.BeginTime">
            <summary>
            任务开始时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultObjectData.EndTime">
            <summary>
            任务结束时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultObjectData.AddressName">
            <summary>
            任务地点名称
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem">
            <summary>
            查询验收任务分页列表-结果-项
            查询验收任务详情-结果-项
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.Id">
            <summary>
            任务Id
            任务人员Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.TaskInfoName">
            <summary>
            任务名称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.TaskInfoCode">
            <summary>
            任务单号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.Avatar">
            <summary>
            头像
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.Name">
            <summary>
            任务名称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.BeginTime">
            <summary>
            任务开始时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.EndTime">
            <summary>
            任务结束时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.AddressName">
            <summary>
            任务地点名称
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserQuery">
            <summary>
            查询验收分页列表
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQuery.TaskInfoId">
            <summary>
            任务Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQuery.Keywords">
            <summary>
            关键字
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQuery.DateBegin">
            <summary>
            验收日期-最早时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQuery.DateEnd">
            <summary>
            验收日期-最晚时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQuery.CheckReceiveStatus">
            <summary>
            验收状态
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResult">
            <summary>
            查询验收任务分页列表-结果
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem">
            <summary>
            查询验收任务分页列表-结果-项
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.Id">
            <summary>
            任务Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.TaskName">
            <summary>
            任务名称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.BeginTime">
            <summary>
            任务开始时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.EndTime">
            <summary>
            任务结束时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.AddressName">
            <summary>
            任务地点名称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.Name">
            <summary>
            姓名
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.Identity">
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.Identity">
            <summary>
            身份证号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.Gender">
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.Gender">
            <summary>
            性别
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.Age">
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.Age">
            <summary>
            年龄
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.ContactPhoneNumber">
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.ContactPhoneNumber">
            <summary>
            手机号
            </summary>
            <remarks>联系电话</remarks>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.LastSubmitTime">
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.IsReal">
            <summary>
            提交时间
            是否实名
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.CheckReceiveStatus">
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.RealMethod">
            <summary>
            实名方式
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.LastSubmitTime">
            <summary>
            最近提交时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.CheckReceiveStatus">
            <summary>
            验收状态
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTasksQuery">
            <summary>
            查询验收任务分页列表
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQuery.Date">
            <summary>
            日期(小程序-验收管理专用)
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQuery.CheckReceiveTimeBegin">
            <summary>
            验收日期-最早时间(B端客户端-验收管理专用)
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQuery.CheckReceiveTimeEnd">
            <summary>
            验收日期-最晚时间(B端客户端-验收管理专用)
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQuery.CheckReceiveStatus">
            <summary>
            验收状态
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTasksQueryResult">
            <summary>
            查询验收任务分页列表-结果
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem">
            <summary>
            查询验收任务分页列表-结果-项
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem.Id">
            <summary>
            任务Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem.Name">
            <summary>
            任务名称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem.Code">
            <summary>
            任务单号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem.BillingMethod">
            <summary>
            结算周期
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem.ServiceFee">
            <summary>
            服务费
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem.SettlementCycle">
            <summary>
            结算方式
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem.BeginTime">
            <summary>
            任务开始时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem.EndTime">
            <summary>
            任务结束时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem.AddressName">
            <summary>
            任务地点名称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem.CheckReceiveStatus">
            <summary>
            验收状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTasksQueryResultItem.LastCheckReceiveTime">
            <summary>
            最近验收时间
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQuery">
@@ -3886,7 +3977,7 @@
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQuery.Id">
            <summary>
            任务Id
            任务人员Id
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQueryResult">
@@ -3896,7 +3987,32 @@
        </member>
        <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQueryResultItem">
            <summary>
            查询验收详情-结果
            查询验收详情-结果-项
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQueryResultItem.Id">
            <summary>
            提交Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQueryResultItem.CreatedTime">
            <summary>
            提交时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQueryResultItem.Files">
            <summary>
            验收照片
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQueryResultItem.CheckReceiveStatus">
            <summary>
            验收状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQueryResultItem.CheckReceiveTime">
            <summary>
            验收时间
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.DeleteTaskInfoCommand">
@@ -4934,6 +5050,11 @@
            任务人员Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetTaskUsersQueryResultItem.EnterpriseEmployeeId">
            <summary>
            灵工Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetTaskUsersQueryResultItem.Avatar">
            <summary>
            头像
@@ -5276,6 +5397,11 @@
            实名时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.UserSignContractTime">
            <summary>
            签约时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.EnterpriseSignContractTime">
            <summary>
            企业签约时间
@@ -5351,6 +5477,11 @@
            灵工Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeesQueryResultItem.Avatar">
            <summary>
            头像
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeesQueryResultItem.Name">
            <summary>
            姓名
FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskQuery.cs
@@ -8,49 +8,58 @@
namespace FlexJobApi.Core
{
    /// <summary>
    /// 查询验收任务分页列表
    /// 查询验收任务详情
    /// </summary>
    [Resource([EnumResourceController.TaskCheckReceive])]
    public class GetCheckReceiveTaskQuery : PagedListQuery<GetCheckReceiveTaskQueryResult, GetCheckReceiveTaskQueryResultItem>
    {
        /// <summary>
        /// 验收日期-最早时间
        /// 任务Id
        /// </summary>
        public DateTime? DateBegin { get; set; }
        /// <summary>
        /// 验收日期-最晚时间
        /// </summary>
        public DateTime? DateEnd { get; set; }
        /// <summary>
        /// 验收状态
        /// </summary>
        public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; }
        public Guid TaskInfoId { get; set; }
    }
    /// <summary>
    /// 查询验收任务分页列表-结果
    /// 查询验收任务详情-结果
    /// </summary>
    public class GetCheckReceiveTaskQueryResult : PagedListQueryResult<GetCheckReceiveTaskQueryResultItem>
    {
        /// <summary>
        /// 详情
        /// </summary>
        public GetCheckReceiveTaskQueryResultObjectData ObjectData { get; set; }
    }
    /// <summary>
    /// 查询验收任务分页列表-结果-项
    ///
    /// 查询验收任务详情-结果-详情
    /// </summary>
    public class GetCheckReceiveTaskQueryResultItem
    public class GetCheckReceiveTaskQueryResultObjectData
    {
        /// <summary>
        /// 任务Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 任务名称
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 任务单号
        /// </summary>
        public string Code { get; set; }
        /// <summary>
        /// 结算周期
        /// </summary>
        public EnumBillingMethod BillingMethod { get; set; }
        /// <summary>
        /// 服务费
        /// </summary>
        public decimal ServiceFee { get; set; }
        /// <summary>
        /// 结算方式
        /// </summary>
        public EnumSettlementCycle SettlementCycle { get; set; }
        /// <summary>
        /// 任务开始时间
@@ -67,4 +76,76 @@
        /// </summary>
        public string AddressName { get; set; }
    }
    /// <summary>
    /// 查询验收任务详情-结果-项
    /// </summary>
    public class GetCheckReceiveTaskQueryResultItem
    {
        /// <summary>
        /// 任务人员Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 任务名称
        /// </summary>
        public string TaskInfoName { get; set; }
        /// <summary>
        /// 任务单号
        /// </summary>
        public string TaskInfoCode { get; set; }
        /// <summary>
        /// 头像
        /// </summary>
        public string Avatar { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 身份证号
        /// </summary>
        public string Identity { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        public EnumUserGender? Gender { get; set; }
        /// <summary>
        /// 年龄
        /// </summary>
        public int? Age { get; set; }
        /// <summary>
        /// 手机号
        /// </summary>
        /// <remarks>联系电话</remarks>
        public string ContactPhoneNumber { get; set; }
        /// <summary>
        /// 是否实名
        /// </summary>
        public bool IsReal { get; set; }
        /// <summary>
        /// 实名方式
        /// </summary>
        public EnumUserRealMethod? RealMethod { get; set; }
        /// <summary>
        /// 最近提交时间
        /// </summary>
        public DateTime? LastSubmitTime { get; set; }
        /// <summary>
        /// 验收状态
        /// </summary>
        public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; }
    }
}
FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserQuery.cs
File was deleted
FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserSubmitsQuery.cs
@@ -1,6 +1,7 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -14,7 +15,7 @@
    public class GetCheckReceiveTaskUserSubmitsQuery : PagedListQuery<GetCheckReceiveTaskUserSubmitsQueryResult, GetCheckReceiveTaskUserSubmitsQueryResultItem>
    {
        /// <summary>
        /// 任务Id
        /// 任务人员Id
        /// </summary>
        public Guid Id { get; set; }
    }
@@ -28,10 +29,38 @@
    }
    /// <summary>
    /// 查询验收详情-结果
    /// 查询验收详情-结果-项
    /// </summary>
    public class GetCheckReceiveTaskUserSubmitsQueryResultItem
    {
        public GetCheckReceiveTaskUserSubmitsQueryResultItem()
        {
            Files = [];
        }
        /// <summary>
        /// 提交Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 提交时间
        /// </summary>
        public DateTimeOffset CreatedTime { get; set; }
        /// <summary>
        /// 验收照片
        /// </summary>
        public List<string> Files { get; set; }
        /// <summary>
        /// 验收状态
        /// </summary>
        public EnumTaskUserSubmitCheckReceiveStatus CheckReceiveStatus { get; set; }
        /// <summary>
        /// 验收时间
        /// </summary>
        public DateTime? CheckReceiveTime { get; set; }
    }
}
FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTasksQuery.cs
New file
@@ -0,0 +1,106 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 查询验收任务分页列表
    /// </summary>
    [Resource([EnumResourceController.TaskCheckReceive])]
    public class GetCheckReceiveTasksQuery : PagedListQuery<GetCheckReceiveTasksQueryResult, GetCheckReceiveTasksQueryResultItem>
    {
        /// <summary>
        /// 日期(小程序-验收管理专用)
        /// </summary>
        public DateTime? Date { get; set; }
        /// <summary>
        /// 验收日期-最早时间(B端客户端-验收管理专用)
        /// </summary>
        public DateTime? CheckReceiveTimeBegin { get; set; }
        /// <summary>
        /// 验收日期-最晚时间(B端客户端-验收管理专用)
        /// </summary>
        public DateTime? CheckReceiveTimeEnd { get; set; }
        /// <summary>
        /// 验收状态
        /// </summary>
        public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; }
    }
    /// <summary>
    /// 查询验收任务分页列表-结果
    /// </summary>
    public class GetCheckReceiveTasksQueryResult : PagedListQueryResult<GetCheckReceiveTasksQueryResultItem>
    {
    }
    /// <summary>
    /// 查询验收任务分页列表-结果-项
    /// </summary>
    public class GetCheckReceiveTasksQueryResultItem
    {
        /// <summary>
        /// 任务Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 任务名称
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 任务单号
        /// </summary>
        public string Code { get; set; }
        /// <summary>
        /// 结算周期
        /// </summary>
        public EnumBillingMethod BillingMethod { get; set; }
        /// <summary>
        /// 服务费
        /// </summary>
        public decimal ServiceFee { get; set; }
        /// <summary>
        /// 结算方式
        /// </summary>
        public EnumSettlementCycle SettlementCycle { get; set; }
        /// <summary>
        /// 任务开始时间
        /// </summary>
        public DateTime BeginTime { get; set; }
        /// <summary>
        /// 任务结束时间
        /// </summary>
        public DateTime EndTime { get; set; }
        /// <summary>
        /// 任务地点名称
        /// </summary>
        public string AddressName { get; set; }
        /// <summary>
        /// 验收状态
        /// </summary>
        public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; }
        /// <summary>
        /// 最近验收时间
        /// </summary>
        public DateTime? LastCheckReceiveTime { get; set; }
    }
}
FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml
@@ -14,7 +14,7 @@
            任务人员查询处理器
            </summary>
        </member>
        <member name="M:FlexJobApi.FlexJobServer.Application.TaskUserSubmitQueryHandler.Handle(FlexJobApi.Core.GetCheckReceiveTaskQuery,System.Threading.CancellationToken)">
        <member name="M:FlexJobApi.FlexJobServer.Application.TaskUserSubmitQueryHandler.Handle(FlexJobApi.Core.GetCheckReceiveTasksQuery,System.Threading.CancellationToken)">
            <summary>
            查询验收任务分页列表
            </summary>
@@ -22,9 +22,9 @@
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:FlexJobApi.FlexJobServer.Application.TaskUserSubmitQueryHandler.Handle(FlexJobApi.Core.GetCheckReceiveTaskUserQuery,System.Threading.CancellationToken)">
        <member name="M:FlexJobApi.FlexJobServer.Application.TaskUserSubmitQueryHandler.Handle(FlexJobApi.Core.GetCheckReceiveTaskQuery,System.Threading.CancellationToken)">
            <summary>
            查询验收分页列表
            查询验收任务详情
            </summary>
            <param name="request"></param>
            <param name="cancellationToken"></param>
FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskUserSubmitQueryHandler.cs
@@ -18,8 +18,8 @@
    public class TaskUserSubmitQueryHandler(
        IRepository<TaskInfo> repTaskInfo,
        IRepository<TaskInfoUser> repTaskInfoUser) :
        IRequestHandler<GetCheckReceiveTaskQuery, GetCheckReceiveTaskQueryResult>,
        IRequestHandler<GetCheckReceiveTaskUserQuery, GetCheckReceiveTaskUserQueryResult>
        IRequestHandler<GetCheckReceiveTasksQuery, GetCheckReceiveTasksQueryResult>,
        IRequestHandler<GetCheckReceiveTaskQuery, GetCheckReceiveTaskQueryResult>
    {
        private readonly IRepository<TaskInfo> repTaskInfo = repTaskInfo;
        private readonly IRepository<TaskInfoUser> repTaskInfoUser = repTaskInfoUser;
@@ -30,7 +30,7 @@
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task<GetCheckReceiveTaskQueryResult> Handle(GetCheckReceiveTaskQuery request, CancellationToken cancellationToken)
        public async Task<GetCheckReceiveTasksQueryResult> Handle(GetCheckReceiveTasksQuery request, CancellationToken cancellationToken)
        {
            var logier = JwtUtils.GetCurrentLogier();
            var q = repTaskInfo.AsQueryable().AsNoTracking()
@@ -51,15 +51,15 @@
                {
                    throw Oops.Oh(EnumErrorCodeType.s400, "请选择验收状态");
                }
                if (request.DateBegin == null || request.DateEnd == null)
                if (request.Date == null)
                {
                    throw Oops.Oh(EnumErrorCodeType.s400, "请选择日期");
                }
                q = q.Where(it =>
                    it.TaskInfoUsers.Any(tu =>
                        tu.Submits.Any(s =>
                            request.DateBegin.Value.Date <= s.Date.Date
                            && s.Date.Date <= request.DateEnd.Value.Date
                        tu.EnterpriseEmployee.UserId == logier.Id
                        && tu.Submits.Any(s =>
                            s.Date.Date == request.Date.Value.Date
                            && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit
                            ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit
                            : request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive
@@ -69,35 +69,31 @@
            }
            else
            {
                if (request.DateBegin.HasValue && request.DateEnd.HasValue)
                if (request.CheckReceiveTimeBegin.HasValue && request.CheckReceiveTimeEnd.HasValue)
                {
                    q = q.Where(it =>
                        it.TaskInfoUsers.Any(tu =>
                            tu.Submits.Any(s =>
                                request.DateBegin.Value.Date <= s.Date.Date
                                && s.Date.Date <= request.DateEnd.Value.Date)));
                    q = q.Where(it => request.CheckReceiveTimeBegin <= it.LastCheckReceiveTime && it.LastCheckReceiveTime <= request.CheckReceiveTimeEnd);
                }
                if (request.CheckReceiveStatus.HasValue)
                {
                    q = q.Where(it => it.CheckReceiveStatus == request.CheckReceiveStatus);
                }
            }
            var s = q.ProjectToType<GetCheckReceiveTaskQueryResultItem>();
            return await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskQueryResult, GetCheckReceiveTaskQueryResultItem>(s, cancellationToken);
            var s = q.ProjectToType<GetCheckReceiveTasksQueryResultItem>();
            return await request.PageModel.GetPagedListAsync<GetCheckReceiveTasksQueryResult, GetCheckReceiveTasksQueryResultItem>(s, cancellationToken);
        }
        /// <summary>
        /// 查询验收分页列表
        /// 查询验收任务详情
        /// </summary>
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task<GetCheckReceiveTaskUserQueryResult> Handle(GetCheckReceiveTaskUserQuery request, CancellationToken cancellationToken)
        public async Task<GetCheckReceiveTaskQueryResult> Handle(GetCheckReceiveTaskQuery request, CancellationToken cancellationToken)
        {
            var logier = JwtUtils.GetCurrentLogier();
            var q = repTaskInfoUser.AsQueryable().AsNoTracking()
                .OrderBy(it => it.CreatedTime)
                .AsQueryable();
                .Where(it => it.TaskInfoId == request.TaskInfoId);
            if (logier.Type == EnumUserType.Personal)
            {
@@ -107,78 +103,24 @@
            {
                q = q.Where(it => it.TaskInfo.EnterpriseId == logier.EnterpriseId);
            }
            if (request.TaskInfoId.HasValue)
            {
                q = q.Where(it => it.TaskInfoId == request.TaskInfoId);
            }
            if (request.Keywords.IsNotNull())
            {
                q = q.Where(it =>
                    it.EnterpriseEmployee.User.Name.Contains(request.Keywords)
                    || it.EnterpriseEmployee.User.ContactPhoneNumber.Contains(request.Keywords)
                    || it.EnterpriseEmployee.User.Identity.Contains(request.Keywords));
            }
            if (logier.ClientType == EnumClientType.Wxmp)
            {
                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.WaitSubmit
                        : request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive
                        ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
                        : (s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Success
                        || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail))));
            }
            else
            {
                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 GetCheckReceiveTaskUserQueryResultItem
            var s = q.Select(it => new GetCheckReceiveTaskQueryResultItem
            {
                Id = it.TaskInfoId,
                TaskName = it.TaskInfo.Name,
                BeginTime = it.TaskInfo.BeginTime,
                EndTime = it.TaskInfo.EndTime,
                AddressName = it.TaskInfo.AddressName,
                TaskInfoCode = it.TaskInfo.Code,
                TaskInfoName = it.TaskInfo.Name,
                Avatar = it.EnterpriseEmployee.User.Avatar,
                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 = logier.ClientType == EnumClientType.Wxmp && request.DateBegin.HasValue && request.DateEnd.HasValue
                    ? it.Submits
                        .Where(s =>
                            request.DateBegin.Value.Date <= s.Date.Date
                            && s.Date.Date <= request.DateEnd.Value.Date)
                        .Select(s =>
                            s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit
                            ? EnumTaskCheckReceiveStatus.WaitSubmit
                            : s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
                            ? EnumTaskCheckReceiveStatus.WaitCheckReceive
                            : EnumTaskCheckReceiveStatus.Completed)
                        .FirstOrDefault()
                    : it.CheckReceiveStatus,
                IsReal = it.EnterpriseEmployee.User.IsReal,
                RealMethod = it.EnterpriseEmployee.User.RealMethod,
                CheckReceiveStatus = it.CheckReceiveStatus,
                LastSubmitTime = it.LastSubmitTime,
            });
            return await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskUserQueryResult, GetCheckReceiveTaskUserQueryResultItem>(s, cancellationToken);
            var result = await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskQueryResult, GetCheckReceiveTaskQueryResultItem>(s, cancellationToken);
            return result;
        }
    }
}
FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs
@@ -48,6 +48,7 @@
                .Select(it => new GetTaskUsersQueryResultItem
                {
                    Id = it.Id,
                    EnterpriseEmployeeId = it.EnterpriseEmployeeId,
                    Avatar = it.EnterpriseEmployee.User.Avatar,
                    Name = it.EnterpriseEmployee.User.Name,
                    Identity = it.EnterpriseEmployee.User.Identity,