Browse Source

时间查询

TANG JIANG 2 years ago
parent
commit
90b7d04150
1 changed files with 12 additions and 5 deletions
  1. 12 5
      src/Hotline.Application/Knowledge/KnowApplication.cs

+ 12 - 5
src/Hotline.Application/Knowledge/KnowApplication.cs

@@ -4,6 +4,7 @@ using Hotline.Settings;
 using Hotline.Settings.Hotspots;
 using Hotline.Settings.Hotspots;
 using Hotline.Share.Dtos;
 using Hotline.Share.Dtos;
 using Hotline.Share.Dtos.Knowledge;
 using Hotline.Share.Dtos.Knowledge;
+using Hotline.Share.Enums.KnowledgeBase;
 using Hotline.Users;
 using Hotline.Users;
 using MapsterMapper;
 using MapsterMapper;
 using SqlSugar;
 using SqlSugar;
@@ -48,7 +49,7 @@ namespace Hotline.Application.Knowledge
                .LeftJoin<User>((o, cus) => o.CreatorId == cus.Id)
                .LeftJoin<User>((o, cus) => o.CreatorId == cus.Id)
                .LeftJoin<SystemOrganize>((o, cus, sys) => o.CreatorOrgId == sys.Id)
                .LeftJoin<SystemOrganize>((o, cus, sys) => o.CreatorOrgId == sys.Id)
                .LeftJoin<KnowledgeType>((o, cus, sys, kn) => o.KnowledgeTypeId == kn.Id)
                .LeftJoin<KnowledgeType>((o, cus, sys, kn) => o.KnowledgeTypeId == kn.Id)
-               .LeftJoin<HotSpotType>((o, cus, sys, kn,hst) => o.HotspotId == hst.Id)
+               .LeftJoin<HotSpotType>((o, cus, sys, kn, hst) => o.HotspotId == hst.Id)
                .Where((o, cus, sys, kn, hst) => o.IsDeleted == false)
                .Where((o, cus, sys, kn, hst) => o.IsDeleted == false)
                //关键词查询标题、创建人、创建部门
                //关键词查询标题、创建人、创建部门
                .WhereIF(!string.IsNullOrEmpty(pagedDto.Keyword), (o, cus, sys, kn, hst) => o.Title.Contains(pagedDto.Keyword!) || cus.Name.Contains(pagedDto.Keyword!) || sys.OrgName.Contains(pagedDto.Keyword!))
                .WhereIF(!string.IsNullOrEmpty(pagedDto.Keyword), (o, cus, sys, kn, hst) => o.Title.Contains(pagedDto.Keyword!) || cus.Name.Contains(pagedDto.Keyword!) || sys.OrgName.Contains(pagedDto.Keyword!))
@@ -95,7 +96,7 @@ namespace Hotline.Application.Knowledge
            .MergeTable()
            .MergeTable()
            //取第一条数据
            //取第一条数据
            .Where(d => d.index == 1)
            .Where(d => d.index == 1)
-           .OrderByDescending(d=>d.CreationTime)
+           .OrderByDescending(d => d.CreationTime)
           //转分页数据
           //转分页数据
           .ToPageListAsync(pagedDto.PageIndex, pagedDto.PageSize, total);
           .ToPageListAsync(pagedDto.PageIndex, pagedDto.PageSize, total);
             //返回数据
             //返回数据
@@ -117,7 +118,7 @@ namespace Hotline.Application.Knowledge
                .Where(d => d.CreatorId == _sessionContext.RequiredUserId)
                .Where(d => d.CreatorId == _sessionContext.RequiredUserId)
                .WhereIF(pagedDto.Status.HasValue, d => d.Status == pagedDto.Status)
                .WhereIF(pagedDto.Status.HasValue, d => d.Status == pagedDto.Status)
                .WhereIF(pagedDto.ApplyType.HasValue, d => d.KnowledgeApplyType == pagedDto.ApplyType)
                .WhereIF(pagedDto.ApplyType.HasValue, d => d.KnowledgeApplyType == pagedDto.ApplyType)
-               .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "0", d => d.IsOvertime ==true)
+               .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "0", d => d.IsOvertime == true)
                .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "1", d => d.IsOvertime == false)
                .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "1", d => d.IsOvertime == false)
                .WhereIF(pagedDto.StartTime.HasValue, d => d.CreationTime >= pagedDto.StartTime)
                .WhereIF(pagedDto.StartTime.HasValue, d => d.CreationTime >= pagedDto.StartTime)
                .WhereIF(pagedDto.EndTime.HasValue, d => d.CreationTime <= pagedDto.EndTime)
                .WhereIF(pagedDto.EndTime.HasValue, d => d.CreationTime <= pagedDto.EndTime)
@@ -145,8 +146,14 @@ namespace Hotline.Application.Knowledge
                  .WhereIF(pagedDto.ApplyType.HasValue, d => d.KnowledgeApplyType == pagedDto.ApplyType)
                  .WhereIF(pagedDto.ApplyType.HasValue, d => d.KnowledgeApplyType == pagedDto.ApplyType)
                  .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "0", d => d.IsOvertime == true)
                  .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "0", d => d.IsOvertime == true)
                  .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "1", d => d.IsOvertime == false)
                  .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "1", d => d.IsOvertime == false)
-                 .WhereIF(pagedDto.StartTime.HasValue, d => d.CreationTime >= pagedDto.StartTime)
-                 .WhereIF(pagedDto.EndTime.HasValue, d => d.CreationTime <= pagedDto.EndTime)
+
+                 .WhereIF(pagedDto.StartTime.HasValue && pagedDto.Status != EKnowledgeApplyStatus.Failed && pagedDto.Status != EKnowledgeApplyStatus.Succeed, d => d.CreationTime >= pagedDto.StartTime)
+                 .WhereIF(pagedDto.EndTime.HasValue && pagedDto.Status != EKnowledgeApplyStatus.Failed && pagedDto.Status != EKnowledgeApplyStatus.Succeed, d => d.CreationTime <= pagedDto.EndTime)
+                 .WhereIF(pagedDto.StartTime.HasValue && pagedDto.Status == EKnowledgeApplyStatus.Failed , d => d.ReturnTime >= pagedDto.StartTime)
+                 .WhereIF(pagedDto.EndTime.HasValue && pagedDto.Status == EKnowledgeApplyStatus.Failed , d => d.ReturnTime <= pagedDto.EndTime)
+                  .WhereIF(pagedDto.StartTime.HasValue &&  pagedDto.Status == EKnowledgeApplyStatus.Succeed, d => d.HandleTime >= pagedDto.StartTime)
+                 .WhereIF(pagedDto.EndTime.HasValue &&  pagedDto.Status == EKnowledgeApplyStatus.Succeed, d => d.HandleTime <= pagedDto.EndTime)
+
                  .OrderByDescending(p => p.CreationTime)
                  .OrderByDescending(p => p.CreationTime)
                  .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, cancellationToken);
                  .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, cancellationToken);