Compare commits

..
1 Commits
Author SHA1 Message Date
sc 9ede634f3c Merge branch 'master' of http://192.168.0.12:13000/sc/Audit_APP 2022-05-27 23:56:41 +08:00
11 changed files with 476 additions and 58 deletions

No files matched your search

+32 -21
View File
@@ -11,6 +11,7 @@ using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.IO;
namespace Audit
@@ -51,27 +52,37 @@ namespace Audit
private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
e.Handled = true;
if (e.Exception.InnerException == null)
{
MessageBox.Show("(1)发生了一个错误!请联系开发人员!" + Environment.NewLine
+ "(2)错误源:" + e.Exception.Source + Environment.NewLine
+ "(3)详细信息:" + e.Exception.Message + Environment.NewLine
// + "(4)报错区域:" + e.Exception.StackTrace
);
}
else
{
MessageBox.Show("(1)发生了一个错误!请联系开发人员!" + Environment.NewLine
+ "(2)错误源:" + e.Exception.InnerException.Source + Environment.NewLine
+ "(3)错误信息:" + e.Exception.Message + Environment.NewLine
+ "(4)详细信息:" + e.Exception.InnerException.Message + Environment.NewLine
// + "(5)报错区域:" + e.Exception.InnerException.StackTrace
);
}
string Log_time = null;
e.Handled = true;
if (e.Exception.InnerException == null)
{
MessageBox.Show("发生了一个错误!请联系管理员!" + Environment.NewLine
+ "错误:" + e.Exception.Source + Environment.NewLine
+ "错误信息:" + e.Exception.Message + Environment.NewLine
// + "(4)报错区域:" + e.Exception.StackTrace
);
Log_time ="[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "]错误:" + e.Exception.Source + "信息:" + e.Exception.Message + "错误区域:" + e.Exception.StackTrace;
FileStream fs = new FileStream("C:\\SC\\Audit\\Log\\AuditLog.txt", FileMode.Append, FileAccess.Write);
StreamWriter wr = null;
wr = new StreamWriter(fs);
wr.WriteLine(Log_time);
wr.Close();
}
else
{
MessageBox.Show("(1)发生了一个错误!请联系开发人员!" + Environment.NewLine
+ "(2)错误源:" + e.Exception.InnerException.Source + Environment.NewLine
+ "(3)错误信息:" + e.Exception.Message + Environment.NewLine
+ "(4)详细信息:" + e.Exception.InnerException.Message + Environment.NewLine
// + "(5)报错区域:" + e.Exception.InnerException.StackTrace
);
Log_time = "[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "]错误:" + e.Exception.Source + "信息:" + e.Exception.Message + "错误区域:" + e.Exception.StackTrace;
FileStream fs = new FileStream("C:\\SC\\Audit\\Log\\AuditLog.txt", FileMode.Append, FileAccess.Write);
StreamWriter wr = null;
wr = new StreamWriter(fs);
wr.WriteLine(Log_time);
wr.Close();
}
}
}
}
+1
View File
@@ -180,6 +180,7 @@
<Compile Include="ViewModel\MainViewModel.cs" />
<Compile Include="ViewModel\PipesViewModel.cs" />
<Compile Include="ViewModel\QueryViewModel.cs" />
<Compile Include="ViewModel\ReadIni.cs" />
<Compile Include="ViewModel\StatisticsViewModel.cs" />
<Compile Include="ViewModel\StuffViewModel.cs" />
<Compile Include="ViewModel\UserViewModel.cs" />
+3 -3
View File
@@ -24,8 +24,8 @@ namespace Audit.ConvertMoels
if (string.IsNullOrWhiteSpace(StatisticsView.query_start)) StatisticsView.query_start = DateTime.Now.AddDays(-30).ToString("yyyy-MM-dd");//默认开始时间当前日期前30天
if (string.IsNullOrWhiteSpace(StatisticsView.query_end)) StatisticsView.query_end = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd");//默认结束时间当前日期后一天
dyelotsBulkedRecipe.ProductCode = System.Convert.ToString(value);//传递原料代码
dyelotsBulkedRecipe.DispenseStartTime = System.Convert.ToDateTime(StatisticsView.query_start);//传递开始时间
dyelotsBulkedRecipe.DispenseEndTime = System.Convert.ToDateTime(StatisticsView.query_end);//传递结束时间
dyelotsBulkedRecipe.DispenseStartTime = System.Convert.ToDateTime(StatisticsView.query_start + " " + StatisticsView.date_start_time);//传递开始时间
dyelotsBulkedRecipe.DispenseEndTime = System.Convert.ToDateTime(StatisticsView.query_end + " " + StatisticsView.date_end_time);//传递结束时间
float sum_grams = (float)new DyelotsBulkedRecipeProvider().SelectCode(dyelotsBulkedRecipe).Sum(x => x.DispenseGrams);//查询并返回统计结果
if (sum_grams == 0)//统计结果为0返回空非0返回实际值
{
@@ -34,7 +34,7 @@ namespace Audit.ConvertMoels
else
{
float sum = sum_grams / 1000;//计算
return sum.ToString("#0.00");//返回总成本两位小数(元)
return sum.ToString("#0.00");//返回总消耗两位
}
}
-1
View File
@@ -168,7 +168,6 @@
<ImageBrush ImageSource="/Logo/sunlight_sc.png"/>
</Rectangle.Fill>
</Rectangle>
<!--righe-->
<Grid Grid.Column="1">
<ContentControl x:Name="container" Margin="140,0,0,0"/>
</Grid>
+41 -3
View File
@@ -16,6 +16,7 @@ using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;
using System.IO;
namespace Audit
{
@@ -24,23 +25,56 @@ namespace Audit
/// </summary>
public partial class MainWindow : MetroWindow
{
string logpath =System.Environment.CurrentDirectory + "\\Log";//日志文件目录
string logPath = "" + System.Environment.CurrentDirectory + "\\Log\\AuditLog.txt";//日志文件
string Log_time = "[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "]:";
///<Summary>
/// MainWindow
///</Summary>
public MainWindow()
{
InitializeComponent();
System.IO.DirectoryInfo log = new System.IO.DirectoryInfo(@logpath);//生成日志文件目录
log.Create();//创建文件目录
CountDown();//执行循环方法
if (!File.Exists(logPath))//检查日志文件并写入启动日志
{
FileStream fs = new FileStream(logPath, FileMode.CreateNew, FileAccess.Write);//创建写入文件
StreamWriter wr= new StreamWriter(fs);//创建文件
wr.WriteLine(Log_time + "Audit启动");
wr.Close();
}
else
{
FileStream fs = new FileStream(logPath, FileMode.Append, FileAccess.Write);
StreamWriter wr = new StreamWriter(fs);//创建文件
wr.WriteLine(Log_time + "Audit启动");
wr.Close();
}
this.RadioButtonk1.Visibility = Visibility.Collapsed;//隐藏管理
this.RadioButtonk12.Visibility = Visibility.Collapsed;//隐藏设置
CountDown();//执行循环方法
}
private void Exit(object sender, RoutedEventArgs e)
{
FileStream fs = new FileStream(logPath, FileMode.Append, FileAccess.Write);
StreamWriter wr = new StreamWriter(fs);//创建文件
if (user_t > 0)//判断登录状态
{
user_t = 0;//登录倒计时清除
else
Application.Current.Shutdown();//关闭全部窗口
wr.WriteLine(Log_time + "管理员账户退出");
wr.Close();//写入关闭日志
}
else
{
MessageBoxResult config = System.Windows.MessageBox.Show("确认关闭查询软件", "提示", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.Yes);//弹窗提示是否创建配置信息
if (config == MessageBoxResult.Yes)
{
Application.Current.Shutdown();//关闭全部窗口
wr.WriteLine(Log_time + "Audit退出");
wr.Close();//写入关闭日志
}
}
}
private void Help(object sender, RoutedEventArgs e)
@@ -58,6 +92,10 @@ namespace Audit
{
Windows.Set_up_Sql set = new Windows.Set_up_Sql();
set.ShowDialog();//实例化并置顶打开设置窗口
FileStream fs = new FileStream(logPath, FileMode.Append, FileAccess.Write);
StreamWriter wr = new StreamWriter(fs);//创建文件
wr.WriteLine(Log_time + "进入设置模式");
wr.Close();//写入开启设置日志
}
public static int user_t = 0;
+38 -9
View File
@@ -26,7 +26,8 @@
</Border>
<Grid Grid.Row="0"/>
<Grid Grid.Row="1">
<Grid Grid.Column="1"/>
<Grid Grid.Column="1">
</Grid>
<DataGrid x:Name="DataGridStatistics" MouseDoubleClick="DataGridStatistics_MouseDoubleClick"
ItemsSource="{Binding Product, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectionMode="Single" AlternationCount="2" IsReadOnly="True" HorizontalAlignment="Left"
@@ -87,14 +88,28 @@
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<DatePicker x:Name="query_date_start" HorizontalAlignment="Left" Height="30" Margin="450,0,0,100" VerticalAlignment="Bottom" Width="225" FontSize="15" Padding="1,1,0,1">
<DatePicker x:Name="query_date_start" HorizontalAlignment="Left" Height="30" Margin="450,0,0,100" VerticalAlignment="Bottom" Width="115" FontSize="15" Padding="1,1,0,1">
<DatePicker.Resources>
<Style TargetType="DatePickerTextBox">
<Setter Property="IsReadOnly" Value="True"/>
</Style>
</DatePicker.Resources>
</DatePicker>
<DatePicker x:Name="query_date_end" HorizontalAlignment="Left" Height="30" Margin="715,0,0,100" VerticalAlignment="Bottom" Width="225" FontSize="15" Padding="1,1,0,1" DisplayDate="2022-03-08">
<ComboBox x:Name="query_date_start_time" HorizontalAlignment="Left" Height="30" Margin="575,0,0,100" Text="0:00:00"
VerticalAlignment="Bottom" Width="100" FontSize="15" IsReadOnly="True" IsEditable="True"
Background="White" Foreground="#FF474747" BorderBrush="#FFC2C2C2" Padding="0,-1,0,0">
<ComboBoxItem Content="0:00:00"/>
<ComboBoxItem x:Name="st1" Content=""/>
<ComboBoxItem x:Name="st2" Content=""/>
<ComboBoxItem x:Name="st3" Content=""/>
<ComboBoxItem x:Name="st4" Content=""/>
<ComboBoxItem x:Name="st5" Content=""/>
<ComboBoxItem x:Name="st6" Content=""/>
<ComboBoxItem x:Name="st7" Content=""/>
<ComboBoxItem x:Name="st8" Content=""/>
<ComboBoxItem x:Name="st9" Content=""/>
</ComboBox>
<DatePicker x:Name="query_date_end" HorizontalAlignment="Left" Height="30" Margin="715,0,0,100" VerticalAlignment="Bottom" Width="115" FontSize="15" Padding="1,1,0,1" >
<DatePicker.Resources>
<Style TargetType="DatePickerTextBox">
<Setter Property="IsReadOnly" Value="True"/>
@@ -102,14 +117,28 @@
</Style>
</DatePicker.Resources>
</DatePicker>
<ComboBox x:Name="query_date_end_time" HorizontalAlignment="Left" Height="30" Margin="840,0,0,100" Text="0:00:00"
VerticalAlignment="Bottom" Width="100" FontSize="15" IsReadOnly="True" IsEditable="True"
Background="White" Foreground="#FF474747" BorderBrush="#FFC2C2C2" Padding="0,-1,0,0">
<ComboBoxItem Content="0:00:00"/>
<ComboBoxItem x:Name="et1" Content=""/>
<ComboBoxItem x:Name="et2" Content=""/>
<ComboBoxItem x:Name="et3" Content=""/>
<ComboBoxItem x:Name="et4" Content=""/>
<ComboBoxItem x:Name="et5" Content=""/>
<ComboBoxItem x:Name="et6" Content=""/>
<ComboBoxItem x:Name="et7" Content=""/>
<ComboBoxItem x:Name="et8" Content=""/>
<ComboBoxItem x:Name="et9" Content=""/>
</ComboBox>
<TextBlock HorizontalAlignment="Left" Height="45" Margin="675,0,0,101" TextWrapping="Wrap" Text="~"
VerticalAlignment="Bottom" Width="40" FontSize="40"/>
<Button Content="统计" HorizontalAlignment="Left" Margin="965,0,0,50"
VerticalAlignment="Bottom" Height="65" Width="135" FontSize="40"
BorderBrush="{x:Null}" Background="#FFCECECE" Click="Button_Click"/>
<!--原料类型-->
<ComboBox x:Name="stuff_ProductType" HorizontalAlignment="Left" Height="30" Margin="815,0,0,50" Text="全部原料"
VerticalAlignment="Bottom" Width="125" FontSize="16" IsReadOnly="True" IsEditable="True">
<ComboBox x:Name="stuff_ProductType" HorizontalAlignment="Left" Height="30" Margin="810,0,0,50" Text="全部原料"
VerticalAlignment="Bottom" Width="95" FontSize="16" IsReadOnly="True" IsEditable="True">
<ComboBoxItem Content="全部原料"></ComboBoxItem>
<ComboBoxItem Content="染料"></ComboBoxItem>
<ComboBoxItem Content="助剂"></ComboBoxItem>
@@ -118,8 +147,8 @@
</ComboBox>
<TextBox x:Name="productcode" HorizontalAlignment="Left" Height="30" Margin="100,0,0,100" VerticalAlignment="Bottom" Width="235" FontSize="16" IsReadOnly="True" MaxLines="1"/>
<TextBox x:Name="productname" HorizontalAlignment="Left" Height="30" Margin="100,0,0,50" VerticalAlignment="Bottom" Width="235" FontSize="16" IsReadOnly="True" MaxLines="1"/>
<TextBox x:Name="productsum" HorizontalAlignment="Left" Height="30" Margin="450,0,0,50" VerticalAlignment="Bottom" Width="235" FontSize="16" IsReadOnly="True" MaxLines="1"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="725,0,0,50" TextWrapping="Wrap" Text="原料类型"
<TextBox x:Name="productsum" HorizontalAlignment="Left" Height="30" Margin="450,0,0,50" VerticalAlignment="Bottom" Width="250" FontSize="16" IsReadOnly="True" MaxLines="1"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="720,0,0,50" TextWrapping="Wrap" Text="原料类型"
VerticalAlignment="Bottom" Width="90" FontSize="20"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="350,0,0,100" TextWrapping="Wrap" Text="日期范围"
VerticalAlignment="Bottom" Width="90" FontSize="20"/>
@@ -129,13 +158,13 @@
VerticalAlignment="Bottom" Width="90" FontSize="20"/>
<TextBlock HorizontalAlignment="Left" Height="30" Margin="350,0,0,50" TextWrapping="Wrap" Text="消耗总量"
VerticalAlignment="Bottom" Width="90" FontSize="20"/>
<DataGrid x:Name="DataGridStatistics_Copy"
<DataGrid x:Name="DataGridStatistics_mac"
ItemsSource="{Binding Machines , Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectionMode="Single" AlternationCount="2" IsReadOnly="True" HorizontalAlignment="Left"
Margin="400,15,0,150" d:ItemsSource="{d:SampleData ItemCount=200}" AutoGenerateColumns="False"
MinColumnWidth="30" HorizontalGridLinesBrush="#FFC9C9C9" VerticalGridLinesBrush="#FFC9C9C9"
GridLinesVisibility="All" BorderBrush="#CCCCCC" BorderThickness="1,1,1,1" ColumnHeaderHeight="40"
HorizontalContentAlignment="Right" CanUserReorderColumns="False" SelectionChanged="DataGridStatistics_Copy_SelectionChanged">
HorizontalContentAlignment="Right" CanUserReorderColumns="False" SelectionChanged="DataGridStatistics_mac_SelectionChanged">
<DataGrid.RowStyle >
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
+152 -7
View File
@@ -1,4 +1,5 @@
using System;
using Audit.ViewModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -20,12 +21,153 @@ namespace Audit.View
/// </summary>
public partial class StatisticsView : UserControl
{
ReadIni readini = new ReadIni();
string filePath = "" + System.Environment.CurrentDirectory + "\\config_Audit.ini";//获取当前文件目录
public static string time1;
public static string time2;
public static string time3;
public static string time4;
public static string time5;
public static string time6;
public static string time7;
public static string time8;
public static string time9;
public static string date_start_time;
public static string date_end_time;
///<Summary>
/// StatisticsView
///</Summary>
public StatisticsView()
{
InitializeComponent();
InitializeComponent();
File();
Work();
}
public void File()//读取配置文件
{
time1 = ReadIni.ReadIniData("WORKER TIME", "WORKERT1", "", filePath);
time2 = ReadIni.ReadIniData("WORKER TIME", "WORKERT2", "", filePath);
time3 = ReadIni.ReadIniData("WORKER TIME", "WORKERT3", "", filePath);
time4 = ReadIni.ReadIniData("WORKER TIME", "WORKERT4", "", filePath);
time5 = ReadIni.ReadIniData("WORKER TIME", "WORKERT5", "", filePath);
time6 = ReadIni.ReadIniData("WORKER TIME", "WORKERT6", "", filePath);
time7 = ReadIni.ReadIniData("WORKER TIME", "WORKERT7", "", filePath);
time8 = ReadIni.ReadIniData("WORKER TIME", "WORKERT8", "", filePath);
time9 = ReadIni.ReadIniData("WORKER TIME", "WORKERT9", "", filePath);
}
public void Work()//时间下拉框状态
{
if (time1 != "")
{
this.st1.Visibility = Visibility.Visible;
this.et1.Visibility = Visibility.Visible;
this.st1.Content = time1;
this.et1.Content = time1;
}
else
{
this.st1.Visibility = Visibility.Collapsed;
this.et1.Visibility = Visibility.Collapsed;
}
if (time2 != "")
{
this.st2.Visibility = Visibility.Visible;
this.et2.Visibility = Visibility.Visible;
this.st2.Content = time2;
this.et2.Content = time2;
}
else
{
this.st2.Visibility = Visibility.Collapsed;
this.et2.Visibility = Visibility.Collapsed;
}
if (time3 != "")
{
this.st3.Visibility = Visibility.Visible;
this.et3.Visibility = Visibility.Visible;
this.st3.Content = time3;
this.et3.Content = time3;
}
else
{
this.st3.Visibility = Visibility.Collapsed;
this.et3.Visibility = Visibility.Collapsed;
}
if (time4 != "")
{
this.st4.Visibility = Visibility.Visible;
this.et4.Visibility = Visibility.Visible;
this.st4.Content = time4;
this.et4.Content = time4;
}
else
{
this.st4.Visibility = Visibility.Collapsed;
this.et4.Visibility = Visibility.Collapsed;
}
if (time5 != "")
{
this.st5.Visibility = Visibility.Visible;
this.et5.Visibility = Visibility.Visible;
this.st5.Content = time5;
this.et5.Content = time5;
}
else
{
this.st5.Visibility = Visibility.Collapsed;
this.et5.Visibility = Visibility.Collapsed;
}
if (time6 != "")
{
this.st6.Visibility = Visibility.Visible;
this.et6.Visibility = Visibility.Visible;
this.st6.Content = time6;
this.et6.Content = time6;
}
else
{
this.st6.Visibility = Visibility.Collapsed;
this.et6.Visibility = Visibility.Collapsed;
}
if (time7 != "")
{
this.st7.Visibility = Visibility.Visible;
this.et7.Visibility = Visibility.Visible;
this.st7.Content = time7;
this.et7.Content = time7;
}
else
{
this.st7.Visibility = Visibility.Collapsed;
this.et7.Visibility = Visibility.Collapsed;
}
if (time8 != "")
{
this.st8.Visibility = Visibility.Visible;
this.et8.Visibility = Visibility.Visible;
this.st8.Content = time8;
this.et8.Content = time8;
}
else
{
this.st8.Visibility = Visibility.Collapsed;
this.et8.Visibility = Visibility.Collapsed;
}
if (time9 != "")
{
this.st9.Visibility = Visibility.Visible;
this.et9.Visibility = Visibility.Visible;
this.st9.Content = time9;
this.et9.Content = time9;
}
else
{
this.st9.Visibility = Visibility.Collapsed;
this.et9.Visibility = Visibility.Collapsed;
}
}
public static string DataGridStatistics_ProductCode = null;
@@ -42,8 +184,8 @@ namespace Audit.View
string DataGridStatistics_sum = (DataGridStatistics.Columns[3].GetCellContent(DataGridStatistics.Items[rownum]) as TextBlock).Text;//定位第3列,原料名称
string DataGridStatistics_total_price = (DataGridStatistics.Columns[4].GetCellContent(DataGridStatistics.Items[rownum]) as TextBlock).Text;//定位第4列,原料名称
this.productname.Text = DataGridStatistics_ProductName;//填入原料名
this.productcode.Text = DataGridStatistics_ProductCode;//填入
this.productsum.Text = DataGridStatistics_sum + "KG";//填入
this.productcode.Text = DataGridStatistics_ProductCode;
if(this.productsum.Text != "") this.productsum.Text = DataGridStatistics_sum + "KG";
Button_machines_sql = true;
}
@@ -61,8 +203,10 @@ namespace Audit.View
public static Boolean Button_sql = true;//全局变量按钮状态
private void Button_Click(object sender, RoutedEventArgs e)
{
query_start = this.query_date_start.Text;//传递开始时间
query_end = this.query_date_end.Text;//传递结束时间
query_start = this.query_date_start.Text;//传递开始日期
date_start_time = this.query_date_start_time.Text;//传递开始时间
query_end = this.query_date_end.Text;//传递结束日期
date_end_time = this.query_date_end_time.Text;//传递结束时间
string t =DateTime.Now.ToString("yyyy-MM-dd");
int query_endT = DateTime.Compare(Convert.ToDateTime(query_end), Convert.ToDateTime(t)); //比较结束时间及当期,小于-1 等于0 大于1
if (query_endT == 0) query_end = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"); //如果结束时间为空则填入当天时间加1天
@@ -83,10 +227,11 @@ namespace Audit.View
}
}
private void DataGridStatistics_Copy_SelectionChanged(object sender, SelectionChangedEventArgs e)
private void DataGridStatistics_mac_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
}
}
}
+80
View File
@@ -0,0 +1,80 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace Audit.ViewModel
{
public class ReadIni
{
/// <summary>
/// 为INI文件中指定的节点取得字符串
/// </summary>
/// <param name="lpAppName">欲在其中查找关键字的节点名称</param>
/// <param name="lpKeyName">欲获取的项名</param>
/// <param name="lpDefault">指定的项没有找到时返回的默认值</param>
/// <param name="lpReturnedString">指定一个字串缓冲区,长度至少为nSize</param>
/// <param name="nSize">指定装载到lpReturnedString缓冲区的最大字符数量</param>
/// <param name="lpFileName">INI文件完整路径</param>
/// <returns>复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符</returns>
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);
/// <summary>
/// 修改INI文件中内容
/// </summary>
/// <param name="lpApplicationName">欲在其中写入的节点名称</param>
/// <param name="lpKeyName">欲设置的项名</param>
/// <param name="lpString">要写入的新字符串</param>
/// <param name="lpFileName">INI文件完整路径</param>
/// <returns>非零表示成功,零表示失败</returns>
[DllImport("kernel32")]
private static extern int WritePrivateProfileString(string lpApplicationName, string lpKeyName, string lpString, string lpFileName);
public static string ReadIniData(string section, string key, string def, string filePath)//读取INI文件
{
StringBuilder sb = new StringBuilder(1024);
GetPrivateProfileString(section, key, def, sb, 1024, filePath);
return sb.ToString();
}
/// <summary>
/// 写INI文件值
/// </summary>
/// <param name="section">欲在其中写入的节点名称</param>
/// <param name="key">欲设置的项名</param>
/// <param name="value">要写入的新字符串</param>
/// <param name="filePath">INI文件完整路径</param>
/// <returns>非零表示成功,零表示失败</returns>
public static int WriteData(string section, string key, string value, string filePath)
{
return WritePrivateProfileString(section, key, value, filePath);
}
/// <summary>
/// 删除节
/// </summary>
/// <param name="section">节点名</param>
/// <param name="filePath">INI文件完整路径</param>
/// <returns>非零表示成功,零表示失败</returns>
public static int DeleteSection(string section, string filePath)
{
return WriteData(section, null, null, filePath);
}
/// <summary>
/// 删除键的值
/// </summary>
/// <param name="section">节点名</param>
/// <param name="key">键名</param>
/// <param name="filePath">INI文件完整路径</param>
/// <returns>非零表示成功,零表示失败</returns>
public static int DeleteKey(string section, string key, string filePath)
{
return WriteData(section, key, null, filePath);
}
}
}
+19 -12
View File
@@ -7,23 +7,30 @@
mc:Ignorable="d"
Title="设置" Height="600" Width="800" WindowStartupLocation="CenterScreen" ResizeMode="NoResize">
<Grid>
<Button Content="BD连接测试" HorizontalAlignment="Left" Height="35" Margin="135,285,0,0" VerticalAlignment="Top" Width="105" x:Name="BDtset" FontSize="15"/>
<Button Content="TI连接测试" HorizontalAlignment="Left" Height="35" Margin="350,285,0,0" VerticalAlignment="Top" Width="105" x:Name="TItset" FontSize="15"/>
<Button Content="BD连接测试" HorizontalAlignment="Left" Height="35" Margin="135,225,0,0" VerticalAlignment="Top" Width="105" x:Name="BDtset" FontSize="15"/>
<Button Content="TI连接测试" HorizontalAlignment="Left" Height="35" Margin="350,225,0,0" VerticalAlignment="Top" Width="105" x:Name="TItset" FontSize="15"/>
<Button Content="退出" HorizontalAlignment="Left" Height="40" Margin="625,505,0,0" VerticalAlignment="Top" Width="120" x:Name="SetExit" FontSize="20" Click="SetExit_Click"/>
<Button Content="保存" HorizontalAlignment="Left" Height="40" Margin="455,505,0,0" VerticalAlignment="Top" Width="120" x:Name="Save" FontSize="20"/>
<TextBox HorizontalAlignment="Left" Height="40" Margin="135,70,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205"/>
<TextBox HorizontalAlignment="Left" Height="40" Margin="135,120,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205"/>
<TextBox HorizontalAlignment="Left" Height="40" Margin="135,170,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205"/>
<TextBox HorizontalAlignment="Left" Height="40" Margin="350,70,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205"/>
<TextBox HorizontalAlignment="Left" Height="40" Margin="350,120,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205"/>
<TextBox HorizontalAlignment="Left" Height="40" Margin="350,170,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205"/>
<TextBox HorizontalAlignment="Left" Height="40" Margin="135,220,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205"/>
<TextBox HorizontalAlignment="Left" Height="40" Margin="350,220,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205"/>
<Button Content="保存" HorizontalAlignment="Left" Height="40" Margin="455,505,0,0" VerticalAlignment="Top" Width="120" x:Name="Save" FontSize="20" Click="Save_Click"/>
<TextBox x:Name="DBCSQL" HorizontalAlignment="Left" Height="40" Margin="135,70,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205" FontSize="20"/>
<TextBox x:Name="DBCID" HorizontalAlignment="Left" Height="40" Margin="135,120,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205" FontSize="20"/>
<TextBox x:Name="DBCPW" HorizontalAlignment="Left" Height="40" Margin="135,170,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205" FontSize="20"/>
<TextBox x:Name="TISQL" HorizontalAlignment="Left" Height="40" Margin="350,70,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205" FontSize="20"/>
<TextBox x:Name="TIID" HorizontalAlignment="Left" Height="40" Margin="350,120,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205" FontSize="20"/>
<TextBox x:Name="TIPW" HorizontalAlignment="Left" Height="40" Margin="350,170,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="205" FontSize="20"/>
<TextBox x:Name="time1" HorizontalAlignment="Left" Height="40" Margin="135,320,0,0" TextWrapping="Wrap" Text="0:00:00" VerticalAlignment="Top" Width="100" FontSize="20"/>
<TextBox x:Name="time2" HorizontalAlignment="Left" Height="40" Margin="250,320,0,0" TextWrapping="Wrap" Text="0:00:00" VerticalAlignment="Top" Width="100" FontSize="20"/>
<TextBox x:Name="time3" HorizontalAlignment="Left" Height="40" Margin="365,320,0,0" TextWrapping="Wrap" Text="0:00:00" VerticalAlignment="Top" Width="100" FontSize="20"/>
<TextBox x:Name="time4" HorizontalAlignment="Left" Height="40" Margin="135,370,0,0" TextWrapping="Wrap" Text="0:00:00" VerticalAlignment="Top" Width="100" FontSize="20"/>
<TextBox x:Name="time5" HorizontalAlignment="Left" Height="40" Margin="250,370,0,0" TextWrapping="Wrap" Text="0:00:00" VerticalAlignment="Top" Width="100" FontSize="20"/>
<TextBox x:Name="time6" HorizontalAlignment="Left" Height="40" Margin="365,370,0,0" TextWrapping="Wrap" Text="0:00:00" VerticalAlignment="Top" Width="100" FontSize="20"/>
<TextBox x:Name="time7" HorizontalAlignment="Left" Height="40" Margin="135,420,0,0" TextWrapping="Wrap" Text="0:00:00" VerticalAlignment="Top" Width="100" FontSize="20"/>
<TextBox x:Name="time8" HorizontalAlignment="Left" Height="40" Margin="250,420,0,0" TextWrapping="Wrap" Text="0:00:00" VerticalAlignment="Top" Width="100" FontSize="20"/>
<TextBox x:Name="time9" HorizontalAlignment="Left" Height="40" Margin="365,420,0,0" TextWrapping="Wrap" Text="0:00:00" VerticalAlignment="Top" Width="100" FontSize="20"/>
<Label Content="BatchDyeingCentral" HorizontalAlignment="Left" Height="40" Margin="135,25,0,0" VerticalAlignment="Top" Width="215" FontSize="20"/>
<Label Content="预设时间" HorizontalAlignment="Left" Height="40" Margin="135,275,0,0" VerticalAlignment="Top" Width="215" FontSize="20"/>
<Label Content="Ticket" HorizontalAlignment="Left" Height="40" Margin="350,25,0,0" VerticalAlignment="Top" Width="130" FontSize="20"/>
<Label Content="SQL路径:" HorizontalAlignment="Left" Height="40" Margin="10,70,0,0" VerticalAlignment="Top" Width="120" FontSize="20"/>
<Label Content="SQL账号:" HorizontalAlignment="Left" Height="40" Margin="10,120,0,0" VerticalAlignment="Top" Width="120" FontSize="20"/>
<Label Content="SQL密码:" HorizontalAlignment="Left" Height="40" Margin="10,170,0,0" VerticalAlignment="Top" Width="120" FontSize="20"/>
<Label Content="更新时间:" HorizontalAlignment="Left" Height="40" Margin="10,220,0,0" VerticalAlignment="Top" Width="120" FontSize="20"/>
</Grid>
</mah:MetroWindow>
+98 -2
View File
@@ -12,6 +12,8 @@ using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.IO;
using Audit.ViewModel;
namespace Audit.Windows
{
@@ -20,19 +22,113 @@ namespace Audit.Windows
/// </summary>
public partial class Set_up_Sql : MetroWindow
{
ReadIni readini = new ReadIni();
string filePath = "" + System.Environment.CurrentDirectory + "\\config_Audit.ini";//获取当前文件目录
string logPath = "" + System.Environment.CurrentDirectory + "\\Log\\AuditLog.txt";//日志文件
string Log_time = "[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "]:";
///<Summary>
/// Set_up
///</Summary>
public Set_up_Sql()
{
InitializeComponent();
SQL();
}
public void SQL()
{
if (!File.Exists(filePath))
{
MessageBoxResult config = System.Windows.MessageBox.Show("未发现配置信息是否创建新的配置信息", "提示", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.Yes);//弹窗提示是否创建配置信息
if (config == MessageBoxResult.Yes)
{
ReadIni.WriteData("Database", "BatchDyeingCentral_SQL", ".\\express", filePath);//创建配置信息
ReadIni.WriteData("Database", "BatchDyeingCentral_NAME", "sa", filePath);
ReadIni.WriteData("Database", "BatchDyeingCentral_PW", "sunlight", filePath);
ReadIni.WriteData("Database", "Ticket_SQL", ".\\express", filePath);
ReadIni.WriteData("Database", "Ticket_NAME", "sa", filePath);
ReadIni.WriteData("Database", "Ticket_PW", "sunlight", filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT1", "", filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT2", "", filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT3", "", filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT4", "", filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT5", "", filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT6", "", filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT7", "", filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT8", "", filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT9", "", filePath);
FileStream fs = new FileStream(logPath, FileMode.Append, FileAccess.Write);
StreamWriter wr = new StreamWriter(fs);//创建文件
wr.WriteLine(Log_time + "Audit创建配置信息文件");
wr.Close();//写入配置文件
}
}
else
{
this.DBCSQL.Text = ReadIni.ReadIniData("Database", "BatchDyeingCentral_SQL", "***", filePath);//读取配置信息
this.DBCID.Text = ReadIni.ReadIniData("Database", "BatchDyeingCentral_NAME", "***", filePath);
this.DBCPW.Text = ReadIni.ReadIniData("Database", "BatchDyeingCentral_PW", "***", filePath);
this.TISQL.Text = ReadIni.ReadIniData("Database", "Ticket_SQL", "***", filePath);
this.TIID.Text = ReadIni.ReadIniData("Database", "Ticket_NAME", "***", filePath);
this.TIPW.Text = ReadIni.ReadIniData("Database", "Ticket_PW", "***", filePath);
this.time1.Text = ReadIni.ReadIniData("WORKER TIME", "WORKERT1", "", filePath);
this.time2.Text = ReadIni.ReadIniData("WORKER TIME", "WORKERT2", "", filePath);
this.time3.Text = ReadIni.ReadIniData("WORKER TIME", "WORKERT3", "", filePath);
this.time4.Text = ReadIni.ReadIniData("WORKER TIME", "WORKERT4", "", filePath);
this.time5.Text = ReadIni.ReadIniData("WORKER TIME", "WORKERT5", "", filePath);
this.time6.Text = ReadIni.ReadIniData("WORKER TIME", "WORKERT6", "", filePath);
this.time7.Text = ReadIni.ReadIniData("WORKER TIME", "WORKERT7", "", filePath);
this.time8.Text = ReadIni.ReadIniData("WORKER TIME", "WORKERT8", "", filePath);
this.time9.Text = ReadIni.ReadIniData("WORKER TIME", "WORKERT9", "", filePath);
}
}
private void SetExit_Click(object sender, RoutedEventArgs e)
{
Windows.LogWindow logWindow = new Windows.LogWindow();
logWindow.Show();//实例化并打开登录窗口
this.Close();//关闭当前窗口
}
private void Save_Click(object sender, RoutedEventArgs e)
{
FileStream fs = new FileStream(logPath, FileMode.Append, FileAccess.Write);
StreamWriter wr = new StreamWriter(fs);//创建文件
int DBCSQL = ReadIni.WriteData("Database", "BatchDyeingCentral_SQL", this.DBCSQL.Text, filePath);//修改配置文件
int DBCID = ReadIni.WriteData("Database", "BatchDyeingCentral_NAME", this.DBCID.Text, filePath);
int DBCWP = ReadIni.WriteData("Database", "BatchDyeingCentral_PW", this.DBCPW.Text, filePath);
int TISQL = ReadIni.WriteData("Database", "Ticket_SQL", this.TISQL.Text, filePath);
int TIID = ReadIni.WriteData("Database", "Ticket_NAME", this.TIID.Text, filePath);
int TIWP = ReadIni.WriteData("Database", "Ticket_PW", this.TIPW.Text, filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT1", this.time1.Text, filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT2", this.time2.Text, filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT3", this.time3.Text, filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT4", this.time4.Text, filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT5", this.time5.Text, filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT6", this.time6.Text, filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT7", this.time7.Text, filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT8", this.time8.Text, filePath);
ReadIni.WriteData("WORKER TIME", "WORKERT9", this.time9.Text, filePath);
if (DBCSQL == 0 && DBCID == 0 && DBCWP == 0)
{
wr.WriteLine(Log_time + "BatchDyeingCentral配置修改失败");
wr.Close();//写入配置文件
MessageBox.Show("BatchDyeingCentral配置保存失败");
}
else
{
if (TISQL == 0 && TIID == 0 && TIWP == 0)
{
wr.WriteLine(Log_time + "Ticket配置修改失败");
wr.Close();//写入配置文件
MessageBox.Show("Ticket配置保存失败");
}
else
{
wr.WriteLine(Log_time + "Audit修改配置信息文件");
wr.Close();//写入配置文件
MessageBox.Show("保存完成");
}
}
}
}
}
+12
View File
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
@@ -20,6 +21,9 @@ namespace Audit.Windows
/// </summary>
public partial class user : Window
{
string logPath = "" + System.Environment.CurrentDirectory + "\\Log\\AuditLog.txt";//日志文件
string Log_time = "[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "]:";
public user()
{
InitializeComponent();
@@ -41,6 +45,8 @@ namespace Audit.Windows
string users = this.users.Text;
string Passwds = this.Passwds.Text;
FileStream fs = new FileStream(logPath, FileMode.Append, FileAccess.Write);
StreamWriter wr = new StreamWriter(fs);//创建文件
if ((users == "sunlight") || (users == "SUNLIGHT"))//内置账号
{
if ((Passwds == "sunlight") || (users == "SUNLIGHT"))//主页面判断
@@ -48,15 +54,21 @@ namespace Audit.Windows
Audit.MainWindow.user_t = int.Parse(this.userst.Text);
Audit.MainWindow.user_n = "SUNLIGHT";
this.Close();//关闭当前窗口
wr.WriteLine(Log_time + "SUNLIGHT账号登录[" + this.userst.Text + "]");
wr.Close();//写入配置文件
}
else
{
MessageBox.Show("ERR.C0001:拒绝登录", "错误");//设置密码错误
wr.WriteLine(Log_time + "拒绝登录");
wr.Close();//写入配置文件
}
}
else
{
MessageBox.Show("ERR.C0001:拒绝登录", "错误");//设置密码错误
wr.WriteLine(Log_time + "拒绝登录");
wr.Close();//写入配置文件
}
}