µÝ¹éº¯Êý»ù±¾´úÂ룬ÓÉÓÚ²»ÏëÑо¿¹«Ê½£¬ËùÒÔÖ»¸ø³öÀ´»ù±¾¿ò¼Ü¡£ÈçȷʵÓÐÀ§ÄÑÔÙ¼ÓÎÒQQ°É£º5980274
Dim dt As DataTable = Args(0)
Dim dr As DataRow = Args(1)
Dim zd As New Dictionary(Of String, Decimal)
zd.Add("²ÄÁϳɱ¾º¬ËðºÄ",0)
zd.Add("È˹¤³É±¾",0)
zd.Add("µ±½×²ÄÁϳɱ¾",0)
zd.Add("µ±½×È˹¤³É±¾",0)
zd.Add("Ͻ×ÖƳÉÆ·ËðºÄ³É±¾",0)
zd.Add("µ±½×³É±¾ºÏ¼Æ",0)
zd.Add("ÀÛ¼ÆÉú²ú³É±¾",0)
Dim drs As List(Of DataRow)
drs = dt.Select("[Éϼ¶ÐòºÅ] = " & dr("ÐòºÅ"))
For Each dr1 As DataRow In drs
Dim zd1 As New Dictionary(Of String, Decimal)
Dim dr2 As DataRow
dr2 = dt.Find("[Éϼ¶ÐòºÅ] = " & dr1("ÐòºÅ"))
If dr2 IsNot Nothing Then 'Èç¹ûÕÒµ½µÄ»°,½øÈëµÝ¹é
zd1 = Functions.Execute("main",dt,dr1)
Else '·ñÔòÍ˳öµÝ¹é,ÐγɸÃÐлù±¾Êý¾Ý€
Select Case dr1("´óÀàÁϼþ")
Case "ÔÁÏ","Áã¼þ"
zd1.Add("µ±½×²ÄÁϳɱ¾",0)
Case "ÖƳÉÆ·"
'¸ù¾Ý¼ÆË㹫ʽ¹æÔò
End Select
End If
'¸ù¾Ý¹æÔò»ã×ÜϽ×Êý¾Ý
For Each k As Integer In zd.Keys 'ÏÔʾËùÓмü¼°Æä¶ÔÓ¦µÄÖµ
If zd1.ContainsKey(k) Then 'ÊÇ·ñ´æÔÚ¼ü
zd(k) = zd(k) + zd1(k)
End If
Next
Next
Return zd