sc 3 months ago
parent
commit
093d80f0e0
  1. 22
      MainWindow.xaml.cs

22
MainWindow.xaml.cs

@ -66,10 +66,7 @@ namespace StatisticsUI
date_start_time = this.query_date_start_time.Text;//传递开始时间 date_start_time = this.query_date_start_time.Text;//传递开始时间
query_end = this.query_date_end.Text;//传递结束日期 query_end = this.query_date_end.Text;//传递结束日期
date_end_time = this.query_date_end_time.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天
if (query_end == DateTime.Now.ToString("yyyy-MM-dd")) query_end = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd");
int query_TimeCompare = DateTime.Compare(Convert.ToDateTime(query_start), Convert.ToDateTime(query_end)); //比较开始结束时间,小于-1 等于0 大于1 int query_TimeCompare = DateTime.Compare(Convert.ToDateTime(query_start), Convert.ToDateTime(query_end)); //比较开始结束时间,小于-1 等于0 大于1
if (query_TimeCompare == 1)//判断查询时间是否有效,等于1无效 if (query_TimeCompare == 1)//判断查询时间是否有效,等于1无效
{ {
@ -92,10 +89,11 @@ namespace StatisticsUI
Machine_sql = Machine_sql =
"SELECT m.Name AS MachineName," + "SELECT m.Name AS MachineName," +
"COUNT(DISTINCT d.Dyelot) AS DyelotCount," + "COUNT(DISTINCT d.Dyelot) AS DyelotCount," +
"ISNULL(SUM(dbr.DispenseGrams)/1000, 0) AS TotalDispenseGrams," + "COUNT(DISTINCT CASE WHEN dbr.DispenseResult = 301" +
"COUNT(DISTINCT CASE WHEN dbr.Dyelot IS NOT NULL AND dbr.DispenseResult = 301" + "THEN CONCAT(dbr.Dyelot, '|', dbr.ReDye, '', '|', dbr.StepNumber, '')" +
"THEN CONCAT(dbr.Dyelot, '|', ISNULL(dbr.ReDye, ''), '|', ISNULL(CAST(dbr.StepNumber AS NVARCHAR(10)), ''))" +
"END ) AS UniqueRecipeCount FROM Machines m LEFT JOIN Dyelots d ON m.Name = d.Machine " + "END ) AS UniqueRecipeCount FROM Machines m LEFT JOIN Dyelots d ON m.Name = d.Machine " +
"AND d.CreationTime >= '" + query_start + " " + date_start_time + "' AND d.CreationTime < '" + query_end +
" " + date_end_time + "'"+
"LEFT JOIN DyelotsBulkedRecipe dbr ON d.Dyelot = dbr.Dyelot GROUP BY m.Name ORDER BY m.Name"; "LEFT JOIN DyelotsBulkedRecipe dbr ON d.Dyelot = dbr.Dyelot GROUP BY m.Name ORDER BY m.Name";
} }
else else
@ -108,10 +106,9 @@ namespace StatisticsUI
Machine_sql = Machine_sql =
"SELECT m.Name AS MachineName," + "SELECT m.Name AS MachineName," +
"COUNT(DISTINCT d.Dyelot) AS DyelotCount," + "COUNT(DISTINCT d.Dyelot) AS DyelotCount," +
"ISNULL(SUM(CASE WHEN dbr.ProductType = '"+type+"' THEN dbr.DispenseGrams END)/1000, 0) AS TotalDispenseGrams," + "COUNT(DISTINCT CASE WHEN dbr.DispenseResult = 301 AND dbr.ProductType = '"+type+
"COUNT(DISTINCT CASE WHEN dbr.Dyelot IS NOT NULL AND dbr.DispenseResult = 301 AND dbr.ProductType = '"+type+ "' THEN CONCAT(dbr.Dyelot, '|', dbr.ReDye, '', '|', dbr.StepNumber, '')END"+
"'THEN CONCAT(dbr.Dyelot, '|', ISNULL(dbr.ReDye, ''), '|', ISNULL(CAST(dbr.StepNumber AS NVARCHAR(10)), ''))" + " ) AS UniqueRecipeCount FROM Machines m LEFT JOIN Dyelots d ON m.Name = d.Machine " +
"END ) AS UniqueRecipeCount FROM Machines m LEFT JOIN Dyelots d ON m.Name = d.Machine " +
"AND d.CreationTime >= '" + query_start + " " + date_start_time + "' AND d.CreationTime < '" + query_end + "AND d.CreationTime >= '" + query_start + " " + date_start_time + "' AND d.CreationTime < '" + query_end +
" " + date_end_time + "' LEFT JOIN DyelotsBulkedRecipe dbr ON d.Dyelot = dbr.Dyelot AND dbr.Created>='" + query_start + " " + date_end_time + "' LEFT JOIN DyelotsBulkedRecipe dbr ON d.Dyelot = dbr.Dyelot AND dbr.Created>='" + query_start +
" " + date_start_time + "' AND dbr.Created < '" + query_end + " " + date_end_time + "' GROUP BY m.Name ORDER BY m.Name"; " " + date_start_time + "' AND dbr.Created < '" + query_end + " " + date_end_time + "' GROUP BY m.Name ORDER BY m.Name";
@ -153,6 +150,9 @@ namespace StatisticsUI
Machine_Gram.Columns.Add("TotalDispenseGrams", typeof(string)); Machine_Gram.Columns.Add("TotalDispenseGrams", typeof(string));
Machine_Gram.Columns.Add("DyelotCount", typeof(string)); Machine_Gram.Columns.Add("DyelotCount", typeof(string));
Machine_Gram.Columns.Add("UniqueRecipeCount", typeof(string)); Machine_Gram.Columns.Add("UniqueRecipeCount", typeof(string));
this.query_date_start.Text = DateTime.Now.ToString("yyyy-MM-dd"); ;//传递开始日期
this.query_date_end.Text = DateTime.Now.ToString("yyyy-MM-dd"); ;//传递结束日期
} }
} }
} }

Loading…
Cancel
Save