暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

拆帳制薪資分析表.vb 25KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. Public Class 拆帳制薪資分析表
  2. Private Sub Set_服務人員()
  3. Dim startYear As Integer = CInt(年份_cb.Text) : Dim startMonth As Integer = CInt(月份_cb.Text)
  4. Dim endYear As Integer = CInt(年份1_cb.Text) : Dim endMonth As Integer = CInt(月份1_cb.Text)
  5. Dim result As New List(Of String) : Dim 總數 As Integer = 0
  6. Dim actualStartYear, actualStartMonth, actualEndYear, actualEndMonth As Integer ' 確定實際的開始和結束日期
  7. If (startYear > endYear) OrElse (startYear = endYear AndAlso startMonth > endMonth) Then
  8. actualStartYear = endYear : actualStartMonth = endMonth : actualEndYear = startYear : actualEndMonth = startMonth ' 如果開始日期晚於結束日期,就交換它們
  9. Else
  10. actualStartYear = startYear : actualStartMonth = startMonth : actualEndYear = endYear : actualEndMonth = endMonth
  11. End If
  12. Dim currentYear As Integer = actualStartYear : Dim currentMonth As Integer = actualStartMonth
  13. While currentYear < actualEndYear OrElse (currentYear = actualEndYear AndAlso currentMonth <= actualEndMonth)
  14. result.Add(currentYear.ToString() & currentMonth.ToString("D2"))
  15. currentMonth += 1 : If currentMonth > 12 Then : currentMonth = 1 : currentYear += 1 : End If
  16. End While
  17. If (startYear > endYear) OrElse (startYear = endYear AndAlso startMonth > endMonth) Then : result.Reverse() : End If ' 如果原始輸入是逆序的,反轉結果列表
  18. Dim AA() As String = result.ToArray() ' 將結果轉換為數組
  19. PA2 = "" : PA1 = "" : For i As Integer = 0 To AA.Length - 1
  20. PA1 &= "日期 LIKE '" & AA(i) & "%' OR " : 總數 = i
  21. Next : PA1 = "(" & PA1.Substring(0, PA1.LastIndexOf(" OR ")) & ")"
  22. Dim ds As New DataSet
  23. Dgv.DataSource = Nothing : ds.Clear()
  24. Dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  25. Dgv.ColumnHeadersHeight = 80 : Dgv.AllowUserToAddRows = False : Dgv.RowTemplate.Height = 25
  26. Dgv1.DataSource = Nothing : ds.Clear()
  27. Dgv1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  28. Dgv1.ColumnHeadersHeight = 80 : Dgv1.AllowUserToAddRows = False : Dgv1.RowTemplate.Height = 25
  29. SQL_薪資彙總表_仁寶2()
  30. da.Fill(ds) : Dgv.DataSource = ds.Tables(0) : Dgv1.DataSource = ds.Tables(0) : conn.Close()
  31. Dgv.Columns("姓名").FillWeight = 60 : Dgv1.Columns("姓名").FillWeight = 60
  32. Dgv.Columns("BA正常").FillWeight = 70 : Dgv.Columns("GA正常").FillWeight = 70 : Dgv.Columns("GA加級").FillWeight = 70
  33. Dgv.Columns("申請總額 仁寶AA").FillWeight = 70 : Dgv.Columns("申請總額 長照AA").FillWeight = 70 : Dgv.Columns("AA正常").FillWeight = 70
  34. Dgv.Columns("服務津貼").FillWeight = 70 : Dgv.Columns("轉場津貼").FillWeight = 70 : Dgv.Columns("薪資加項D").FillWeight = 70
  35. Dgv.Columns("加班費").FillWeight = 70 : Dgv.Columns("加項總計").FillWeight = 70 : Dgv.Columns("減項總計").FillWeight = 70
  36. Dgv.Columns("AA扣除額").FillWeight = 60 : Dgv.Columns("轉場薪資").FillWeight = 70
  37. Dgv.Columns("薪資加項D").FillWeight = 70 : Dgv.Columns("公司負擔總計").FillWeight = 70 : Dgv.Columns("薪資總額").FillWeight = 70
  38. Dgv1.Columns("轉場薪資.").FillWeight = 70 : Dgv1.Columns("平1.34").FillWeight = 70 : Dgv1.Columns("平1.67").FillWeight = 70
  39. Dgv1.Columns("休1.34").FillWeight = 70 : Dgv1.Columns("休1.67").FillWeight = 70 : Dgv1.Columns("國2.00").FillWeight = 70
  40. Dgv1.Columns("總服務時數").FillWeight = 70 : Dgv1.Columns("總轉場時數").FillWeight = 70 : Dgv1.Columns("AA扣除額.").FillWeight = 60
  41. Dgv1.Columns("申請總額 仁寶AA.").FillWeight = 70 : Dgv1.Columns("申請總額 長照AA.").FillWeight = 70 : Dgv1.Columns("薪資總額.").FillWeight = 70
  42. Dgv1.Columns("公司負擔總計.").FillWeight = 70 : Dgv1.Columns("餘額").FillWeight = 70
  43. Dgv.Columns("BA&GA& SC拆帳比").Visible = False : Dgv.Columns("AA 拆帳比").Visible = False : Dgv.Columns("轉場薪資.").Visible = False
  44. Dgv.Columns("平1.34").Visible = False : Dgv.Columns("平1.67").Visible = False : Dgv.Columns("休1.34").Visible = False : Dgv.Columns("休1.67").Visible = False
  45. Dgv.Columns("國2.00").Visible = False : Dgv1.Columns("服務轉場比").Visible = False : Dgv1.Columns("餘額比").Visible = False : Dgv1.Columns("AA扣除額.").Visible = False
  46. For i As Integer = 0 To Dgv.Rows.Count - 1
  47. Dgv.Rows(i).Cells("轉場薪資").Value = Dgv.Rows(i).Cells("轉場薪資.").Value + Dgv.Rows(i).Cells("平1.34").Value + Dgv.Rows(i).Cells("平1.67").Value +
  48. Dgv.Rows(i).Cells("休1.34").Value + Dgv.Rows(i).Cells("休1.67").Value + Dgv.Rows(i).Cells("國2.00").Value
  49. Dgv.Rows(i).Cells("服務轉場比").Value = Dgv.Rows(i).Cells("總轉場時數").Value / Dgv.Rows(i).Cells("總服務時數").Value * 100
  50. Dgv.Rows(i).Cells("餘額比").Value = Dgv.Rows(i).Cells("餘額").Value / Dgv.Rows(i).Cells("總服務時數").Value * 100
  51. If Dgv.Rows(i).Cells("申請總額(長照) BA&GA&SC").Value = 0 Then
  52. Dgv.Rows(i).Cells("BA&GA& SC拆帳比").Value = (Dgv.Rows(i).Cells("BA正常").Value + Dgv.Rows(i).Cells("GA正常").Value + Dgv.Rows(i).Cells("GA加級").Value) /
  53. Dgv.Rows(i).Cells("申請總額(仁寶) BA&GA&SC").Value * 100
  54. Dgv.Rows(i).Cells("餘額比").Value = (Dgv.Rows(i).Cells("餘額").Value / Dgv.Rows(i).Cells("申請總額(仁寶) BA&GA&SC").Value) * 100
  55. Else
  56. Dgv.Rows(i).Cells("BA&GA& SC拆帳比").Value = (Dgv.Rows(i).Cells("BA正常").Value + Dgv.Rows(i).Cells("GA正常").Value + Dgv.Rows(i).Cells("GA加級").Value) /
  57. Dgv.Rows(i).Cells("申請總額(長照) BA&GA&SC").Value * 100
  58. Dgv.Rows(i).Cells("餘額比").Value = (Dgv.Rows(i).Cells("餘額").Value / Dgv.Rows(i).Cells("申請總額(長照) BA&GA&SC").Value) * 100
  59. End If
  60. If Dgv.Rows(i).Cells("申請總額 仁寶AA").Value = 0 Then
  61. Dgv.Rows(i).Cells("AA 拆帳比").Value = Dgv.Rows(i).Cells("AA正常").Value / Dgv.Rows(i).Cells("申請總額 仁寶AA").Value * 100
  62. Else
  63. Dgv.Rows(i).Cells("AA 拆帳比").Value = Dgv.Rows(i).Cells("AA正常").Value / Dgv.Rows(i).Cells("申請總額 仁寶AA").Value * 100
  64. End If
  65. If Dgv.Rows(i).Cells("AA正常").Value = 0 Then : Dgv.Rows(i).Cells("AA扣除額").Value = 0 : End If
  66. Next
  67. Set_進度條顯示01() : Set_進度條顯示02() : Set_進度條顯示04() : Set_進度條顯示03()
  68. For i As Integer = 0 To Dgv.Columns.Count - 1
  69. Dgv.Columns(i).ReadOnly = False
  70. Dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : Dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  71. Next
  72. For i As Integer = 0 To Dgv1.Columns.Count - 1
  73. Dgv1.Columns(i).ReadOnly = False
  74. Dgv1.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : Dgv1.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  75. Next
  76. For i As Integer = 14 To 18 : Dgv.Columns(i).DefaultCellStyle.BackColor = Color.MistyRose : Next
  77. For i As Integer = 1 To Dgv.Columns.Count - 1 : Dgv.Columns(i).DefaultCellStyle.Format = "#,##0.0" : Next
  78. For i As Integer = 29 To Dgv.Columns.Count - 1 : Dgv.Columns(i).Visible = False : Next
  79. For i As Integer = 1 To Dgv1.Columns.Count - 1 : Dgv1.Columns(i).DefaultCellStyle.Format = "#,##0.0" : Next
  80. For i As Integer = 19 To 24 : Dgv1.Columns(i).DefaultCellStyle.BackColor = Color.MistyRose : Next
  81. For i As Integer = 1 To 18 : Dgv1.Columns(i).Visible = False : Next
  82. For i As Integer = 19 To 24 : Dgv1.Columns(i).Visible = True : Next
  83. For i As Integer = 25 To 26 : Dgv1.Columns(i).Visible = False : Next
  84. For i As Integer = 41 To Dgv1.Columns.Count - 1 : Dgv1.Columns(i).Visible = False : Next
  85. 申請BG_仁_tb.Text = "0.0" : 申請BG_長_tb.Text = "0.0" : 申請AA_仁_tb.Text = "0.0" : 申請AA_長_tb.Text = "0.0" : BA正常_tb.Text = "0.0" : GA正常_tb.Text = "0.0" : GA加級_tb.Text = "0.0"
  86. AA正常_tb.Text = "0.0" : 薪資D_tb.Text = "0.0" : 服務津貼_tb.Text = "0.0" : 轉場津貼_tb.Text = "0.0" : 轉場薪資_tb.Text = "0.0" : 加班費_tb.Text = "0.0" : 加項總計_tb.Text = "0.0"
  87. 支出項目_tb.Text = "0.0" : 減項總計_tb.Text = "0.0" : 申請BG_tb.Text = "0.0" : 申請AA_tb.Text = "0.0" : 薪資總額_tb.Text = "0.0" : 公司負擔_tb.Text = "0.0" : 餘額_tb.Text = "0.0"
  88. 服務時數_tb.Text = "0.0" : 轉場時數_tb.Text = "0.0"
  89. For i As Integer = 0 To Dgv.Rows.Count - 1
  90. 申請BG_仁_tb.Text += Dgv.Rows(i).Cells("申請總額(仁寶) BA&GA&SC").Value : 申請BG_長_tb.Text += Dgv.Rows(i).Cells("申請總額(長照) BA&GA&SC").Value
  91. 申請AA_仁_tb.Text += Dgv.Rows(i).Cells("申請總額 仁寶AA").Value : 申請AA_長_tb.Text += Dgv.Rows(i).Cells("申請總額 長照AA").Value
  92. BA正常_tb.Text += Dgv.Rows(i).Cells("BA正常").Value : GA正常_tb.Text += Dgv.Rows(i).Cells("GA正常").Value : GA加級_tb.Text += Dgv.Rows(i).Cells("GA加級").Value
  93. AA正常_tb.Text += Dgv.Rows(i).Cells("AA正常").Value : 薪資D_tb.Text += Dgv.Rows(i).Cells("薪資加項D").Value : 服務津貼_tb.Text += Dgv.Rows(i).Cells("服務津貼").Value
  94. 轉場津貼_tb.Text += Dgv.Rows(i).Cells("轉場津貼").Value : 轉場薪資_tb.Text += Dgv.Rows(i).Cells("轉場薪資").Value : 加班費_tb.Text += Dgv.Rows(i).Cells("加班費").Value
  95. 加項總計_tb.Text += Dgv.Rows(i).Cells("加項總計").Value : 減項總計_tb.Text += Dgv.Rows(i).Cells("減項總計").Value : 薪資總額_tb.Text += Dgv.Rows(i).Cells("薪資總額").Value
  96. 公司負擔_tb.Text += Dgv.Rows(i).Cells("公司負擔總計").Value : 餘額_tb.Text += Dgv.Rows(i).Cells("餘額").Value : 服務時數_tb.Text += Dgv.Rows(i).Cells("總服務時數").Value
  97. 轉場時數_tb.Text += Dgv.Rows(i).Cells("總轉場時數").Value
  98. Next
  99. If CDbl(申請BG_長_tb.Text) = 0 Then : 申請BG_差額_tb.Text = "0.0"
  100. 申請BG_長_比.Text = "0.00%" : 申請BG_仁_比.Text = "100.00%" : 申請BG_差額_比.Text = "0.00%" : 申請BG_tb.Text = CDbl(申請BG_仁_tb.Text)
  101. 餘額_比.Text = Strings.Format(CDbl(餘額_tb.Text) / (CDbl(申請BG_仁_tb.Text) + CDbl(申請AA_仁_tb.Text)) * 100, "#,##0.00") & "%"
  102. Else
  103. 申請BG_差額_tb.Text = CDbl(申請BG_仁_tb.Text) - CDbl(申請BG_長_tb.Text)
  104. 申請BG_長_比.Text = "100.00%" : 申請BG_仁_比.Text = Strings.Format(CDbl(申請BG_仁_tb.Text) / CDbl(申請BG_長_tb.Text) * 100, "#,##0.00") & "%"
  105. 申請BG_差額_比.Text = Strings.Format(CDbl(申請BG_差額_tb.Text) / CDbl(申請BG_長_tb.Text) * 100, "#,##0.00") & "%" : 申請BG_tb.Text = CDbl(申請BG_長_tb.Text)
  106. 餘額_比.Text = Strings.Format(CDbl(餘額_tb.Text) / (CDbl(申請BG_長_tb.Text) + CDbl(申請AA_長_tb.Text)) * 100, "#,##0.00") & "%"
  107. End If
  108. If CDbl(申請AA_長_tb.Text) = 0 Then : 申請AA_差額_tb.Text = "0.0"
  109. 申請AA_長_比.Text = "0.00%" : 申請AA_仁_比.Text = "100.00%" : 申請AA_差額_比.Text = "0.00%" : 申請AA_tb.Text = CDbl(申請AA_仁_tb.Text)
  110. Else
  111. 申請AA_差額_tb.Text = CDbl(申請AA_仁_tb.Text) - CDbl(申請AA_長_tb.Text)
  112. 申請AA_長_比.Text = "100.00%" : 申請AA_仁_比.Text = Strings.Format(CDbl(申請AA_仁_tb.Text) / CDbl(申請AA_長_tb.Text) * 100, "#,##0.00") & "%"
  113. 申請AA_差額_比.Text = Strings.Format(CDbl(申請AA_差額_tb.Text) / CDbl(申請AA_長_tb.Text) * 100, "#,##0.00") & "%" : 申請AA_tb.Text = CDbl(申請AA_長_tb.Text)
  114. End If
  115. 轉場比_tb.Text = Strings.Format(CDbl(轉場時數_tb.Text) / CDbl(服務時數_tb.Text) * 100, "#,##0.00") & "%"
  116. 支出項目_tb.Text = CDbl(BA正常_tb.Text) + CDbl(GA正常_tb.Text) + CDbl(GA加級_tb.Text) + CDbl(AA正常_tb.Text) + CDbl(薪資D_tb.Text) +
  117. CDbl(服務津貼_tb.Text) + CDbl(轉場津貼_tb.Text) + CDbl(轉場薪資_tb.Text) + CDbl(加班費_tb.Text) + CDbl(加項總計_tb.Text)
  118. 修正金額_tb.Text = CDbl(薪資總額_tb.Text) - (CDbl(支出項目_tb.Text) - CDbl(減項總計_tb.Text))
  119. BA正常_比.Text = Strings.Format(CDbl(BA正常_tb.Text) / CDbl(支出項目_tb.Text) * 100, "#,##0.00") & "%"
  120. GA正常_比.Text = Strings.Format(CDbl(GA正常_tb.Text) / CDbl(支出項目_tb.Text) * 100, "#,##0.00") & "%"
  121. GA加級_比.Text = Strings.Format(CDbl(GA加級_tb.Text) / CDbl(支出項目_tb.Text) * 100, "#,##0.00") & "%"
  122. AA正常_比.Text = Strings.Format(CDbl(AA正常_tb.Text) / CDbl(支出項目_tb.Text) * 100, "#,##0.00") & "%"
  123. 薪資D_比.Text = Strings.Format(CDbl(薪資D_tb.Text) / CDbl(支出項目_tb.Text) * 100, "#,##0.00") & "%"
  124. 服務津貼_比.Text = Strings.Format(CDbl(服務津貼_tb.Text) / CDbl(支出項目_tb.Text) * 100, "#,##0.00") & "%"
  125. 轉場津貼_比.Text = Strings.Format(CDbl(轉場津貼_tb.Text) / CDbl(支出項目_tb.Text) * 100, "#,##0.00") & "%"
  126. 轉場薪資_比.Text = Strings.Format(CDbl(轉場薪資_tb.Text) / CDbl(支出項目_tb.Text) * 100, "#,##0.00") & "%"
  127. 加班費_比.Text = Strings.Format(CDbl(加班費_tb.Text) / CDbl(支出項目_tb.Text) * 100, "#,##0.00") & "%"
  128. 加項總計_比.Text = Strings.Format(CDbl(加項總計_tb.Text) / CDbl(支出項目_tb.Text) * 100, "#,##0.00") & "%"
  129. 申請BG_比.Text = Strings.Format(CDbl(申請BG_tb.Text) / (CDbl(申請BG_tb.Text) + CDbl(申請AA_tb.Text)) * 100, "#,##0.00") & "%"
  130. 申請AA_比.Text = Strings.Format(CDbl(申請AA_tb.Text) / (CDbl(申請BG_tb.Text) + CDbl(申請AA_tb.Text)) * 100, "#,##0.00") & "%"
  131. 薪資總額_比.Text = Strings.Format(CDbl(薪資總額_tb.Text) / (CDbl(薪資總額_tb.Text) + CDbl(公司負擔_tb.Text)) * 100, "#,##0.00") & "%"
  132. 公司負擔_比.Text = Strings.Format(CDbl(公司負擔_tb.Text) / (CDbl(薪資總額_tb.Text) + CDbl(公司負擔_tb.Text)) * 100, "#,##0.00") & "%"
  133. 修正金額_比.Text = Strings.Format(CDbl(修正金額_tb.Text) / CDbl(支出項目_tb.Text) * 100, "#,##0.00") & "%"
  134. 減項總計_比.Text = Strings.Format(CDbl(減項總計_tb.Text) / CDbl(支出項目_tb.Text) * -100, "#,##0.00") & "%"
  135. 申請BG_仁_tb.Text = Strings.Format(CDbl(申請BG_仁_tb.Text), "#,##0.0") : 申請BG_長_tb.Text = Strings.Format(CDbl(申請BG_長_tb.Text), "#,##0.0")
  136. 申請AA_仁_tb.Text = Strings.Format(CDbl(申請AA_仁_tb.Text), "#,##0.0") : 申請AA_長_tb.Text = Strings.Format(CDbl(申請AA_長_tb.Text), "#,##0.0")
  137. BA正常_tb.Text = Strings.Format(CDbl(BA正常_tb.Text), "#,##0.0") : GA正常_tb.Text = Strings.Format(CDbl(GA正常_tb.Text), "#,##0.0")
  138. GA加級_tb.Text = Strings.Format(CDbl(GA加級_tb.Text), "#,##0.0") : AA正常_tb.Text = Strings.Format(CDbl(AA正常_tb.Text), "#,##0.0")
  139. 薪資D_tb.Text = Strings.Format(CDbl(薪資D_tb.Text), "#,##0.0") : 服務津貼_tb.Text = Strings.Format(CDbl(服務津貼_tb.Text), "#,##0.0")
  140. 轉場津貼_tb.Text = Strings.Format(CDbl(轉場津貼_tb.Text), "#,##0.0") : 轉場薪資_tb.Text = Strings.Format(CDbl(轉場薪資_tb.Text), "#,##0.0")
  141. 加班費_tb.Text = Strings.Format(CDbl(加班費_tb.Text), "#,##0.0") : 加項總計_tb.Text = Strings.Format(CDbl(加項總計_tb.Text), "#,##0.0")
  142. 支出項目_tb.Text = Strings.Format(CDbl(支出項目_tb.Text), "#,##0.0") : 減項總計_tb.Text = Strings.Format(CDbl(減項總計_tb.Text) * -1, "#,##0.0")
  143. 申請BG_tb.Text = Strings.Format(CDbl(申請BG_tb.Text), "#,##0.0") : 申請AA_tb.Text = Strings.Format(CDbl(申請AA_tb.Text), "#,##0.0")
  144. 薪資總額_tb.Text = Strings.Format(CDbl(薪資總額_tb.Text), "#,##0.0") : 公司負擔_tb.Text = Strings.Format(CDbl(公司負擔_tb.Text), "#,##0.0")
  145. 餘額_tb.Text = Strings.Format(CDbl(餘額_tb.Text), "#,##0.0") : 服務時數_tb.Text = Strings.Format(CDbl(服務時數_tb.Text), "#,##0.0")
  146. 轉場時數_tb.Text = Strings.Format(CDbl(轉場時數_tb.Text), "#,##0.0") : 修正金額_tb.Text = Strings.Format(CDbl(修正金額_tb.Text), "#,##0.0")
  147. 申請AA_差額_tb.Text = Strings.Format(CDbl(申請AA_差額_tb.Text), "#,##0.0") : 申請BG_差額_tb.Text = Strings.Format(CDbl(申請BG_差額_tb.Text), "#,##0.0")
  148. End Sub
  149. Private Sub Set_進度條顯示01()
  150. Dim Col As New DataGridViewProgressColumn With {
  151. .FillWeight = 70,
  152. .DataPropertyName = "BA&GA& SC拆帳比."
  153. }
  154. Col.HeaderText = "BA&GA& SC拆帳比." : Col.Name = "BA&GA& SC拆帳比" : Col.DataPropertyName = "BA&GA& SC拆帳比"
  155. Dgv.Columns.Insert(4, Col)
  156. End Sub
  157. Private Sub Set_進度條顯示02()
  158. Dim Col As New DataGridViewProgressColumn With {
  159. .FillWeight = 70,
  160. .DataPropertyName = "AA 拆帳比."
  161. }
  162. Col.HeaderText = "AA 拆帳比." : Col.Name = "AA 拆帳比" : Col.DataPropertyName = "AA 拆帳比"
  163. Dgv.Columns.Insert(9, Col)
  164. End Sub
  165. Private Sub Set_進度條顯示03()
  166. Dim Col As New DataGridViewProgressColumn With {
  167. .FillWeight = 70,
  168. .DataPropertyName = "服務轉場比."
  169. }
  170. Col.HeaderText = "服務轉場比." : Col.Name = "服務轉場比" : Col.DataPropertyName = "服務轉場比"
  171. Dgv1.Columns.Insert(39, Col)
  172. End Sub
  173. Private Sub Set_進度條顯示04()
  174. Dim Col As New DataGridViewProgressColumn With {
  175. .FillWeight = 70,
  176. .DataPropertyName = "餘額比."
  177. }
  178. Col.HeaderText = "餘額比." : Col.Name = "餘額比" : Col.DataPropertyName = "餘額比"
  179. Dgv1.Columns.Insert(35, Col)
  180. End Sub
  181. Private Sub 拆帳制薪資分析表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  182. Me.MdiParent = ICS_ASMS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  183. Dgv.BringToFront()
  184. 分母 = 100 : 分段1 = 0.35 : 分段2 = 0.34 : 分段3 = 0.65 : 分段4 = 0.64 : 進度條後墜 = " %"
  185. Dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  186. Dgv1.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  187. End Sub
  188. Private Sub 拆帳制薪資分析表_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  189. SQL_營運成本收支單對帳表_查詢最後一筆年份清單()
  190. 年份_cb.Items.Clear() : 年份_cb.Items.Add("") : 年份1_cb.Items.Clear() : 年份1_cb.Items.Add("")
  191. While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : 年份1_cb.Items.Add(dr("年份")) : End While : conn.Close()
  192. SQL_資料日期01()
  193. If dr.Read Then
  194. 年份_cb.Text = Strings.Left(dr("流水號").ToString, 4) : 月份_cb.Text = Strings.Right(dr("流水號").ToString, 2)
  195. 年份1_cb.Text = Strings.Left(dr("流水號").ToString, 4) : 月份1_cb.Text = Strings.Right(dr("流水號").ToString, 2)
  196. End If : Set_服務人員()
  197. End Sub
  198. 'Private Sub Dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Dgv.MouseUp
  199. ' If Dgv.SelectedCells.Count = 1 Then : MsgBox(Dgv.SelectedCells(0).ColumnIndex & " " & Dgv.SelectedCells(0).RowIndex) : End If
  200. 'End Sub
  201. 'Private Sub Dgv1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Dgv1.MouseUp
  202. ' If Dgv1.SelectedCells.Count = 1 Then : MsgBox(Dgv1.SelectedCells(0).ColumnIndex & " " & Dgv1.SelectedCells(0).RowIndex) : End If
  203. 'End Sub
  204. Private Sub Dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles Dgv.RowPostPaint
  205. Dim linePen As New Pen(Color.Blue, 2)
  206. If e.RowIndex = Dgv.Rows.Count - 1 Then
  207. Dim columnIndex As Integer = 6 : Dim cellBounds As System.Drawing.Rectangle = Dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  208. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  209. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd)
  210. Dim columnIndex1 As Integer = 13 : Dim cellBounds1 As System.Drawing.Rectangle = Dgv.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True)
  211. Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1
  212. e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1) : Exit Sub
  213. Else
  214. Dim columnIndex As Integer = 6 : Dim cellBounds As System.Drawing.Rectangle = Dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  215. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  216. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd)
  217. Dim columnIndex1 As Integer = 13 : Dim cellBounds1 As System.Drawing.Rectangle = Dgv.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True)
  218. Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1
  219. e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1)
  220. End If
  221. End Sub
  222. Private Sub Dgv1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles Dgv1.RowPostPaint
  223. Dim linePen As New Pen(Color.Blue, 2)
  224. If e.RowIndex = Dgv1.Rows.Count - 1 Then
  225. Dim columnIndex As Integer = 0 : Dim cellBounds As System.Drawing.Rectangle = Dgv1.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  226. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  227. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd)
  228. Dim columnIndex1 As Integer = 24 : Dim cellBounds1 As System.Drawing.Rectangle = Dgv1.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True)
  229. Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1
  230. e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1)
  231. Dim columnIndex2 As Integer = 35 : Dim cellBounds2 As System.Drawing.Rectangle = Dgv1.GetCellDisplayRectangle(columnIndex2, e.RowIndex, True)
  232. Dim lineX2 As Integer = cellBounds2.Right - 1 : Dim lineYStart2 As Integer = e.RowBounds.Top : Dim lineYEnd2 As Integer = e.RowBounds.Bottom - 1
  233. e.Graphics.DrawLine(linePen, lineX2, lineYStart2, lineX2, lineYEnd2) : Exit Sub
  234. Else
  235. Dim columnIndex As Integer = 0 : Dim cellBounds As System.Drawing.Rectangle = Dgv1.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  236. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  237. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd)
  238. Dim columnIndex1 As Integer = 24 : Dim cellBounds1 As System.Drawing.Rectangle = Dgv1.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True)
  239. Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1
  240. e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1)
  241. Dim columnIndex2 As Integer = 35 : Dim cellBounds2 As System.Drawing.Rectangle = Dgv1.GetCellDisplayRectangle(columnIndex2, e.RowIndex, True)
  242. Dim lineX2 As Integer = cellBounds2.Right - 1 : Dim lineYStart2 As Integer = e.RowBounds.Top : Dim lineYEnd2 As Integer = e.RowBounds.Bottom - 1
  243. e.Graphics.DrawLine(linePen, lineX2, lineYStart2, lineX2, lineYEnd2)
  244. End If
  245. End Sub
  246. Private Sub 重讀_bt_Click(sender As Object, e As EventArgs) Handles 重讀_bt.Click
  247. Set_服務人員()
  248. End Sub
  249. Private Sub 薪資結構_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 薪資結構_ch.Click
  250. 薪資結構_ch.Checked = True : 成本結構_ch.Checked = False : Dgv.BringToFront()
  251. End Sub
  252. Private Sub 成本結構_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 成本結構_ch.Click
  253. 薪資結構_ch.Checked = False : 成本結構_ch.Checked = True : Dgv1.BringToFront()
  254. End Sub
  255. End Class