Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "设计量","变更量1","变更量2","损耗系数","变更后设计量","应耗量","节超量_不含损耗","节超量_含损耗","节超率_不含损耗","节超率_含损耗"
If dr.IsNull("设计量") And dr.IsNull("变更量1") And dr.IsNull("变更量2") Then
dr("变更后设计量") = Nothing
dr("应耗量") = Nothing
dr("节超量_不含损耗") = Nothing
dr("节超量_含损耗") = Nothing
dr("节超率_不含损耗") = Nothing
dr("节超率_含损耗") = Nothing
Else
dr("变更后设计量") = dr("设计量") + dr("变更量1") +dr("变更量2")
dr("应耗量") = (dr("设计量") + dr("变更量1") + dr("变更量2")) * (1 + dr("损耗系数"))
dr("节超量_含损耗") = (dr("设计量") + dr("变更量1") + dr("变更量2")) * (1 + dr("损耗系数")) - dr("实耗量")
dr("节超量_不含损耗") = dr("设计量") + dr("变更量1") + dr("变更量2") - dr("实耗量")
If dr("变更后设计量") = 0 Then
dr("节超率_不含损耗") = 0
dr("节超率_含损耗") = 0
Else
dr("节超率_不含损耗") = dr("节超量_不含损耗") / dr("变更后设计量")
dr("节超率_含损耗") = dr("节超量_含损耗") / dr("变更后设计量")
End If
End If
Case "拌合站","施工日期","工程名称","分项工程","施工部位","规格型号"
If dr.IsNull("拌合站") OrElse dr.IsNull("施工日期") OrElse dr.IsNull("工程名称") OrElse dr.IsNull("分项工程") OrElse dr.IsNull("施工部位") Then
dr("实耗量") = Nothing
Else
Dim filter As String
filter = "[拌合站] = '" & dr("拌合站") & " ' and [施工日期] = '" & dr("施工日期") & " ' and [工程名称] = '" & dr("工程名称") & " ' And [分项工程] = '" & dr("分项工程") & " ' And [施工部位] = '" & dr("施工部位") & " ' And [强度等级] = '" & dr("强度等级") & " ' "
dr("实耗量") = DataTables("混凝土出库明细").SQLCompute("Sum(运输方量)", Filter)
End If
End Select