|
|
@ -4,6 +4,7 @@ using System.ComponentModel; |
|
|
using System.Data; |
|
|
using System.Data; |
|
|
using System.Data.SqlClient; |
|
|
using System.Data.SqlClient; |
|
|
using System.Linq; |
|
|
using System.Linq; |
|
|
|
|
|
using System.Reflection; |
|
|
using System.Text; |
|
|
using System.Text; |
|
|
using System.Threading.Tasks; |
|
|
using System.Threading.Tasks; |
|
|
using System.Windows; |
|
|
using System.Windows; |
|
|
@ -57,6 +58,27 @@ namespace StatisticsUI |
|
|
{ |
|
|
{ |
|
|
/*定位选中行及指定列单元格文本信息*/ |
|
|
/*定位选中行及指定列单元格文本信息*/ |
|
|
DataGridStatistics_ProductCode = (DataGridStatistics.Columns[0].GetCellContent(DataGridStatistics.Items[rownum]) as TextBlock).Text;//定位第0列,原料代码
|
|
|
DataGridStatistics_ProductCode = (DataGridStatistics.Columns[0].GetCellContent(DataGridStatistics.Items[rownum]) as TextBlock).Text;//定位第0列,原料代码
|
|
|
|
|
|
try |
|
|
|
|
|
{ |
|
|
|
|
|
string T = "SELECT d.Machine AS MachineName, ISNULL(SUM(dbr.DispenseGrams)/1000, 0) " + |
|
|
|
|
|
"AS TotalDispenseGrams FROM DyelotsBulkedRecipe dbr " + |
|
|
|
|
|
"INNER JOIN Dyelots d ON dbr.Dyelot = d.Dyelot WHERE " + |
|
|
|
|
|
"dbr.ProductCode = '" + DataGridStatistics_ProductCode + "'" + |
|
|
|
|
|
"AND Created >= '" + query_start + " " + date_start_time + "' AND Created< '" + |
|
|
|
|
|
query_end + " " + date_end_time + "'" + |
|
|
|
|
|
"GROUP BY d.Machine ORDER BY d.Machine"; |
|
|
|
|
|
conn_SC.OpenAsync(); //连接数据库
|
|
|
|
|
|
Gram.Clear(); |
|
|
|
|
|
SqlDataAdapter Grame_ = new SqlDataAdapter(T, Connstr_SC); |
|
|
|
|
|
|
|
|
|
|
|
Grame_.Fill(Gram); |
|
|
|
|
|
DataGridStatistics_mac.ItemsSource = Gram.DefaultView; |
|
|
|
|
|
} |
|
|
|
|
|
catch (Exception ex) |
|
|
|
|
|
{ |
|
|
|
|
|
MessageBox.Show(ex.Message, "错误");//返回无效
|
|
|
|
|
|
} |
|
|
|
|
|
finally { conn_SC.Close(); } |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -89,7 +111,7 @@ 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," + |
|
|
"COUNT(DISTINCT CASE WHEN dbr.DispenseResult = 301" + |
|
|
"COUNT(DISTINCT CASE WHEN (dbr.DispenseResult = 301 OR dbr.DyeResult = 301) " + |
|
|
"THEN CONCAT(dbr.Dyelot, '|', dbr.ReDye, '', '|', dbr.StepNumber, '')" + |
|
|
"THEN CONCAT(dbr.Dyelot, '|', dbr.ReDye, '', '|', dbr.StepNumber, '')" + |
|
|
"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 + |
|
|
"AND d.CreationTime >= '" + query_start + " " + date_start_time + "' AND d.CreationTime < '" + query_end + |
|
|
@ -106,7 +128,7 @@ 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," + |
|
|
"COUNT(DISTINCT CASE WHEN dbr.DispenseResult = 301 AND dbr.ProductType = '"+type+ |
|
|
"COUNT(DISTINCT CASE WHEN (dbr.DispenseResult = 301 OR dbr.DyeResult = 301) AND dbr.ProductType = '" + type+ |
|
|
"' THEN CONCAT(dbr.Dyelot, '|', dbr.ReDye, '', '|', dbr.StepNumber, '')END"+ |
|
|
"' THEN CONCAT(dbr.Dyelot, '|', dbr.ReDye, '', '|', dbr.StepNumber, '')END"+ |
|
|
" ) AS UniqueRecipeCount FROM Machines m LEFT JOIN Dyelots d ON m.Name = d.Machine " + |
|
|
" ) 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 + |
|
|
@ -124,10 +146,23 @@ namespace StatisticsUI |
|
|
DataGridStatistics.ItemsSource = DyelotsBulkedRecipe.DefaultView; |
|
|
DataGridStatistics.ItemsSource = DyelotsBulkedRecipe.DefaultView; |
|
|
|
|
|
|
|
|
Machine_.Fill(Machine); |
|
|
Machine_.Fill(Machine); |
|
|
|
|
|
for (int i = Machine.Rows.Count - 1; i >= 0; i--) |
|
|
|
|
|
{ |
|
|
|
|
|
DataRow row = Machine.Rows[i]; |
|
|
|
|
|
|
|
|
|
|
|
// 检查目标列是否为0(处理DBNull情况)
|
|
|
|
|
|
if (row["DyelotCount"] != DBNull.Value && |
|
|
|
|
|
Convert.ToDouble(row["DyelotCount"]) == 0) |
|
|
|
|
|
{ |
|
|
|
|
|
Machine.Rows.RemoveAt(i); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
Machine.AcceptChanges(); |
|
|
DataGridStatistics_mac.ItemsSource = Machine.DefaultView; |
|
|
DataGridStatistics_mac.ItemsSource = Machine.DefaultView; |
|
|
} |
|
|
} |
|
|
catch (Exception ex) |
|
|
catch (Exception ex) |
|
|
{ |
|
|
{ |
|
|
|
|
|
MessageBox.Show(ex.Message, "错误");//返回无效时间弹窗
|
|
|
} |
|
|
} |
|
|
finally |
|
|
finally |
|
|
{ |
|
|
{ |
|
|
@ -152,7 +187,7 @@ namespace StatisticsUI |
|
|
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_start.Text = DateTime.Now.ToString("yyyy-MM-dd"); ;//传递开始日期
|
|
|
this.query_date_end.Text = DateTime.Now.ToString("yyyy-MM-dd"); ;//传递结束日期
|
|
|
this.query_date_end.Text = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"); ;//传递结束日期
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|