1)将框架引用由SqlSugarCore替换为SqlSugarCoreNoDrive,添加MySqlConnector连接驱动引用。
2)添加数据连接不上异常捕获,捕获异常后将使用无框架连接数据库并记录日志是否能正常连接。
This commit is contained in:
		
							parent
							
								
									d776e7d724
								
							
						
					
					
						commit
						4d26252cad
					
				| 
						 | 
					@ -20,13 +20,13 @@
 | 
				
			||||||
		<!--2023/7/13 药房代码 有则写无则空 -->
 | 
							<!--2023/7/13 药房代码 有则写无则空 -->
 | 
				
			||||||
		<add key="storage" value="" />
 | 
							<add key="storage" value="" />
 | 
				
			||||||
		<!-- 登录模式 1单人登录2双人登录 -->
 | 
							<!-- 登录模式 1单人登录2双人登录 -->
 | 
				
			||||||
		<add key="loginMode" value="1" />
 | 
							<add key="loginMode" value="2" />
 | 
				
			||||||
		<!-- 登录顺序,指定先登录的人的名称有效值,只有在登录模式等于2时才会生效; 发药人:【operator】审核人:【reviewer】 -->
 | 
							<!-- 登录顺序,指定先登录的人的名称有效值,只有在登录模式等于2时才会生效; 发药人:【operator】审核人:【reviewer】 -->
 | 
				
			||||||
		<add key="firstLogin" value="operator" />
 | 
							<add key="firstLogin" value="operator" />
 | 
				
			||||||
		<!-- 按处方还药或者按取药记录还药 1:处方2:药品-->
 | 
							<!-- 按处方还药或者按取药记录还药 1:处方2:药品-->
 | 
				
			||||||
		<add key="returnDrugMode" value="1" />
 | 
							<add key="returnDrugMode" value="1" />
 | 
				
			||||||
		<!-- 自动退出时间,单位秒,为0时不自动退出 -->
 | 
							<!-- 自动退出时间,单位秒,为0时不自动退出 -->
 | 
				
			||||||
		<add key="autoExit" value="0"/>
 | 
							<add key="autoExit" value="300"/>
 | 
				
			||||||
		<!--报表数据库连接-->
 | 
							<!--报表数据库连接-->
 | 
				
			||||||
		<add key="gridConnectionString" value="MYSQL; Database=hunanxianchang_db; Password=root; Port=3306; Server=127.0.0.1; User=root;"/>
 | 
							<add key="gridConnectionString" value="MYSQL; Database=hunanxianchang_db; Password=root; Port=3306; Server=127.0.0.1; User=root;"/>
 | 
				
			||||||
		<!-- 查询处方是orderNo还是orderGroupNo -->
 | 
							<!-- 查询处方是orderNo还是orderGroupNo -->
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38,17 +38,17 @@ namespace DM_Weight
 | 
				
			||||||
    public partial class App : PrismApplication
 | 
					    public partial class App : PrismApplication
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        #region 当前登录用户的发药人信息
 | 
					        #region 当前登录用户的发药人信息
 | 
				
			||||||
        private static UserList _currentFaUserList=new UserList();
 | 
					        private static UserList _currentFaUserList = new UserList();
 | 
				
			||||||
        public static UserList CurrentFaUserList
 | 
					        public static UserList CurrentFaUserList
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get => _currentFaUserList;
 | 
					            get => _currentFaUserList;
 | 
				
			||||||
            set=> _currentFaUserList = value;
 | 
					            set => _currentFaUserList = value;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endregion 当前登录用户的发药人信息
 | 
					        #endregion 当前登录用户的发药人信息
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #region 当前登录用户的审核人信息
 | 
					        #region 当前登录用户的审核人信息
 | 
				
			||||||
        private static UserList _currentShenUserList= new UserList();
 | 
					        private static UserList _currentShenUserList = new UserList();
 | 
				
			||||||
        public static UserList CurrentShenUserList
 | 
					        public static UserList CurrentShenUserList
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get => _currentShenUserList;
 | 
					            get => _currentShenUserList;
 | 
				
			||||||
| 
						 | 
					@ -90,6 +90,10 @@ namespace DM_Weight
 | 
				
			||||||
            foreach (Exception item in e.Exception.InnerExceptions)
 | 
					            foreach (Exception item in e.Exception.InnerExceptions)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                logger.Error($"异常类型:{item.StackTrace};{item.GetType()}{Environment.NewLine}来自:{item.Source}{Environment.NewLine}异常内容:{item.Message}");
 | 
					                logger.Error($"异常类型:{item.StackTrace};{item.GetType()}{Environment.NewLine}来自:{item.Source}{Environment.NewLine}异常内容:{item.Message}");
 | 
				
			||||||
 | 
					                if (item.GetType() == typeof(SqlSugar.SqlSugarException))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    UserList userList = new UserService().CheckUserByFingerPrinter(1);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //将异常标识为已经观察到 
 | 
					            //将异常标识为已经观察到 
 | 
				
			||||||
| 
						 | 
					@ -260,7 +264,7 @@ namespace DM_Weight
 | 
				
			||||||
            //containerRegistry.RegisterSingleton<SqlSugarScope>(() => SqlSugarHelperNew.GetInstance());
 | 
					            //containerRegistry.RegisterSingleton<SqlSugarScope>(() => SqlSugarHelperNew.GetInstance());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //账册页面
 | 
					            //账册页面
 | 
				
			||||||
            containerRegistry.RegisterForNavigation<AccountWindow,AccountWindowViewModel>();
 | 
					            containerRegistry.RegisterForNavigation<AccountWindow, AccountWindowViewModel>();
 | 
				
			||||||
            //账册服务类
 | 
					            //账册服务类
 | 
				
			||||||
            containerRegistry.Register<MachineRecordService>();
 | 
					            containerRegistry.Register<MachineRecordService>();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
using NetTaste;
 | 
					//using NetTaste;
 | 
				
			||||||
using Prism.Commands;
 | 
					using Prism.Commands;
 | 
				
			||||||
using System;
 | 
					using System;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -71,10 +71,11 @@
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />
 | 
					    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Web.WebView2" Version="1.0.2365.46" />
 | 
					    <PackageReference Include="Microsoft.Web.WebView2" Version="1.0.2365.46" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
 | 
					    <PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
 | 
				
			||||||
 | 
					    <PackageReference Include="MySql.Data" Version="8.3.0" />
 | 
				
			||||||
    <PackageReference Include="MySqlConnector" Version="2.3.6" />
 | 
					    <PackageReference Include="MySqlConnector" Version="2.3.6" />
 | 
				
			||||||
    <PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
 | 
					    <PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
 | 
				
			||||||
    <PackageReference Include="Prism.Unity" Version="8.1.97" />
 | 
					    <PackageReference Include="Prism.Unity" Version="8.1.97" />
 | 
				
			||||||
    <PackageReference Include="SqlSugarCore" Version="5.1.4.67" />
 | 
					    <PackageReference Include="SqlSugarCoreNoDrive" Version="5.1.4.151" />
 | 
				
			||||||
    <PackageReference Include="SuperSimpleTcp" Version="3.0.10" />
 | 
					    <PackageReference Include="SuperSimpleTcp" Version="3.0.10" />
 | 
				
			||||||
    <PackageReference Include="System.Drawing.Common" Version="7.0.0" />
 | 
					    <PackageReference Include="System.Drawing.Common" Version="7.0.0" />
 | 
				
			||||||
    <PackageReference Include="System.IO.Ports" Version="7.0.0" />
 | 
					    <PackageReference Include="System.IO.Ports" Version="7.0.0" />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
using log4net;
 | 
					using log4net;
 | 
				
			||||||
using log4net.Repository.Hierarchy;
 | 
					using log4net.Repository.Hierarchy;
 | 
				
			||||||
using NetTaste;
 | 
					//using NetTaste;
 | 
				
			||||||
using Prism.Events;
 | 
					using Prism.Events;
 | 
				
			||||||
using Prism.Ioc;
 | 
					using Prism.Ioc;
 | 
				
			||||||
using SqlSugar;
 | 
					using SqlSugar;
 | 
				
			||||||
| 
						 | 
					@ -24,6 +24,7 @@ using DM_Weight.msg;
 | 
				
			||||||
using DM_Weight.Views;
 | 
					using DM_Weight.Views;
 | 
				
			||||||
using System.Reflection;
 | 
					using System.Reflection;
 | 
				
			||||||
using System.Threading;
 | 
					using System.Threading;
 | 
				
			||||||
 | 
					using System.Speech.Recognition;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace DM_Weight.Port
 | 
					namespace DM_Weight.Port
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -653,8 +654,51 @@ namespace DM_Weight.Port
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            ////创建一组语音识别的语法约束选择
 | 
				
			||||||
 | 
					            //Choices choices = new Choices();
 | 
				
			||||||
 | 
					            ////添加语音识别关键字
 | 
				
			||||||
 | 
					            //choices.Add(new string[] { "取药", "加药", "盘点", "开始" });
 | 
				
			||||||
 | 
					            ////以编程的方式为语音生成约束
 | 
				
			||||||
 | 
					            //GrammarBuilder gb = new GrammarBuilder(choices);
 | 
				
			||||||
 | 
					            ////grammarbuilder封装对象
 | 
				
			||||||
 | 
					            //Grammar grm = new Grammar(gb);
 | 
				
			||||||
 | 
					            ////SpeechRecognitionEngine异步方式
 | 
				
			||||||
 | 
					            //recognitionEngine.LoadGrammarAsync(grm);
 | 
				
			||||||
 | 
					            ////音频输入
 | 
				
			||||||
 | 
					            //recognitionEngine.SetInputToDefaultAudioDevice();
 | 
				
			||||||
 | 
					            ////创建语音接收事件
 | 
				
			||||||
 | 
					            //recognitionEngine.SpeechRecognized += recognitionEngine_SpeechRecognized;
 | 
				
			||||||
 | 
					            //  //开始语音识别
 | 
				
			||||||
 | 
					            //recognitionEngine.RecognizeAsync(RecognizeMode.Multiple);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //停止语音识别
 | 
				
			||||||
 | 
					            //recognitionEngine.RecognizeAsyncStop();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        // //创建接收事件函数
 | 
				
			||||||
 | 
					        //private void recognitionEngine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
 | 
				
			||||||
 | 
					        //{
 | 
				
			||||||
 | 
					        //    switch (e.Result.Text)
 | 
				
			||||||
 | 
					        //    {
 | 
				
			||||||
 | 
					        //        case "雪糕":
 | 
				
			||||||
 | 
					        //            MessageBox.Show("很好吃");
 | 
				
			||||||
 | 
					        //            break;
 | 
				
			||||||
 | 
					        //        case "大米":
 | 
				
			||||||
 | 
					        //            MessageBox.Show("好好吃");
 | 
				
			||||||
 | 
					        //            break;
 | 
				
			||||||
 | 
					        //        case "饭团":
 | 
				
			||||||
 | 
					        //            MessageBox.Show("好吃");
 | 
				
			||||||
 | 
					        //            break;
 | 
				
			||||||
 | 
					        //        case "开始":
 | 
				
			||||||
 | 
					        //            MessageBox.Show("你好");
 | 
				
			||||||
 | 
					        //            break;
 | 
				
			||||||
 | 
					        //        default:
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
 | 
					        //            break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //    }
 | 
				
			||||||
 | 
					        //}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private byte[] GetBufferByPort(SerialPort serialPort, int length, int timeout)
 | 
					        private byte[] GetBufferByPort(SerialPort serialPort, int length, int timeout)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -748,6 +792,9 @@ namespace DM_Weight.Port
 | 
				
			||||||
            speechSynthesizer.SpeakAsync(textinfo);
 | 
					            speechSynthesizer.SpeakAsync(textinfo);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //创建语音识别引擎
 | 
				
			||||||
 | 
					        //SpeechRecognitionEngine recognitionEngine = new SpeechRecognitionEngine();
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #region 抽屉串口操作
 | 
					        #region 抽屉串口操作
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,9 @@
 | 
				
			||||||
using DM_Weight.Models;
 | 
					using DM_Weight.Models;
 | 
				
			||||||
using log4net;
 | 
					using log4net;
 | 
				
			||||||
using log4net.Repository.Hierarchy;
 | 
					using log4net.Repository.Hierarchy;
 | 
				
			||||||
using MySqlConnector;
 | 
					using MySql.Data.MySqlClient;
 | 
				
			||||||
 | 
					//using MySql.Data.MySqlClient;
 | 
				
			||||||
 | 
					//using MySqlConnector;
 | 
				
			||||||
using Newtonsoft.Json;
 | 
					using Newtonsoft.Json;
 | 
				
			||||||
using System;
 | 
					using System;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
| 
						 | 
					@ -18,65 +20,61 @@ namespace DM_Weight.Services
 | 
				
			||||||
        private readonly ILog logger = LogManager.GetLogger(typeof(UserService));
 | 
					        private readonly ILog logger = LogManager.GetLogger(typeof(UserService));
 | 
				
			||||||
        //public static string connStr = ConfigurationManager.AppSettings["database"].ToString();
 | 
					        //public static string connStr = ConfigurationManager.AppSettings["database"].ToString();
 | 
				
			||||||
        public static string connStr = ConfigurationManager.ConnectionStrings["database"].ToString();
 | 
					        public static string connStr = ConfigurationManager.ConnectionStrings["database"].ToString();
 | 
				
			||||||
        public  UserList CheckUserByFingerPrinter(int fingerPrinterId)
 | 
					        public UserList CheckUserByFingerPrinter(int fingerPrinterId)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            UserList? user = null;
 | 
					            UserList? user = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            using (MySqlConnection con = new MySqlConnection(connStr))
 | 
					            using (MySqlConnection con = new MySqlConnection(connStr))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                logger.Info($"connStr:{connStr}");
 | 
					                logger.Info($"connStr:{connStr}");
 | 
				
			||||||
                //try
 | 
					                try
 | 
				
			||||||
                //{
 | 
					 | 
				
			||||||
                //    con.Open();
 | 
					 | 
				
			||||||
                //}
 | 
					 | 
				
			||||||
                //catch (Exception ex)
 | 
					 | 
				
			||||||
                //{
 | 
					 | 
				
			||||||
                //    logger.Info($"Open失败:{ex.ToString()}");
 | 
					 | 
				
			||||||
                //    if (con.State == System.Data.ConnectionState.Open)
 | 
					 | 
				
			||||||
                //    {
 | 
					 | 
				
			||||||
                //        con.Close();
 | 
					 | 
				
			||||||
                //    }
 | 
					 | 
				
			||||||
                //    Thread.Sleep(200);
 | 
					 | 
				
			||||||
                //    logger.Info("再次Open");
 | 
					 | 
				
			||||||
                //    con.Open();
 | 
					 | 
				
			||||||
                //}
 | 
					 | 
				
			||||||
               connOpen(con);
 | 
					 | 
				
			||||||
                Thread.Sleep(100);
 | 
					 | 
				
			||||||
                while(con.State != System.Data.ConnectionState.Open)
 | 
					 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    logger.Info($"再次Open:{con.State}");
 | 
					                    con.Open();
 | 
				
			||||||
                    connOpen(con);
 | 
					 | 
				
			||||||
                    Thread.Sleep(100);
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					                catch (Exception ex)
 | 
				
			||||||
                logger.Info("数据库连接已打开");
 | 
					 | 
				
			||||||
                string sql = @"select ul.id as id,ul.User_name as userName,r.id,r.role_name,r.permissions,r.machine_id from user_list ul 
 | 
					 | 
				
			||||||
                                INNER JOIN role r on ul.machine_role_id=r.id where ul.Id=@ID and ul.machine_id=@machine_id and r.machine_id=@machine_id;";
 | 
					 | 
				
			||||||
                MySqlCommand cmd = new MySqlCommand(sql, con);
 | 
					 | 
				
			||||||
                cmd.Parameters.Clear();
 | 
					 | 
				
			||||||
                MySqlParameter[] mySqlParameter = new MySqlParameter[] { new MySqlParameter("ID", fingerPrinterId), new MySqlParameter("machine_id", (ConfigurationManager.AppSettings["machineId"] ?? "DM1")) };
 | 
					 | 
				
			||||||
                cmd.Parameters.AddRange(mySqlParameter);
 | 
					 | 
				
			||||||
                //执行语句
 | 
					 | 
				
			||||||
                MySqlDataReader reader = cmd.ExecuteReader();
 | 
					 | 
				
			||||||
                logger.Info("MySqlDataReader读数据");
 | 
					 | 
				
			||||||
                while (reader.Read())
 | 
					 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    user = new UserList();
 | 
					                    con.Close();
 | 
				
			||||||
                    user.Id = reader.GetInt32("id");
 | 
					                    logger.Info($"Open失败:{ex.ToString()};连接状态:{con.State}");
 | 
				
			||||||
                    user.UserName = reader["userName"] is DBNull ? "" : reader.GetString("userName");
 | 
					                    logger.Info("再次Open");
 | 
				
			||||||
                    //user.UserName = reader["id"] is DBNull ? "" : reader.GetString("id");
 | 
					                    con.Open();
 | 
				
			||||||
                    user.Nickname = reader["userName"] is DBNull ? "" : reader.GetString("userName");
 | 
					 | 
				
			||||||
                    user.MachineId = reader["machine_id"] is DBNull ? "" : reader.GetString("machine_id");
 | 
					 | 
				
			||||||
                    RoleDm role = new RoleDm();
 | 
					 | 
				
			||||||
                    role.Id = reader.GetInt32("id");
 | 
					 | 
				
			||||||
                    //role.Permissions = reader["permissions"] is DBNull ? "" : reader.GetString("permissions");
 | 
					 | 
				
			||||||
                    role.RoleName = reader["role_name"] is DBNull ? "" : reader.GetString("role_name");
 | 
					 | 
				
			||||||
                    role.Permissions = JsonConvert.DeserializeObject<List<PremissionDm>>(reader["permissions"] is DBNull ? "" : reader.GetString("permissions"));  // JsonConvert.SerializeObject(reader.GetString("permissions")).ToList();
 | 
					 | 
				
			||||||
                    user.Role = role;
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					                //connOpen(con);
 | 
				
			||||||
 | 
					                //Thread.Sleep(10);
 | 
				
			||||||
 | 
					                //while (con.State != System.Data.ConnectionState.Open)
 | 
				
			||||||
 | 
					                //{
 | 
				
			||||||
 | 
					                //    logger.Info($"再次Open:{con.State}");
 | 
				
			||||||
 | 
					                //    connOpen(con);
 | 
				
			||||||
 | 
					                //    Thread.Sleep(10);
 | 
				
			||||||
 | 
					                //}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                reader.Close();
 | 
					                logger.Info($"数据库连接状态{con.State}");
 | 
				
			||||||
                logger.Info($"sql:{sql}");
 | 
					                //string sql = @"select ul.id as id,ul.User_name as userName,r.id,r.role_name,r.permissions,r.machine_id from user_list ul 
 | 
				
			||||||
 | 
					                //                INNER JOIN role r on ul.machine_role_id=r.id where ul.Id=@ID and ul.machine_id=@machine_id and r.machine_id=@machine_id;";
 | 
				
			||||||
 | 
					                //MySqlCommand cmd = new MySqlCommand(sql, con);
 | 
				
			||||||
 | 
					                //cmd.Parameters.Clear();
 | 
				
			||||||
 | 
					                //MySqlParameter[] mySqlParameter = new MySqlParameter[] { new MySqlParameter("ID", fingerPrinterId), new MySqlParameter("machine_id", (ConfigurationManager.AppSettings["machineId"] ?? "DM1")) };
 | 
				
			||||||
 | 
					                //cmd.Parameters.AddRange(mySqlParameter);
 | 
				
			||||||
 | 
					                ////执行语句
 | 
				
			||||||
 | 
					                //MySqlDataReader reader = cmd.ExecuteReader();
 | 
				
			||||||
 | 
					                //logger.Info("MySqlDataReader读数据");
 | 
				
			||||||
 | 
					                //while (reader.Read())
 | 
				
			||||||
 | 
					                //{
 | 
				
			||||||
 | 
					                //    user = new UserList();
 | 
				
			||||||
 | 
					                //    user.Id = reader.GetInt32("id");
 | 
				
			||||||
 | 
					                //    user.UserName = reader["userName"] is DBNull ? "" : reader.GetString("userName");
 | 
				
			||||||
 | 
					                //    //user.UserName = reader["id"] is DBNull ? "" : reader.GetString("id");
 | 
				
			||||||
 | 
					                //    user.Nickname = reader["userName"] is DBNull ? "" : reader.GetString("userName");
 | 
				
			||||||
 | 
					                //    user.MachineId = reader["machine_id"] is DBNull ? "" : reader.GetString("machine_id");
 | 
				
			||||||
 | 
					                //    RoleDm role = new RoleDm();
 | 
				
			||||||
 | 
					                //    role.Id = reader.GetInt32("id");
 | 
				
			||||||
 | 
					                //    //role.Permissions = reader["permissions"] is DBNull ? "" : reader.GetString("permissions");
 | 
				
			||||||
 | 
					                //    role.RoleName = reader["role_name"] is DBNull ? "" : reader.GetString("role_name");
 | 
				
			||||||
 | 
					                //    role.Permissions = JsonConvert.DeserializeObject<List<PremissionDm>>(reader["permissions"] is DBNull ? "" : reader.GetString("permissions"));  // JsonConvert.SerializeObject(reader.GetString("permissions")).ToList();
 | 
				
			||||||
 | 
					                //    user.Role = role;
 | 
				
			||||||
 | 
					                //}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                //reader.Close();
 | 
				
			||||||
 | 
					                //logger.Info($"sql:{sql}");
 | 
				
			||||||
                return user;
 | 
					                return user;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -85,7 +83,7 @@ namespace DM_Weight.Services
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            return Task.Run(() =>
 | 
					            return Task.Run(() =>
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (con.State == System.Data.ConnectionState.Open)
 | 
					                if (con.State != System.Data.ConnectionState.Closed)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    con.Close();
 | 
					                    con.Close();
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
| 
						 | 
					@ -100,6 +98,5 @@ namespace DM_Weight.Services
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,6 +35,8 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
        private UserList? _userList;
 | 
					        private UserList? _userList;
 | 
				
			||||||
        private UserList? _userList2;
 | 
					        private UserList? _userList2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private int loginMode = Convert.ToInt32(ConfigurationManager.AppSettings["loginMode"]?.ToString() ?? "1");
 | 
					        private int loginMode = Convert.ToInt32(ConfigurationManager.AppSettings["loginMode"]?.ToString() ?? "1");
 | 
				
			||||||
        public bool MultiLogin
 | 
					        public bool MultiLogin
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -389,14 +391,22 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                        // 30秒内无人操作鼠标键盘
 | 
					                        // 30秒内无人操作鼠标键盘
 | 
				
			||||||
                        if ((DateTime.Now - _portUtil.dateTime).TotalSeconds > autoExit && CheckComputerFreeState.GetLastInputTime() > autoExit)
 | 
					                        if ((DateTime.Now - _portUtil.dateTime).TotalSeconds > autoExit && CheckComputerFreeState.GetLastInputTime() > autoExit)
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            logger.Info($"设备30秒内无人操作,用户【{Operator?.Nickname}】自动退出登录");
 | 
					                            if (Operator is null)
 | 
				
			||||||
                            Operator = null;
 | 
					 | 
				
			||||||
                            Reviewer = null;
 | 
					 | 
				
			||||||
                            Application.Current.Dispatcher.Invoke(() =>
 | 
					 | 
				
			||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                _regionManager.RequestNavigate("MainRegion", "LoginWindow");
 | 
					 | 
				
			||||||
                                timer.Stop();
 | 
					                                timer.Stop();
 | 
				
			||||||
                            });
 | 
					                            }
 | 
				
			||||||
 | 
					                            else
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
 | 
					                                logger.Info($"设备{autoExit}秒内无人操作,用户【{Operator?.Nickname}】自动退出登录");
 | 
				
			||||||
 | 
					                                Operator = null;
 | 
				
			||||||
 | 
					                                Reviewer = null;
 | 
				
			||||||
 | 
					                                timer.Stop();
 | 
				
			||||||
 | 
					                                Application.Current.Dispatcher.Invoke(() =>
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    _regionManager.RequestNavigate("MainRegion", "LoginWindow");
 | 
				
			||||||
 | 
					                                    timer.Stop();
 | 
				
			||||||
 | 
					                                });
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                };
 | 
					                };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
using log4net;
 | 
					using log4net;
 | 
				
			||||||
using Microsoft.Xaml.Behaviors;
 | 
					using Microsoft.Xaml.Behaviors;
 | 
				
			||||||
using NetTaste;
 | 
					//using NetTaste;
 | 
				
			||||||
using Prism.Commands;
 | 
					using Prism.Commands;
 | 
				
			||||||
using Prism.Events;
 | 
					using Prism.Events;
 | 
				
			||||||
using Prism.Mvvm;
 | 
					using Prism.Mvvm;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -379,6 +379,10 @@ _exitCommand ??= new DelegateCommand(Exit);
 | 
				
			||||||
            catch (Exception e)
 | 
					            catch (Exception e)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                logger.Info($"LoginEvent存在异常:{e.Message}");
 | 
					                logger.Info($"LoginEvent存在异常:{e.Message}");
 | 
				
			||||||
 | 
					                if(e.GetType().Name== "SqlSugarException")
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    UserList userList = new UserService().CheckUserByFingerPrinter(1);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
using log4net;
 | 
					using log4net;
 | 
				
			||||||
using log4net.Repository.Hierarchy;
 | 
					using log4net.Repository.Hierarchy;
 | 
				
			||||||
using Microsoft.Xaml.Behaviors;
 | 
					using Microsoft.Xaml.Behaviors;
 | 
				
			||||||
using NetTaste;
 | 
					//using NetTaste;
 | 
				
			||||||
using Prism.Commands;
 | 
					using Prism.Commands;
 | 
				
			||||||
using Prism.Events;
 | 
					using Prism.Events;
 | 
				
			||||||
using Prism.Mvvm;
 | 
					using Prism.Mvvm;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
using log4net;
 | 
					using log4net;
 | 
				
			||||||
using Microsoft.Xaml.Behaviors;
 | 
					using Microsoft.Xaml.Behaviors;
 | 
				
			||||||
using NetTaste;
 | 
					//using NetTaste;
 | 
				
			||||||
using Prism.Commands;
 | 
					using Prism.Commands;
 | 
				
			||||||
using Prism.Events;
 | 
					using Prism.Events;
 | 
				
			||||||
using Prism.Mvvm;
 | 
					using Prism.Mvvm;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue