lixiaojun
2024-09-12 56fde6ea4d065e0a3688e89576e4099cedcefab3
新增一些带有判断的接口
已修改23个文件
已添加6个文件
1484 ■■■■■ 文件已修改
Yw.Application.Repair.Core/01-request-form/RepairRequestForm_Controller.cs 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Repair.Core/02-task-form/RepairTaskForm_Controller.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Repair.Core/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Repair.Core/Yw.Application.Repair.Core.csproj 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Repair.Core/01-repair-request-form/03-pending/QueryRepairRequestFormPendingPageListByBelongInput.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Repair.Core/01-repair-request-form/05-just_accepted/QueryRepairRequestFormJustAcceptedPageListByBelongInput.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Repair.Core/01-repair-request-form/10-page/QueryRepairRequestFormPageListByBelongInput.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Repair.Core/02-repair-task-form/07-finish/page/QueryRepairTaskFormFinishedPageListByBelongInput.cs 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Repair.Core/02-repair-task-form/09-progress/page/QueryRepairTaskFormProgressPageListByBelongInput.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Repair.Core/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Dto.Repair.Core/Yw.Dto.Repair.Core.csproj 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/00-core/ConfigHelper.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/00-core/DbType.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/01-entity/01-request/RepairRequestFile.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/01-entity/01-request/RepairRequestForm.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/01-entity/01-request/RepairRequestLog.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/01-entity/02-task/RepairTaskForm.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/01-entity/02-task/RepairTaskLog.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/01-entity/02-task/RepairTaskLogFile.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/04-dal/01-interface/01-request/IRepairRequestForm.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/04-dal/01-interface/2-task/IRepairTaskForm.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/04-dal/02-postgresql/01-request/RepairRequestForm.cs 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/04-dal/02-postgresql/02-task/RepairTaskForm.cs 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/04-dal/03-sqlite/01-request/RepairRequestForm.cs 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/04-dal/03-sqlite/02-task/RepairTaskForm.cs 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/5-service/01-request/01-form/RepairRequestForm.cs 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/5-service/02-task/01-form/RepairTaskForm.cs 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Repair.Core/Yw.Service.Repair.Core.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Repair.Core/01-request-form/RepairRequestForm_Controller.cs
@@ -148,6 +148,35 @@
        }
        /// <summary>
        /// é€šè¿‡ BelongType å’Œ BelongID èŽ·å–åˆ†é¡µåˆ—è¡¨
        /// </summary>
        [Route("GetPageListByBelongTypeAndBelongID@V1.0")]
        [HttpGet]
        public PageListOutput<RepairRequestFormDto> GetPageListByBelongTypeAndBelongID([FromQuery][Required] QueryRepairRequestFormPageListByBelongInput input)
        {
            int total = 0;
            var allEquipmentList = new Yw.Service.Equipment().GetByBelongTypeAndBelongID(input.BelongType, input.BelongID);
            var allEquipmentIds = allEquipmentList?.Select(x => x.ID).Distinct().ToList();
            var list = new Service.RepairRequestForm().GetFluzzyPageListOfEquipmentIds
                (allEquipmentIds, input.CreateUserID, input.FormStatus, input.Urgency, input.FormNo, input.StartTime, input.EndTime, input.PageIndex, input.PageSize, ref total);
            if (list == null || list.Count < 1)
            {
                return new PageListOutput<RepairRequestFormDto>(); ;
            }
            var equipmentList = new Service.Equipment().GetByIds(list.Select(x => x.EquipmentID).Distinct().ToList());
            var vmList = new List<RepairRequestFormDto>();
            foreach (var item in list)
            {
                var equipment = equipmentList?.Find(x => x.ID == item.EquipmentID);
                var vm = new RepairRequestFormDto(item, equipment);
                vmList.Add(vm);
            }
            return new PageListOutput<RepairRequestFormDto>() { Total = total, List = vmList };
        }
        /// <summary>
        /// èŽ·å–å¾…å—ç†åˆ†é¡µåˆ—è¡¨ 
        /// </summary>
        [Route("GetPendingPageList@V1.0")]
@@ -171,6 +200,31 @@
        }
        /// <summary>
        /// é€šè¿‡ BelongType å’Œ BelongID èŽ·å–å¾…å—ç†åˆ†é¡µåˆ—è¡¨
        /// </summary>
        [Route("GetPendingPageListByBelongTypeAndBelongID@V1.0")]
        [HttpGet]
        public PageListOutput<RepairRequestFormDto> GetPendingPageListByBelongTypeAndBelongID([FromQuery][Required] QueryRepairRequestFormPendingPageListByBelongInput input)
        {
            int total = 0;
            var allEquipmentList = new Yw.Service.Equipment().GetByBelongTypeAndBelongID(input.BelongType, input.BelongID);
            var allEquipmentIds = allEquipmentList?.Select(x => x.ID).Distinct().ToList();
            var list = new Service.RepairRequestForm().GetFluzzyPageListOfEquipmentIds
                (allEquipmentIds, input.CreateUserID, eRequestStatus.Pending, input.Urgency, input.FormNo, input.StartTime, input.EndTime, input.PageIndex, input.PageSize, ref total);
            if (list == null || list.Count < 1)
                return new PageListOutput<RepairRequestFormDto>();
            var equipmentList = new Service.Equipment().GetByIds(list.Select(x => x.EquipmentID).Distinct().ToList());
            var vmList = new List<RepairRequestFormDto>();
            foreach (var item in list)
            {
                var equipment = equipmentList?.Find(x => x.ID == item.EquipmentID);
                var vm = new RepairRequestFormDto(item, equipment);
                vmList.Add(vm);
            }
            return new PageListOutput<RepairRequestFormDto>() { Total = total, List = vmList };
        }
        /// <summary>
        /// èŽ·å–å¾…æ´¾å•åˆ†é¡µåˆ—è¡¨ 
        /// </summary>
        [Route("GetJustAcceptedPageList@V1.0")]
@@ -196,6 +250,33 @@
        }
        /// <summary>
        /// é€šè¿‡ BelongType å’Œ BelongID èŽ·å–å¾…æ´¾å•åˆ†é¡µåˆ—è¡¨
        /// </summary>
        [Route("GetJustAcceptedPageListByBelongTypeAndBelongID@V1.0")]
        [HttpGet]
        public PageListOutput<RepairRequestFormJustAcceptedDto> GetJustAcceptedPageListByBelongTypeAndBelongID([FromQuery][Required] QueryRepairRequestFormJustAcceptedPageListByBelongInput input)
        {
            int total = 0;
            var allEquipmentList = new Yw.Service.Equipment().GetByBelongTypeAndBelongID(input.BelongType, input.BelongID);
            var allEquipmentIds = allEquipmentList?.Select(x => x.ID).Distinct().ToList();
            var list = new Service.RepairRequestForm().GetJustAcceptedPageListOfEquipmentIds
                (allEquipmentIds, input.CreateUserID, input.Urgency, input.FormNo, input.StartTime, input.EndTime, input.PageIndex, input.PageSize, ref total);
            if (list == null || list.Count < 1)
            {
                return new PageListOutput<RepairRequestFormJustAcceptedDto>();
            }
            var equipmentList = new Service.Equipment().GetByIds(list.Select(x => x.Item1.EquipmentID).Distinct().ToList());
            var vmList = new List<RepairRequestFormJustAcceptedDto>();
            foreach (var item in list)
            {
                var equipment = equipmentList?.Find(x => x.ID == item.Item1.EquipmentID);
                var vm = new RepairRequestFormJustAcceptedDto(item.Item1, item.Item2, equipment);
                vmList.Add(vm);
            }
            return new PageListOutput<RepairRequestFormJustAcceptedDto>() { Total = total, List = vmList };
        }
        /// <summary>
        /// èŽ·å–æˆ‘çš„æŠ¥ä¿®åˆ†é¡µåˆ—è¡¨
        /// </summary>
        [Route("GetMyPageList@V1.0")]
Yw.Application.Repair.Core/02-task-form/RepairTaskForm_Controller.cs
@@ -311,6 +311,35 @@
        }
        /// <summary>
        /// é€šè¿‡ BelongType å’Œ BelongID èŽ·å–è¿›åº¦åˆ†é¡µåˆ—è¡¨
        /// </summary>
        [Route("GetProgressPageListByBelongTypeAndBelongID@V1.0")]
        [HttpGet]
        public PageListOutput<RepairTaskFormProgressDto> GetProgressPageListByBelongTypeAndBelongID([FromQuery][Required] QueryRepairTaskFormProgressPageListByBelongInput input)
        {
            int total = 0;
            var allEquipmentList = new Yw.Service.Equipment().GetByBelongTypeAndBelongID(input.BelongType, input.BelongID);
            var allEquipmentIds = allEquipmentList?.Select(x => x.ID).Distinct().ToList();
            var list = _service.GetProgressPageListOfEquipmentIds
                (allEquipmentIds, input.RepairUserID, input.Urgency, input.FormNo, input.StartTime, input.EndTime, input.PageIndex, input.PageSize, ref total);
            if (list == null || list.Count < 1)
            {
                return new PageListOutput<RepairTaskFormProgressDto>() { Total = 0, List = null };
            }
            var logList = new Service.RepairTaskLog().GetByFormIds(list.Select(x => x.Item1.ID).Distinct().ToList());
            var equipmentList = new Service.Equipment().GetByIds(list.Select(x => x.Item1.EquipmentID).Distinct().ToList());
            var vmList = new List<RepairTaskFormProgressDto>();
            foreach (var item in list)
            {
                var itemLogList = logList?.Where(x => x.FormID == item.Item1.ID).OrderBy(x => x.OperateTime).ToList();
                var equipment = equipmentList?.Find(x => x.ID == item.Item1.EquipmentID);
                var vm = new RepairTaskFormProgressDto(item.Item1, equipment, item.Item2, itemLogList);
                vmList.Add(vm);
            }
            return new PageListOutput<RepairTaskFormProgressDto>() { Total = total, List = vmList };
        }
        /// <summary>
        /// èŽ·å–å®Œå·¥åˆ†é¡µåˆ—è¡¨ 
        /// </summary>
        [Route("GetFinishedPageList@V1.0")]
@@ -339,6 +368,36 @@
        }
        /// <summary>
        /// é€šè¿‡ BelongType å’Œ BelongID èŽ·å–å®Œå·¥åˆ†é¡µåˆ—è¡¨
        /// </summary>
        [Route("GetFinishedPageListByBelongTypeAndBelongID@V1.0")]
        [HttpGet]
        public PageListOutput<RepairTaskFormFinishedDto> GetFinishedPageListByBelongTypeAndBelongID([FromQuery][Required] QueryRepairTaskFormFinishedPageListByBelongInput input)
        {
            int total = 0;
            var allEquipmentList = new Yw.Service.Equipment().GetByBelongTypeAndBelongID(input.BelongType, input.BelongID);
            var allEquipmentIds = allEquipmentList?.Select(x => x.ID).Distinct().ToList();
            var list = new Service.RepairTaskForm().GetPageListOfEquipmentIds
                (allEquipmentIds, input.RepairUserID, eTaskStatus.Finished, input.Urgency, input.FormNo, input.StartTime, input.EndTime, input.PageIndex, input.PageSize, ref total);
            if (list == null || list.Count < 1)
            {
                return new PageListOutput<RepairTaskFormFinishedDto>() { Total = 0, List = null };
            }
            var equipmentList = new Service.Equipment().GetByIds(list.Select(x => x.Item1.EquipmentID).Distinct().ToList());
            var logList = new Service.RepairTaskLog().GetByFormIds(list.Select(x => x.Item1.ID).Distinct().ToList());
            var vmList = new List<RepairTaskFormFinishedDto>();
            foreach (var item in list)
            {
                var itemLogList = logList?.Where(x => x.FormID == item.Item1.ID).OrderBy(x => x.OperateTime).ToList();
                var equipment = equipmentList?.Find(x => x.ID == item.Item1.EquipmentID);
                var vm = new RepairTaskFormFinishedDto(item.Item1, equipment, item.Item2, itemLogList);
                vmList.Add(vm);
            }
            return new PageListOutput<RepairTaskFormFinishedDto>() { Total = total, List = vmList };
        }
        /// <summary>
        /// èŽ·å–æˆ‘çš„å·²æ´¾å•åˆ†é¡µåˆ—è¡¨
        /// </summary>
        [Route("GetMyAssignedPageList@V1.0")]
Yw.Application.Repair.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,7 +4,7 @@
-->
<Project>
  <PropertyGroup>
    <History>True|2024-08-22T05:16:45.2219240Z;True|2024-08-20T11:34:36.2347446+08:00;True|2024-06-19T18:35:07.3826637+08:00;True|2024-06-07T16:28:34.9326773+08:00;True|2024-05-31T15:32:36.6255630+08:00;True|2024-05-21T15:18:27.8044420+08:00;True|2024-05-21T15:18:25.6054042+08:00;True|2024-05-13T10:22:02.1380819+08:00;True|2024-05-10T10:36:13.0612236+08:00;True|2024-04-01T10:05:03.8809784+08:00;True|2024-03-25T14:29:53.3457703+08:00;True|2024-01-31T13:24:07.4728291+08:00;True|2024-01-22T11:23:19.7067580+08:00;True|2023-12-25T10:02:24.8948808+08:00;True|2023-12-11T09:27:38.5966472+08:00;True|2023-12-04T18:25:37.5121850+08:00;True|2023-12-04T18:25:32.0321208+08:00;True|2023-07-13T12:10:11.2591498+08:00;True|2023-05-25T18:02:16.3580168+08:00;True|2023-05-25T15:44:32.4909866+08:00;</History>
    <History>True|2024-09-12T08:02:36.0071181Z;True|2024-08-22T13:16:45.2219240+08:00;True|2024-08-20T11:34:36.2347446+08:00;True|2024-06-19T18:35:07.3826637+08:00;True|2024-06-07T16:28:34.9326773+08:00;True|2024-05-31T15:32:36.6255630+08:00;True|2024-05-21T15:18:27.8044420+08:00;True|2024-05-21T15:18:25.6054042+08:00;True|2024-05-13T10:22:02.1380819+08:00;True|2024-05-10T10:36:13.0612236+08:00;True|2024-04-01T10:05:03.8809784+08:00;True|2024-03-25T14:29:53.3457703+08:00;True|2024-01-31T13:24:07.4728291+08:00;True|2024-01-22T11:23:19.7067580+08:00;True|2023-12-25T10:02:24.8948808+08:00;True|2023-12-11T09:27:38.5966472+08:00;True|2023-12-04T18:25:37.5121850+08:00;True|2023-12-04T18:25:32.0321208+08:00;True|2023-07-13T12:10:11.2591498+08:00;True|2023-05-25T18:02:16.3580168+08:00;True|2023-05-25T15:44:32.4909866+08:00;</History>
    <LastFailureDetails />
  </PropertyGroup>
</Project>
Yw.Application.Repair.Core/Yw.Application.Repair.Core.csproj
@@ -7,7 +7,7 @@
    <RootNamespace>Yw.Application</RootNamespace>
    <GenerateDocumentationFile>True</GenerateDocumentationFile>
    <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
    <Version>3.1.0</Version>
    <Version>3.1.1</Version>
  </PropertyGroup>
  <ItemGroup>
@@ -26,8 +26,8 @@
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Yw.Application.Core" Version="3.1.1" />
    <PackageReference Include="Yw.Dto.Repair.Core" Version="3.1.0" />
    <PackageReference Include="Yw.Application.Core" Version="3.1.2" />
    <PackageReference Include="Yw.Dto.Repair.Core" Version="3.1.2" />
  </ItemGroup>
</Project>
Yw.Dto.Repair.Core/01-repair-request-form/03-pending/QueryRepairRequestFormPendingPageListByBelongInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
namespace Yw.Dto
{
    /// <summary>
    /// èŽ·å–å¾…å—ç†æŠ¥ä¿®å•åˆ†æžåˆ—è¡¨
    /// </summary>
    public class QueryRepairRequestFormPendingPageListByBelongInput : IValidatableObject
    {
        /// <summary>
        /// æ‰€å±žç±»åž‹
        /// </summary>
        [Required]
        public string BelongType { get; set; }
        /// <summary>
        /// æ‰€å±žid
        /// </summary>
        [Required, Range(1, long.MaxValue, ErrorMessage = "BelongID å¿…须大于0")]
        public long BelongID { get; set; }
        /// <summary>
        /// åˆ›å»ºäººid(报修人)
        /// </summary>
        public long? CreateUserID { get; set; }
        /// <summary>
        /// ç´§æ€¥ç¨‹åº¦
        /// </summary>
        public eUrgency? Urgency { get; set; }
        /// <summary>
        /// è¡¨å•号
        /// </summary>
        public string FormNo { get; set; }
        /// <summary>
        /// å¼€å§‹æ—¶é—´
        /// </summary>
        [Required]
        public DateTime StartTime { get; set; }
        /// <summary>
        /// ç»“束时间
        /// </summary>
        [Required]
        public DateTime EndTime { get; set; }
        /// <summary>
        /// é¡µç´¢å¼•
        /// </summary>
        [Required, Range(1, int.MaxValue, ErrorMessage = "PageIndex å¿…须大于0")]
        public int PageIndex { get; set; }
        /// <summary>
        /// é¡µå°ºå¯¸
        /// </summary>
        [Required, Range(1, int.MaxValue, ErrorMessage = "PageSize å¿…须大于0")]
        public int PageSize { get; set; }
        /// <summary>
        ///
        /// </summary>
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            if (StartTime > EndTime)
            {
                yield return new ValidationResult(
                   "StartTime å¿…须小于 EndTime"
                   , new[] { nameof(StartTime) }
                );
            }
        }
    }
}
Yw.Dto.Repair.Core/01-repair-request-form/05-just_accepted/QueryRepairRequestFormJustAcceptedPageListByBelongInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
namespace Yw.Dto
{
    /// <summary>
    /// èŽ·å–å¾…å—ç†æŠ¥ä¿®å•åˆ†æžåˆ—è¡¨
    /// </summary>
    public class QueryRepairRequestFormJustAcceptedPageListByBelongInput : IValidatableObject
    {
        /// <summary>
        /// æ‰€å±žç±»åž‹
        /// </summary>
        [Required]
        public string BelongType { get; set; }
        /// <summary>
        /// æ‰€å±žid
        /// </summary>
        [Required, Range(1, long.MaxValue, ErrorMessage = "BelongID å¿…须大于0")]
        public long BelongID { get; set; }
        /// <summary>
        /// åˆ›å»ºäººid(报修人)
        /// </summary>
        public long? CreateUserID { get; set; }
        /// <summary>
        /// ç´§æ€¥ç¨‹åº¦
        /// </summary>
        public eUrgency? Urgency { get; set; }
        /// <summary>
        /// è¡¨å•号
        /// </summary>
        public string FormNo { get; set; }
        /// <summary>
        /// å¼€å§‹æ—¶é—´
        /// </summary>
        [Required]
        public DateTime StartTime { get; set; }
        /// <summary>
        /// ç»“束时间
        /// </summary>
        [Required]
        public DateTime EndTime { get; set; }
        /// <summary>
        /// é¡µç´¢å¼•
        /// </summary>
        [Required, Range(1, int.MaxValue, ErrorMessage = "PageIndex å¿…须大于0")]
        public int PageIndex { get; set; }
        /// <summary>
        /// é¡µå°ºå¯¸
        /// </summary>
        [Required, Range(1, int.MaxValue, ErrorMessage = "PageSize å¿…须大于0")]
        public int PageSize { get; set; }
        /// <summary>
        ///
        /// </summary>
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            if (StartTime > EndTime)
            {
                yield return new ValidationResult(
                       "StartTime å¿…须小于 EndTime"
                       , new[] { nameof(StartTime) }
                );
            }
        }
    }
}
Yw.Dto.Repair.Core/01-repair-request-form/10-page/QueryRepairRequestFormPageListByBelongInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
namespace Yw.Dto
{
    /// <summary>
    /// èŽ·å–æŠ¥ä¿®å•åˆ†é¡µåˆ—è¡¨
    /// </summary>
    public class QueryRepairRequestFormPageListByBelongInput : IValidatableObject
    {
        /// <summary>
        /// æ‰€å±žç±»åž‹
        /// </summary>
        [Required]
        public string BelongType { get; set; }
        /// <summary>
        /// æ‰€å±žid
        /// </summary>
        [Required, Range(1, long.MaxValue, ErrorMessage = "BelongID å¿…须大于0")]
        public long BelongID { get; set; }
        /// <summary>
        /// åˆ›å»ºäººid(报修人)
        /// </summary>
        public long? CreateUserID { get; set; }
        /// <summary>
        /// è¡¨å•状态
        /// </summary>
        public eRequestStatus? FormStatus { get; set; }
        /// <summary>
        /// ç´§æ€¥ç¨‹åº¦
        /// </summary>
        public eUrgency? Urgency { get; set; }
        /// <summary>
        /// è¡¨å•号
        /// </summary>
        public string FormNo { get; set; }
        /// <summary>
        /// å¼€å§‹æ—¶é—´
        /// </summary>
        [Required]
        public DateTime StartTime { get; set; }
        /// <summary>
        /// ç»“束时间
        /// </summary>
        [Required]
        public DateTime EndTime { get; set; }
        /// <summary>
        /// é¡µç´¢å¼•
        /// </summary>
        [Required, Range(1, int.MaxValue, ErrorMessage = "PageIndex å¿…须大于0")]
        public int PageIndex { get; set; }
        /// <summary>
        /// é¡µå°ºå¯¸
        /// </summary>
        [Required, Range(1, int.MaxValue, ErrorMessage = "PageSize å¿…须大于0")]
        public int PageSize { get; set; }
        /// <summary>
        ///
        /// </summary>
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            if (StartTime > EndTime)
            {
                yield return new ValidationResult(
                   "StartTime å¿…须小于 EndTime"
                   , new[] { nameof(StartTime) }
                );
            }
        }
    }
}
Yw.Dto.Repair.Core/02-repair-task-form/07-finish/page/QueryRepairTaskFormFinishedPageListByBelongInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,81 @@
namespace Yw.Dto
{
    /// <summary>
    /// èŽ·å–ç»´ä¿®å•å®Œå·¥åˆ†é¡µåˆ—è¡¨
    /// </summary>
    public class QueryRepairTaskFormFinishedPageListByBelongInput : IValidatableObject
    {
        /// <summary>
        /// æ‰€å±žç±»åž‹
        /// </summary>
        [Required]
        public string BelongType { get; set; }
        /// <summary>
        /// æ‰€å±žid
        /// </summary>
        [Required, Range(1, long.MaxValue, ErrorMessage = "BelongID å¿…须大于0")]
        public long BelongID { get; set; }
        /// <summary>
        /// ç»´ä¿®äººid
        /// </summary>
        public long? RepairUserID { get; set; }
        /// <summary>
        /// ç´§æ€¥ç¨‹åº¦
        /// </summary>
        public eUrgency? Urgency { get; set; }
        /// <summary>
        /// è¡¨å•号
        /// </summary>
        public string FormNo { get; set; }
        /// <summary>
        /// å¼€å§‹æ—¶é—´
        /// </summary>
        public DateTime? StartTime { get; set; }
        /// <summary>
        /// ç»“束时间
        /// </summary>
        public DateTime? EndTime { get; set; }
        /// <summary>
        /// é¡µç´¢å¼•
        /// </summary>
        [Required, Range(1, int.MaxValue, ErrorMessage = "PageIndex å¿…须大于0")]
        public int PageIndex { get; set; }
        /// <summary>
        /// é¡µå°ºå¯¸
        /// </summary>
        [Required, Range(1, int.MaxValue, ErrorMessage = "PageSize å¿…须大于0")]
        public int PageSize { get; set; }
        /// <summary>
        ///
        /// </summary>
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            if (StartTime.HasValue && EndTime.HasValue)
            {
                if (StartTime > EndTime)
                {
                    yield return new ValidationResult(
                           "StartTime å¿…须小于 EndTime"
                           , new[] { nameof(StartTime) }
                        );
                }
            }
        }
    }
}
Yw.Dto.Repair.Core/02-repair-task-form/09-progress/page/QueryRepairTaskFormProgressPageListByBelongInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
namespace Yw.Dto
{
    /// <summary>
    /// èŽ·å–ç»´ä¿®å•è¿›åº¦åˆ†é¡µåˆ—è¡¨
    /// </summary>
    public class QueryRepairTaskFormProgressPageListByBelongInput : IValidatableObject
    {
        /// <summary>
        /// æ‰€å±žç±»åž‹
        /// </summary>
        [Required]
        public string BelongType { get; set; }
        /// <summary>
        /// æ‰€å±žid
        /// </summary>
        [Required, Range(1, long.MaxValue, ErrorMessage = "BelongID å¿…须大于0")]
        public long BelongID { get; set; }
        /// <summary>
        /// ç»´ä¿®äººid
        /// </summary>
        public long? RepairUserID { get; set; }
        /// <summary>
        /// ç´§æ€¥ç¨‹åº¦
        /// </summary>
        public eUrgency? Urgency { get; set; }
        /// <summary>
        /// è¡¨å•号
        /// </summary>
        public string FormNo { get; set; }
        /// <summary>
        /// å¼€å§‹æ—¶é—´
        /// </summary>
        public DateTime? StartTime { get; set; }
        /// <summary>
        /// ç»“束时间
        /// </summary>
        public DateTime? EndTime { get; set; }
        /// <summary>
        /// é¡µç´¢å¼•
        /// </summary>
        [Required, Range(1, int.MaxValue, ErrorMessage = "PageIndex å¿…须大于0")]
        public int PageIndex { get; set; }
        /// <summary>
        /// é¡µå°ºå¯¸
        /// </summary>
        [Required, Range(1, int.MaxValue, ErrorMessage = "PageSize å¿…须大于0")]
        public int PageSize { get; set; }
        /// <summary>
        ///
        /// </summary>
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            if (StartTime.HasValue && EndTime.HasValue)
            {
                if (StartTime > EndTime)
                {
                    yield return new ValidationResult(
                           "StartTime å¿…须小于 EndTime"
                           , new[] { nameof(StartTime) }
                        );
                }
            }
        }
    }
}
Yw.Dto.Repair.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,7 +4,7 @@
-->
<Project>
  <PropertyGroup>
    <History>True|2024-08-22T05:14:35.1870058Z;True|2024-08-20T11:33:44.2946883+08:00;True|2024-06-19T18:34:27.0294266+08:00;True|2024-06-07T16:27:48.0487307+08:00;True|2024-05-31T15:32:01.7978407+08:00;True|2024-05-21T15:17:28.8396386+08:00;True|2024-05-13T10:21:28.5463840+08:00;True|2024-05-10T10:35:36.4066500+08:00;True|2024-04-01T10:03:37.9193349+08:00;True|2024-03-25T13:38:09.3123355+08:00;</History>
    <History>True|2024-09-12T08:01:55.3691661Z;True|2024-09-12T15:40:59.8735894+08:00;True|2024-08-22T13:14:35.1870058+08:00;True|2024-08-20T11:33:44.2946883+08:00;True|2024-06-19T18:34:27.0294266+08:00;True|2024-06-07T16:27:48.0487307+08:00;True|2024-05-31T15:32:01.7978407+08:00;True|2024-05-21T15:17:28.8396386+08:00;True|2024-05-13T10:21:28.5463840+08:00;True|2024-05-10T10:35:36.4066500+08:00;True|2024-04-01T10:03:37.9193349+08:00;True|2024-03-25T13:38:09.3123355+08:00;</History>
    <LastFailureDetails />
  </PropertyGroup>
</Project>
Yw.Dto.Repair.Core/Yw.Dto.Repair.Core.csproj
@@ -4,13 +4,13 @@
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>disable</Nullable>
    <Version>3.1.0</Version>
    <Version>3.1.2</Version>
    <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Yw.Dto.Assets.Core" Version="3.2.5" />
    <PackageReference Include="Yw.Service.Repair.Core" Version="3.0.8" />
    <PackageReference Include="Yw.Dto.Assets.Core" Version="3.2.6" />
    <PackageReference Include="Yw.Service.Repair.Core" Version="3.0.9" />
  </ItemGroup>
</Project>
Yw.Service.Repair.Core/00-core/ConfigHelper.cs
@@ -10,26 +10,22 @@
        {
            get
            {
                //SnowFlakeSingle.WorkId = Settings.SqlSugar.SnowFlakeWorkId; ä¸åŒæœºå™¨é…ç½®çš„唯一数字; // å•服务器不需要指定
                return new ConnectionConfig()
                ConnectionConfig connectConfig = null;
                switch (RepairParasHelper.Repair.DataBase.DbType)
                {
                    DbType = SqlSugar.DbType.PostgreSQL,//数据库类型
                    ConnectionString = RepairParasHelper.Repair.DataBase.PostgreSql.ConnectString,
                    IsAutoCloseConnection = true,//是否自动关闭
                    MoreSettings = new ConnMoreSettings()
                    {
                        //PgSqlIsAutoToLower = false //数据库存在大写字段的 ï¼Œéœ€è¦æŠŠè¿™ä¸ªè®¾ä¸ºfalse ï¼Œå¹¶ä¸”实体和字段名称要一样
                    },
                    AopEvents = new AopEvents
                    {
                        OnLogExecuting = (sql, p) =>
                    case DbType.PostgreSql:
                        {
                            // var sqlString = UtilMethods.GetNativeSql(sql, p);
                            //LogHelper.Debug(sqlString);
                            // Console.WriteLine(sql);
                            connectConfig = PostgreSqlConnectionConfig;
                        }
                    }
                };
                        break;
                    case DbType.SQLite:
                        {
                            connectConfig = SQLiteConnectionConfig;
                        }
                        break;
                    default: break;
                }
                return connectConfig;
            }
        }
Yw.Service.Repair.Core/00-core/DbType.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
namespace Yw.Repair
{
    /// <summary>
    ///
    /// </summary>
    internal class DbType
    {
        /// <summary>
        ///
        /// </summary>
        public const string SQLite = "SQLite";
        /// <summary>
        ///
        /// </summary>
        public const string PostgreSql = "PostgreSql";
    }
}
Yw.Service.Repair.Core/01-entity/01-request/RepairRequestFile.cs
@@ -33,21 +33,25 @@
        /// <summary>
        /// æ–‡ä»¶åç§°
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string FileName { get; set; }
        /// <summary>
        /// æ–‡ä»¶åŽç¼€
        /// </summary>
        [SugarColumn(Length = 50, IsNullable = true)]
        public string FileSuffix { get; set; }
        /// <summary>
        /// å­˜å‚¨ä»“库
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string StorageHouse { get; set; }
        /// <summary>
        /// å­˜å‚¨ç¼–码
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string StorageCode { get; set; }
        /// <summary>
@@ -58,6 +62,7 @@
        /// <summary>
        /// è¯´æ˜Ž
        /// </summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Description { get; set; }
        /// <summary>
Yw.Service.Repair.Core/01-entity/01-request/RepairRequestForm.cs
@@ -36,11 +36,13 @@
        /// <summary>
        /// è¡¨å•号
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string FormNo { get; set; }
        /// <summary>
        /// è¡¨å•名称
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string FormName { get; set; }
        /// <summary>
@@ -51,11 +53,13 @@
        /// <summary>
        /// é—®é¢˜ç¼–码
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string Faq { get; set; }
        /// <summary>
        /// é—®é¢˜æè¿°
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string Question { get; set; }
        /// <summary>
@@ -66,11 +70,13 @@
        /// <summary>
        /// åœ°å€
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string Address { get; set; }
        /// <summary>
        /// å®šä½
        /// </summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Location { get; set; }
        /// <summary>
Yw.Service.Repair.Core/01-entity/01-request/RepairRequestLog.cs
@@ -38,6 +38,7 @@
        /// <summary>
        /// æ“ä½œå†…容
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string OperateContent { get; set; }
        /// <summary>
@@ -53,11 +54,13 @@
        /// <summary>
        /// æ“ä½œäººåç§°
        /// </summary>
        [SugarColumn(Length = 50, IsNullable = true)]
        public string OperateUserName { get; set; }
        /// <summary>
        /// æ“ä½œè¯´æ˜Ž
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string OperateNote { get; set; }
Yw.Service.Repair.Core/01-entity/02-task/RepairTaskForm.cs
@@ -44,11 +44,13 @@
        /// <summary>
        /// è¡¨å•号
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string FormNo { get; set; }
        /// <summary>
        /// è¡¨å•名称
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string FormName { get; set; }
        /// <summary>
@@ -59,11 +61,13 @@
        /// <summary>
        /// é—®é¢˜ç¼–码
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string Faq { get; set; }
        /// <summary>
        /// é—®é¢˜æè¿°
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string Question { get; set; }
        /// <summary>
@@ -74,11 +78,13 @@
        /// <summary>
        /// åœ°å€
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string Address { get; set; }
        /// <summary>
        /// å®šä½
        /// </summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Location { get; set; }
        /// <summary>
@@ -89,6 +95,7 @@
        /// <summary>
        /// ç»´ä¿®ç”¨æˆ·åç§°
        /// </summary>
        [SugarColumn(Length = 50, IsNullable = true)]
        public string RepairUserName { get; set; }
        /// <summary>
Yw.Service.Repair.Core/01-entity/02-task/RepairTaskLog.cs
@@ -38,6 +38,7 @@
        /// <summary>
        /// æ“ä½œå†…容
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string OperateContent { get; set; }
        /// <summary>
@@ -53,11 +54,13 @@
        /// <summary>
        /// æ“ä½œäººåç§°
        /// </summary>
        [SugarColumn(Length = 50, IsNullable = true)]
        public string OperateUserName { get; set; }
        /// <summary>
        /// æ“ä½œè¯´æ˜Ž
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string OperateNote { get; set; }
Yw.Service.Repair.Core/01-entity/02-task/RepairTaskLogFile.cs
@@ -39,21 +39,25 @@
        /// <summary>
        /// æ–‡ä»¶åç§°
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string FileName { get; set; }
        /// <summary>
        /// æ–‡ä»¶åŽç¼€
        /// </summary>
        [SugarColumn(Length = 50, IsNullable = true)]
        public string FileSuffix { get; set; }
        /// <summary>
        /// å­˜å‚¨ä»“库
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string StorageHouse { get; set; }
        /// <summary>
        /// å­˜å‚¨ç¼–码
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        public string StorageCode { get; set; }
        /// <summary>
@@ -64,6 +68,7 @@
        /// <summary>
        /// è¯´æ˜Ž
        /// </summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Description { get; set; }
Yw.Service.Repair.Core/04-dal/01-interface/01-request/IRepairRequestForm.cs
@@ -151,9 +151,26 @@
            );
        /// <summary>
        /// èŽ·å–è®¾å¤‡æ¨¡ç³Šåˆ†é¡µåˆ—è¡¨
        /// </summary>
        List<Entity.RepairRequestForm> GetFluzzyPageListOfEquipmentIds
          (
                 List<long> EquipmentIds,
                 long? CreateUserID,
                 int? FormStatus,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            );
        /// <summary>
        /// èŽ·å–å¾…æ´¾å•åˆ†é¡µåˆ—è¡¨
        /// </summary>
        List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAccepedPageList
        List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAcceptedPageList
          (
                 List<long> EquipmentIds,
                 long? CreateUserID,
@@ -166,6 +183,21 @@
                 ref int Total
            );
        /// <summary>
        /// èŽ·å–è®¾å¤‡å¾…æ´¾å•åˆ†é¡µåˆ—è¡¨
        /// </summary>
        List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAcceptedPageListOfEquipmentIds
          (
                 List<long> EquipmentIds,
                 long? CreateUserID,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            );
Yw.Service.Repair.Core/04-dal/01-interface/2-task/IRepairTaskForm.cs
@@ -86,9 +86,40 @@
            );
        /// <summary>
        /// èŽ·å–è®¾å¤‡æ¨¡ç³Šåˆ—è¡¨
        /// </summary>
        List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetFluzzyListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? FormStatus,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime
            );
        /// <summary>
        /// èŽ·å–åˆ†é¡µåˆ—è¡¨
        /// </summary>
        List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetPageList
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? FormStatus,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            );
        /// <summary>
        /// èŽ·å–è®¾å¤‡åˆ†é¡µåˆ—è¡¨
        /// </summary>
        List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
@@ -119,6 +150,22 @@
            );
        /// <summary>
        /// èŽ·å–è®¾å¤‡è¿›è¡Œä¸­çš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetProgressPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            );
        /// <summary>
        /// èŽ·å–å·²å®Œæˆçš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetHasFinishedPageList
@@ -134,7 +181,21 @@
                 ref int Total
            );
        /// <summary>
        /// èŽ·å–è®¾å¤‡å·²å®Œæˆçš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetHasFinishedPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            );
    }
Yw.Service.Repair.Core/04-dal/02-postgresql/01-request/RepairRequestForm.cs
@@ -456,9 +456,13 @@
            )
        {
            if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (PageSize < 1)
            {
                PageSize = 1;
            }
            var exp = Expressionable.Create<Entity.RepairRequestForm>();
            exp.And(x => x.CreateUserID == CreateUserID);
            exp.AndIF(FormStatus.HasValue, x => x.FormStatus == FormStatus.Value);
@@ -493,9 +497,13 @@
            )
        {
            if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (PageSize < 1)
            {
                PageSize = 1;
            }
            var exp = Expressionable.Create<Entity.RepairRequestForm>();
            exp.AndIF(EquipmentIds != null && EquipmentIds.Count > 0, x => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(CreateUserID.HasValue, x => x.CreateUserID == CreateUserID);
@@ -515,9 +523,57 @@
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡æ¨¡ç³Šåˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Entity.RepairRequestForm> GetFluzzyPageListOfEquipmentIds
          (
                 List<long> EquipmentIds,
                 long? CreateUserID,
                 int? FormStatus,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (PageSize < 1)
            {
                PageSize = 1;
            }
            var exp = Expressionable.Create<Entity.RepairRequestForm>();
            exp.And(x => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(CreateUserID.HasValue, x => x.CreateUserID == CreateUserID);
            exp.AndIF(FormStatus.HasValue, x => x.FormStatus == FormStatus.Value);
            exp.AndIF(Urgency.HasValue, x => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), x => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, x => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, x => x.CreateTime <= EndTime.Value);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                return db.Queryable<Entity.RepairRequestForm>()
                    .Where(exp.ToExpression())
                    .OrderBy(x => x.CreateTime, OrderByType.Desc)
                    .ToPageList(PageIndex, PageSize, ref Total); ;
            }
        }
        /// <summary>
        /// èŽ·å–å¾…æ´¾å•åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAccepedPageList
        public List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAcceptedPageList
          (
                 List<long> EquipmentIds,
                 long? CreateUserID,
@@ -531,9 +587,13 @@
            )
        {
            if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (PageSize < 1)
            {
                PageSize = 1;
            }
            var exp = Expressionable.Create<Entity.RepairRequestForm, Entity.RepairTaskForm>();
            exp.AndIF(EquipmentIds != null && EquipmentIds.Count > 0, (x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(CreateUserID.HasValue, (x, y) => x.CreateUserID == CreateUserID);
@@ -557,6 +617,56 @@
            }
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡å¾…æ´¾å•åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAcceptedPageListOfEquipmentIds
          (
                 List<long> EquipmentIds,
                 long? CreateUserID,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (PageSize < 1)
            {
                PageSize = 1;
            }
            var exp = Expressionable.Create<Entity.RepairRequestForm, Entity.RepairTaskForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(CreateUserID.HasValue, (x, y) => x.CreateUserID == CreateUserID);
            exp.And((x, y) => x.FormStatus == (int)eRequestStatus.Accepted);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), (x, y) => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, (x, y) => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, (x, y) => x.CreateTime <= EndTime.Value);
            exp.And((x, y) => y.FormStatus == (int)eTaskStatus.Accepted);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairRequestForm>()
                            .InnerJoin<Entity.RepairTaskForm>((x, y) => y.RequestID != null && x.ID == y.RequestID.Value)
                            .Where(exp.ToExpression())
                            .OrderBy(x => x.CreateTime, OrderByType.Desc)
                            .Select((x, y) => new { x, y })
                            .ToPageList(PageIndex, PageSize, ref Total);
                return list?.Select(x => new Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>(x.x, x.y)).ToList();
            }
        }
Yw.Service.Repair.Core/04-dal/02-postgresql/02-task/RepairTaskForm.cs
@@ -590,6 +590,46 @@
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡æ¨¡ç³Šåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetFluzzyListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? FormStatus,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.AndIF(FormStatus.HasValue, (x, y) => x.FormStatus == FormStatus.Value);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), (x, y) => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, (x, y) => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, (x, y) => x.CreateTime <= EndTime.Value);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .Where(exp.ToExpression())
                            .OrderBy(x => x.CreateTime, OrderByType.Desc)
                            .Select((x, y) => new { x, y })
                            .ToList();
                return list?.Select(x => new Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
        /// <summary>
        /// èŽ·å–åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetPageList
@@ -633,6 +673,52 @@
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? FormStatus,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (PageIndex < 1)
                PageIndex = 1;
            if (PageSize < 1)
                PageSize = 1;
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.AndIF(FormStatus.HasValue, (x, y) => x.FormStatus == FormStatus.Value);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), (x, y) => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, (x, y) => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, (x, y) => x.CreateTime <= EndTime.Value);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .Where(exp.ToExpression())
                            .OrderBy(x => x.CreateTime, OrderByType.Desc)
                            .Select((x, y) => new { x, y })
                            .ToPageList(PageIndex, PageSize, ref Total);
                return list?.Select(x => new Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
        /// <summary>
        /// èŽ·å–è¿›è¡Œä¸­çš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetProgressPageList
@@ -654,6 +740,52 @@
                PageSize = 1;
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.AndIF(EquipmentIds != null && EquipmentIds.Count > 0, (x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.And((x, y) => x.FormStatus >= (int)eTaskStatus.Received && x.FormStatus < (int)eTaskStatus.Finished);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), (x, y) => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, (x, y) => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, (x, y) => x.CreateTime <= EndTime.Value);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .Where(exp.ToExpression())
                            .OrderBy(x => x.CreateTime, OrderByType.Desc)
                            .Select((x, y) => new { x, y })
                            .ToPageList(PageIndex, PageSize, ref Total);
                return list?.Select(x => new Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡è¿›è¡Œä¸­çš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetProgressPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (PageIndex < 1)
                PageIndex = 1;
            if (PageSize < 1)
                PageSize = 1;
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.And((x, y) => x.FormStatus >= (int)eTaskStatus.Received && x.FormStatus < (int)eTaskStatus.Finished);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
@@ -716,8 +848,52 @@
            }
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡å·²å®Œæˆçš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetHasFinishedPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (PageIndex < 1)
                PageIndex = 1;
            if (PageSize < 1)
                PageSize = 1;
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.And((x, y) => x.FormStatus >= (int)eTaskStatus.Finished);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), (x, y) => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, (x, y) => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, (x, y) => x.CreateTime <= EndTime.Value);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .Where(exp.ToExpression())
                            .OrderBy(x => x.CreateTime, OrderByType.Desc)
                            .Select((x, y) => new { x, y })
                            .ToPageList(PageIndex, PageSize, ref Total);
                return list?.Select(x => new Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
    }
}
Yw.Service.Repair.Core/04-dal/03-sqlite/01-request/RepairRequestForm.cs
@@ -456,9 +456,13 @@
            )
        {
            if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (PageSize < 1)
            {
                PageSize = 1;
            }
            var exp = Expressionable.Create<Entity.RepairRequestForm>();
            exp.And(x => x.CreateUserID == CreateUserID);
            exp.AndIF(FormStatus.HasValue, x => x.FormStatus == FormStatus.Value);
@@ -493,9 +497,13 @@
            )
        {
            if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (PageSize < 1)
            {
                PageSize = 1;
            }
            var exp = Expressionable.Create<Entity.RepairRequestForm>();
            exp.AndIF(EquipmentIds != null && EquipmentIds.Count > 0, x => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(CreateUserID.HasValue, x => x.CreateUserID == CreateUserID);
@@ -515,9 +523,57 @@
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡æ¨¡ç³Šåˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Entity.RepairRequestForm> GetFluzzyPageListOfEquipmentIds
          (
                 List<long> EquipmentIds,
                 long? CreateUserID,
                 int? FormStatus,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (PageSize < 1)
            {
                PageSize = 1;
            }
            var exp = Expressionable.Create<Entity.RepairRequestForm>();
            exp.And(x => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(CreateUserID.HasValue, x => x.CreateUserID == CreateUserID);
            exp.AndIF(FormStatus.HasValue, x => x.FormStatus == FormStatus.Value);
            exp.AndIF(Urgency.HasValue, x => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), x => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, x => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, x => x.CreateTime <= EndTime.Value);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                return db.Queryable<Entity.RepairRequestForm>()
                    .Where(exp.ToExpression())
                    .OrderBy(x => x.CreateTime, OrderByType.Desc)
                    .ToPageList(PageIndex, PageSize, ref Total); ;
            }
        }
        /// <summary>
        /// èŽ·å–å¾…æ´¾å•åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAccepedPageList
        public List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAcceptedPageList
          (
                 List<long> EquipmentIds,
                 long? CreateUserID,
@@ -531,9 +587,13 @@
            )
        {
            if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (PageSize < 1)
            {
                PageSize = 1;
            }
            var exp = Expressionable.Create<Entity.RepairRequestForm, Entity.RepairTaskForm>();
            exp.AndIF(EquipmentIds != null && EquipmentIds.Count > 0, (x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(CreateUserID.HasValue, (x, y) => x.CreateUserID == CreateUserID);
@@ -557,6 +617,56 @@
            }
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡å¾…æ´¾å•åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAcceptedPageListOfEquipmentIds
          (
                 List<long> EquipmentIds,
                 long? CreateUserID,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (PageSize < 1)
            {
                PageSize = 1;
            }
            var exp = Expressionable.Create<Entity.RepairRequestForm, Entity.RepairTaskForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(CreateUserID.HasValue, (x, y) => x.CreateUserID == CreateUserID);
            exp.And((x, y) => x.FormStatus == (int)eRequestStatus.Accepted);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), (x, y) => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, (x, y) => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, (x, y) => x.CreateTime <= EndTime.Value);
            exp.And((x, y) => y.FormStatus == (int)eTaskStatus.Accepted);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairRequestForm>()
                            .InnerJoin<Entity.RepairTaskForm>((x, y) => y.RequestID != null && x.ID == y.RequestID.Value)
                            .Where(exp.ToExpression())
                            .OrderBy(x => x.CreateTime, OrderByType.Desc)
                            .Select((x, y) => new { x, y })
                            .ToPageList(PageIndex, PageSize, ref Total);
                return list?.Select(x => new Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>(x.x, x.y)).ToList();
            }
        }
Yw.Service.Repair.Core/04-dal/03-sqlite/02-task/RepairTaskForm.cs
@@ -590,6 +590,46 @@
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡æ¨¡ç³Šåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetFluzzyListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? FormStatus,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.AndIF(FormStatus.HasValue, (x, y) => x.FormStatus == FormStatus.Value);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), (x, y) => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, (x, y) => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, (x, y) => x.CreateTime <= EndTime.Value);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .Where(exp.ToExpression())
                            .OrderBy(x => x.CreateTime, OrderByType.Desc)
                            .Select((x, y) => new { x, y })
                            .ToList();
                return list?.Select(x => new Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
        /// <summary>
        /// èŽ·å–åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetPageList
@@ -633,6 +673,52 @@
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? FormStatus,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (PageIndex < 1)
                PageIndex = 1;
            if (PageSize < 1)
                PageSize = 1;
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.AndIF(FormStatus.HasValue, (x, y) => x.FormStatus == FormStatus.Value);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), (x, y) => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, (x, y) => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, (x, y) => x.CreateTime <= EndTime.Value);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .Where(exp.ToExpression())
                            .OrderBy(x => x.CreateTime, OrderByType.Desc)
                            .Select((x, y) => new { x, y })
                            .ToPageList(PageIndex, PageSize, ref Total);
                return list?.Select(x => new Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
        /// <summary>
        /// èŽ·å–è¿›è¡Œä¸­çš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetProgressPageList
@@ -654,6 +740,52 @@
                PageSize = 1;
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.AndIF(EquipmentIds != null && EquipmentIds.Count > 0, (x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.And((x, y) => x.FormStatus >= (int)eTaskStatus.Received && x.FormStatus < (int)eTaskStatus.Finished);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), (x, y) => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, (x, y) => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, (x, y) => x.CreateTime <= EndTime.Value);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .Where(exp.ToExpression())
                            .OrderBy(x => x.CreateTime, OrderByType.Desc)
                            .Select((x, y) => new { x, y })
                            .ToPageList(PageIndex, PageSize, ref Total);
                return list?.Select(x => new Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡è¿›è¡Œä¸­çš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetProgressPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (PageIndex < 1)
                PageIndex = 1;
            if (PageSize < 1)
                PageSize = 1;
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.And((x, y) => x.FormStatus >= (int)eTaskStatus.Received && x.FormStatus < (int)eTaskStatus.Finished);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
@@ -716,8 +848,52 @@
            }
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡å·²å®Œæˆçš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetHasFinishedPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (PageIndex < 1)
                PageIndex = 1;
            if (PageSize < 1)
                PageSize = 1;
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.And((x, y) => x.FormStatus >= (int)eTaskStatus.Finished);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
            exp.AndIF(!string.IsNullOrEmpty(FormNo), (x, y) => x.FormNo.Contains(FormNo));
            exp.AndIF(StartTime.HasValue, (x, y) => x.CreateTime >= StartTime.Value);
            exp.AndIF(EndTime.HasValue, (x, y) => x.CreateTime <= EndTime.Value);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .Where(exp.ToExpression())
                            .OrderBy(x => x.CreateTime, OrderByType.Desc)
                            .Select((x, y) => new { x, y })
                            .ToPageList(PageIndex, PageSize, ref Total);
                return list?.Select(x => new Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
    }
}
Yw.Service.Repair.Core/5-service/01-request/01-form/RepairRequestForm.cs
@@ -69,14 +69,6 @@
            return _dal.GetPendingCount();
        }
        /// <summary>
        /// èŽ·å–æˆ‘çš„æ¨¡ç³Šåˆ†é¡µåˆ—è¡¨
        /// </summary>
@@ -130,6 +122,37 @@
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡æ¨¡ç³Šåˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Model.RepairRequestForm> GetFluzzyPageListOfEquipmentIds
          (
                 List<long> EquipmentIds,
                 long? CreateUserID,
                 eRequestStatus? FormStatus,
                 eUrgency? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            Total = 0;
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (StartTime > EndTime)
            {
                return default;
            }
            var entity_list = _dal.GetFluzzyPageListOfEquipmentIds(EquipmentIds, CreateUserID, (int?)FormStatus, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
            var model_list = Entity2Models(entity_list);
            return model_list;
        }
        /// <summary>
        /// èŽ·å–å¾…æ´¾å•åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Model.RepairRequestForm, Model.RepairTaskForm>> GetJustAcceptedPageList
@@ -148,11 +171,40 @@
            Total = 0;
            if (StartTime > EndTime)
                return default;
            var entity_list = _dal.GetJustAccepedPageList(EquipmentIds, CreateUserID, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
            var entity_list = _dal.GetJustAcceptedPageList(EquipmentIds, CreateUserID, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
            var model_list = entity_list?.Select(x => new Tuple<Model.RepairRequestForm, Model.RepairTaskForm>(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
            return model_list;
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡å¾…æ´¾å•åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Model.RepairRequestForm, Model.RepairTaskForm>> GetJustAcceptedPageListOfEquipmentIds
          (
                 List<long> EquipmentIds,
                 long? CreateUserID,
                 eUrgency? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            Total = 0;
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            if (StartTime > EndTime)
            {
                return default;
            }
            var entity_list = _dal.GetJustAcceptedPageListOfEquipmentIds(EquipmentIds, CreateUserID, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
            var model_list = entity_list?.Select(x => new Tuple<Model.RepairRequestForm, Model.RepairTaskForm>(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
            return model_list;
        }
        #endregion
Yw.Service.Repair.Core/5-service/02-task/01-form/RepairTaskForm.cs
@@ -104,6 +104,30 @@
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡æ¨¡ç³Šåˆ—è¡¨
        /// </summary>
        public List<Tuple<Model.RepairTaskForm, Model.RepairRequestForm>> GetFluzzyListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 eTaskStatus? FormStatus,
                 eUrgency? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            var entityList = _dal.GetFluzzyListOfEquipmentIds
                (EquipmentIds, RepairUserID, (int?)FormStatus, (int?)Urgency, FormNo, StartTime, EndTime);
            var modelList = entityList?.Select(x => new Tuple<Model.RepairTaskForm, Model.RepairRequestForm>(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
            return modelList;
        }
        /// <summary>
        /// èŽ·å–åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Model.RepairTaskForm, Model.RepairRequestForm>> GetPageList
@@ -121,6 +145,33 @@
            )
        {
            var entityList = _dal.GetPageList
                (EquipmentIds, RepairUserID, (int?)FormStatus, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
            var modelList = entityList?.Select(x => new Tuple<Model.RepairTaskForm, Model.RepairRequestForm>(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
            return modelList;
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Model.RepairTaskForm, Model.RepairRequestForm>> GetPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 eTaskStatus? FormStatus,
                 eUrgency? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            var entityList = _dal.GetPageListOfEquipmentIds
                (EquipmentIds, RepairUserID, (int?)FormStatus, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
            var modelList = entityList?.Select(x => new Tuple<Model.RepairTaskForm, Model.RepairRequestForm>(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
            return modelList;
@@ -149,6 +200,32 @@
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡è¿›è¡Œä¸­çš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Model.RepairTaskForm, Model.RepairRequestForm>> GetProgressPageListOfEquipmentIds
            (
                List<long> EquipmentIds,
                 long? RepairUserID,
                 eUrgency? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            var entityList = _dal.GetProgressPageListOfEquipmentIds
                (EquipmentIds, RepairUserID, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
            var modelList = entityList?.Select(x => new Tuple<Model.RepairTaskForm, Model.RepairRequestForm>(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
            return modelList;
        }
        /// <summary>
        /// èŽ·å–å·²å®Œæˆçš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Model.RepairTaskForm, Model.RepairRequestForm>> GetHasFinishedPageList
@@ -170,6 +247,32 @@
            return modelList;
        }
        /// <summary>
        /// èŽ·å–è®¾å¤‡å·²å®Œæˆçš„åˆ†é¡µåˆ—è¡¨
        /// </summary>
        public List<Tuple<Model.RepairTaskForm, Model.RepairRequestForm>> GetHasFinishedPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 eUrgency? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime,
                 int PageIndex,
                 int PageSize,
                 ref int Total
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            var entityList = _dal.GetHasFinishedPageListOfEquipmentIds
                (EquipmentIds, RepairUserID, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
            var modelList = entityList?.Select(x => new Tuple<Model.RepairTaskForm, Model.RepairRequestForm>(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
            return modelList;
        }
        #endregion
Yw.Service.Repair.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,7 +4,7 @@
-->
<Project>
  <PropertyGroup>
    <History>True|2024-08-22T05:13:11.0402244Z;True|2024-08-20T11:32:14.3218831+08:00;True|2024-06-19T18:33:48.3413287+08:00;True|2024-06-07T16:25:43.9031253+08:00;True|2024-05-31T15:31:23.8614073+08:00;True|2024-05-10T10:34:57.9511400+08:00;True|2024-04-01T10:02:41.3584446+08:00;True|2024-03-25T12:19:12.1673258+08:00;True|2024-01-22T11:22:37.7738541+08:00;True|2023-12-25T15:19:27.1723882+08:00;True|2023-12-04T18:24:01.9884855+08:00;True|2023-07-13T11:54:33.7989040+08:00;True|2023-07-13T11:54:23.3967174+08:00;True|2023-07-06T09:49:52.7407983+08:00;True|2023-05-25T15:37:23.5406830+08:00;False|2023-05-25T15:36:09.3589239+08:00;</History>
    <History>True|2024-09-12T07:39:58.2927458Z;True|2024-08-22T13:13:11.0402244+08:00;True|2024-08-20T11:32:14.3218831+08:00;True|2024-06-19T18:33:48.3413287+08:00;True|2024-06-07T16:25:43.9031253+08:00;True|2024-05-31T15:31:23.8614073+08:00;True|2024-05-10T10:34:57.9511400+08:00;True|2024-04-01T10:02:41.3584446+08:00;True|2024-03-25T12:19:12.1673258+08:00;True|2024-01-22T11:22:37.7738541+08:00;True|2023-12-25T15:19:27.1723882+08:00;True|2023-12-04T18:24:01.9884855+08:00;True|2023-07-13T11:54:33.7989040+08:00;True|2023-07-13T11:54:23.3967174+08:00;True|2023-07-06T09:49:52.7407983+08:00;True|2023-05-25T15:37:23.5406830+08:00;False|2023-05-25T15:36:09.3589239+08:00;</History>
    <LastFailureDetails />
  </PropertyGroup>
</Project>
Yw.Service.Repair.Core/Yw.Service.Repair.Core.csproj
@@ -7,7 +7,7 @@
        <RootNamespace>Yw</RootNamespace>
        <GenerateDocumentationFile>True</GenerateDocumentationFile>
        <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
        <Version>3.0.8</Version>
        <Version>3.0.9</Version>
        <Description>引用升级</Description>
    </PropertyGroup>
@@ -27,7 +27,7 @@
    </ItemGroup>
    <ItemGroup>
      <PackageReference Include="Yw.Service.Map.Core" Version="3.1.5" />
      <PackageReference Include="Yw.Service.Map.Core" Version="3.1.6" />
    </ItemGroup>
    <ItemGroup>