If DataTables.Contains("网络子账户明细") = False
Return Nothing
End If '网络子账户明细非临时表去掉前三行.
Dim st As Date = Date.Now
If e.DataRow.Isnull("系统交易时间") = False Then
Dim filter1 As String ="收款子账号 = '" & e.DataRow("付款子账号") & "' and 发生额= '" & e.DataRow("发生额") & "' and 系统交易时间> #" & e.DataRow("系统交易时间").AddSeconds(-11) & "# and 系统交易时间< #" & e.DataRow("系统交易时间").AddSeconds(1) & "#"
Dim filter2 As String ="付款子账号 = '" & e.DataRow("收款子账号") & "' and 发生额= '" & e.DataRow("发生额") & "' and 系统交易时间< #" & e.DataRow("系统交易时间").AddSeconds(11) & "# and 系统交易时间 > " & e.DataRow("系统交易时间").AddSeconds(-1) & "#"
Dim filter3 As String ="付款子账号 = '" & e.DataRow("下手收款子账号") & "' and 系统交易时间< #" & e.DataRow("系统交易时间").AddSeconds(11) & "# and 系统交易时间 > #" & e.DataRow("系统交易时间").AddSeconds(-11) & "# and 收款账户名称 <> '" & e.DataRow("收款账户名称") & "'"
Dim filter4 As String ="付款子账号 = '" & e.DataRow("上手收款子账号") & "' and 系统交易时间 > #" & e.DataRow("系统交易时间").AddSeconds(-11) & "# and 系统交易时间 < #" & e.DataRow("系统交易时间").AddSeconds(11) & "# and 收款账户名称 <> '" & e.DataRow("收款账户名称") & "' "
Select Case e.DataCol.name
Case "收款账户名称"
If e.DataRow.Isnull("付款子账号") = False AndAlso e.DataRow.Isnull("支付单号") = False AndAlso e.DataRow.Isnull("系统交易时间") = False Then
Dim dr1 As DataRow = DataTables("网络子账户明细").find(filter1)
If dr1 IsNot Nothing Then
e.DataRow("上手收款账户名称") = dr1("付款账户名称")
e.DataRow("上手收款子账号") = dr1("付款子账号")
e.DataRow("下手收款账户名称") = Nothing
e.DataRow("下手收款子账号") = Nothing
Return Nothing
End If
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")
ElseIf e.DataRow.Isnull("付款子账号") = False AndAlso e.DataRow.Isnull("支付单号") = True AndAlso e.DataRow.Isnull("系统交易时间") = False Then
Dim dr2 As DataRow = DataTables("网络子账户明细").find(filter2)
If dr2 IsNot Nothing Then
e.DataRow("下手收款账户名称") = dr2("收款账户名称")
e.DataRow("下手收款子账号") = dr2("收款子账号")
e.DataRow("上手收款账户名称") = Nothing
e.DataRow("上手收款子账号") = Nothing
Return Nothing
End If
Else
e.DataRow("下手收款账户名称") = Nothing
e.DataRow("下手收款子账号") = Nothing
e.DataRow("上手收款账户名称") = Nothing
e.DataRow("上手收款子账号") = Nothing
End If
End Select
End If