From 1d976f52878c9f776146502037377310921e5a21 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期四, 04 九月 2025 08:23:13 +0800
Subject: [PATCH] 1.携客云获取送货单优化

---
 service/base/LoginService.cs |   77 +++++++++++++++++++++++++++++++++-----
 1 files changed, 67 insertions(+), 10 deletions(-)

diff --git a/service/base/LoginService.cs b/service/base/LoginService.cs
index c483032..5314f17 100644
--- a/service/base/LoginService.cs
+++ b/service/base/LoginService.cs
@@ -2,24 +2,49 @@
 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<dynamic> getUserMenu(string name)
@@ -35,7 +60,7 @@
         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_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);
@@ -65,7 +90,9 @@
                 foreach (var pageView in group)
                 {
                     var mesFile = Db.Queryable<MesFile>()
-                        .Where(s => s.ParentGuid == pageView.Guid).First();
+                        .Where(s => s.ParentGuid == pageView.Guid)
+                        .OrderByDescending(s => s.CreateDate)
+                        .First();
 
                     var icoimg = "";
                     if (mesFile != null)
@@ -121,4 +148,34 @@
         //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