From 4da743d3d8b1cd3c9c1bd118c74ef1aa297b2a3a Mon Sep 17 00:00:00 2001
From: admin <qiutairan163@163.com>
Date: 星期五, 28 十一月 2025 16:04:06 +0800
Subject: [PATCH] AddMate增加“是否批次管理”判断

---
 Wms/WMS.BLL/SysServer/UserInforServer.cs |   74 +++++++++++++++++++++++++++++--------
 1 files changed, 58 insertions(+), 16 deletions(-)

diff --git a/Wms/WMS.BLL/SysServer/UserInforServer.cs b/Wms/WMS.BLL/SysServer/UserInforServer.cs
index 48d461d..9a955fc 100644
--- a/Wms/WMS.BLL/SysServer/UserInforServer.cs
+++ b/Wms/WMS.BLL/SysServer/UserInforServer.cs
@@ -26,6 +26,7 @@
         private readonly IFunSettingServer _setting;
         private static readonly SqlSugarScope Db = DataContext.Db;
         private readonly UserManager _userManager;
+
         public UserInforServer(IMapper mapper, IFunSettingServer setting, UserManager userManager)
         {
             _mapper = mapper;
@@ -33,27 +34,55 @@
             _userManager = userManager;
         }
 
+
         public async Task<int> LoginAdmin(string loginName, string loginPwd)
         {
-            //loginPwd = Md5Tools.CalcMd5(loginPwd);
-            var modUser = await Db.Queryable<SysUserInfor>().FirstAsync(m => m.UserName == loginName && m.PassWord == loginPwd &&m.IsDel=="0");
-            if (modUser != null) //璐﹀彿瀵嗙爜鏄惁姝g‘
+            //鏌ヨ瀵嗙爜宸查敊璇鏁�
+            string pwdErrNumSql = $@"select PwdErrNum from SysUserInfor where UserName='{loginName}'";
+            int pwdErrNum = Db.Ado.GetInt(pwdErrNumSql);
+            //璁惧畾瀵嗙爜閿欒鐨勬鏁�
+            string funNumSql = $@"select SetValue from SysFunSetting where IsDel='0' and IsEnable='NO' and FunSetNo='pwdErrNum' and GroupNo='pwdErrNum'";
+            int funNum = Db.Ado.GetInt(funNumSql);
+
+            //姣旇緝璁惧畾娆℃暟鍜屽凡閿欒娆℃暟
+            if (pwdErrNum < funNum)
             {
-                if (modUser.Status == "0") //褰撳墠璐﹀彿鏄惁姝e父鍚敤
+                //loginPwd = Md5Tools.CalcMd5(loginPwd);
+                var modUser = await Db.Queryable<SysUserInfor>().FirstAsync(m => m.UserName == loginName && m.PassWord == loginPwd && m.IsDel == "0");
+                if (modUser != null) //璐﹀彿瀵嗙爜鏄惁姝g‘
                 {
-                    //鏈�鍚庣櫥闄嗘椂闂�
-                    await Db.Updateable(modUser).UpdateColumns(s => s.LoginTime == DateTime.Now).ExecuteCommandAsync();
-                    return modUser.Id;
+                    if (modUser.Status == "0") //褰撳墠璐﹀彿鏄惁姝e父鍚敤
+                    {
+                        //瀵嗙爜閿欒娆℃暟+1
+                        string uptErrNumSql = $@"update SysUserInfor set PwdErrNum=0 where UserName='{loginName}'";
+                        int uptErrNum = Db.Ado.ExecuteCommand(uptErrNumSql);
+
+                        //鏈�鍚庣櫥闄嗘椂闂�
+                        await Db.Updateable(modUser).UpdateColumns(s => s.LoginTime == DateTime.Now).ExecuteCommandAsync();
+                        return modUser.Id;
+                    }
+                    else //褰撳墠璐﹀彿琚鐢�
+                    {
+                        return 0;
+                    }
                 }
-                else //褰撳墠璐﹀彿琚鐢�
+                else //璐﹀彿瀵嗙爜涓嶆纭垨娌℃湁姝よ处鍙�
                 {
-                    return 0;
+                    //瀵嗙爜閿欒娆℃暟+1
+                    string addErrNumSql = $@"update SysUserInfor set PwdErrNum+=1 where UserName='{loginName}'";
+                    int addErrNum = Db.Ado.ExecuteCommand(addErrNumSql);
+
+                    return -1;
                 }
             }
-            else //璐﹀彿瀵嗙爜涓嶆纭垨娌℃湁姝よ处鍙�
+            else//閿佸畾璐﹀彿
             {
-                return -1;
+                //璐﹀彿鏀逛负鍋滅敤
+                string uptUserStatusSql = $@"update SysUserInfor set Status=1 where UserName='{loginName}'";
+                int uptUserStatus = Db.Ado.ExecuteCommand(uptUserStatusSql);
+                return -2;
             }
+
         }
 
         /// <summary>
@@ -67,7 +96,7 @@
                                         .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
                                         .LeftJoin<SysDepartment>((a, b, c) => a.DepartmentNo == c.DepartmentNo)
                                         .LeftJoin<SysRoles>((a, b, c, d) => a.RoleNo == d.RoleNo)
-                                        .Where((a,b,c,d)=>d.IsDel == "0")
+                                        .Where((a, b, c, d) => d.IsDel == "0")
                                         .WhereIF(!string.IsNullOrEmpty(UserName), a => a.UserName.Contains(UserName))
                                         .WhereIF(!string.IsNullOrEmpty(DepartmentNo), a => a.DepartmentNo == DepartmentNo)
                                         .WhereIF(!string.IsNullOrEmpty(RoleNo), a => a.RoleNo == RoleNo)
@@ -157,7 +186,7 @@
         public async Task<int> UpdateUserinfo(UserInfoDto userdto)
         {
             //鏄犲皠鏁版嵁妯″瀷
-            SysUserInfor userlist = _mapper.Map<SysUserInfor>(userdto);
+            SysUserInfor userInfo = _mapper.Map<SysUserInfor>(userdto);
             //鍒ゆ柇鐢ㄦ埛鍙锋槸鍚﹀敮涓�
             int count = await GetUserInfoByNo(userdto.UserNo, userdto.UserName, userdto.Id);
             int i = 0;
@@ -169,9 +198,22 @@
             {
                 userdto.UpdateUser = _userManager.UserId;
                 userdto.UpdateTime = DateTime.Now;
-                i = await Db.Updateable(userlist)
-                    .UpdateColumns(s => new { s.UserName, s.UserNo, s.Sex, s.RoleNo, s.RealName, s.Phone, s.Paper, s.Nationality, s.JobNo, s.Email, s.Demo, s.Addres, s.UpdateUser, s.UpdateTime })
+
+                //鐘舵�佹仮澶嶆甯革紝娓呴櫎瀵嗙爜閿欒娆℃暟
+                if (userdto.Status == "0")
+                {
+                    userInfo.PwdErrNum = 0;
+                    i = await Db.Updateable(userInfo)
+                    .UpdateColumns(s => new { s.UserName, s.UserNo, s.Sex, s.RoleNo, s.RealName, s.Phone, s.Paper, s.Nationality, s.JobNo, s.Email, s.Demo, s.Addres, s.Status, s.PwdErrNum, s.UpdateUser, s.UpdateTime })
                     .ExecuteCommandAsync();
+                }
+                else
+                {
+                    i = await Db.Updateable(userInfo)
+                    .UpdateColumns(s => new { s.UserName, s.UserNo, s.Sex, s.RoleNo, s.RealName, s.Phone, s.Paper, s.Nationality, s.JobNo, s.Email, s.Demo, s.Addres, s.Status, s.UpdateUser, s.UpdateTime })
+                    .ExecuteCommandAsync();
+                }
+
                 if (i <= 0)
                     throw Oops.Bah("缂栬緫鐢ㄦ埛淇℃伅澶辫触");
             }
@@ -195,7 +237,7 @@
         /// <param name="userId">鐢ㄦ埛id</param>
         /// <returns></returns>
         /// <exception cref="Exception">鎹曡幏寮傚父</exception>
-        public async Task<int> UptUserPassWord(string pwdNew,string pwdNewTwo, int userId)
+        public async Task<int> UptUserPassWord(string pwdNew, string pwdNewTwo, int userId)
         {
             var funSet = Db.Queryable<SysFunSetting>().Where(m => m.IsDel == "0" && m.FunSetName == "瀵嗙爜瑙勫垯" && m.IsEnable == "NO").ToList().FirstOrDefault();
             if (funSet != null)

--
Gitblit v1.8.0