Dim pc As WinForm.ComboBox = e.Form.Controls("排产期")
Dim yf As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim dt2 As DataTable =DataTables("休假安排")
Dim dt1 As DataTable = DataTables("计划表_Smt统计表1")
Dim dt As DataTable = DataTables("订单明细跟踪表")
Dim mind As Date = dt.Compute("min(SMT_开始生产_计划)", "")
Dim maxd As Date = dt.Compute("max(SMT_完成生产_计划)", "")
dt1.DeleteFor("")
Do While mind <= maxd
Dim fdr As DataRow = dt2.Find("日期=#" & mind & "#")
If fdr Is Nothing Then
Dim nr As DataRow = dt1.AddNew
nr("日期") = mind
Dim sum As Double = 0
For Each dr As DataRow In dt.Select("SMT_开始生产_计划 <= #" & mind & "# and SMT_完成生产_计划 >= #" & mind & "# and 排产期 = '" & pc.Text & "'" )
Dim jqs As Integer = dt2.compute("count(日期)", "日期 >= #" & dr("SMT_开始生产_计划") & "# and 日期 <= #" & dr("SMT_完成生产_计划") & "#")
Dim sp1 As TimeSpan = dr("SMT_完成生产_计划") - dr("SMT_开始生产_计划")
Dim D1 As Integer = sp1.Days +1 - jqs
sum += dr("需生产数量") /d1
Next
nr("欠数") = sum
End If
mind = mind.AddDays(1)
Loop
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("计划表_Smt统计表1") '定义一个变量t引用数据表
Chart= e.Form.Controls("ChartSmt") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
chart.AxisX.ClearValueLabel
Chart.ChartType = ChartTypeEnum.Bar
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = t.Rows.Count '图系的数据点数等于表的行数
For i As Integer = 0 To t.Rows.Count - 1 '指定每个数据点的位置
Series.X(i) = i '指定水平坐标
Series.Y(i) = t.Rows(i)("欠数") '指定垂直坐标
Chart.AxisX.SetValueLabel(i, format(t.Rows(i)("日期"), "M/d")) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Series.DataLabelText = "{#YVAL}"
series.DataLabelCompass = LabelCompassEnum.North