diff --git a/Login.xaml.cs b/Login.xaml.cs index 46c416b..4659aec 100644 --- a/Login.xaml.cs +++ b/Login.xaml.cs @@ -155,6 +155,7 @@ namespace formula_manage { Connstr_SC = "server=" + TEXT_SQLIP + ";database=" + TEXT_SQLNAME + ";User ID=" + TEXT_SQLUSER + ";Password=" + TEXT_SQLPASWOR; } + SqlConnection conn_SC = new SqlConnection(Connstr_SC); try @@ -213,9 +214,9 @@ namespace formula_manage try { await conn_SC.OpenAsync(); //打开数据连接 - SqlDataAdapter Stuff_data = new SqlDataAdapter(user_sql, Connstr_SC); //查询 + SqlDataAdapter user_data = new SqlDataAdapter(user_sql, Connstr_SC); //查询 - Stuff_data.Fill(logindataTable); //查询结果存入缓存 + user_data.Fill(logindataTable); //查询结果存入缓存 conn_SC.Close(); //关闭连接 User.ItemsSource = logindataTable.DefaultView; //数据加入表格 diff --git a/MainWindow.xaml b/MainWindow.xaml index 2dd11ad..c2502ec 100644 --- a/MainWindow.xaml +++ b/MainWindow.xaml @@ -12,35 +12,33 @@ - + - - + + - - + + - - + + - - + + - + - - - - - - + + + + - + diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 04bcb0b..0aca606 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -31,7 +31,8 @@ namespace formula_manage /// MainWindow.xaml 的交互逻辑 /// public partial class MainWindow : Window - { + { + bool quit = false; DataTable STUFFdataTable = new DataTable(); //建立STUFF缓存 DataTable MACHINEdataTable = new DataTable(); //建立Machine缓存 @@ -55,13 +56,26 @@ namespace formula_manage USER.Text = App.USER_Purview; - sql_();//查询stuff表 - - //bindDataGridDatas - //SelectionList = STUFFdataTable; - // Grid_RRODUCT.ItemsSource + if(USER.Text =="ENGINEER") //工程师允许功能 + { + _SQL.IsEnabled = true; + _SQLBAK.IsEnabled = true; + _SOFTWARE_SET.IsEnabled = true; + _USER_SET.IsEnabled = true; + _RECIPE.IsEnabled = true; + _PROCESS.IsEnabled = true; + _WORKFLOW.IsEnabled = true; + _MAC_SET.IsEnabled=true; + _STUFF.IsEnabled = true; + _fabric.IsEnabled = true; + _variety.IsEnabled = true; + _client.IsEnabled = true; + _color.IsEnabled = true; + _statistics.IsEnabled = true; + } - //Grid_RRODUCT.ItemsSource = STUFFdataTable.DefaultView; //new ObservableCollection(); + sql_();//查询stuff表 + Permissions_(); //权限管理 CountDown();//执行循环方法 @@ -132,17 +146,89 @@ namespace formula_manage Machine.ItemsSource = MACHINEdataTable.DefaultView; // MACHINEdataTable数据集传递到ComboBox:machine } - private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) //窗口关闭事件 + private async void Permissions_() + { + DataTable logindataTable = new DataTable(); //建立login缓存 + SqlConnection conn_SC = new SqlConnection(Connstr_SC); + string user_sql = "SELECT UserCode ,PassWord ,UserSetup ,Capacity ,GROUP_CODE ,Note FROM [Dispensing].[dbo].[UserAccount] WHERE Capacity != 0";//查询语句 + + try + { + await conn_SC.OpenAsync(); //打开数据连接 + SqlDataAdapter Stuff_data = new SqlDataAdapter(user_sql, Connstr_SC); //查询 + + Stuff_data.Fill(logindataTable); //查询结果存入缓存 + conn_SC.Close(); //关闭连接 + } + catch (Exception) + { + System.Windows.MessageBox.Show("请求信息失败,检查连接"); + return; + } + + string var_POWERUSER = "[UserCode]='" + USER.Text + "' and [GROUP_CODE] ='POWERUSER '"; //查询字符 + string var_CHIEF = "[UserCode]='" + USER.Text + "' and [GROUP_CODE] ='CHIEF '"; //查询字符 + + var CHIEF = logindataTable.Select(var_CHIEF).FirstOrDefault(); //查询账号信息是否正确,不正确返回null + + if (CHIEF != null) + { + _SQL.IsEnabled = true; + _SQLBAK.IsEnabled = true; + _SOFTWARE_SET.IsEnabled = true; + _USER_SET.IsEnabled = true; + _RECIPE.IsEnabled = true; + _PROCESS.IsEnabled = true; + _WORKFLOW.IsEnabled = true; + _MAC_SET.IsEnabled = true; + _STUFF.IsEnabled = true; + _fabric.IsEnabled = true; + _variety.IsEnabled = true; + _client.IsEnabled = true; + _color.IsEnabled = true; + _statistics.IsEnabled = true; + } + else + { + var POWERUSER = logindataTable.Select(var_POWERUSER).FirstOrDefault(); //查询账号信息是否正确,不正确返回null + if (POWERUSER != null) + { + _SQLBAK.IsEnabled = true; + _RECIPE.IsEnabled = true; + _PROCESS.IsEnabled = true; + _WORKFLOW.IsEnabled = true; + _MAC_SET.IsEnabled = true; + _STUFF.IsEnabled = true; + _fabric.IsEnabled = true; + _variety.IsEnabled = true; + _client.IsEnabled = true; + _color.IsEnabled = true; + _statistics.IsEnabled = true; + } + } + } + + private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) //窗口关闭事件 { string logpath = System.Environment.CurrentDirectory + "\\Log";//日志文件目录 string logPath = "" + System.Environment.CurrentDirectory + "\\Log\\Log.txt";//日志文件 string Log_time = "[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "]:"; + if (!quit) + { + MessageBoxResult result = System.Windows.MessageBox.Show("您确定要退出吗?", "SUNLIGHT", MessageBoxButton.OKCancel, MessageBoxImage.None, MessageBoxResult.Cancel); + + if (result == MessageBoxResult.Cancel) //判断是否确认 + { + e.Cancel = true; // 中断点击事件 + } + } + System.IO.DirectoryInfo log = new System.IO.DirectoryInfo(@logpath);//生成日志文件目录 FileStream fs = new FileStream(logPath, FileMode.Append, FileAccess.Write); StreamWriter wr = new StreamWriter(fs);//创建文件 wr.WriteLine(Log_time + "FORMULA_STOP"); - wr.Close(); + wr.Close(); } private DispatcherTimer disTimer = new DispatcherTimer();//循环功能 @@ -171,7 +257,7 @@ namespace formula_manage string Prepose; //料单前置 string PreposeT; //料单时间 bool Loginprint; - bool Loginanew; + bool Loginanew; private void Window_MIN(object sender, RoutedEventArgs e) { @@ -201,6 +287,15 @@ namespace formula_manage e.Handled = !re.IsMatch(e.Text) ; } + private void logout(object sender, RoutedEventArgs e) + { + quit=true; + Window window = Window.GetWindow(this); + Login login = new Login(); + window.Close(); + login.ShowDialog();//实例化并置顶打开登录窗口 + } + private void SQL(object sender, RoutedEventArgs e) { System.Windows.MessageBox.Show("进入数据库设置请您明确操作目的及可能需承担的后果", "警告"); @@ -247,11 +342,45 @@ namespace formula_manage stuff.ShowDialog();//实例化并置顶打开设置窗口 } + private void RECIPE(object sender, RoutedEventArgs e) + { + + } + + private void PROCESS(object sender, RoutedEventArgs e) + { + + } + + private void WORKFLOW(object sender, RoutedEventArgs e) + { + + } + private void print(object sender, RoutedEventArgs e) { } + private void fabric(object sender, RoutedEventArgs e) + { + + } + + private void variety(object sender, RoutedEventArgs e) + { + + } + + private void color(object sender, RoutedEventArgs e) + { + + } + + private void client(object sender, RoutedEventArgs e) + { + + } private void confirm(object sender, RoutedEventArgs e) { diff --git a/Windows/APP_set.xaml.cs b/Windows/APP_set.xaml.cs index b112f19..7adb080 100644 --- a/Windows/APP_set.xaml.cs +++ b/Windows/APP_set.xaml.cs @@ -33,6 +33,8 @@ namespace formula_manage.Windows string Log_time = "[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "]:"; private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) //窗口关闭事件 { + MessageBoxResult result = System.Windows.MessageBox.Show("设置完成后请重启程序","提示", MessageBoxButton.OKCancel, MessageBoxImage.None, MessageBoxResult.Cancel); + UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath); Configini.IniWritevalue("SOFTWARE_SET", " L1", Loginlink.ToString()); Configini.IniWritevalue("SOFTWARE_SET", " L2", Loginprint.ToString());