From fe41831b0e9057a16aef1e82048105aee671bbda Mon Sep 17 00:00:00 2001 From: bklLiudl <673013083@qq.com> Date: 星期六, 19 十月 2024 19:08:06 +0800 Subject: [PATCH] Merge branch 'master' into Liudl --- Wms/WMS.BLL/LogServer/OperationSysServer.cs | 189 +++++++++++++++++++++++++++++++++++------------ 1 files changed, 141 insertions(+), 48 deletions(-) diff --git a/Wms/WMS.BLL/LogServer/OperationSysServer.cs b/Wms/WMS.BLL/LogServer/OperationSysServer.cs index abbf1fa..7d2d0fd 100644 --- a/Wms/WMS.BLL/LogServer/OperationSysServer.cs +++ b/Wms/WMS.BLL/LogServer/OperationSysServer.cs @@ -33,55 +33,148 @@ } - ///// <summary> - ///// 鏌ヨ鎿嶄綔鏃ュ織 - ///// </summary> - ///// <param name="menuName">鑿滃崟鍚嶇О</param> - ///// <param name="type">绫诲瀷</param> - ///// <param name="msg">鍐呭</param> - ///// <param name="startTime">寮�濮嬫棩鏈�</param> - ///// <param name="endTime">缁撴潫鏃ユ湡</param> - ///// <param name="page"></param> - ///// <param name="limit"></param> - ///// <param name="count"></param> - ///// <returns></returns> - //public List<OperationDto> GetOperationSysList(string menuName, string type, string msg, string startTime, string endTime, int page, int limit, out int count) - //{ - // try - // { - // Expression<Func<LogOperationSys, bool>> item = Expressionable.Create<LogOperationSys>() - // .AndIF(!string.IsNullOrWhiteSpace(menuName), it => it.MenuName.Contains(menuName.Trim())) - // .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type) - // .AndIF(!string.IsNullOrWhiteSpace(msg), it => it.Msg.Contains(msg.Trim())) - // .AndIF(!string.IsNullOrWhiteSpace(startTime), it => it.CreateTime >= Convert.ToDateTime(startTime)) - // .AndIF(!string.IsNullOrWhiteSpace(endTime), it => it.CreateTime <= Convert.ToDateTime(startTime).AddDays(1)) - // .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + /// <summary> + /// 鏌ヨ鎿嶄綔鏃ュ織 + /// </summary> + /// <param name="menuName">鑿滃崟鍚嶇О</param> + /// <param name="type">绫诲瀷</param> + /// <param name="msg">鍐呭</param> + /// <param name="startTime">寮�濮嬫棩鏈�</param> + /// <param name="endTime">缁撴潫鏃ユ湡</param> + /// <param name="page"></param> + /// <param name="limit"></param> + /// <param name="count"></param> + /// <returns></returns> + public List<OperationDto> GetOperationList(string menuName, string type, string msg, string startTime, string endTime, int page, int limit, out int count) + { + try + { + var total = 0; + #region asn - // var data = GetAllWhereAsync(item) - // .Includes(x => x.TypeInfo) - // .Includes(x => x.CreateUserInfo) - // .Includes(x => x.UpdateUserInfo).ToList(); - // count = data.Count; - // return data.Select(m => new OperationDto() - // { - // Id = m.Id, - // ParentNo = m.ParentNo, - // MenuNo = m.MenuNo, - // MenuName = m.MenuName, - // FkNo = m.FkNo, - // Type = m.TypeInfo == null ? "" : m.TypeInfo.DictName, - // Msg = m.Msg, - // CreateTime = m.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), - // CreateUserName = m.CreateUserInfo == null ? "" : m.CreateUserInfo.UserName, - // UpdateTime = m.UpdateTime == null ? "" : ((DateTime)m.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"), - // UpdateUserName = m.UpdateUserInfo == null ? "" : m.UpdateUserInfo.UserName - // }).ToList(); - // } - // catch (Exception e) - // { - // throw new Exception(e.Message); - // } - //} + var item = Expressionable.Create<LogOperationASN>() + .AndIF(!string.IsNullOrWhiteSpace(menuName), it => it.MenuName.Contains(menuName.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type) + .AndIF(!string.IsNullOrWhiteSpace(msg), it => it.Msg.Contains(msg.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(startTime), it => it.CreateTime >= Convert.ToDateTime(startTime)) + .AndIF(!string.IsNullOrWhiteSpace(endTime), it => it.CreateTime <= Convert.ToDateTime(endTime).AddDays(1)) + .And(it=>it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list = Db.Queryable<LogOperationASN>().Where(item) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + #region so + + var item2 = Expressionable.Create<LogOperationSO>() + .AndIF(!string.IsNullOrWhiteSpace(menuName), it => it.MenuName.Contains(menuName.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type) + .AndIF(!string.IsNullOrWhiteSpace(msg), it => it.Msg.Contains(msg.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(startTime), it => it.CreateTime >= Convert.ToDateTime(startTime)) + .AndIF(!string.IsNullOrWhiteSpace(endTime), it => it.CreateTime <= Convert.ToDateTime(endTime).AddDays(1)) + .And(it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list2 = Db.Queryable<LogOperationSO>().Where(item2) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + #region cr + + var item3 = Expressionable.Create<LogOperationCR>() + .AndIF(!string.IsNullOrWhiteSpace(menuName), it => it.MenuName.Contains(menuName.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type) + .AndIF(!string.IsNullOrWhiteSpace(msg), it => it.Msg.Contains(msg.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(startTime), it => it.CreateTime >= Convert.ToDateTime(startTime)) + .AndIF(!string.IsNullOrWhiteSpace(endTime), it => it.CreateTime <= Convert.ToDateTime(endTime).AddDays(1)) + .And(it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list3 = Db.Queryable<LogOperationCR>().Where(item3) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + #region sys + + var item4 = Expressionable.Create<LogOperationSys>() + .AndIF(!string.IsNullOrWhiteSpace(menuName), it => it.MenuName.Contains(menuName.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type) + .AndIF(!string.IsNullOrWhiteSpace(msg), it => it.Msg.Contains(msg.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(startTime), it => it.CreateTime >= Convert.ToDateTime(startTime)) + .AndIF(!string.IsNullOrWhiteSpace(endTime), it => it.CreateTime <= Convert.ToDateTime(startTime).AddDays(1)) + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list4 = Db.Queryable<LogOperationSys>().Where(item4) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + var data = Db.UnionAll(list, list2, list3, list4).OrderByDescending(it => it.CreateTime) + .ToOffsetPage(page, limit, ref total); + count = total; + return data.OrderByDescending(m => m.CreateTime).ToList(); + } + catch (Exception e) + { + throw new Exception(e.Message); + } + } /// <summary> /// 娣诲姞鎿嶄綔鏃ュ織 -- Gitblit v1.8.0