From d0243cfc13545b2ee6145b4858c18701f4561508 Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期二, 08 四月 2025 13:34:55 +0800 Subject: [PATCH] 原先基础上添加排序功能 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/LoginhsyService.cs | 75 ++++++++++++++++++++++++------------- 1 files changed, 49 insertions(+), 26 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/LoginhsyService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/LoginhsyService.cs" index 362c63b..e2edc32 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/LoginhsyService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/LoginhsyService.cs" @@ -4,6 +4,7 @@ using System.Text; using System.Threading.Tasks; using AutoMapper; +using SqlSugar; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseRepository; using WIDESEAWCS_Core.BaseServices; @@ -16,22 +17,13 @@ public class LoginhsyService : ServiceBase<Dt_Loginhsy, IRepository<Dt_Loginhsy>>, ILoginhsyService { public IRepository<Dt_Loginhsy> Repository => BaseDal; + private readonly IRepository<Sys_User> _user; - public LoginhsyService(IRepository<Dt_Loginhsy> BaseDal) : base(BaseDal) + public LoginhsyService(IRepository<Sys_User> user, IRepository<Dt_Loginhsy> BaseDal) : base(BaseDal) { - + _user = user; } - //public override PageGridData<Dt_Loginhsy> GetPageData(PageDataOptions options) - //{ - // OrderByParameters = new Dictionary<string, SqlSugar.OrderByType> { - // { - // nameof(Dt_Loginhsy.CreateDate),SqlSugar.OrderByType.Desc//鎸夋椂闂撮檷搴忔帓鍒� - // } }; - // return base.GetPageData(options); - //} -<<<<<<< Updated upstream -======= public WebResponseContent LoginRecord(PaginationDTO pagination) { try @@ -41,21 +33,52 @@ var sys = _user.Db.Queryable<Sys_User>(); var main = Db.Queryable<Dt_Loginhsy>(); + //妯$硦鏌ヨ var query = sys.InnerJoin<Dt_Loginhsy>((a, b) => a.UserName == b.UserName); if (!string.IsNullOrEmpty(pagination.searchKeyword)) { query = query.Where((a, b) => a.UserTrueName.Contains(pagination.searchKeyword) || a.Userteam.Contains(pagination.searchKeyword) || - b.OpCenten.Contains(pagination.searchKeyword) - ); + b.OpCenten.Contains(pagination.searchKeyword)); } + + //鏃堕棿鏌ヨ if (pagination.startDate.HasValue && pagination.endDate.HasValue) { - query = query.Where((a, b) => b.LoginTiem >= pagination.startDate.Value && b.LoginTiem <= pagination.endDate.Value);//鐧诲叆鏃堕棿 + query = query.Where((a, b) => b.LoginTiem >= pagination.startDate.Value && b.LoginTiem <= pagination.endDate.Value); } - var result=query - .Select((a, b) => new + + // 鎺掑簭澶勭悊 + if (!string.IsNullOrEmpty(pagination.sortField)) + { + //isAsc锛氳繖鏄竴涓竷灏斿�硷紝鍒ゆ柇鎺掑簭鏄崌搴� (true)"asc" ,杩樻槸闄嶅簭 (false) "desc" + var isAsc = pagination.sortOrder?.ToLower() == "asc";//pagination.sortOrder 涓嶄负绌猴紝鍒欒皟鐢� ToLower() 鏂规硶灏嗗叾杞负灏忓啓瀛楁瘝 + + query = pagination.sortField.ToLower() switch + { + //濡傛灉isAsc 涓簍ure灏辨墽琛宷uery.OrderBy((a, b) => b.LoginTiem, OrderByType.Asc)鍗囧簭鎺掑簭锛� + //濡傛灉涓篺ales灏辨墽琛宷uery.OrderBy((a, b) => b.LoginTiem, OrderByType.Desc)闄嶅簭鎺掑簭 + "logintiem" => isAsc ? query.OrderBy((a, b) => b.LoginTiem, OrderByType.Asc) + : query.OrderBy((a, b) => b.LoginTiem, OrderByType.Desc), + + "outtiem" => isAsc ? query.OrderBy((a, b) => b.OutTiem, OrderByType.Asc) + : query.OrderBy((a, b) => b.OutTiem, OrderByType.Desc), + + //"usertruename" => isAsc ? query.OrderBy((a, b) => a.UserTrueName, OrderByType.Asc) + //: query.OrderBy((a, b) => a.UserTrueName, OrderByType.Desc), + _ => query.OrderBy((a, b) => b.LoginTiem, OrderByType.Desc) // 榛樿鎸夌櫥鍏ユ椂闂撮檷搴� + }; + } + else + { + // 榛樿鎸� LoginTiem 闄嶅簭 + query = query.OrderBy((a, b) => b.LoginTiem, OrderByType.Desc); + } + + + //杩斿洖缁撴灉 + var result = query.Select((a, b) => new { a.User_Id, a.UserTrueName, @@ -65,32 +88,33 @@ b.OutTiem, b.OpCenten, }).ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount); + return new WebResponseContent { Status = true, Data = new { - TotalCount = totalCount,//鎬绘暟 - PageIndex = pagination.pageIndex,//椤垫暟 - PageSize = pagination.pageSize,//涓�椤靛灏戜釜鏁版嵁 + TotalCount = totalCount, // 鎬绘暟 + PageIndex = pagination.pageIndex, // 椤垫暟 + PageSize = pagination.pageSize, // 涓�椤靛灏戜釜鏁版嵁 Items = result } }; } catch (Exception ex) { - - return new WebResponseContent { Status = true, Message = "閿欒" + ex }; + return new WebResponseContent { Status = false, Message = "閿欒: " + ex.Message }; } } - - public WebResponseContent OutLoginTime(int id) + + + public WebResponseContent OutLoginTime(string account) { try { - var log = BaseDal.QueryFirst(x => x.ID == id); + var log = BaseDal.QueryData(x=>x.UserName== account).OrderByDescending(x=>x.UserName).FirstOrDefault(); if (log==null) { return new WebResponseContent { Status = false, Message = "澶辫触" }; @@ -105,7 +129,6 @@ return new WebResponseContent { Status = false, Message = "閿欒淇℃伅"+ex }; } } ->>>>>>> Stashed changes } } -- Gitblit v1.9.3