yanjinhui
2025-04-08 d0243cfc13545b2ee6145b4858c18701f4561508
ÏîÄ¿´úÂë/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;
@@ -18,9 +19,9 @@
        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 WebResponseContent LoginRecord(PaginationDTO pagination)
@@ -32,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 ä¸ºture就执行query.OrderBy((a, b) => b.LoginTiem, OrderByType.Asc)升序排序,
                        //如果为fales就执行query.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,
@@ -56,6 +88,7 @@
                    b.OutTiem,
                    b.OpCenten,
                }).ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount);
                return new WebResponseContent
                {
                    Status = true,
@@ -70,18 +103,18 @@
            }
            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 = "失败" };