Dim dic As new Dictionary(of String,List(of String)) '定义一个字典,以业务ID为键,审核流水集合作为值
'当接收到客户端传来的信息时,就做下面的这个处理
Dim s As String = "业务ID|环节ID,审核意见"
Dim BusiID As String = s.Split("|")(0) '业务ID
Dim Auditer As String = s.Split("|")(1) '业务ID对应的审核意见
If dic.ContainsKey(BusiID) = False Then
Dim lst As new List(of String)
lst.add(Auditer)
dic.add(BusiID ,lst)
Else
Dim lst As List(of String) = dic(BusiID )
lst.add(Auditer)
dic.add(BusiID ,lst)
End If
''接下来处理这些业务ID的审核流水
For Each x As String In dic.Keys
Dim lst As List(of String) = dic(x)
Functions.AsyncExecute("执行判断",x,lst) '这里定义一个函数来判断下一步是否能执行等等
dic.Remove(x) ''' 好象这样是不行的,不能在遍历字典的时候清除键
Next
'''似乎可以这样。但是这样会导致一个问题,就是最后加进来的流水会优先处理,是不是先排进来的一直在等待?
For i As Integer = dic.Count - 1 To 0 Step -1
Dim x As String = dic.Keys(i)
Output.Show(dic(x))
dic.Remove(x)
Next
'执行判断的函数
[此贴子已经被作者于2022/3/25 17:35:08编辑过]