123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524 |
- Option Strict Off
- Imports System.IO
- Public Class 工程進度表
- ReadOnly ds5, ds6 As New DataSet
- Dim EDR, 選取位置, NUM1, A1, A2, A3, B2, B3 As Integer
- Dim 可加進度, 暫停計算, 放大 As Boolean
- Dim ESTR As String
- Private Sub Set_合約清單()
- 合約_dgv.DataSource = Nothing : ds6.Clear()
- 合約_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 合約_dgv.ColumnHeadersHeight = 25 : 合約_dgv.AllowUserToAddRows = False
- PA = 關鍵字搜尋_tb.Text : PA46 = 合約編號1_cb.Text : PA47 = 工程期1_ch.Text
- SQL_合約清單1()
- da.Fill(ds6) : 合約_dgv.DataSource = ds6.Tables(0) : conn.Close()
- 合約_dgv.Columns(0).FillWeight = 80 : 合約_dgv.Columns(5).FillWeight = 200 : 合約_dgv.Columns(26).FillWeight = 50
- 合約_dgv.Columns(27).FillWeight = 50 : 合約_dgv.Columns(28).FillWeight = 50
- For i As Integer = 1 To 29 : 合約_dgv.Columns(i).Visible = False : Next
- 合約_dgv.Columns(5).Visible = True : 合約_dgv.Columns(26).Visible = True : 合約_dgv.Columns(27).Visible = True : 合約_dgv.Columns(28).Visible = True
- End Sub
- Private Sub Set_進度清單()
- 合約2_dgv.DataSource = Nothing : ds5.Clear()
- 合約2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 合約2_dgv.ColumnHeadersHeight = 25 : 合約2_dgv.AllowUserToAddRows = False
- PA = 關鍵字搜尋_tb.Text : PA46 = 合約編號1_cb.Text
- SQL_進度清單()
- da.Fill(ds5) : 合約2_dgv.DataSource = ds5.Tables(0) : conn.Close()
- 合約2_dgv.Columns(1).Visible = False : 合約2_dgv.Columns(2).Visible = False : 合約2_dgv.Columns(3).Visible = False : 合約2_dgv.Columns(4).Visible = False
- 合約2_dgv.Columns(5).Visible = False : 合約2_dgv.Columns(6).Visible = False : 合約2_dgv.Columns(7).Visible = False : 合約2_dgv.Columns(8).Visible = False
- 合約2_dgv.Columns(9).Visible = False : 合約2_dgv.Columns(10).Visible = False
- 合約2_dgv.Columns(0).ReadOnly = True : 合約2_dgv.Columns("工程名稱_中").FillWeight = 250
- If 放大 = True Then
- 合約2_dgv.Columns("工程名稱_中").Visible = True
- Else
- 合約2_dgv.Columns("工程名稱_中").Visible = False
- End If
- End Sub
- Private Sub Set_進度明細清單()
- Dim ds4 As New DataSet
- 工程進度表_dgv.DataSource = Nothing : ds4.Clear()
- 工程進度表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 工程進度表_dgv.ColumnHeadersHeight = 53 : 工程進度表_dgv.AllowUserToAddRows = False
- 工程進度表_dgv.RowTemplate.Height = 20 : 工程進度表_dgv.RowTemplate.Height = 40
- PA = 合約編號_tb.Text : SQL_進度明細清單()
- da.Fill(ds4) : 工程進度表_dgv.DataSource = ds4.Tables(0) : conn.Close()
- 工程進度表_dgv.Columns(0).Visible = False : 工程進度表_dgv.Columns(1).Visible = False : 工程進度表_dgv.Columns(2).Visible = False : 工程進度表_dgv.Columns(8).Visible = False
- 工程進度表_dgv.Columns(9).Visible = False : 工程進度表_dgv.Columns(10).Visible = False : 工程進度表_dgv.Columns(11).Visible = False
- 工程進度表_dgv.Columns(2).FillWeight = 40 : 工程進度表_dgv.Columns(3).FillWeight = 35 : 工程進度表_dgv.Columns(4).FillWeight = 200 : 工程進度表_dgv.Columns(5).FillWeight = 70
- 工程進度表_dgv.Columns(6).FillWeight = 50 : 工程進度表_dgv.Columns(7).FillWeight = 70 : 工程進度表_dgv.Columns(12).FillWeight = 30 : 工程進度表_dgv.Columns(13).FillWeight = 30
- 工程進度表_dgv.Columns(14).FillWeight = 30 : 工程進度表_dgv.Columns(15).FillWeight = 30 : 工程進度表_dgv.Columns(16).FillWeight = 30
- 工程進度表_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
- 工程進度表_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
- 工程進度表_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
- 工程進度表_dgv.EditMode = DataGridViewEditMode.EditOnEnter ': 工程進度表_dgv.Columns("預計結束").ReadOnly = True
- If DGV位置2.Value >= 工程進度表_dgv.Rows.Count Then : DGV位置2.Value = 工程進度表_dgv.Rows.Count - 1 : End If
- If DGV位置2.Value > 0 Then : 工程進度表_dgv.CurrentCell = 工程進度表_dgv.Rows(DGV位置2.Value).Cells(3) : End If
- 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 執行主管下拉清單讀取()
- SQL執行主管下拉() : 帳號_cb.Items.Clear() : 職稱_cb.Items.Clear() : 工程執行主管_cb.Items.Clear()
- 帳號_cb.Items.Add("") : 職稱_cb.Items.Add("") : 工程執行主管_cb.Items.Add("")
- While (dr.Read()) : 帳號_cb.Items.Add(dr("帳號")) : 職稱_cb.Items.Add(dr("職稱")) : 工程執行主管_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
- HX_PGS_ERP_SYS.WindowState = 2
- A1 = 工程進度表_dgv.Location.X : A2 = 空間2.Location.X : B2 = 空間2.Location.Y : A3 = 空間2.Size.Width : B3 = 空間2.Size.Height
- 進度表刪除_bt.Enabled = False
- If CInt(登入人級別) <= 3 Then : 進度表刪除_bt.Enabled = True : ElseIf CInt(登入人級別) > 3 Then : 進度表刪除_bt.Enabled = True : End If
- 執行主管下拉清單讀取() : 甲方條件下拉清單讀取() : Set_合約清單() : Set_進度清單() : 工程進度表_Siz()
- End Sub
- Private Sub 工程進度表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
- MyModule1.虛擬桌面開啟() : HX_PGS_ERP_SYS.WindowState = 0
- End Sub
- Private Sub 工程進度表_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
- 工程進度表_Siz()
- End Sub
- Private Sub 工程進度表_Siz()
- MyModule1.清單字體大小調整()
- 合約_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
- 合約2_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
- 工程進度表_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
-
- A1 = 工程進度表_dgv.Location.X : A2 = 錨點1.Location.X : B2 = 空間2.Location.Y
- If 工程進度表_dgv.Visible = False Then : A3 = 空間2.Size.Width : B3 = 空間2.Size.Height : A3 -= (A2 - A1) : End If
- End Sub
- Private Sub 工程進度表_dgv_CellEnter(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles 工程進度表_dgv.CellEnter
- If 工程進度表_dgv.SelectedCells.Count = 1 Then
- If 工程進度表_dgv.SelectedCells(0).ColumnIndex = 7 Then : 工程進度表_dgv("預計天數", e.RowIndex).Value = ""
- ElseIf 工程進度表_dgv.SelectedCells(0).ColumnIndex = 6 Then : 工程進度表_dgv("預計結束", e.RowIndex).Value = ""
- End If
- End If
- End Sub
- Private Sub 工程進度表_dgv_CellEndEdit(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles 工程進度表_dgv.CellEndEdit
- If IsNumeric(工程進度表_dgv("預計天數", e.RowIndex).Value.ToString) = False Then : 工程進度表_dgv("預計天數", e.RowIndex).Value = "0" : End If
- Dim EU As String = 工程進度表_dgv("預計開始", e.RowIndex).Value.ToString : Dim EY As String = 工程進度表_dgv("預計結束", e.RowIndex).Value.ToString
- If EU = "" Then
- 工程進度表_dgv.Rows(e.RowIndex).Cells("預計結束").Value = "" : 工程進度表_dgv("預計天數", e.RowIndex).Value = "0"
- Else
- 日期1_dtp.Text = EU
- If 日期1_dtp.Value < 開始日期_dtp.Value Then
- If 系統語言 = "繁體中文" Then : MsgBox("輸入日期小於開始日期,無法計算!!") : Else : MsgBox("Tanggal input kurang dari tanggal mulai dan tidak dapat dihitung!!") : End If
- 工程進度表_dgv.Rows(e.RowIndex).Cells("預計開始").Value = ""
- Else
- If 工程進度表_dgv("預計天數", e.RowIndex).Value.ToString <> "" And 工程進度表_dgv("預計結束", e.RowIndex).Value.ToString = "" Then
- 工程進度表_dgv.Rows(e.RowIndex).Cells("預計開始").Value = Format(日期1_dtp.Value, "yyyy/MM/dd")
- 日期1_dtp.Value = 日期1_dtp.Value.AddDays(CInt(工程進度表_dgv("預計天數", e.RowIndex).Value.ToString))
- If 日期1_dtp.Value > 結束日期_dtp.Value Then
- If 系統語言 = "繁體中文" Then : MsgBox("輸入天數計算後大於結束日期,無法計算!!")
- Else : MsgBox("Jumlah hari yang dimasukkan lebih besar dari tanggal akhir dan tidak dapat dihitung!!") : End If
- 工程進度表_dgv.Rows(e.RowIndex).Cells("預計結束").Value = "" : 工程進度表_dgv("預計天數", e.RowIndex).Value = "0"
- Else
- 工程進度表_dgv.Rows(e.RowIndex).Cells("預計結束").Value = Format(日期1_dtp.Value, "yyyy/MM/dd")
- End If
- ElseIf 工程進度表_dgv.Rows(e.RowIndex).Cells("預計開始").Value.ToString <> "" And 工程進度表_dgv("預計結束", e.RowIndex).Value.ToString <> "" Then
- 日期1_dtp.Text = EY : 工程進度表_dgv.Rows(e.RowIndex).Cells("預計結束").Value = Format(日期1_dtp.Value, "yyyy/MM/dd")
- 工程進度表_dgv("預計天數", e.RowIndex).Value =
- DateDiff("d", 工程進度表_dgv.Rows(e.RowIndex).Cells("預計開始").Value.ToString, 工程進度表_dgv("預計結束", e.RowIndex).Value.ToString)
- End If
- End If
- End If
- End Sub
- Private Sub 工程進度表_dgv_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 工程進度表_dgv.CellMouseClick
- If 工程進度表_dgv.SelectedCells.Count = 1 Then
- If 工程進度表_dgv.SelectedCells(0).ColumnIndex = 12 Then
- 工程進度表_dgv(12, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = True : 工程進度表_dgv(13, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- 工程進度表_dgv(14, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False : 工程進度表_dgv(15, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- 工程進度表_dgv(16, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- ElseIf 工程進度表_dgv.SelectedCells(0).ColumnIndex = 13 Then
- 工程進度表_dgv(12, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False : 工程進度表_dgv(13, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = True
- 工程進度表_dgv(14, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False : 工程進度表_dgv(15, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- 工程進度表_dgv(16, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- ElseIf 工程進度表_dgv.SelectedCells(0).ColumnIndex = 14 Then
- 工程進度表_dgv(12, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False : 工程進度表_dgv(13, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- 工程進度表_dgv(14, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = True : 工程進度表_dgv(15, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- 工程進度表_dgv(16, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- ElseIf 工程進度表_dgv.SelectedCells(0).ColumnIndex = 15 Then
- 工程進度表_dgv(12, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False : 工程進度表_dgv(13, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- 工程進度表_dgv(14, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False : 工程進度表_dgv(15, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = True
- 工程進度表_dgv(16, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- ElseIf 工程進度表_dgv.SelectedCells(0).ColumnIndex = 16 Then
- 工程進度表_dgv(12, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False : 工程進度表_dgv(13, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- 工程進度表_dgv(14, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False : 工程進度表_dgv(15, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = False
- 工程進度表_dgv(16, 工程進度表_dgv.SelectedCells(0).RowIndex).Value = True
- End If
- End If
- End Sub
- Private Sub 時間區間計算()
- If 天_ch.Checked = True Then : 間距_nud.Value = DateDiff("d", 開始日期_dtp.Value, 結束日期_dtp.Value)
- If 間距_nud.Value > 55 Then : 天_ch.Checked = False : 周_ch.Checked = True : 月_ch.Checked = False
- 間距_nud.Value = DateDiff("ww", 開始日期_dtp.Value, 結束日期_dtp.Value) : End If
- ElseIf 周_ch.Checked = True Then : 間距_nud.Value = DateDiff("ww", 開始日期_dtp.Value, 結束日期_dtp.Value)
- If 間距_nud.Value > 55 Then : 天_ch.Checked = False : 周_ch.Checked = False : 月_ch.Checked = True
- 間距_nud.Value = DateDiff("m", 開始日期_dtp.Value, 結束日期_dtp.Value) : End If
- ElseIf 月_ch.Checked = True Then : 間距_nud.Value = DateDiff("m", 開始日期_dtp.Value, 結束日期_dtp.Value) : End If
- End Sub
- Private Sub 進度讀取1()
- If 合約_dgv.Rows.Count > 0 Then
- If Strings.Left(合約_dgv("合約編號", 選取位置).Value.ToString, 2) = "HX" Then : 合約編號_cb.Text = "HX" : Else : 合約編號_cb.Text = "PGS" : End If
- 合約編號1_tb.Text = 合約_dgv("約號甲方", 選取位置).Value.ToString : 合約編號2_tb.Text = 合約_dgv("約號排序", 選取位置).Value.ToString
- 合約編號3_tb.Text = 合約_dgv("約號尾序", 選取位置).Value.ToString : 合約編號_tb.Text = 合約_dgv("合約編號", 選取位置).Value.ToString
- 工程名稱_中_tb.Text = 合約_dgv("工程名稱_中", 選取位置).Value.ToString : 工程名稱_英_tb.Text = 合約_dgv("工程名稱_英", 選取位置).Value.ToString
- 開始日期_dtp.Value = 合約_dgv("立約日期", 選取位置).Value.ToString
- End If
- End Sub
- Private Sub 合約_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 合約_dgv.CellClick
- If e.RowIndex = -1 Then : Else : 選取位置 = e.RowIndex : 進度讀取1() : End If
- End Sub
- Private Sub 合約2_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 合約2_dgv.CellClick
- If e.RowIndex = -1 Then : Else : 暫停計算 = True
- If 放大 = True Then : 縮放2_bt.PerformClick() : End If
- 合約編號_cb.Text = 合約2_dgv("乙方", e.RowIndex).Value.ToString : 合約編號1_tb.Text = 合約2_dgv("甲方", e.RowIndex).Value.ToString
- 合約編號2_tb.Text = 合約2_dgv("立約號", e.RowIndex).Value.ToString : 合約編號3_tb.Text = 合約2_dgv("序號", e.RowIndex).Value.ToString
- 合約編號_tb.Text = 合約2_dgv("合約編號", e.RowIndex).Value.ToString : 工程名稱_中_tb.Text = 合約2_dgv("工程名稱_中", e.RowIndex).Value.ToString
- 工程名稱_英_tb.Text = 合約2_dgv("工程名稱_英", e.RowIndex).Value.ToString : 工程執行主管_cb.Text = 合約2_dgv("項目負責", e.RowIndex).Value.ToString
- 開始日期_dtp.Value = 合約2_dgv("開始日期", e.RowIndex).Value.ToString : 結束日期_dtp.Value = 合約2_dgv("結束日期", e.RowIndex).Value.ToString
- If 合約2_dgv("間距", e.RowIndex).Value.ToString = "天" Then : 天_ch.Checked = True : 周_ch.Checked = False : 月_ch.Checked = False
- ElseIf 合約2_dgv("間距", e.RowIndex).Value.ToString = "周" Then : 天_ch.Checked = False : 周_ch.Checked = True : 月_ch.Checked = False
- ElseIf 合約2_dgv("間距", e.RowIndex).Value.ToString = "月" Then : 天_ch.Checked = False : 周_ch.Checked = False : 月_ch.Checked = True : End If
- 暫停計算 = False : 時間區間計算() : Set_進度明細清單() : 可加進度 = True : 甘特圖_tb.PerformClick()
- End If
- End Sub
- Private Sub 工程進度表_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 工程進度表_dgv.CellClick
- If e.RowIndex = -1 Then : Else : DGV位置2.Value = e.RowIndex
- 選擇項_tb.Text = 工程進度表_dgv("排序", e.RowIndex).Value.ToString : 工程流水_tb.Text = 工程進度表_dgv("流水號", e.RowIndex).Value.ToString
- 項目_tb.Text = 工程進度表_dgv("項目", e.RowIndex).Value.ToString
- End If
- End Sub
- Private Sub 合約編號1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號1_cb.SelectedIndexChanged
- Set_合約清單() : Set_進度清單()
- End Sub
- Private Sub 工程執行主管_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 工程執行主管_cb.SelectedIndexChanged
- 帳號_cb.SelectedIndex = 工程執行主管_cb.SelectedIndex : 職稱_cb.SelectedIndex = 工程執行主管_cb.SelectedIndex
- End Sub
- Private Sub 縮放2_bt_Click(sender As Object, e As EventArgs) Handles 縮放2_bt.Click
- Dim NX, NY As Integer : NX = 合約2_dgv.Size.Width : NY = 合約2_dgv.Size.Height
- If 放大 = True Then
- 合約2_dgv.Size = New System.Drawing.Point(NX - 400, NY) : 放大 = False : 合約2_dgv.Columns("工程名稱_中").Visible = False
- Else
- 合約2_dgv.Size = New System.Drawing.Point(NX + 400, NY) : 放大 = True : 合約2_dgv.Columns("工程名稱_中").Visible = True
- End If
- End Sub
- Private Sub 開始日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 開始日期_dtp.ValueChanged
- If 暫停計算 = False Then : 時間區間計算() : Set_進度明細清單() : End If : 工期_nud.Value = DateDiff("d", 開始日期_dtp.Value, 結束日期_dtp.Value)
- End Sub
- Private Sub 結束日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 結束日期_dtp.ValueChanged
- If 暫停計算 = False Then : 時間區間計算() : Set_進度明細清單() : End If : 工期_nud.Value = DateDiff("d", 開始日期_dtp.Value, 結束日期_dtp.Value)
- End Sub
- Private Sub 天_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 天_ch.Click
- 天_ch.Checked = True : 周_ch.Checked = False : 月_ch.Checked = False : If 暫停計算 = False Then : 時間區間計算() : Set_進度明細清單() : End If
- End Sub
- Private Sub 周_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 周_ch.Click
- 天_ch.Checked = False : 周_ch.Checked = True : 月_ch.Checked = False : If 暫停計算 = False Then : 時間區間計算() : Set_進度明細清單() : End If
- End Sub
- Private Sub 月_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 月_ch.Click
- 天_ch.Checked = False : 周_ch.Checked = False : 月_ch.Checked = True : If 暫停計算 = False Then : 時間區間計算() : Set_進度明細清單() : End If
- End Sub
- Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
- PA = 關鍵字搜尋_tb.Text : Set_合約清單() : Set_進度清單()
- End Sub
- Private Sub 合約編號清單_bt_Click(sender As Object, e As EventArgs) Handles 合約編號清單_bt.Click
- If 合約_dgv.Rows.Count > 2999 Then
- If 系統語言 = "繁體中文" Then : MsgBox("清單數量超過3000個,清通知系統管理員修改程式!!")
- Else : MsgBox("Jumlah daftar melebihi 3000, dan administrator sistem diberitahu untuk memodifikasi program!!") : End If : Else
- For I As Integer = 0 To 3000 : PPBB(I) = "" : Next
- For I As Integer = 0 To 合約_dgv.Rows.Count - 1 : PPBB(I) = 合約_dgv("合約編號", I).Value.ToString : NN1 = I : Next
- 下拉清單_1.ShowDialog()
- For I As Integer = 0 To 合約_dgv.Rows.Count - 1 : If PPAA = 合約_dgv("合約編號", I).Value.ToString Then : 選取位置 = I : Exit For : End If : Next : 進度讀取1()
- End If
- End Sub
- Private Sub 工程進度表流水號()
- SQL_工程進度表_最後一筆資料()
- If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If
- conn.Close() : EDR += 1
- If EDR < 10 Then : ESTR = "PT" & "00000000" & EDR : ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PT" & "0000000" & EDR
- ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PT" & "000000" & EDR : ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PT" & "00000" & EDR
- ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PT" & "0000" & EDR : ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PT" & "000" & EDR
- ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PT" & "00" & EDR : ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "PT" & "0" & EDR
- ElseIf EDR > 99999999 Then : ESTR = "PT" & EDR : End If : PA9 = ESTR
- End Sub
- Private Sub 開立工程進度表_bt_Click(sender As Object, e As EventArgs) Handles 開立工程進度表_bt.Click
- Dim 合約編號條件 As Boolean = True
- If 合約編號_cb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有選擇我方公司!!") : Else : MsgBox("Silakan pilih perusahaan kami!!") : End If : 合約編號條件 = False : End If
- If 合約編號1_tb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有甲方公司英文縮寫!!") : Else : MsgBox("Silakan masukkan singkatan dari perusahaan Pihak A!!") : End If : 合約編號條件 = False : Else
- Dim d As Int32
- For index = 0 To 合約編號1_tb.Text.Length - 1
- d = Asc(合約編號1_tb.Text(index))
- Dim 可能不行 As Boolean = False
- If (d < 65 Or d > 90) Then : 可能不行 = True : End If 'c變數若在65~90是大寫的英文字母
- If 可能不行 = True Then
- If (d < 97 Or d > 122) Then : 可能不行 = True : Else : 可能不行 = False : End If 'c變數若在97~122是小寫的英文字母
- If 可能不行 = True Then '然後查表, c變數若在48~57, 表示它是數字,
- If (d < 48 Or d > 57) Then
- If 系統語言 = "繁體中文" Then : MsgBox("甲方公司簡稱需要英文或是數字,不可以是中文或其他符號!!")
- Else : MsgBox("Singkatan dari perusahaan Pihak A harus dalam bahasa Inggris atau angka, bukan dalam bahasa Cina atau simbol lainnya!!") : End If
- 合約編號條件 = False : Exit For : End If
- End If
- End If
- Next
- End If
- If 合約編號2_tb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有立約日期!!") : Else : MsgBox("Tidak ada tanggal kontrak!!") : End If : 合約編號條件 = False : End If
- Dim c As Int32 '然後查表, c變數若在48~57, 表示它是數字,
- For index = 0 To 合約編號2_tb.Text.Length - 1
- c = Asc(合約編號2_tb.Text(index))
- If c < 48 Or c > 57 Then
- If 系統語言 = "繁體中文" Then : MsgBox("立約日期只能是數字!!") : Else : MsgBox("Tanggal perjanjian hanya bisa berupa angka!!") : End If : 合約編號條件 = False : Exit For : Else
- If Len(合約編號2_tb.Text) <> 6 Then
- If 系統語言 = "繁體中文" Then : MsgBox("立約日期的格式為YYMMDD (年兩位,月兩位,日兩位),數字規格不符!!")
- Else : MsgBox("Format tanggal kontrak adalah YYMMDD (dua digit untuk tahun, dua digit untuk bulan, dan dua digit untuk hari), dan spesifikasi numerik tidak cocok!!") : End If
- 合約編號條件 = False : Exit For : End If
- End If
- Next
- If 合約編號3_tb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有合約序號!!") : Else : MsgBox("Tidak ada nomor kontrak!!") : End If : 合約編號條件 = False
- ElseIf IsNumeric(合約編號3_tb.Text) = False Then
- If 系統語言 = "繁體中文" Then : MsgBox("序號只能是數字!!") : Else : MsgBox("Nomor seri hanya bisa berupa angka!!") : End If : 合約編號條件 = False
- End If
- If 工程執行主管_cb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有選擇執行主管!!") : Else : MsgBox("Tidak ada direktur eksekutif yang dipilih!!") : End If : 合約編號條件 = False : End If
- If 工程名稱_中_tb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有工程名稱(中文)!!") : Else : MsgBox("Tidak ada nama proyek (Cina)!!") : End If : 合約編號條件 = False : End If
- If 工程名稱_英_tb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有工程名稱(英文)!!") : Else : MsgBox("Tidak ada nama proyek (Bahasa Inggris)!!") : End If : 合約編號條件 = False : End If
- If 合約編號條件 = True Then
- SQL_工程責任表_最後一筆資料()
- If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If
- conn.Close() : EDR += 1
- If EDR < 10 Then : ESTR = "PR" & "00000000" & EDR : ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PR" & "0000000" & EDR
- ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PR" & "000000" & EDR : ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PR" & "00000" & EDR
- ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PR" & "0000" & EDR : ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PR" & "000" & EDR
- ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PR" & "00" & EDR : ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "PR" & "0" & EDR
- ElseIf EDR > 99999999 Then : ESTR = "PR" & EDR : End If : PA9 = ESTR
-
- PA = 合約編號_tb.Text : PA2 = 工程執行主管_cb.Text : PA3 = 帳號_cb.Text : PA4 = 職稱_cb.Text : PA5 = 工程名稱_中_tb.Text : PA6 = 工程名稱_英_tb.Text
- PA7 = Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd") : PA8 = Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd")
- If 天_ch.Checked = True Then : PA1 = "天" : ElseIf 周_ch.Checked = True Then : PA1 = "周" : ElseIf 月_ch.Checked = True Then : PA1 = "月" : End If
- SQL_工程責任表_資料重複認證()
- If dr.Read() Then : If 系統語言 = "繁體中文" Then : MsgBox("工程進度表重複!!") : Else : MsgBox("Jadwal proyek duplikat!!") : End If : Else
- SQL_工程責任表_新增資料()
- 工程進度表流水號()
- PA = 合約編號_tb.Text : PA2 = "001" : PA3 = "1" : PA4 = "" : PA5 = "" : PA6 = "" : PA7 = ""
- PA8 = 合約編號_cb.Text : PA12 = 合約編號1_tb.Text : PA10 = 合約編號2_tb.Text : PA11 = 合約編號3_tb.Text
- SQL_工程進度表_新增資料()
-
- Set_進度清單() : Set_進度明細清單()
- 可加進度 = True
- End If
- End If
- End Sub
- Private Sub 編輯清單_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 編輯清單_ch.Click
- If 編輯清單_ch.Checked = False Then
- A3 = 空間2.Size.Width : B3 = 空間2.Size.Height
- 工程進度表_dgv.Visible = False : 空間2.Location = New System.Drawing.Point(A1, B2) : 空間2.Size = New System.Drawing.Point((A2 - A1) + A3, B3)
- Else
- 工程進度表_dgv.Visible = True : 空間2.Location = New System.Drawing.Point(A2, B2) : 空間2.Size = New System.Drawing.Point(A3, B3)
- End If
- End Sub
- Private Sub 工期_nud_ValueChanged(sender As Object, e As EventArgs) Handles 工期_nud.ValueChanged
- 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(工期_nud.Value)
- End Sub
- Private Sub 翻譯_bt_Click(sender As Object, e As EventArgs) Handles 翻譯_bt.Click
- If 項目_tb.Text = "" Then : If 系統語言 = "繁體中文" Then : MsgBox("沒有資料!!") : Else : MsgBox("Tidak ada Informasi!!") : End If : Else
- 翻譯 = Replace(項目_tb.Text, vbCrLf, " ") : MyModule2.執行翻譯() : 等待翻譯_tim.Enabled = True
- End If
- End Sub
- Private Sub 等待翻譯_tim_Tick(sender As Object, e As EventArgs) Handles 等待翻譯_tim.Tick
- Dim Str2 As String = System.Windows.Forms.Application.StartupPath : Dim stringReader As String : Dim fileReader As StreamReader
- If File.Exists("ch.txt") Then
- 等待翻譯_tim.Enabled = False
- fileReader = My.Computer.FileSystem.OpenTextFileReader(Str2 & "\ch.txt") : stringReader = fileReader.ReadLine()
- 工程進度表_dgv.Rows(DGV位置2.Value).Cells("項目").Value = stringReader : fileReader.Close()
- fileReader = My.Computer.FileSystem.OpenTextFileReader(Str2 & "\in.txt") : stringReader = fileReader.ReadLine()
- 工程進度表_dgv.Rows(DGV位置2.Value).Cells("項目").Value = 工程進度表_dgv.Rows(DGV位置2.Value).Cells("項目").Value & vbCrLf & " " & stringReader : fileReader.Close()
- If 系統語言 = "繁體中文" Then : MsgBox("翻譯完成!!") : Else : MsgBox("Terjemahan Selesai!!") : End If
- ElseIf File.Exists(Str2 & "\ch.txt") Then
- 等待翻譯_tim.Enabled = False
- fileReader = My.Computer.FileSystem.OpenTextFileReader(Str2 & "\ch.txt") : stringReader = fileReader.ReadLine()
- 工程進度表_dgv.Rows(DGV位置2.Value).Cells("項目").Value = stringReader : fileReader.Close()
- fileReader = My.Computer.FileSystem.OpenTextFileReader(Str2 & "\in.txt") : stringReader = fileReader.ReadLine()
- 工程進度表_dgv.Rows(DGV位置2.Value).Cells("項目").Value = 工程進度表_dgv.Rows(DGV位置2.Value).Cells("項目").Value & vbCrLf & " " & stringReader : fileReader.Close()
- If 系統語言 = "繁體中文" Then : MsgBox("翻譯完成!!") : Else : MsgBox("Terjemahan Selesai!!") : End If
- End If
- End Sub
- Private Sub TW_ch_CheckedChanged(sender As Object, e As EventArgs) Handles TW_ch.Click
- TW_ch.Checked = True : IN_ch.Checked = False : TW = TW_ch.Checked : EN = IN_ch.Checked
- End Sub
- Private Sub IN_ch_CheckedChanged(sender As Object, e As EventArgs) Handles IN_ch.Click
- TW_ch.Checked = False : IN_ch.Checked = True : TW = TW_ch.Checked : EN = IN_ch.Checked
- End Sub
- Private Sub 進度表刪除_bt_Click(sender As Object, e As EventArgs) Handles 進度表刪除_bt.Click
- If 合約編號_tb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("請先選擇要刪除的工程進度表!!") : Else : MsgBox("Silakan pilih jadwal proyek yang akan dihapus terlebih dahulu!!") : End If
- Else
- Dim SS As String
- If 系統語言 = "繁體中文" Then : SS = "是否要刪除這筆資料?" : Else : SS = "Apakah Anda ingin menghapus data ini?" : End If
- Dim aa As MsgBoxResult = MsgBox(SS, MsgBoxStyle.OkCancel)
- If aa = MsgBoxResult.Ok Then
- Dim SS1 As String
- If 系統語言 = "繁體中文" Then : SS1 = "確定刪除資料請輸入 [YES] !!" : Else : SS1 = "Silakan masukkan [YES] untuk mengonfirmasi penghapusan data!!" : End If
- Dim SSA As String = InputBox(SS1)
- If SSA = "YES" Then
- PA = 合約編號_tb.Text
- SQL_工程進度表_刪除總表2() : SQL_工程進度表_刪除總表1() : SQL_工程進度表_刪除總表3()
- If 系統語言 = "繁體中文" Then : MsgBox("刪除完成!!") : Else : MsgBox("Hapus selesai!!") : End If : Set_進度清單()
- End If
- End If
- End If
- End Sub
-
- Private Sub 新增資料1_bt_Click(sender As Object, e As EventArgs) Handles 新增資料1_bt.Click
- If 可加進度 = False Then
- If 系統語言 = "繁體中文" Then : MsgBox("請先開立工程進度表,或是選擇已經開立的工程進度表!!")
- Else : MsgBox("Silakan tambahkan jadwal proyek terlebih dahulu, atau pilih jadwal proyek yang ada!!") : End If
- Else
- Dim SS, SS1 As String
- If 系統語言 = "繁體中文" Then : SS = "請輸入要新增幾行空白欄未!! (請輸入數字)?" : SS1 = "你輸入的不是數字"
- Else : SS = "Silakan tulis kolom kosong yang ingin Anda tambahkan!! (Silakan masukkan angka)?" : SS1 = "yang kamu masukkan bukan angka" : End If
- PA20 = InputBox(SS)
- If IsNumeric(PA20) = False Then : MsgBox(SS1) : Else
- 工程進度表存檔()
- For ia As Integer = 1 To PA20
- 工程進度表流水號()
- PA = 合約編號_tb.Text : PA3 = "" : PA4 = "" : PA5 = "" : PA6 = "" : PA7 = ""
- PA8 = 合約編號_cb.Text : PA12 = 合約編號1_tb.Text : PA10 = 合約編號2_tb.Text : PA11 = 合約編號3_tb.Text
- If 選擇項_tb.Text = "" Then
- SQL_工程進度表_最後一筆排序()
- If dr.Read() Then : PA2 = dr("排序") : Else : PA2 = "00" : End If : conn.Close() : NUM1 = Double.Parse(PA2) + 1
- If NUM1 < 10 Then : PA2 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA2 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA2 = NUM1 : End If
- Else
- PA2 = 選擇項_tb.Text & "-1"
- End If
- SQL_工程進度表_新增資料() : Set_進度明細清單()
- Next : 甘特圖_tb.PerformClick()
- For I As Integer = 0 To 工程進度表_dgv.Rows.Count - 1
- If I < 10 Then : 工程進度表_dgv.Rows(I).Cells("排序").Value = "00" & I
- ElseIf I > 9 And I < 100 Then : 工程進度表_dgv.Rows(I).Cells("排序").Value = "0" & I
- ElseIf I > 99 Then : 工程進度表_dgv.Rows(I).Cells("排序").Value = I
- End If
- Next : 工程進度表存檔()
- End If
- End If
- End Sub
- Private Sub 排序1_bt_Click(sender As Object, e As EventArgs) Handles 排序1_bt.Click
- If 可加進度 = False Then
- If 系統語言 = "繁體中文" Then : MsgBox("請先開立工程進度表,或是選擇已經開立的工程進度表!!")
- Else : MsgBox("Silakan tambahkan jadwal proyek terlebih dahulu, atau pilih jadwal proyek yang ada!!") : End If : Else
- If 工程進度表_dgv.Rows.Count > 0 Then
- If 工程進度表_dgv.Columns(2).Visible = False Then : 工程進度表_dgv.Columns(2).Visible = True : Else : 工程進度表_dgv.Columns(2).Visible = False : End If : 甘特圖_tb.PerformClick()
- End If
- End If
- End Sub
- Private Sub 工程進度表存檔()
- For i As Integer = 0 To 工程進度表_dgv.Rows.Count - 1
- PA2 = 工程進度表_dgv.Rows(i).Cells("排序").Value.ToString : PA3 = 工程進度表_dgv.Rows(i).Cells("項次").Value.ToString
- PA4 = 工程進度表_dgv.Rows(i).Cells("項目").Value.ToString : PA5 = 工程進度表_dgv.Rows(i).Cells("預計開始").Value.ToString
- PA6 = 工程進度表_dgv.Rows(i).Cells("預計天數").Value.ToString : PA7 = 工程進度表_dgv.Rows(i).Cells("預計結束").Value.ToString
- PA9 = 工程進度表_dgv.Rows(i).Cells("流水號").Value.ToString : BL1 = 工程進度表_dgv.Rows(i).Cells("紅").Value
- BL2 = 工程進度表_dgv.Rows(i).Cells("藍").Value : BL3 = 工程進度表_dgv.Rows(i).Cells("綠").Value
- BL4 = 工程進度表_dgv.Rows(i).Cells("黃").Value : BL5 = 工程進度表_dgv.Rows(i).Cells("紫").Value
- SQL_工程進度表_修改資料()
- Next
- End Sub
- Private Sub 工程進度表存檔_bt_Click(sender As Object, e As EventArgs) Handles 工程進度表存檔_bt.Click
- If 可加進度 = False Then
- If 系統語言 = "繁體中文" Then : MsgBox("請先開立工程進度表,或是選擇已經開立的工程進度表!!")
- Else : MsgBox("Silakan tambahkan jadwal proyek terlebih dahulu, atau pilih jadwal proyek yang ada!!") : End If : Else
- 甘特圖_tb.PerformClick() : 工程進度表存檔() : If 系統語言 = "繁體中文" Then : MsgBox("存檔完成!!") : Else : MsgBox("Arsip selesai!!") : End If
- End If
- End Sub
- Private Sub 進度表選擇刪除_bt_Click(sender As Object, e As EventArgs) Handles 進度表選擇刪除_bt.Click
- If 可加進度 = False Then
- If 系統語言 = "繁體中文" Then : MsgBox("請先開立工程進度表,或是選擇已經開立的工程進度表!!")
- Else : MsgBox("Silakan tambahkan jadwal proyek terlebih dahulu, atau pilih jadwal proyek yang ada!!") : End If : Else
- If 工程流水_tb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("請先選擇要刪除的資料是哪一筆!!") : Else : MsgBox("Silakan pilih data mana yang akan dihapus terlebih dahulu!!") : End If : Else
- 工程進度表存檔() : PA9 = 工程流水_tb.Text : SQL_工程進度表_刪除資料() : Set_進度明細清單() : 甘特圖_tb.PerformClick() : Set_進度清單() : End If
- End If
- End Sub
- Private Sub 格式存檔_bt_Click(sender As Object, e As EventArgs) Handles 格式存檔_bt.Click
- If 可加進度 = False Then
- If 系統語言 = "繁體中文" Then : MsgBox("請先開立工程進度表,或是選擇已經開立的工程進度表!!")
- Else : MsgBox("Silakan tambahkan jadwal proyek terlebih dahulu, atau pilih jadwal proyek yang ada!!") : End If : Else
- PA = 合約編號_tb.Text : PA2 = 工程執行主管_cb.Text : PA3 = 帳號_cb.Text : PA4 = 職稱_cb.Text : PA5 = 工程名稱_中_tb.Text : PA6 = 工程名稱_英_tb.Text
- PA7 = Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd") : PA8 = Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd")
- If 天_ch.Checked = True Then : PA1 = "天" : ElseIf 周_ch.Checked = True Then : PA1 = "周" : ElseIf 月_ch.Checked = True Then : PA1 = "月" : End If
- SQL_工程責任表_修改資料() : Set_進度清單()
- End If
- End Sub
- Private Sub 甘特圖_tb_Click(sender As Object, e As EventArgs) Handles 甘特圖_tb.Click
- If 工程進度表_dgv.Rows.Count = 0 Then : If 系統語言 = "繁體中文" Then : MsgBox("請先選擇合約號!!") : Else : MsgBox("Silakan pilih nomor kontrak terlebih dahulu!!") : End If : Else
- With GanttChart1
- .FromDate = New Date(2007, 1, 1)
- .ToDate = New Date(2007, 1, 31)
- Dim lst As New List(Of BarInformation)
- lst.Clear()
- .RemoveBars()
- End With
- Dim 主年1, 主月1, 主日1, 主年2, 主月2, 主日2, 次年1, 次月1, 次日1, 次年2, 次月2, 次日2 As Integer : Dim 項目 As String
- 主年1 = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 4) : 主月1 = Strings.Mid(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 6, 2) : 主日1 = "1"
- 主年2 = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 4) : 主月2 = Strings.Mid(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 6, 2)
- 主日2 = Strings.Right(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 2)
- With GanttChart1
- .FromDate = New Date(主年1, 主月1, 主日1)
- .ToDate = New Date(主年2, 主月2, 主日2)
- Dim lst As New List(Of BarInformation)
- For I As Integer = 0 To 工程進度表_dgv.Rows.Count - 1
- If 工程進度表_dgv("預計開始", I).Value.ToString = "" Or 工程進度表_dgv("預計結束", I).Value.ToString = "" Then
- 項目 = 工程進度表_dgv("項次", I).Value.ToString & " - " & 工程進度表_dgv("項目", I).Value.ToString
- Else
- 項目 = 工程進度表_dgv("項次", I).Value.ToString & " - " & 工程進度表_dgv("項目", I).Value.ToString & vbCrLf & " " &
- Strings.Right(工程進度表_dgv("預計開始", I).Value.ToString, 5) & "~" & Strings.Right(工程進度表_dgv("預計結束", I).Value.ToString, 5)
- End If
- If 工程進度表_dgv("預計開始", I).Value.ToString = "" Or 工程進度表_dgv("預計結束", I).Value.ToString = "" Then
- 次年1 = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 4) : 次月1 = Strings.Mid(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 6, 2) : 次日1 = "1"
- 次年2 = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 4) : 次月2 = Strings.Mid(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 6, 2) : 次日2 = "1"
- Else
- 次年1 = Strings.Left(工程進度表_dgv("預計開始", I).Value.ToString, 4) : 次月1 = Strings.Mid(工程進度表_dgv("預計開始", I).Value.ToString, 6, 2)
- 次日1 = Strings.Right(工程進度表_dgv("預計開始", I).Value.ToString, 2) : 次年2 = Strings.Left(工程進度表_dgv("預計結束", I).Value.ToString, 4)
- 次月2 = Strings.Mid(工程進度表_dgv("預計結束", I).Value.ToString, 6, 2) : 次日2 = Strings.Right(工程進度表_dgv("預計結束", I).Value.ToString, 2)
- End If
- If 工程進度表_dgv("紅", I).Value = True And 工程進度表_dgv("藍", I).Value = False And 工程進度表_dgv("綠", I).Value = False And
- 工程進度表_dgv("黃", I).Value = False And 工程進度表_dgv("紫", I).Value = False Then
- lst.Add(New BarInformation(項目, New Date(次年1, 次月1, 次日1), New Date(次年2, 次月2, 次日2), Color.Red, Color.Gray, I))
- ElseIf 工程進度表_dgv("紅", I).Value = False And 工程進度表_dgv("藍", I).Value = True And 工程進度表_dgv("綠", I).Value = False And
- 工程進度表_dgv("黃", I).Value = False And 工程進度表_dgv("紫", I).Value = False Then
- lst.Add(New BarInformation(項目, New Date(次年1, 次月1, 次日1), New Date(次年2, 次月2, 次日2), Color.DeepSkyBlue, Color.Gray, I))
- ElseIf 工程進度表_dgv("紅", I).Value = False And 工程進度表_dgv("藍", I).Value = False And 工程進度表_dgv("綠", I).Value = True And
- 工程進度表_dgv("黃", I).Value = False And 工程進度表_dgv("紫", I).Value = False Then
- lst.Add(New BarInformation(項目, New Date(次年1, 次月1, 次日1), New Date(次年2, 次月2, 次日2), Color.LimeGreen, Color.Gray, I))
- ElseIf 工程進度表_dgv("紅", I).Value = False And 工程進度表_dgv("藍", I).Value = False And 工程進度表_dgv("綠", I).Value = False And
- 工程進度表_dgv("黃", I).Value = True And 工程進度表_dgv("紫", I).Value = False Then
- lst.Add(New BarInformation(項目, New Date(次年1, 次月1, 次日1), New Date(次年2, 次月2, 次日2), Color.Yellow, Color.Gray, I))
- ElseIf 工程進度表_dgv("紅", I).Value = False And 工程進度表_dgv("藍", I).Value = False And 工程進度表_dgv("綠", I).Value = False And
- 工程進度表_dgv("黃", I).Value = False And 工程進度表_dgv("紫", I).Value = True Then
- lst.Add(New BarInformation(項目, New Date(次年1, 次月1, 次日1), New Date(次年2, 次月2, 次日2), Color.DarkOrchid, Color.Gray, I))
- ElseIf 工程進度表_dgv("紅", I).Value = False And 工程進度表_dgv("藍", I).Value = False And 工程進度表_dgv("綠", I).Value = False And
- 工程進度表_dgv("黃", I).Value = False And 工程進度表_dgv("紫", I).Value = False Then : 工程進度表_dgv("綠", I).Value = True
- lst.Add(New BarInformation(項目, New Date(次年1, 次月1, 次日1), New Date(次年2, 次月2, 次日2), Color.LimeGreen, Color.Gray, I))
- End If
- Next
- For Each bar As BarInformation In lst
- .AddChartBar(bar.RowText, bar, bar.FromTime, bar.ToTime, bar.Color, bar.HoverColor, bar.Index)
- Next
- End With
- End If
- End Sub
- Private Sub 導成圖片_bt_Click(sender As Object, e As EventArgs) Handles 導成圖片_bt.Click
- SaveImage(GanttChart1)
- End Sub
- Private Sub SaveImage(ByVal gantt As GanttChart)
- '----圖像存檔---------
- Dim SS, SS1, SS2, SS3 As String
- If 系統語言 = "繁體中文" Then : SS = "將甘特圖保存到以下路徑?" : SS1 = "甘特圖片存檔" : SS2 = "甘特圖.jpg" : SS3 = "保存完成"
- Else : SS = "Simpan bagan Gantt ke jalur berikut?" : SS1 = "Arsip Gambar Gantt" : SS2 = "Bagan Gantt.jpg" : SS3 = "Simpan selesai" : End If
- Dim filePath As String = InputBox(SS, SS1, My.Computer.FileSystem.SpecialDirectories.Desktop & "\" & 合約編號_tb.Text & SS2)
- If filePath.Length = 0 Then Exit Sub
- gantt.SaveImage(filePath)
- MsgBox(SS3, MsgBoxStyle.Information)
- End Sub
- End Class
|