diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 89f2093..1d6d850 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -65,11 +65,8 @@ namespace StatisticsUI 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天 - if (query_end == DateTime.Now.ToString("yyyy-MM-dd")) query_end = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"); + date_end_time = this.query_date_end_time.Text;//传递结束时间 + int query_TimeCompare = DateTime.Compare(Convert.ToDateTime(query_start), Convert.ToDateTime(query_end)); //比较开始结束时间,小于-1 等于0 大于1 if (query_TimeCompare == 1)//判断查询时间是否有效,等于1无效 { @@ -92,10 +89,11 @@ namespace StatisticsUI Machine_sql = "SELECT m.Name AS MachineName," + "COUNT(DISTINCT d.Dyelot) AS DyelotCount," + - "ISNULL(SUM(dbr.DispenseGrams)/1000, 0) AS TotalDispenseGrams," + - "COUNT(DISTINCT CASE WHEN dbr.Dyelot IS NOT NULL AND dbr.DispenseResult = 301" + - "THEN CONCAT(dbr.Dyelot, '|', ISNULL(dbr.ReDye, ''), '|', ISNULL(CAST(dbr.StepNumber AS NVARCHAR(10)), ''))" + + "COUNT(DISTINCT CASE WHEN dbr.DispenseResult = 301" + + "THEN CONCAT(dbr.Dyelot, '|', dbr.ReDye, '', '|', dbr.StepNumber, '')" + "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"; } else @@ -108,10 +106,9 @@ namespace StatisticsUI Machine_sql = "SELECT m.Name AS MachineName," + "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.Dyelot IS NOT NULL AND dbr.DispenseResult = 301 AND dbr.ProductType = '"+type+ - "'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 " + + "COUNT(DISTINCT CASE WHEN dbr.DispenseResult = 301 AND dbr.ProductType = '"+type+ + "' THEN CONCAT(dbr.Dyelot, '|', dbr.ReDye, '', '|', dbr.StepNumber, '')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 AND dbr.Created>='" + query_start + " " + 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("DyelotCount", 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"); ;//传递结束日期 } } }