Sin descripción
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 29KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. Imports System.IO
  2. Public Class 專案及會議提案
  3. Dim 圖片資料庫指定, WW(14), WA(14) As String
  4. Dim DGVX As Integer
  5. Private Sub Set_會議記錄()
  6. Dim ds6 As New DataSet : ds6.Clear()
  7. 會議記錄表_dgv.DataSource = Nothing
  8. 會議記錄表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  9. 會議記錄表_dgv.ColumnHeadersHeight = 25 : 會議記錄表_dgv.AllowUserToAddRows = False : 會議記錄表_dgv.RowTemplate.Height = 45
  10. 會議記錄表2_dgv.DataSource = Nothing
  11. 會議記錄表2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  12. 會議記錄表2_dgv.ColumnHeadersHeight = 25 : 會議記錄表2_dgv.AllowUserToAddRows = False : 會議記錄表2_dgv.RowTemplate.Height = 45
  13. If 已完成資料顯示_ch.Checked = False Then : SQL2 = " WHERE 已完成 = 0 " : Else : SQL2 = " WHERE 已完成 = 1 " : End If
  14. If 通過_ch.Checked = True And 取消_ch.Checked = False Then : SQL3 = " AND (核准狀態 NOT LIKE N'取消' OR 核准狀態 IS NULL) "
  15. ElseIf 通過_ch.Checked = False And 取消_ch.Checked = True Then : SQL3 = " AND (核准狀態 NOT LIKE N'通過' OR 核准狀態 IS NULL) "
  16. Else SQL3 = "" : End If : SQL2 = SQL2 & SQL3
  17. SQL_會議記錄清單()
  18. da.Fill(ds6) : 會議記錄表_dgv.DataSource = ds6.Tables(0) : 會議記錄表2_dgv.DataSource = ds6.Tables(0) : conn.Close()
  19. Dim ds7 As New DataSet : 會議記錄表1_dgv.DataSource = Nothing : ds7.Clear()
  20. 會議記錄表1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  21. 會議記錄表1_dgv.ColumnHeadersHeight = 25 : 會議記錄表1_dgv.AllowUserToAddRows = False : 會議記錄表1_dgv.RowTemplate.Height = 45
  22. For i As Integer = 0 To 會議記錄表2_dgv.Columns.Count - 1 : 會議記錄表2_dgv.Columns(i).Visible = False : Next : 會議記錄表2_dgv.Columns(3).Visible = True
  23. SQL2 = " WHERE 長期執行 = 1 "
  24. SQL_會議記錄清單()
  25. da.Fill(ds7) : 會議記錄表1_dgv.DataSource = ds7.Tables(0) : conn.Close()
  26. Set_會議記錄格式()
  27. End Sub
  28. Private Sub Set_會議記錄格式()
  29. If 會議記錄表_dgv.Rows.Count > 0 Then
  30. 會議記錄表_dgv.Columns(0).Visible = False : 會議記錄表_dgv.Columns(2).Visible = False : 會議記錄表_dgv.Columns(4).Visible = False : 會議記錄表_dgv.Columns(11).Visible = False
  31. 會議記錄表_dgv.Columns(1).FillWeight = 60 : 會議記錄表_dgv.Columns(3).FillWeight = 180 : 會議記錄表_dgv.Columns(8).FillWeight = 120 : 會議記錄表_dgv.Columns("核准").Visible = False
  32. 會議記錄表_dgv.Columns(9).FillWeight = 40 : 會議記錄表_dgv.Columns(10).FillWeight = 40 : 會議記錄表_dgv.Columns("核准狀態").FillWeight = 50
  33. For i As Integer = 0 To 13 : 會議記錄表_dgv.Columns(i).ReadOnly = True : Next
  34. End If
  35. If 會議記錄表1_dgv.Rows.Count > 0 Then
  36. 會議記錄表1_dgv.Columns(0).Visible = False : 會議記錄表1_dgv.Columns(2).Visible = False : 會議記錄表1_dgv.Columns(4).Visible = False : 會議記錄表1_dgv.Columns(11).Visible = False
  37. 會議記錄表1_dgv.Columns(1).FillWeight = 60 : 會議記錄表1_dgv.Columns(3).FillWeight = 180 : 會議記錄表1_dgv.Columns(8).FillWeight = 120 : 會議記錄表1_dgv.Columns("核准").Visible = False
  38. 會議記錄表1_dgv.Columns(9).FillWeight = 40 : 會議記錄表1_dgv.Columns(10).FillWeight = 40 : 會議記錄表1_dgv.Columns("核准狀態").FillWeight = 50
  39. For i As Integer = 0 To 13 : 會議記錄表1_dgv.Columns(i).ReadOnly = True : Next
  40. End If
  41. End Sub
  42. Private Sub Set_會議執行()
  43. Dim ds6 As New DataSet : 執行人_dgv.DataSource = Nothing : ds6.Clear()
  44. 執行人_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  45. 執行人_dgv.ColumnHeadersHeight = 25 : 執行人_dgv.AllowUserToAddRows = False
  46. SQL_會議決議執行人()
  47. da.Fill(ds6) : 執行人_dgv.DataSource = ds6.Tables(0) : conn.Close()
  48. 執行人_dgv.Columns(0).Visible = False : 執行人_dgv.Columns(1).FillWeight = 40
  49. For i As Integer = 0 To 1 : 執行人_dgv.Columns(i).ReadOnly = True : Next
  50. End Sub
  51. Private Sub Set_會議圖片()
  52. Dim ds6 As New DataSet : 圖片清單_dgv.DataSource = Nothing : ds6.Clear()
  53. 圖片清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  54. 圖片清單_dgv.ColumnHeadersHeight = 25 : 圖片清單_dgv.AllowUserToAddRows = False
  55. If 圖片庫_tb.Text = "" Then : 圖片庫 = 圖片資料庫指定 : Else : 圖片庫 = 圖片庫_tb.Text : End If
  56. SQL_連線字串_圖片資料庫() : SQL_會議圖片()
  57. da.Fill(ds6) : 圖片清單_dgv.DataSource = ds6.Tables(0) : conn.Close()
  58. 圖片清單_dgv.Columns(0).ReadOnly = True
  59. If 圖片清單_dgv.Rows.Count > 0 Then : DGVX = 0 : 圖片清單讀取() : Else
  60. 圖片_pb.Image = Nothing : 圖片1_pb.Image = Nothing : 圖片_P.BringToFront()
  61. 圖片1_pb.Image = My.Resources.無檔案 : 圖片_pb.SizeMode = 4
  62. End If
  63. End Sub
  64. Private Sub 姓名下拉表單資料載入()
  65. PA1 = "%%" : SQL_會議記錄_姓名_下拉清單() : 執行人_cb.Items.Clear() : 執行人_cb.Items.Add("") : 執行人_cb.Items.Add("全員")
  66. While (dr.Read()) : 執行人_cb.Items.Add(dr("姓名")) : End While : conn.Close()
  67. End Sub
  68. Private Sub 執行時間下拉表單資料載入()
  69. 執行時間_cb.Items.Clear() : SQL_會議記錄_執行時間_下拉清單() : 執行時間_cb.Items.Add("") : While (dr.Read()) : 執行時間_cb.Items.Add(dr("執行時間")) : End While : conn.Close()
  70. End Sub
  71. Private Sub 預計完成下拉表單資料載入()
  72. 預計完成_cb.Items.Clear() : SQL_會議記錄_預計完成_下拉清單() : 執行時間_cb.Items.Add("") : While (dr.Read()) : 預計完成_cb.Items.Add(dr("預計完成")) : End While : conn.Close()
  73. End Sub
  74. Private Sub 執行情況下拉表單資料載入()
  75. 執行情況_cb.Items.Clear() : SQL_會議記錄_執行情況_下拉清單() : 執行情況_cb.Items.Add("") : While (dr.Read()) : 執行情況_cb.Items.Add(dr("執行情況")) : End While : conn.Close()
  76. End Sub
  77. Private Sub 讀取資料夾路徑_rbt_MouseEnter(sender As Object, e As EventArgs) Handles 讀取資料夾路徑_rbt.MouseEnter
  78. ToolTip1.SetToolTip(Me.讀取資料夾路徑_rbt, "選擇電腦的資料夾路徑")
  79. End Sub
  80. Private Sub 圖檔入系統_rbt_MouseEnter(sender As Object, e As EventArgs) Handles 圖檔入系統_rbt.MouseEnter
  81. ToolTip1.SetToolTip(Me.圖檔入系統_rbt, "檔案存入系統")
  82. End Sub
  83. Private Sub 新建議題_rbt_MouseEnter(sender As Object, e As EventArgs) Handles 新建議題_rbt.MouseEnter
  84. ToolTip1.SetToolTip(Me.新建議題_rbt, "新建專案或議題")
  85. End Sub
  86. Private Sub 存檔_rbt_MouseEnter(sender As Object, e As EventArgs) Handles 存檔_rbt.MouseEnter
  87. ToolTip1.SetToolTip(Me.存檔_rbt, "存檔")
  88. End Sub
  89. Private Sub 刪除_rtb_MouseEnter(sender As Object, e As EventArgs) Handles 刪除_rtb.MouseEnter
  90. ToolTip1.SetToolTip(Me.刪除_rtb, "刪除")
  91. End Sub
  92. Private Sub 專案及會議提案_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  93. Me.MdiParent = GRAMS_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  94. RadPdfViewerNavigator1.OpenButton.Visibility = Telerik.WinControls.ElementVisibility.Collapsed
  95. RadPdfViewerNavigator1.SaveButton.Visibility = Telerik.WinControls.ElementVisibility.Collapsed
  96. PDF_P.BringToFront()
  97. If gUserName = "*系統管理者" Then : 備註_tb.ReadOnly = False : 核准_bt.Visible = True : 作廢_tb.Visible = True : End If
  98. End Sub
  99. Private Sub 專案及會議提案_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  100. SQL_圖片資料庫查詢() : If dr.Read() Then : 圖片資料庫指定 = dr("圖片資料庫") : Else : MsgBox("圖片資料庫已滿,請聯繫系統管理員!!!") : Me.Close() : End If
  101. 執行情況下拉表單資料載入() : 預計完成下拉表單資料載入() : 執行時間下拉表單資料載入() : 姓名下拉表單資料載入() : Set_會議記錄() : 地點_cb.SelectedIndex = 0
  102. End Sub
  103. Private Sub 專案及會議提案_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
  104. Set_會議記錄格式()
  105. End Sub
  106. Private Sub 會議記錄表1_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 會議記錄表1_dgv.CellClick
  107. If e.RowIndex = -1 Then : Else
  108. 會議編號_tb.Text = 會議記錄表1_dgv("會議編號", e.RowIndex).Value.ToString : 地點_cb.Text = 會議記錄表1_dgv("地點", e.RowIndex).Value.ToString
  109. 會議項目_tb.Text = 會議記錄表1_dgv("會議項目", e.RowIndex).Value.ToString : 會議日期_dtp.Value = 會議記錄表1_dgv("時間", e.RowIndex).Value.ToString
  110. 細項說明_tb.Text = 會議記錄表1_dgv("細項說明", e.RowIndex).Value.ToString : 執行時間_cb.Text = 會議記錄表1_dgv("執行時間", e.RowIndex).Value.ToString
  111. 預計完成_cb.Text = 會議記錄表1_dgv("預計完成", e.RowIndex).Value.ToString : 執行情況_cb.Text = 會議記錄表1_dgv("執行情況", e.RowIndex).Value.ToString
  112. 備註_tb.Text = 會議記錄表1_dgv("備註", e.RowIndex).Value.ToString : 已完成_ch.Checked = 會議記錄表1_dgv("已完成", e.RowIndex).Value
  113. 長期執行_ch.Checked = 會議記錄表1_dgv("長期執行", e.RowIndex).Value : 圖片庫_tb.Text = 會議記錄表1_dgv("圖片庫", e.RowIndex).Value.ToString
  114. 核准_ch.Checked = 會議記錄表1_dgv("核准", e.RowIndex).Value
  115. PA1 = 會議編號_tb.Text : 圖片_pb.Image = Nothing : 圖片1_pb.Image = Nothing : Set_會議執行() : Set_會議圖片() : 控制項()
  116. End If
  117. End Sub
  118. Private Sub 會議記錄表_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 會議記錄表_dgv.CellClick
  119. If e.RowIndex = -1 Then : Else
  120. 會議編號_tb.Text = 會議記錄表_dgv("會議編號", e.RowIndex).Value.ToString : 地點_cb.Text = 會議記錄表_dgv("地點", e.RowIndex).Value.ToString
  121. 會議項目_tb.Text = 會議記錄表_dgv("會議項目", e.RowIndex).Value.ToString : 會議日期_dtp.Value = 會議記錄表_dgv("時間", e.RowIndex).Value.ToString
  122. 細項說明_tb.Text = 會議記錄表_dgv("細項說明", e.RowIndex).Value.ToString : 執行時間_cb.Text = 會議記錄表_dgv("執行時間", e.RowIndex).Value.ToString
  123. 預計完成_cb.Text = 會議記錄表_dgv("預計完成", e.RowIndex).Value.ToString : 執行情況_cb.Text = 會議記錄表_dgv("執行情況", e.RowIndex).Value.ToString
  124. 備註_tb.Text = 會議記錄表_dgv("備註", e.RowIndex).Value.ToString : 已完成_ch.Checked = 會議記錄表_dgv("已完成", e.RowIndex).Value
  125. 長期執行_ch.Checked = 會議記錄表_dgv("長期執行", e.RowIndex).Value : 圖片庫_tb.Text = 會議記錄表_dgv("圖片庫", e.RowIndex).Value.ToString
  126. 核准_ch.Checked = 會議記錄表_dgv("核准", e.RowIndex).Value
  127. PA1 = 會議編號_tb.Text : 圖片_pb.Image = Nothing : 圖片1_pb.Image = Nothing : Set_會議執行() : Set_會議圖片() : 控制項()
  128. End If
  129. End Sub
  130. Private Sub 會議記錄表2_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 會議記錄表2_dgv.CellClick
  131. If e.RowIndex = -1 Then : Else
  132. 會議編號_tb.Text = 會議記錄表2_dgv("會議編號", e.RowIndex).Value.ToString : 地點_cb.Text = 會議記錄表2_dgv("地點", e.RowIndex).Value.ToString
  133. 會議項目_tb.Text = 會議記錄表2_dgv("會議項目", e.RowIndex).Value.ToString : 會議日期_dtp.Value = 會議記錄表2_dgv("時間", e.RowIndex).Value.ToString
  134. 細項說明_tb.Text = 會議記錄表2_dgv("細項說明", e.RowIndex).Value.ToString : 執行時間_cb.Text = 會議記錄表2_dgv("執行時間", e.RowIndex).Value.ToString
  135. 預計完成_cb.Text = 會議記錄表2_dgv("預計完成", e.RowIndex).Value.ToString : 執行情況_cb.Text = 會議記錄表2_dgv("執行情況", e.RowIndex).Value.ToString
  136. 備註_tb.Text = 會議記錄表2_dgv("備註", e.RowIndex).Value.ToString : 已完成_ch.Checked = 會議記錄表2_dgv("已完成", e.RowIndex).Value
  137. 長期執行_ch.Checked = 會議記錄表2_dgv("長期執行", e.RowIndex).Value : 圖片庫_tb.Text = 會議記錄表2_dgv("圖片庫", e.RowIndex).Value.ToString
  138. 核准_ch.Checked = 會議記錄表2_dgv("核准", e.RowIndex).Value
  139. PA1 = 會議編號_tb.Text : 圖片_pb.Image = Nothing : 圖片1_pb.Image = Nothing : Set_會議執行() : Set_會議圖片() : 控制項()
  140. End If
  141. End Sub
  142. Private Sub 控制項()
  143. If 已完成_ch.Checked = True Then
  144. 新建議題_rbt.Enabled = False : 存檔_rbt.Enabled = False : 刪除_rtb.Enabled = False : 新建執行人_bt.Enabled = False
  145. 讀取資料夾路徑_rbt.Enabled = False : 圖檔入系統_rbt.Enabled = False
  146. Else
  147. 新建議題_rbt.Enabled = True : 存檔_rbt.Enabled = True : 刪除_rtb.Enabled = True : 新建執行人_bt.Enabled = True
  148. 讀取資料夾路徑_rbt.Enabled = True : 圖檔入系統_rbt.Enabled = True
  149. End If
  150. End Sub
  151. Private Sub 執行人_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 執行人_dgv.CellClick
  152. If e.RowIndex = -1 Then : Else : 執行人_cb.Text = 執行人_dgv("執行人", e.RowIndex).Value.ToString : End If
  153. End Sub
  154. Private Sub 圖片清單_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 圖片清單_dgv.CellClick
  155. If e.RowIndex = -1 Then : Else : DGVX = e.RowIndex : 圖片清單讀取() : End If
  156. End Sub
  157. Private Sub 圖片清單讀取()
  158. 圖片_pb.Image = Nothing : 圖片1_pb.Image = Nothing : PA1 = 會議編號_tb.Text : 圖片庫 = 圖片庫_tb.Text : SQL_連線字串_圖片資料庫()
  159. PA2 = 圖片清單_dgv.Rows(DGVX).Cells("Item").Value
  160. If 圖片清單_dgv.Rows(DGVX).Cells("File.").Value.ToString = "JPG" Then : 圖片_P.BringToFront()
  161. SQL_會議圖片讀取()
  162. While dr.Read() = True
  163. Dim unused As Byte() = New Byte(-1) {}
  164. Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  165. Dim oStream As New MemoryStream(bytes)
  166. 圖片_pb.Image = Bitmap.FromStream(oStream)
  167. 圖片1_pb.Image = Bitmap.FromStream(oStream)
  168. End While : conn.Close() : 圖片_pb.SizeMode = 4 : 圖片1_pb.SizeMode = 4
  169. ElseIf 圖片清單_dgv.Rows(DGVX).Cells("File.").Value.ToString <> "JPG" Then : PDF_P.BringToFront()
  170. 圖片_pb.Image = My.Resources.PDF : 圖片_pb.SizeMode = 4
  171. PA1 = 會議編號_tb.Text : 圖片庫 = 圖片庫_tb.Text : PA2 = 圖片清單_dgv.Rows(DGVX).Cells("Item").Value : SQL_連線字串_圖片資料庫()
  172. Dim Str As String = Application.StartupPath : Dim ds1 As New DataSet : ds1.Clear() : SQL_會議圖片讀取1() : da.Fill(ds1)
  173. If ds1.Tables(0).Rows.Count > 0 Then
  174. Dim imgData() As Byte : imgData = ds1.Tables(0).Rows(0).Item("圖片")
  175. Dim fs As FileStream : fs = File.Create(Str + "\" & PA2 & ".pdf", imgData.Length - 1)
  176. fs.Write(imgData, 0, imgData.Length - 1) : fs.Close()
  177. End If : conn.Close() : PDF路徑 = Str + "\" & PA2 & ".pdf" : Me.RadPdfViewer1.LoadDocument(PDF路徑)
  178. End If
  179. End Sub
  180. Private Sub 會議記錄表_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 會議記錄表_dgv.RowPostPaint
  181. Dim linePen As New Pen(Color.Blue, 2)
  182. If e.RowIndex = 會議記錄表_dgv.Rows.Count - 1 Then : Exit Sub : Else
  183. If 會議記錄表_dgv("時間", e.RowIndex).Value.ToString <> 會議記錄表_dgv("時間", e.RowIndex + 1).Value.ToString Then
  184. Dim startX As Integer = IIf(會議記錄表_dgv.RowHeadersVisible, 會議記錄表_dgv.RowHeadersWidth, 0)
  185. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  186. Dim endX As Integer = startX + 會議記錄表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 會議記錄表_dgv.HorizontalScrollingOffset
  187. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  188. Exit Sub
  189. End If
  190. End If
  191. End Sub
  192. Private Sub 預計完成_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 預計完成_cb.SelectedIndexChanged
  193. If 預計完成_cb.Text = "已完成 / Selesai" Then : 已完成_ch.Checked = True : Else : 已完成_ch.Checked = False : End If
  194. End Sub
  195. Private Sub Set_日期格式轉換()
  196. DTP = Format(Today(), "yyyy/MM/dd") : DTP1 = Format(Today(), "yyyyMMdd")
  197. End Sub
  198. Private Sub 新建議題_rbt_Click(sender As Object, e As EventArgs) Handles 新建議題_rbt.Click
  199. Dim 跳過 As Boolean : Dim DD As Integer : 會議日期_dtp.Value = Today : DD = Weekday(會議日期_dtp.Value)
  200. 會議日期_dtp.Value = Today()
  201. If 會議項目_tb.Text <> "" Then
  202. Dim result As DialogResult = MsgBox("議題上有資料是否開新議題?", MessageBoxButtons.OKCancel)
  203. If result = DialogResult.OK Then : 跳過 = False : ElseIf result = DialogResult.Cancel Then : 跳過 = True : End If
  204. Else : 跳過 = False : End If
  205. If 跳過 = False Then
  206. 會議項目_tb.Text = "" : 細項說明_tb.Text = "" : 執行時間_cb.Text = "" : 執行情況_cb.Text = "" : 預計完成_cb.Text = ""
  207. 備註_tb.Text = "" : 執行人_cb.Text = "" : 已完成_ch.Checked = False : 長期執行_ch.Checked = False
  208. 執行人_dgv.DataSource = Nothing
  209. Set_日期格式轉換() : Dim NUM1 As Integer
  210. For i As Integer = 1 To 999 : NUM1 = 0 + i
  211. If NUM1 < 10 Then : 會議編號_tb.Text = "MT-" & DTP1 & "-00" & NUM1
  212. ElseIf NUM1 > 9 And NUM1 < 100 Then : 會議編號_tb.Text = "MT-" & DTP1 & "-0" & NUM1
  213. ElseIf NUM1 > 99 Then : 會議編號_tb.Text = "MT-" & DTP1 & "-" & NUM1 : End If
  214. PA1 = 會議編號_tb.Text : SQL_會議記錄_單號查詢() : If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
  215. Next
  216. End If
  217. End Sub
  218. Private Sub 存檔_rbt_Click(sender As Object, e As EventArgs) Handles 存檔_rbt.Click
  219. If 會議編號_tb.Text = "" Then
  220. Set_日期格式轉換() : Dim NUM1 As Integer
  221. For i As Integer = 1 To 999 : NUM1 = 0 + i
  222. If NUM1 < 10 Then : 會議編號_tb.Text = "MT-" & DTP1 & "-00" & NUM1
  223. ElseIf NUM1 > 9 And NUM1 < 100 Then : 會議編號_tb.Text = "MT-" & DTP1 & "-0" & NUM1
  224. ElseIf NUM1 > 99 Then : 會議編號_tb.Text = "MT-" & DTP1 & "-" & NUM1 : End If
  225. PA1 = 會議編號_tb.Text : SQL_會議記錄_單號查詢() : If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
  226. Next
  227. End If
  228. If 地點_cb.Text = "" Then : MsgBox("會議地點不可空白!!!") : Else
  229. If 會議項目_tb.Text = "" Then : MsgBox("會議/專案項目不可空白!!!") : Else
  230. If 執行時間_cb.Text = "" Then : MsgBox("執行時間不可空白!!!") : Else
  231. PA1 = 會議編號_tb.Text : PA2 = Strings.Format(會議日期_dtp.Value, "yyyy/MM/dd") : PA3 = 地點_cb.Text : PA4 = 會議項目_tb.Text : PA5 = 細項說明_tb.Text
  232. PA6 = 執行時間_cb.Text : PA7 = 執行情況_cb.Text : PA8 = 預計完成_cb.Text : PA9 = 備註_tb.Text : BL1 = 已完成_ch.Checked : BL2 = 長期執行_ch.Checked
  233. BL3 = 核准_ch.Checked
  234. PA10 = 圖片資料庫指定 : SQL_會議記錄_單號查詢()
  235. If dr.Read() Then
  236. Dim result As DialogResult = MsgBox("存檔會覆蓋舊資料是否繼續執行?", MessageBoxButtons.OKCancel)
  237. If result = DialogResult.OK Then : SQL_會議記錄修改() : End If
  238. Else : SQL_會議記錄新增()
  239. LIN訊息通知("CC204", "李協叡", gUserName, 會議項目_tb.Text) : LIN訊息通知("CC205", "診所主管", " ", 會議項目_tb.Text)
  240. End If : conn.Close() : Set_會議記錄()
  241. End If
  242. End If
  243. End If
  244. End Sub
  245. Private Sub 刪除_rtb_Click(sender As Object, e As EventArgs) Handles 刪除_rtb.Click
  246. If 會議編號_tb.Text = "" Then : MsgBox("請先選擇會議/專案項目!!") : Else
  247. Dim result As DialogResult = MsgBox("是否要刪除該筆資料?", MessageBoxButtons.OKCancel)
  248. If result = DialogResult.OK Then : PA1 = 會議編號_tb.Text : 圖片庫 = 圖片庫_tb.Text : SQL_連線字串_圖片資料庫() : SQL_會議記錄刪除() : Set_會議記錄() : End If
  249. End If
  250. End Sub
  251. Private Sub 新建執行人_bt_Click(sender As Object, e As EventArgs) Handles 新建執行人_bt.Click
  252. If 會議編號_tb.Text = "" Then : MsgBox("請先選擇會議/專案項目!!") : Else
  253. If 執行人_cb.Text = "" Then : MsgBox("請先選擇執行人!!") : Else
  254. PA1 = 會議編號_tb.Text : PA3 = 執行人_cb.Text : Dim 編號 As String : Dim NUM1 As Integer
  255. For i As Integer = 1 To 999
  256. NUM1 = 0 + i
  257. If NUM1 < 10 Then : 編號 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 編號 = "0" & NUM1 : ElseIf NUM1 > 99 Then : 編號 = NUM1 : End If
  258. PA2 = 編號 : SQL_會議決議執行人_單號查詢() : If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
  259. Next : SQL_會議決議執行人新增() : PA1 = 會議編號_tb.Text : Set_會議執行() : Set_會議圖片()
  260. End If
  261. End If
  262. End Sub
  263. Private Sub 刪除執行人_bt_Click(sender As Object, e As EventArgs) Handles 刪除執行人_bt.Click
  264. If 會議編號_tb.Text = "" Then : MsgBox("請先選擇會議/專案項目!!") : Else
  265. If 執行人_cb.Text = "" Then : MsgBox("請先選擇執行人!!") : Else
  266. Dim result As DialogResult = MsgBox("是否要刪除該筆資料?", MessageBoxButtons.OKCancel)
  267. If result = DialogResult.OK Then : PA1 = 會議編號_tb.Text : PA3 = 執行人_cb.Text : SQL_會議決議執行人刪除() : PA1 = 會議編號_tb.Text : Set_會議執行() : Set_會議圖片() : End If
  268. End If
  269. End If
  270. End Sub
  271. Private Sub 已完成資料顯示_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 已完成資料顯示_ch.Click
  272. If 已完成資料顯示_ch.Checked = True Then : 已完成資料顯示_ch.Checked = True : Else : 已完成資料顯示_ch.Checked = False : End If
  273. Set_會議記錄()
  274. End Sub
  275. Private Sub 通過_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 通過_ch.Click
  276. If 通過_ch.Checked = True Then : 通過_ch.Checked = True : Else : 通過_ch.Checked = False : End If : Set_會議記錄()
  277. End Sub
  278. Private Sub 取消_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 取消_ch.Click
  279. If 取消_ch.Checked = True Then : 取消_ch.Checked = True : Else : 取消_ch.Checked = False : End If : Set_會議記錄()
  280. End Sub
  281. Private Sub 物料圖_pb_Click(sender As Object, e As EventArgs) Handles 圖片_pb.Click
  282. If IsNothing(圖片_pb.Image) = False Then
  283. If 圖片清單_dgv.Rows(DGVX).Cells("File.").Value.ToString = "JPG" Then
  284. 圖片傳遞 = 圖片_pb.Image : 圖片放大視窗.ShowDialog()
  285. Else
  286. If 版本號 = "2024050101" Or 版本號 = "2024042801" Then : MsgBox("該版本尚未開放開啟PDF,預計下個版本改板後開放(下個版本將變更成需要安裝的版本)!!") : Else
  287. PA1 = 會議編號_tb.Text : 圖片庫 = 圖片庫_tb.Text : PA2 = 圖片清單_dgv.Rows(DGVX).Cells("Item").Value : SQL_連線字串_圖片資料庫()
  288. Dim Str As String = Application.StartupPath : Dim ds1 As New DataSet : ds1.Clear() : SQL_會議圖片讀取1() : da.Fill(ds1)
  289. If ds1.Tables(0).Rows.Count > 0 Then
  290. Dim imgData() As Byte : imgData = ds1.Tables(0).Rows(0).Item("圖片")
  291. Dim fs As FileStream : fs = File.Create(Str + "\" & PA2 & ".pdf", imgData.Length - 1)
  292. fs.Write(imgData, 0, imgData.Length - 1) : fs.Close()
  293. End If : conn.Close() : PDF路徑 = Str + "\" & PA2 & ".pdf" : PDF預覽.ShowDialog()
  294. End If
  295. End If
  296. End If
  297. End Sub
  298. Private Sub 讀取資料夾路徑_rbt_Click(sender As Object, e As EventArgs) Handles 讀取資料夾路徑_rbt.Click
  299. If OpenFileDialog1.ShowDialog <> Windows.Forms.DialogResult.Cancel Then
  300. If OpenFileDialog1.FileNames.Length > 6 Then : MsgBox("選取檔案不能超過6個!!") : Else
  301. For i As Integer = 0 To 5 : WW(i) = "" : WA(i) = "" : Dim 選擇 As PictureBox = CType(Me.Controls.Find("PB" & i + 1, True)(0), PictureBox) : 選擇.Image = Nothing : Next
  302. NU1 = OpenFileDialog1.FileNames.Length - 1
  303. For i As Integer = 0 To OpenFileDialog1.FileNames.Length - 1 : WW(i) = OpenFileDialog1.FileNames(i) : Next
  304. For i As Integer = 0 To NU1
  305. Dim 驗證 As String = "" : Dim 取變數 As String : 取變數 = Strings.StrReverse(WW(i))
  306. For ii As Integer = 1 To 10
  307. If ii = 1 Then : 驗證 = Strings.Left(取變數, ii) : Else
  308. If Strings.Mid(取變數, ii, 1) = "." Then : 驗證 = Strings.StrReverse(驗證) : Exit For : Else : 驗證 &= Strings.Mid(取變數, ii, 1) : End If
  309. End If
  310. Next
  311. If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or
  312. 驗證 = "JPEG" Or 驗證 = "jpeg" Then : WA(i) = "JPG"
  313. Dim 選擇 As PictureBox = CType(Me.Controls.Find("PB" & i + 1, True)(0), PictureBox) : 選擇.Image = Image.FromFile(WW(i)) : 選擇.SizeMode = 4
  314. ElseIf 驗證 = "PDF" Or 驗證 = "pdf" Then : WA(i) = "PDF"
  315. Dim 選擇 As PictureBox = CType(Me.Controls.Find("PB" & i + 1, True)(0), PictureBox) : 選擇.Image = My.Resources.PDF : 選擇.SizeMode = 4
  316. Else : WW(i) = "" : WA(i) = "" : End If
  317. Next
  318. End If
  319. End If
  320. End Sub
  321. Private Sub 核准_bt_Click(sender As Object, e As EventArgs) Handles 核准_bt.Click
  322. If 會議編號_tb.Text = "" Then : MsgBox("請先選擇會議/專案項目!!") : Else
  323. PA1 = 會議編號_tb.Text : 核准_ch.Checked = True : BL3 = 核准_ch.Checked : PA10 = "通過" : PA9 = 備註_tb.Text : SQL_會議記錄修改1() : Set_會議記錄()
  324. End If
  325. End Sub
  326. Private Sub 作廢_tb_Click(sender As Object, e As EventArgs) Handles 作廢_tb.Click
  327. If 會議編號_tb.Text = "" Then : MsgBox("請先選擇會議/專案項目!!") : Else
  328. PA1 = 會議編號_tb.Text : 核准_ch.Checked = False : BL3 = 核准_ch.Checked : PA10 = "取消" : PA9 = 備註_tb.Text : SQL_會議記錄修改1() : Set_會議記錄()
  329. End If
  330. End Sub
  331. Private Sub 圖檔入系統_rbt_Click(sender As Object, e As EventArgs) Handles 圖檔入系統_rbt.Click
  332. If 會議編號_tb.Text = "" Then : MsgBox("請先選擇會議/專案項目!!") : Else
  333. PA1 = 會議編號_tb.Text : 圖片庫 = 圖片庫_tb.Text : SQL_連線字串_圖片資料庫()
  334. For i As Integer = 0 To NU1
  335. If WW(i) = "" Then : Else
  336. Dim 文件號 As String : Dim 文件編號 As Integer : SQL_會議圖片最後一筆編號查詢()
  337. If dr.Read() Then : 文件編號 = Double.Parse(Strings.Right(dr("項次").ToString, 2)) : Else : 文件編號 = 0 : End If
  338. conn.Close() : 文件編號 += 1
  339. If 文件編號 < 10 Then : 文件號 = "IM" & "0" & 文件編號
  340. ElseIf 文件編號 > 9 Then : 文件號 = "IM" & 文件編號 : End If
  341. PA2 = 文件號 : PA49 = WW(i) : PA3 = WA(i) : SQL_會議圖片入系統()
  342. End If
  343. Next
  344. For i As Integer = 0 To 5 : WW(i) = "" : Dim 選擇 As PictureBox = CType(Me.Controls.Find("PB" & i + 1, True)(0), PictureBox) : 選擇.Image = Nothing : Next
  345. Set_會議圖片() : MsgBox("上傳完畢!!")
  346. End If
  347. End Sub
  348. Private Sub 字體大小_nud_ValueChanged(sender As Object, e As EventArgs) Handles 字體大小_nud.ValueChanged
  349. 細項說明_tb.Font = New Font("Arial", 字體大小_nud.Value)
  350. 備註_tb.Font = New Font("Arial", 字體大小_nud.Value)
  351. End Sub
  352. End Class