e.Form.Controls("Label1").Text = "正在计算,请稍后..."
Application.DoEvents()
systemready = False
DataTables("工料月计划").StopRedraw
DataTables("工料月计划").DataRows.Clear
MainTable = Tables("工料月计划")
Dim drs = DataTables("工料总计划").Select("计划开始 is not null")
Dim idx As Integer = 0
For Each r As DataRow In drs
Dim sd As Date = r("计划开始")
Dim ed As Date = r("计划完成")
Dim count As Double = r("计划数量")
' Dim count As Double = r("计划金额")
Dim sp As TimeSpan = ed-sd
Dim avg As Double = count / (sp.TotalDays+1)
Dim i As Double = 0
Dim sum As Double = 0
Do While sd <= ed
If sd.Day = 1 OrElse sd = ed Then
Dim dr As DataRow = DataTables("工料月计划").AddNew
dr("项目ID") = r("项目ID")
dr("工料ID") = r("工料ID")
dr("清单明细ID") = r("清单明细ID")
dr("工料一类") = r("工料一类")
dr("工料二类") = r("工料二类")
dr("工料名称") = r("工料名称")
dr("工料单位") = r("工料单位")
dr("计划单价") = r("计划单价")
' dr("项目名称") = r("项目名称")
dr("月份") = format(sd.AddDays(-1), "yyyyMM")
If sd = ed Then
dr("月计划数量") = count-sum
' dr("月计划金额") = count-sum
Else
dr("月计划数量") = i*avg
' dr("月计划金额") = i*avg
sum += i*avg
End If
i = 1
Else
i += 1
End If
sd = sd.AddDays(1)
Loop
idx += 1
Dim v As Integer = idx / drs.count * 100
StatusBar.ProgressBar.Visible =True
StatusBar.ProgressBar.Value = v
StatusBar.Message2= v & "%"
Next
DataTables("工料月计划").ResumeRedraw
systemready = True
e.Form.Controls("Label1").Text = "计算完成."