Dim dtb As New DataTableBuilder("职工购股情况差异对比表8月份")
dtb.AddDef("工资编号", Gettype(String), 16)
dtb.AddDef("姓名", Gettype(String), 16)
dtb.AddDef("原职位", Gettype(String), 16)
dtb.AddDef("职位", Gettype(String), 16)
dtb.AddDef("职位差异", Gettype(String), 16)
dtb.AddDef("原技术职务", Gettype(String), 16)
dtb.AddDef("技术职务", Gettype(String), 16)
dtb.AddDef("技术职务差异", Gettype(String), 16)
dtb.AddDef("原购股标准", Gettype(Double))
dtb.AddDef("购股标准", Gettype(Double))
dtb.AddDef("购股标准差异", Gettype(Double))
dtb.AddDef("现持股金", Gettype(String), 16)
dtb.Build()
Dim dt As DataTable = DataTables("职工购股情况差异对比表8月份")
Dim dt2 As DataTable = DataTables("原人员信息岗位股明细表8月份")
Dim dt4 As DataTable = DataTables("人员信息岗位股明细表")
For Each nm As String In dt2.GetValues("工资编号")
Dim dr As DataRow = dt.AddNew()
dr("工资编号") = nm
Dim num1 As Double = dt2.Compute("max(购股标准)", "工资编号 = '" & nm & "'")
Dim num2 As Double = dt2.Compute("max(对应购股标准)", "工资编号 = '" & nm & "'")
Dim fdr1 As DataRow
If num1 > num2 Then
dr("原购股标准") = num1
fdr1 = dt2.find("工资编号 = '" & nm & "' and 购股标准 = '" & num1 & "'")
Else
dr("原购股标准") = num2
fdr1 = dt2.find("工资编号 = '" & nm & "' and 对应购股标准 = '" & num2 & "'")
End If
If fdr1 Is Nothing Then
dr("姓名") = "没找到"
dr("原技术职务") = "没找到"
dr("原职位") = "没找到"
Else
dr("姓名") = fdr1("姓名")
dr("原技术职务") = fdr1("原技术职务等级")
dr("原职位") = fdr1("原职位")
End If
Dim num3 As Double = dt4.Compute("max(购股标准)", "工资编号 = '" & nm & "'")
Dim num4 As Double = dt4.Compute("max(对应购股标准)", "工资编号 = '" & nm & "'")
Dim fdr2 As DataRow
If num3 > num4 Then
dr("购股标准") = num3
fdr2 = dt4.find("工资编号 = '" & nm & "' and 购股标准 = '" & num3 & "'")
Else
dr("购股标准") = num4
fdr2 = dt4.find("工资编号 = '" & nm & "' and 对应购股标准 = '" & num4 & "'")
End If
If fdr2 Is Nothing Then
dr("技术职务") = "没找到"
dr("职位") = "没找到"
Else
dr("技术职务") = fdr2("技术职务等级")
dr("职位") = fdr2("职位")
dr("现持股金") = fdr2("现持股金")
dr("购股标准差异") = dr("原购股标准")-dr("购股标准")
End If
Next
For Each r As Row In Tables("职工购股情况差异对比表8月份").Rows
If r("原职位") = r("职位") Then
r("职位差异") ="0"
Else
r("职位差异") ="1"
End If
If r("原技术职务") = r("技术职务") Then
r("技术职务差异") ="0"
Else
r("技术职务差异") ="1"
End If
Next
MainTable= Tables("职工购股情况差异对比表8月份")