123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- Public Class 合約利潤預估表
- Private Sub Set_合約清單()
- Dim ds6 As New DataSet
- Dim 工資成本, 工資利潤, 材料成本, 材料利潤, 預估利潤, 總折讓 As Double
- 合約_dgv.DataSource = Nothing : ds6.Clear()
- 合約_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 合約_dgv.ColumnHeadersHeight = 40 : 合約_dgv.AllowUserToAddRows = False
- PA = 關鍵字搜尋_tb.Text : PA46 = 合約編號1_cb.Text
- SQL_合約清單_預估利潤()
-
- da.Fill(ds6) : 合約_dgv.DataSource = ds6.Tables(0) : conn.Close()
- Set_進度條顯示4() : Set_進度條顯示3() : Set_進度條顯示2() : Set_進度條顯示1()
- 合約_dgv.Columns(0).FillWeight = 120 : 合約_dgv.Columns(1).FillWeight = 250
- 合約_dgv.Columns("預估工資成本").FillWeight = 110 : 合約_dgv.Columns("預估工資報價").FillWeight = 110
- 合約_dgv.Columns("預估材料成本").FillWeight = 110 : 合約_dgv.Columns("預估材料報價").FillWeight = 110
- 合約_dgv.Columns("工程名稱_英").Visible = False : 合約_dgv.Columns("工程名稱_中").Visible = True
-
- 合約_dgv.Columns("工資利潤比").Visible = False : 合約_dgv.Columns("材料利潤比").Visible = False
- 合約_dgv.Columns("利潤比1").Visible = False : 合約_dgv.Columns("利潤比2").Visible = False
-
- 合約_dgv.Columns("預估工資成本").DefaultCellStyle.Format = "#,##0" : 合約_dgv.Columns("預估工資報價").DefaultCellStyle.Format = "#,##0"
- 合約_dgv.Columns("預估材料成本").DefaultCellStyle.Format = "#,##0" : 合約_dgv.Columns("預估材料報價").DefaultCellStyle.Format = "#,##0"
- 合約_dgv.Columns("總成本").DefaultCellStyle.Format = "#,##0" : 合約_dgv.Columns("總報價").DefaultCellStyle.Format = "#,##0"
- 合約_dgv.Columns("預估利潤").DefaultCellStyle.Format = "#,##0"
-
- 合約_dgv.Columns("預估工資成本").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("預估工資報價").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("預估材料成本").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("預估材料報價").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("總成本").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("總報價").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("預估利潤").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
-
- 合約_dgv.Columns("預估工資成本").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("預估工資報價").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("預估材料成本").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("預估材料報價").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("總成本").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("總報價").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 合約_dgv.Columns("預估利潤").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
-
- 工資成本 = 0 : 材料成本 = 0 : 工資利潤 = 0 : 材料利潤 = 0 : 預估利潤 = 0
- For i As Integer = 0 To 合約_dgv.Rows.Count - 1
- If 合約_dgv.Rows(i).Cells("預估利潤").Value < 0 Then : 合約_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink : End If
- 工資成本 += CLng(合約_dgv.Rows(i).Cells("預估工資成本").Value)
- 材料成本 += CLng(合約_dgv.Rows(i).Cells("預估材料成本").Value)
- 工資利潤 += CLng(合約_dgv.Rows(i).Cells("預估工資報價").Value)
- 材料利潤 += CLng(合約_dgv.Rows(i).Cells("預估材料報價").Value)
- 預估利潤 += CLng(合約_dgv.Rows(i).Cells("預估利潤").Value)
- Next
-
- 預估工資總成本_tb.Text = Strings.Format(工資成本, "#,##0") : 預估材料總成本_tb.Text = Strings.Format(材料成本, "#,##0") : 預估工資總報價_tb.Text = Strings.Format(工資利潤, "#,##0")
- 預估材料總報價_tb.Text = Strings.Format(材料利潤, "#,##0") : 預估利潤_tb.Text = Strings.Format(預估利潤, "#,##0") : 總報價_tb.Text = Strings.Format(工資利潤 + 材料利潤, "#,##0")
- 總成本_tb.Text = Strings.Format(工資成本 + 材料成本, "#,##0") : 累計折讓_tb.Text = Strings.Format(預估利潤 - ((工資利潤 + 材料利潤) - (工資成本 + 材料成本)), "#,##0")
- 總折讓 = 預估利潤 - ((工資利潤 + 材料利潤) - (工資成本 + 材料成本))
- If 工資利潤 = 0 Then : 利潤比1_tb.Text = "0 %" : Else
- 利潤比1_tb.Text = Strings.Format((1 - ((工資成本) / (工資利潤))) * 100, "#,##0") & " %"
- End If
- If 材料利潤 = 0 Then : 利潤比2_tb.Text = "0 %" : Else
- 利潤比2_tb.Text = Strings.Format((1 - ((材料成本) / (材料利潤))) * 100, "#,##0") & " %"
- End If
- If (材料利潤 + 工資利潤) = 0 Then : 利潤比3_tb.Text = "0 %" : Else
- 利潤比3_tb.Text = Strings.Format((1 - ((材料成本 + 工資成本) / (材料利潤 + 工資利潤))) * 100, "#,##0") & " %"
- End If
- If (材料利潤 + 工資利潤) = 0 Then : 利潤比4_tb.Text = "0 %" : Else
- 利潤比4_tb.Text = Strings.Format((1 - ((材料成本 + 工資成本) / (材料利潤 + 工資利潤 + 總折讓))) * 100, "#,##0") & " %"
- End If
- End Sub
- Private Sub Set_進度條顯示1()
- Dim Col As New DataGridViewProgressColumn With {
- .FillWeight = 55,
- .DataPropertyName = "利潤比"
- }
- Col.HeaderText = "工資利潤比(%)" : Col.Name = "容量" : Col.DataPropertyName = "工資利潤比"
- 合約_dgv.Columns.Insert(5, Col)
- End Sub
- Private Sub Set_進度條顯示2()
- Dim Col As New DataGridViewProgressColumn With {
- .FillWeight = 55,
- .DataPropertyName = "利潤比"
- }
- Col.HeaderText = "材料利潤比(%)" : Col.Name = "容量" : Col.DataPropertyName = "材料利潤比"
- 合約_dgv.Columns.Insert(8, Col)
- End Sub
- Private Sub Set_進度條顯示3()
- Dim Col As New DataGridViewProgressColumn With {
- .FillWeight = 55,
- .DataPropertyName = "利潤比"
- }
- Col.HeaderText = "利潤比 無折讓" : Col.Name = "容量" : Col.DataPropertyName = "利潤比1"
- 合約_dgv.Columns.Insert(11, Col)
- End Sub
- Private Sub Set_進度條顯示4()
- Dim Col As New DataGridViewProgressColumn With {
- .FillWeight = 55,
- .DataPropertyName = "利潤比"
- }
- Col.HeaderText = "利潤比 含折讓" : Col.Name = "容量" : Col.DataPropertyName = "利潤比2"
- 合約_dgv.Columns.Insert(13, Col)
- End Sub
- Private Sub 甲方條件下拉清單讀取()
- SQL合約條件讀取() : 合約編號1_cb.Items.Clear() : 合約編號1_cb.Items.Add("") : While (dr.Read()) : 合約編號1_cb.Items.Add(dr("約號甲方")) : End While : conn.Close()
- End Sub
- Private Sub 合約利潤預估表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- 分母 = 100 : 分段1 = 0.35 : 分段2 = 0.34 : 分段3 = 0.65 : 分段4 = 0.64 : 進度條後墜 = " %"
- 合約_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
- 預估工資總成本_tb.Text = "0" : 預估材料總成本_tb.Text = "0" : 預估工資總報價_tb.Text = "0" : 預估材料總報價_tb.Text = "0" : 預估利潤_tb.Text = "0"
- 總成本_tb.Text = "0" : 總報價_tb.Text = "0" : 利潤比1_tb.Text = "0 %" : 利潤比2_tb.Text = "0 %" : 利潤比3_tb.Text = "0 %" : 利潤比4_tb.Text = "0 %"
- End Sub
- Private Sub 合約利潤預估表_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
- 甲方條件下拉清單讀取() : Set_合約清單()
- End Sub
- Private Sub 工程日報表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
- MyModule1.虛擬桌面開啟()
- End Sub
- Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
- timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
- End Sub
- Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
- timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
- End Sub
- Private Sub 合約編號1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號1_cb.SelectedIndexChanged
- Set_合約清單()
- End Sub
- Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
- PA = 關鍵字搜尋_tb.Text : Set_合約清單()
- End Sub
- End Class
|