From b903237d13a6b62d3e9dc1a8e3381ace2f523ab3 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期四, 04 九月 2025 13:07:53 +0800 Subject: [PATCH] 1.生产领料查询优化 --- service/base/LoginService.cs | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 150 insertions(+), 14 deletions(-) diff --git a/service/base/LoginService.cs b/service/base/LoginService.cs index 5c4fa83..5314f17 100644 --- a/service/base/LoginService.cs +++ b/service/base/LoginService.cs @@ -1,35 +1,126 @@ -锘縰sing NewPdaSqlServer.DB; +锘縰sing System.Dynamic; +using NewPdaSqlServer.DB; using NewPdaSqlServer.entity; using NewPdaSqlServer.util; +using SqlSugar; +using static Microsoft.EntityFrameworkCore.DbLoggerCategory; namespace NewPdaSqlServer.service.@base; public class LoginService : RepositoryNoEntity { - public SysUser login(string name, string pwd) + public dynamic login(string name, string pwd) { + var strPass = UtilityHelper.MD5Encrypt32(pwd); - var sysUser = Db.Queryable<SysUser>() - .Where(s => s.Account == name - && s.Password == strPass).First(); + //var sysUser = Db.Queryable<SysUser>() + // .Where(s => s.Account == name + // && s.Password == strPass).First(); - if (sysUser == null) throw new Exception("鐢ㄦ埛涓嶅瓨鍦�"); - var db_password = sysUser.Password; - if (!strPass.Equals(db_password)) throw new Exception("鐢ㄦ埛鍚嶆垨鑰呭瘑鐮侀敊璇�"); - return sysUser; + + var parameters = new[] + { + new SugarParameter("@pi_account", name), + new SugarParameter("@pi_password", strPass), + new SugarParameter("@inP1", null), + new SugarParameter("@inP2", null), + new SugarParameter("@inP3", null) + }; + + try + { + var sysUser = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_login_selUserOrgInfo @pi_account,@pi_password,@inP1,@inP2,@inP3", parameters).First(); + + if (sysUser == null) throw new Exception("鐢ㄦ埛涓嶅瓨鍦�"); + + var db_password = sysUser.Password; + if (!strPass.Equals(db_password)) throw new Exception("鐢ㄦ埛鍚嶆垨鑰呭瘑鐮侀敊璇�"); + return sysUser; + } + catch (Exception ex) + { + // 淇濈暀鍘熸湁寮傚父澶勭悊閫昏緫 + throw new Exception($"{ex.Message}"); + } + } - public List<MesSysPageview> getUserMenu(string name) + public List<dynamic> getUserMenu(string name) { - var sql = ""; - + var pageViewList = new List<MesSysPageview>(); if ("admin".Equals(name)) - return Db.Queryable<MesSysPageview>() + { + pageViewList = Db.Queryable<MesSysPageview>() + .Where(s => s.PageStatus == true) + .OrderBy(s => s.PageIdx) + .ToList(); + } + else + { + string sql = string.Format(@"SELECT A.* FROM MES_SYS_PAGEVIEW A + LEFT JOIN SYS_USER_BIND B ON CAST(A.guid AS VARCHAR(100)) = B.aboutGuid + LEFT JOIN SYS_USER C ON C.GUID = B.userGuid + WHERE C.ACCOUNT = '{0}'", name); + pageViewList = Db.Ado.SqlQuery<MesSysPageview>(sql); + } + + //if(pageViewList.Count < 0) + //{ + // throw new Exception("璇ョ敤鎴锋病鏈夋潈闄愯闂�"); + //} + + try + { + var result = new List<dynamic>(); + + + var groupedPageViews = pageViewList + .GroupBy(p => + string.IsNullOrEmpty(p.PageGroup) ? "鏈垎缁�" : p.PageGroup) .ToList(); - return null; + foreach (var group in groupedPageViews) + { + dynamic groupObj = new ExpandoObject(); + groupObj.groupName = group.Key; // 鍒嗙粍鍚� + groupObj.child = new List<MesSysPageview>(); + + foreach (var pageView in group) + { + var mesFile = Db.Queryable<MesFile>() + .Where(s => s.ParentGuid == pageView.Guid) + .OrderByDescending(s => s.CreateDate) + .First(); + + var icoimg = ""; + if (mesFile != null) + icoimg = "http://192.168.1.145:81/upload/" + + mesFile.UrlPath; + + groupObj.child.Add(new MesSysPageview + { + Guid = pageView.Guid, + PageView = pageView.PageView, + Path = pageView.Path, + Icoimg = icoimg, + PageGroup = pageView.PageGroup, + PageIdx = pageView.PageIdx, + PageStatus = pageView.PageStatus + }); + } + + result.Add(groupObj); + } + + return result; + + } + catch(Exception e) + { + throw new Exception(e.Message); + } } public int resetPassword(string newPwd, string name, string pwd) @@ -42,4 +133,49 @@ .Where(s => s.Account == name) .ExecuteCommand(); } + + + public List<dynamic> getUserInfo(string userGuid) + { + + //string sql = string.Format(@"SELECT A.* FROM MES_SYS_PAGEVIEW A + // LEFT JOIN SYS_USER_BIND B ON A.guid = B.aboutGuid + // LEFT JOIN SYS_USER C ON C.GUID = B.userGuid + //WHERE C.ACCOUNT = '{0}'", userGuid); + //var sysUser = Db.Ado.SqlQuery<dynamic>(sql); + + + //return sysUser; + return null; + } + + public dynamic changeOrg(dynamic query) + { + if (query == null) throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓� null"); + + if (string.IsNullOrEmpty(query.userName?.ToString())) + throw new ArgumentException("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖", nameof(query.userName)); + + var parameters = new[] + { + new SugarParameter("@pi_account", query.userName), + new SugarParameter("@inP1", null), + new SugarParameter("@inP2", null), + new SugarParameter("@inP3", null) + }; + + try + { + var orgInfo = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_my_selOrgInfo @pi_account,@inP1,@inP2,@inP3", parameters); + + //if (sysUser.Count < 1) throw new Exception("鐢ㄦ埛涓嶅瓨鍦ㄥ叧鑱旂粍缁�"); + return orgInfo; + } + catch (Exception ex) + { + // 淇濈暀鍘熸湁寮傚父澶勭悊閫昏緫 + throw new Exception($"{ex.Message}"); + } + + } } \ No newline at end of file -- Gitblit v1.9.3