|
|
@ -40,12 +40,14 @@ namespace SunlightAggregationManager.ViewModel |
|
|
public static string SERVERNAME = ""; |
|
|
public static string SERVERNAME = ""; |
|
|
public static string SERVERUSER = ""; |
|
|
public static string SERVERUSER = ""; |
|
|
public static string SERRVERPASWORD = ""; |
|
|
public static string SERRVERPASWORD = ""; |
|
|
|
|
|
public static int ChemicalNumber, DyeMeasurementNumber, DyeDissolveNumber, PowderNumber; |
|
|
|
|
|
|
|
|
|
|
|
private static Timer? _timer; |
|
|
|
|
|
public static DataTable ChemicalStatistics = new DataTable(); |
|
|
public static DataBase dataBase = new DataBase(); |
|
|
public static DataBase dataBase = new DataBase(); |
|
|
public static UserClass.SqliteHelper SQLiteHelpers = null!; //定义数据库
|
|
|
public static UserClass.SqliteHelper SQLiteHelpers = null!; //定义数据库
|
|
|
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SunlightAggregationManager.db"; //数据库路径
|
|
|
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SunlightAggregationManager.db"; //数据库路径
|
|
|
|
|
|
|
|
|
public static DataTable ActionLog = new DataTable(); |
|
|
public static DataTable ActionLog = new DataTable(); |
|
|
|
|
|
|
|
|
[ObservableProperty] |
|
|
[ObservableProperty] |
|
|
public static DataTable _machines = new DataTable(); //设备表缓存
|
|
|
public static DataTable _machines = new DataTable(); //设备表缓存
|
|
|
[ObservableProperty] |
|
|
[ObservableProperty] |
|
|
@ -150,11 +152,13 @@ namespace SunlightAggregationManager.ViewModel |
|
|
Service.Rows.Add(3, "RUN", "Sunlight_Server_Link"); |
|
|
Service.Rows.Add(3, "RUN", "Sunlight_Server_Link"); |
|
|
AsyncTcpClient.Configuration(SERVERIP, SERVERNAME, SERVERUSER, SERRVERPASWORD); |
|
|
AsyncTcpClient.Configuration(SERVERIP, SERVERNAME, SERVERUSER, SERRVERPASWORD); |
|
|
|
|
|
|
|
|
|
|
|
Service.EndInit(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Service.EndInit(); |
|
|
_timer = new Timer(EXTask, null, TimeSpan.FromSeconds(60), TimeSpan.FromMinutes(30)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//Machines操作数据库
|
|
|
private void Machines_Updata(object sender, DataRowChangeEventArgs e) |
|
|
private void Machines_Updata(object sender, DataRowChangeEventArgs e) |
|
|
{ |
|
|
{ |
|
|
Dictionary<string, object> row_entity = new Dictionary<string, object>(); |
|
|
Dictionary<string, object> row_entity = new Dictionary<string, object>(); |
|
|
@ -202,7 +206,7 @@ namespace SunlightAggregationManager.ViewModel |
|
|
SQLiteHelpers.InsertData("ActionLog", userlog); |
|
|
SQLiteHelpers.InsertData("ActionLog", userlog); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
//UserData操作数据库
|
|
|
private void UserData_Updata(object sender, DataRowChangeEventArgs e) |
|
|
private void UserData_Updata(object sender, DataRowChangeEventArgs e) |
|
|
{ |
|
|
{ |
|
|
Dictionary<string, object> row_entity = new Dictionary<string, object>(); |
|
|
Dictionary<string, object> row_entity = new Dictionary<string, object>(); |
|
|
@ -256,6 +260,8 @@ namespace SunlightAggregationManager.ViewModel |
|
|
SQLiteHelpers.InsertData("ActionLog", userlog); |
|
|
SQLiteHelpers.InsertData("ActionLog", userlog); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//数据表操作
|
|
|
public static void Insert_Memory(DataTable DB, Dictionary<string, object> Value)//插入数据
|
|
|
public static void Insert_Memory(DataTable DB, Dictionary<string, object> Value)//插入数据
|
|
|
{ |
|
|
{ |
|
|
try |
|
|
try |
|
|
@ -379,5 +385,53 @@ namespace SunlightAggregationManager.ViewModel |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private static async void EXTask(object? state) |
|
|
|
|
|
{ |
|
|
|
|
|
try |
|
|
|
|
|
{ |
|
|
|
|
|
string DyelotsBulkedRecipe_sql = "SELECT [ProductCode],[ProductName],SUM(DispenseGrams)/1000 " + |
|
|
|
|
|
"as TotalDispenseGrams,COUNT(*) as PrescriptionCount FROM [BatchDyeingCentral].[dbo].[DyelotsBulkedRecipe] " + |
|
|
|
|
|
"where DispenseEndTime > '" + DateTime.Now.ToString("yyyy-MM-dd") + "' AND DispenseEndTime < '" + |
|
|
|
|
|
DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + "'AND DispenseGrams IS NOT NULL" + " GROUP BY " + |
|
|
|
|
|
"[ProductCode],[ProductName] ORDER BY TotalDispenseGrams DESC "; |
|
|
|
|
|
string Dye_sql = |
|
|
|
|
|
"SELECT [Dyelot],[ReDye],[StepNumber] FROM [BatchDyeingCentral].[dbo].[DyelotsBulkedRecipe] " + |
|
|
|
|
|
"where ((DispenseEndTime >= '" + DateTime.Now.ToString("yyyy-MM-dd") + "' AND DispenseEndTime < '" + |
|
|
|
|
|
DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + "') OR (DispenseTime >= '" + DateTime.Now.ToString("yyyy-MM-dd") + |
|
|
|
|
|
"' AND DispenseTime < '" + DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + "')) " + |
|
|
|
|
|
"AND ProductType = 1 GROUP BY [Dyelot],[ReDye],[StepNumber];"; |
|
|
|
|
|
string Chemical_sql = |
|
|
|
|
|
"SELECT [Dyelot],[ReDye],[StepNumber] FROM [BatchDyeingCentral].[dbo].[DyelotsBulkedRecipe] " + |
|
|
|
|
|
"where ((DispenseEndTime >= '" + DateTime.Now.ToString("yyyy-MM-dd") + "' AND DispenseEndTime < '" + |
|
|
|
|
|
DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + "') OR (DispenseTime >= '" + DateTime.Now.ToString("yyyy-MM-dd") + |
|
|
|
|
|
"' AND DispenseTime < '" + DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + "')) " + |
|
|
|
|
|
"AND ProductType = 2 GROUP BY [Dyelot],[ReDye],[StepNumber];"; |
|
|
|
|
|
string Powder_sql = |
|
|
|
|
|
"SELECT [Dyelot],[ReDye],[StepNumber] FROM [BatchDyeingCentral].[dbo].[DyelotsBulkedRecipe] " + |
|
|
|
|
|
"where ((DispenseEndTime >= '" + DateTime.Now.ToString("yyyy-MM-dd") + "' AND DispenseEndTime < '" + |
|
|
|
|
|
DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + "') OR (DispenseTime >= '" + DateTime.Now.ToString("yyyy-MM-dd") + |
|
|
|
|
|
"' AND DispenseTime < '" + DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + "')) " + |
|
|
|
|
|
"AND ProductType = 3 GROUP BY [Dyelot],[ReDye],[StepNumber];"; |
|
|
|
|
|
string DyeDissolve = |
|
|
|
|
|
"SELECT *FROM [BatchDyeingCentral].[dbo].[DyeSolutionHistory] " + "where DispenseEndTime >= '" + |
|
|
|
|
|
DateTime.Now.ToString("yyyy-MM-dd") + "' AND DispenseEndTime < '" + DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + "'"; |
|
|
|
|
|
|
|
|
|
|
|
ChemicalStatistics = await dataBase.ExecuteQueryAsync(DyelotsBulkedRecipe_sql); |
|
|
|
|
|
DyeMeasurementNumber = await dataBase.ExecuteQueryAsyncCount(Dye_sql); |
|
|
|
|
|
ChemicalNumber = await dataBase.ExecuteQueryAsyncCount(Chemical_sql); |
|
|
|
|
|
PowderNumber = await dataBase.ExecuteQueryAsyncCount(Powder_sql); |
|
|
|
|
|
DyeDissolveNumber = await dataBase.ExecuteQueryAsyncCount(DyeDissolve); |
|
|
|
|
|
} |
|
|
|
|
|
catch (Exception ex) |
|
|
|
|
|
{//错误处理
|
|
|
|
|
|
LogGing.ERRDATA(ex); |
|
|
|
|
|
Console.WriteLine(ex.ToString()); |
|
|
|
|
|
} |
|
|
|
|
|
finally { |
|
|
|
|
|
|
|
|
|
|
|
Console.WriteLine("当日染料称量["+ DyeMeasurementNumber+ "]染料输送["+ DyeDissolveNumber + "]" + |
|
|
|
|
|
"助剂输送["+ ChemicalNumber + "]粉体输送["+ PowderNumber + "]"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |