Dim lst1 As New List(Of DataRow)
Dim lst2 As New List(Of DataRow)
Dim lst3 As New List(Of DataRow)
Dim lst4 As New List(Of DataRow)
Dim pr1 As DataRow
Dim pr2 As DataRow
Dim pr3 As DataRow
For Each dr As DataRow In DataTables("净进货核算差额调整").DataRows
If dr("店铺性质") = "正价店" Then
If dr("新季节属性") = "当季新款" Then
Dim filter As String
filter = "货品年份 = '" & dr("款式年份") & "' And 货品季节 = '" & dr("款式季度") & "' And 仓店编号 = '" & dr("仓店编号") & "' and 退货截止日期 is not null"
pr1 = DataTables("客户当季货品退货核算标准").Find(filter)
If pr1 IsNot Nothing Then
If (pr1("退货截止年份") = N1 And pr1("退货截止月份") <= y1) Or pr1("退货截止年份") < N1 Then
lst1.Add(dr)
Else
lst4.Add(dr)
End If
Else
lst4.Add(dr)
End If
End If
If dr("新季节属性") = "往年旧款" Then
Dim filter1 As String
filter1 = "款式季度 = '" & dr("款式季度") & "' And 仓店编号 = '" & dr("仓店编号") & "' and ((年份= '" & dr("年份") & "' and 月份>= " & dr("月份") & ") or 年份> '" & dr("年份") & "') and 退货完成标记='完成退货' and 新季节属性='当季新款'"
pr2 = DataTables("净进货核算差额调整").Find(filter1)
If pr2 IsNot Nothing Then
lst2.Add(dr)
Else
lst4.Add(dr)
End If
End If
ElseIf dr("店铺性质") = "非正价店" Then
Dim filter2 As String
filter2 = "款式季度 = '" & dr("款式季度") & "' And 品牌名称 = '" & dr("品牌名称") & "' and ((调整退市年份= '" & dr("年份") & "' and 调整退市月份>= " & dr("月份") & ") or 调整退市年份> '" & dr("年份") & "')"
pr3 = DataTables("商品上市退市时间档案").Find(filter2, "调整退货日期")
If pr3 IsNot Nothing Then
If (pr3("调整退市年份") = N1 And pr3("调整退市月份") <= y1) Or pr3("调整退市年份") < N1 Then
lst3.Add(dr)
Else
lst4.Add(dr)
End If
Else
lst4.Add(dr)
End If
Else
lst4.Add(dr)
End If
Next
For Each dr As DataRow In lst1
dr("退货完成标记") = "完成退货"
dr("核算年份") = pr1("退货截止年份")
dr("核算月份") = pr1("退货截止月份")
Next
For Each dr As DataRow In lst2
dr("退货完成标记") = "完成退货"
dr("核算年份") = pr2("核算年份")
dr("核算月份") = pr2("核算月份")
Next
For Each dr As DataRow In lst3
dr("退货完成标记") = "完成退货"
dr("核算年份") = pr3("调整退市年份")
dr("核算月份") = pr3("调整退市月份")
Next
For Each dr As DataRow In lst4
dr("退货完成标记") = "未完成退货"
dr("核算年份") = Nothing
dr("核算月份") = Nothing
Next
调整成这样,快是快了很多,就是结果不对