From 7b84eb64d11b12b6fb41ae7f7085452512ad5d3f Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期五, 20 六月 2025 08:18:08 +0800
Subject: [PATCH] 1.采购入库优化

---
 service/base/LoginService.cs |   93 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 87 insertions(+), 6 deletions(-)

diff --git a/service/base/LoginService.cs b/service/base/LoginService.cs
index 5c4fa83..89fcf9d 100644
--- a/service/base/LoginService.cs
+++ b/service/base/LoginService.cs
@@ -1,4 +1,5 @@
-锘縰sing NewPdaSqlServer.DB;
+锘縰sing System.Dynamic;
+using NewPdaSqlServer.DB;
 using NewPdaSqlServer.entity;
 using NewPdaSqlServer.util;
 
@@ -21,15 +22,80 @@
         return sysUser;
     }
 
-    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 A.guid = 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 +108,19 @@
             .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;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3