Нема описа
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

合約利潤預估表.vb 9.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. Public Class 合約利潤預估表
  2. Private Sub Set_合約清單()
  3. Dim ds6 As New DataSet
  4. Dim 工資成本, 工資利潤, 材料成本, 材料利潤, 預估利潤, 總折讓 As Double
  5. 合約_dgv.DataSource = Nothing : ds6.Clear()
  6. 合約_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  7. 合約_dgv.ColumnHeadersHeight = 40 : 合約_dgv.AllowUserToAddRows = False
  8. PA = 關鍵字搜尋_tb.Text : PA46 = 合約編號1_cb.Text
  9. SQL_合約清單_預估利潤()
  10. da.Fill(ds6) : 合約_dgv.DataSource = ds6.Tables(0) : conn.Close()
  11. Set_進度條顯示4() : Set_進度條顯示3() : Set_進度條顯示2() : Set_進度條顯示1()
  12. 合約_dgv.Columns(0).FillWeight = 120 : 合約_dgv.Columns(1).FillWeight = 250
  13. 合約_dgv.Columns("預估工資成本").FillWeight = 110 : 合約_dgv.Columns("預估工資報價").FillWeight = 110
  14. 合約_dgv.Columns("預估材料成本").FillWeight = 110 : 合約_dgv.Columns("預估材料報價").FillWeight = 110
  15. 合約_dgv.Columns("工程名稱_英").Visible = False : 合約_dgv.Columns("工程名稱_中").Visible = True
  16. 合約_dgv.Columns("工資利潤比").Visible = False : 合約_dgv.Columns("材料利潤比").Visible = False
  17. 合約_dgv.Columns("利潤比1").Visible = False : 合約_dgv.Columns("利潤比2").Visible = False
  18. 合約_dgv.Columns("預估工資成本").DefaultCellStyle.Format = "#,##0" : 合約_dgv.Columns("預估工資報價").DefaultCellStyle.Format = "#,##0"
  19. 合約_dgv.Columns("預估材料成本").DefaultCellStyle.Format = "#,##0" : 合約_dgv.Columns("預估材料報價").DefaultCellStyle.Format = "#,##0"
  20. 合約_dgv.Columns("總成本").DefaultCellStyle.Format = "#,##0" : 合約_dgv.Columns("總報價").DefaultCellStyle.Format = "#,##0"
  21. 合約_dgv.Columns("預估利潤").DefaultCellStyle.Format = "#,##0"
  22. 合約_dgv.Columns("預估工資成本").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  23. 合約_dgv.Columns("預估工資報價").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  24. 合約_dgv.Columns("預估材料成本").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  25. 合約_dgv.Columns("預估材料報價").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  26. 合約_dgv.Columns("總成本").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  27. 合約_dgv.Columns("總報價").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  28. 合約_dgv.Columns("預估利潤").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  29. 合約_dgv.Columns("預估工資成本").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  30. 合約_dgv.Columns("預估工資報價").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  31. 合約_dgv.Columns("預估材料成本").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  32. 合約_dgv.Columns("預估材料報價").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  33. 合約_dgv.Columns("總成本").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  34. 合約_dgv.Columns("總報價").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  35. 合約_dgv.Columns("預估利潤").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  36. 工資成本 = 0 : 材料成本 = 0 : 工資利潤 = 0 : 材料利潤 = 0 : 預估利潤 = 0
  37. For i As Integer = 0 To 合約_dgv.Rows.Count - 1
  38. If 合約_dgv.Rows(i).Cells("預估利潤").Value < 0 Then : 合約_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink : End If
  39. 工資成本 += CLng(合約_dgv.Rows(i).Cells("預估工資成本").Value)
  40. 材料成本 += CLng(合約_dgv.Rows(i).Cells("預估材料成本").Value)
  41. 工資利潤 += CLng(合約_dgv.Rows(i).Cells("預估工資報價").Value)
  42. 材料利潤 += CLng(合約_dgv.Rows(i).Cells("預估材料報價").Value)
  43. 預估利潤 += CLng(合約_dgv.Rows(i).Cells("預估利潤").Value)
  44. Next
  45. 預估工資總成本_tb.Text = Strings.Format(工資成本, "#,##0") : 預估材料總成本_tb.Text = Strings.Format(材料成本, "#,##0") : 預估工資總報價_tb.Text = Strings.Format(工資利潤, "#,##0")
  46. 預估材料總報價_tb.Text = Strings.Format(材料利潤, "#,##0") : 預估利潤_tb.Text = Strings.Format(預估利潤, "#,##0") : 總報價_tb.Text = Strings.Format(工資利潤 + 材料利潤, "#,##0")
  47. 總成本_tb.Text = Strings.Format(工資成本 + 材料成本, "#,##0") : 累計折讓_tb.Text = Strings.Format(預估利潤 - ((工資利潤 + 材料利潤) - (工資成本 + 材料成本)), "#,##0")
  48. 總折讓 = 預估利潤 - ((工資利潤 + 材料利潤) - (工資成本 + 材料成本))
  49. If 工資利潤 = 0 Then : 利潤比1_tb.Text = "0 %" : Else
  50. 利潤比1_tb.Text = Strings.Format((1 - ((工資成本) / (工資利潤))) * 100, "#,##0") & " %"
  51. End If
  52. If 材料利潤 = 0 Then : 利潤比2_tb.Text = "0 %" : Else
  53. 利潤比2_tb.Text = Strings.Format((1 - ((材料成本) / (材料利潤))) * 100, "#,##0") & " %"
  54. End If
  55. If (材料利潤 + 工資利潤) = 0 Then : 利潤比3_tb.Text = "0 %" : Else
  56. 利潤比3_tb.Text = Strings.Format((1 - ((材料成本 + 工資成本) / (材料利潤 + 工資利潤))) * 100, "#,##0") & " %"
  57. End If
  58. If (材料利潤 + 工資利潤) = 0 Then : 利潤比4_tb.Text = "0 %" : Else
  59. 利潤比4_tb.Text = Strings.Format((1 - ((材料成本 + 工資成本) / (材料利潤 + 工資利潤 + 總折讓))) * 100, "#,##0") & " %"
  60. End If
  61. End Sub
  62. Private Sub Set_進度條顯示1()
  63. Dim Col As New DataGridViewProgressColumn With {
  64. .FillWeight = 55,
  65. .DataPropertyName = "利潤比"
  66. }
  67. Col.HeaderText = "工資利潤比(%)" : Col.Name = "容量" : Col.DataPropertyName = "工資利潤比"
  68. 合約_dgv.Columns.Insert(5, Col)
  69. End Sub
  70. Private Sub Set_進度條顯示2()
  71. Dim Col As New DataGridViewProgressColumn With {
  72. .FillWeight = 55,
  73. .DataPropertyName = "利潤比"
  74. }
  75. Col.HeaderText = "材料利潤比(%)" : Col.Name = "容量" : Col.DataPropertyName = "材料利潤比"
  76. 合約_dgv.Columns.Insert(8, Col)
  77. End Sub
  78. Private Sub Set_進度條顯示3()
  79. Dim Col As New DataGridViewProgressColumn With {
  80. .FillWeight = 55,
  81. .DataPropertyName = "利潤比"
  82. }
  83. Col.HeaderText = "利潤比 無折讓" : Col.Name = "容量" : Col.DataPropertyName = "利潤比1"
  84. 合約_dgv.Columns.Insert(11, Col)
  85. End Sub
  86. Private Sub Set_進度條顯示4()
  87. Dim Col As New DataGridViewProgressColumn With {
  88. .FillWeight = 55,
  89. .DataPropertyName = "利潤比"
  90. }
  91. Col.HeaderText = "利潤比 含折讓" : Col.Name = "容量" : Col.DataPropertyName = "利潤比2"
  92. 合約_dgv.Columns.Insert(13, Col)
  93. End Sub
  94. Private Sub 甲方條件下拉清單讀取()
  95. SQL合約條件讀取() : 合約編號1_cb.Items.Clear() : 合約編號1_cb.Items.Add("") : While (dr.Read()) : 合約編號1_cb.Items.Add(dr("約號甲方")) : End While : conn.Close()
  96. End Sub
  97. Private Sub 合約利潤預估表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  98. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  99. 分母 = 100 : 分段1 = 0.35 : 分段2 = 0.34 : 分段3 = 0.65 : 分段4 = 0.64 : 進度條後墜 = " %"
  100. 合約_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  101. 預估工資總成本_tb.Text = "0" : 預估材料總成本_tb.Text = "0" : 預估工資總報價_tb.Text = "0" : 預估材料總報價_tb.Text = "0" : 預估利潤_tb.Text = "0"
  102. 總成本_tb.Text = "0" : 總報價_tb.Text = "0" : 利潤比1_tb.Text = "0 %" : 利潤比2_tb.Text = "0 %" : 利潤比3_tb.Text = "0 %" : 利潤比4_tb.Text = "0 %"
  103. End Sub
  104. Private Sub 合約利潤預估表_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  105. 甲方條件下拉清單讀取() : Set_合約清單()
  106. End Sub
  107. Private Sub 工程日報表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  108. MyModule1.虛擬桌面開啟()
  109. End Sub
  110. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  111. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  112. End Sub
  113. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  114. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  115. End Sub
  116. Private Sub 合約編號1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號1_cb.SelectedIndexChanged
  117. Set_合約清單()
  118. End Sub
  119. Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
  120. PA = 關鍵字搜尋_tb.Text : Set_合約清單()
  121. End Sub
  122. End Class