Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

合約文件圖庫管理.vb 31KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  1. Imports System.Net
  2. Imports System.IO
  3. Public Class 合約文件圖庫管理
  4. ReadOnly ds2 As New DataSet
  5. Dim 新流水號3, TT As String
  6. Dim 圖庫已滿 As Boolean
  7. Private Sub Set_合約清單()
  8. Dim ds6 As New DataSet : 合約_dgv.DataSource = Nothing : ds6.Clear()
  9. 合約_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  10. 合約_dgv.ColumnHeadersHeight = 25
  11. 合約_dgv.AllowUserToAddRows = False
  12. PA = 關鍵字搜尋_tb.Text : PA46 = 合約編號1_cb.Text : PA47 = 工程期1_ch.Text
  13. SQL_合約清單1()
  14. da.Fill(ds6) : 合約_dgv.DataSource = ds6.Tables(0) : conn.Close()
  15. 合約_dgv.Columns(0).FillWeight = 160 : 合約_dgv.Columns(1).Visible = False : 合約_dgv.Columns(2).Visible = False : 合約_dgv.Columns(3).Visible = False
  16. 合約_dgv.Columns(4).Visible = False : 合約_dgv.Columns(5).Visible = False : 合約_dgv.Columns(6).Visible = False : 合約_dgv.Columns(7).Visible = False
  17. 合約_dgv.Columns(8).Visible = False : 合約_dgv.Columns(9).Visible = False : 合約_dgv.Columns(10).Visible = False : 合約_dgv.Columns(11).Visible = False
  18. 合約_dgv.Columns(12).Visible = False : 合約_dgv.Columns(13).Visible = False : 合約_dgv.Columns(14).Visible = False : 合約_dgv.Columns(15).Visible = False
  19. 合約_dgv.Columns(16).Visible = False : 合約_dgv.Columns(17).Visible = False : 合約_dgv.Columns(18).Visible = False : 合約_dgv.Columns(19).Visible = False
  20. 合約_dgv.Columns(20).Visible = False : 合約_dgv.Columns(21).Visible = False : 合約_dgv.Columns(22).Visible = False : 合約_dgv.Columns(23).Visible = False
  21. 合約_dgv.Columns(24).Visible = False : 合約_dgv.Columns(25).Visible = False : 合約_dgv.Columns(26).Visible = False : 合約_dgv.Columns(27).Visible = False
  22. 合約_dgv.Columns(28).Visible = False : 合約_dgv.Columns(29).Visible = False
  23. End Sub
  24. Private Sub Set_文件清單()
  25. Dim ds5 As New DataSet : 文件_dgv.DataSource = Nothing : ds5.Clear()
  26. 文件_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  27. 文件_dgv.ColumnHeadersHeight = 25
  28. 文件_dgv.AllowUserToAddRows = False
  29. SQL_合約工程文檔控制表()
  30. da.Fill(ds5) : 文件_dgv.DataSource = ds5.Tables(0) : conn.Close()
  31. 文件_dgv.Columns("副檔名").FillWeight = 50 : 文件_dgv.Columns("版次").FillWeight = 40 : 文件_dgv.Columns("上傳日期").FillWeight = 50 : 文件_dgv.Columns("文檔類型").FillWeight = 80
  32. 文件_dgv.Columns("文件號").Visible = False : 文件_dgv.Columns("圖庫").Visible = False : 文件_dgv.Columns("上傳人員").Visible = False
  33. End Sub
  34. Private Sub Set_文件說明()
  35. Dim ds5 As New DataSet : 文件說明_dgv.DataSource = Nothing : ds5.Clear()
  36. 文件說明_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  37. 文件說明_dgv.ColumnHeadersHeight = 25
  38. 文件說明_dgv.AllowUserToAddRows = False
  39. SQL_合約工程文檔說明()
  40. da.Fill(ds5) : 文件說明_dgv.DataSource = ds5.Tables(0) : conn.Close()
  41. End Sub
  42. Private Sub Set_工程文件資料庫狀態()
  43. Dim ds2 As New DataSet : 工程文件資料庫管理_dgv.DataSource = Nothing : ds2.Clear()
  44. 工程文件資料庫管理_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  45. 工程文件資料庫管理_dgv.ColumnHeadersHeight = 25
  46. 工程文件資料庫管理_dgv.AllowUserToAddRows = False
  47. SQL_合約工程文件資料庫管理查詢2()
  48. da.Fill(ds2) : 工程文件資料庫管理_dgv.DataSource = ds2.Tables(0) : conn.Close()
  49. 工程文件資料庫管理_dgv.Columns(0).FillWeight = 100 : 工程文件資料庫管理_dgv.Columns(1).FillWeight = 50
  50. End Sub
  51. Private Sub Set_文件紀錄()
  52. Dim ds5 As New DataSet : 歷史紀錄_dgv.DataSource = Nothing : ds5.Clear()
  53. 歷史紀錄_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  54. 歷史紀錄_dgv.ColumnHeadersHeight = 25
  55. 歷史紀錄_dgv.AllowUserToAddRows = False
  56. SQL_合約工程文檔操作紀錄()
  57. da.Fill(ds5) : 歷史紀錄_dgv.DataSource = ds5.Tables(0) : conn.Close()
  58. 歷史紀錄_dgv.Columns(0).FillWeight = 20 : 歷史紀錄_dgv.Columns(2).FillWeight = 40 : 歷史紀錄_dgv.Columns(3).FillWeight = 70
  59. For I As Integer = 0 To 歷史紀錄_dgv.Rows.Count - 1
  60. 歷史紀錄_dgv("時間", I).Value = Strings.Left(歷史紀錄_dgv("時間", I).Value.ToString, 19)
  61. Next
  62. End Sub
  63. Private Sub 檔案類型()
  64. SQL_檔案類型下拉清單() : 文檔類型_cb.Items.Clear() : While (dr.Read()) : 文檔類型_cb.Items.Add(dr("文檔類型")) : End While : conn.Close()
  65. End Sub
  66. Private Sub 甲方條件下拉清單讀取()
  67. SQL合約條件讀取() : 合約編號1_cb.Items.Clear() : 合約編號1_cb.Items.Add("") : While (dr.Read()) : 合約編號1_cb.Items.Add(dr("約號甲方")) : End While : conn.Close()
  68. End Sub
  69. Private Sub 驗證文件資料庫大小()
  70. For i As Integer = 0 To 99
  71. Set_工程文件資料庫狀態()
  72. If 工程文件資料庫管理_dgv.Rows.Count = 0 Then
  73. If 系統語言 = "繁體中文" Then : 通知訊息 = "文件伺服器已滿,請聯繫系統管理員!!" : Else : 通知訊息 = "Server file penuh, silakan hubungi administrator sistem Anda!!" : End If
  74. 訊息類型 = "1" : 通知視窗.ShowDialog() : 圖庫已滿 = True : Exit For
  75. Else
  76. PA = 工程文件資料庫管理_dgv.Rows(0).Cells(0).Value.ToString
  77. SQL_資料庫大小查驗()
  78. If dr.Read() Then
  79. If 工程圖庫限制 <= dr("大小") Then
  80. SQL_合約工程文件資料庫管理查詢修改1()
  81. Else
  82. 圖片庫 = PA : SQL_連線字串_圖片資料庫() : Exit For
  83. End If
  84. End If
  85. End If
  86. Next
  87. End Sub
  88. Private Sub 工程文件圖庫管理_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  89. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  90. PA = "" : 版次自動_cb.Checked = True : 新增檔案_ch.Checked = True : 覆蓋檔案_ch.Checked = False : 操作說明視窗_P.Visible = True : 歷史紀錄_P.Visible = False
  91. If CC(117) = False Then : 存檔_tb.Enabled = False : End If
  92. If CC(121) = False Then : 下載_tb.Enabled = False : End If
  93. If CC(122) = False Then : 刪除_bt.Enabled = False : End If
  94. Target1 = Target & AA(2) & "/" : 伺服器_wb.Url = New Uri(Target1)
  95. 本機_wb.Navigate(My.Computer.FileSystem.SpecialDirectories.Desktop)
  96. MyMod.清單字體大小調整()
  97. 合約_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  98. 文件_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  99. 歷史紀錄_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  100. End Sub
  101. Private Sub 工程文件圖庫管理_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  102. Set_合約清單() : Set_工程文件資料庫狀態() : 驗證文件資料庫大小() : 檔案類型() : 甲方條件下拉清單讀取()
  103. End Sub
  104. Private Sub 工程文件圖庫管理_Closing(sender As Object, e As EventArgs) Handles MyBase.Closed
  105. 驗證文件資料庫大小() : MyMod.虛擬桌面開啟()
  106. End Sub
  107. Private Sub 工程文件圖庫管理_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
  108. MyMod.清單字體大小調整()
  109. 合約_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  110. 文件_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  111. 歷史紀錄_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  112. End Sub
  113. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  114. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  115. End Sub
  116. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  117. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  118. End Sub
  119. Private Sub 合約_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 合約_dgv.CellClick
  120. If e.RowIndex = -1 Then : Else
  121. 合約號_tb.Text = 合約_dgv(0, e.RowIndex).Value.ToString
  122. 文件號_tb.Text = "" : 版本_tb.Text = "" : 檔案名稱_tb.Text = "" : 副檔名_tb.Text = ""
  123. 文檔說明1_tb.Text = "" : 文檔說明2_tb.Text = "" : 文檔說明3_tb.Text = ""
  124. Set_文件清單()
  125. End If
  126. End Sub
  127. Private Sub 文件_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 文件_dgv.CellClick
  128. If e.RowIndex = -1 Then : Else
  129. 文件號_tb.Text = 文件_dgv("文件號", e.RowIndex).Value.ToString : 文檔類型_cb.Text = 文件_dgv("文檔類型", e.RowIndex).Value.ToString
  130. 檔案名稱_tb.Text = 文件_dgv("檔案名稱", e.RowIndex).Value.ToString : 副檔名_tb.Text = 文件_dgv("副檔名", e.RowIndex).Value.ToString
  131. 版本_tb.Text = 文件_dgv("版次", e.RowIndex).Value.ToString : 圖片庫 = 文件_dgv("圖庫", e.RowIndex).Value.ToString : SQL_連線字串_圖片資料庫()
  132. 上傳者_tb.Text = 文件_dgv("上傳人員", e.RowIndex).Value.ToString
  133. Set_文件紀錄() : Set_文件說明()
  134. For i As Integer = 0 To 文件說明_dgv.Rows.Count - 1
  135. If 文件說明_dgv("語言", i).Value.ToString = "繁體中文" Then
  136. 文檔說明1_tb.Text = 文件說明_dgv("文檔說明", i).Value.ToString
  137. ElseIf 文件說明_dgv("語言", i).Value.ToString = "Indonesian" Then
  138. 文檔說明3_tb.Text = 文件說明_dgv("文檔說明", i).Value.ToString
  139. ElseIf 文件說明_dgv("語言", i).Value.ToString = "English" Then
  140. 文檔說明2_tb.Text = 文件說明_dgv("文檔說明", i).Value.ToString
  141. End If
  142. Next
  143. End If
  144. End Sub
  145. Private Sub 文件_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 文件_dgv.RowPostPaint
  146. Dim linePen As New Pen(Color.Blue, 2)
  147. If e.RowIndex = 文件_dgv.Rows.Count - 1 Then : Exit Sub : Else
  148. If 文件_dgv(0, e.RowIndex).Value.ToString <> 文件_dgv(0, e.RowIndex + 1).Value.ToString Then
  149. Dim startX As Integer = IIf(文件_dgv.RowHeadersVisible, 文件_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  150. Dim endX As Integer = startX + 文件_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 文件_dgv.HorizontalScrollingOffset
  151. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  152. End If
  153. End If
  154. End Sub
  155. Private Sub 合約編號1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號1_cb.SelectedIndexChanged
  156. Set_合約清單()
  157. End Sub
  158. Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
  159. PA = 關鍵字搜尋_tb.Text : Set_合約清單()
  160. End Sub
  161. Private Sub 新增檔案_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 新增檔案_ch.Click
  162. 新增檔案_ch.Checked = True : 覆蓋檔案_ch.Checked = False : 文件號_tb.Text = "" : 版本_tb.Text = ""
  163. End Sub
  164. Private Sub 覆蓋檔案_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 覆蓋檔案_ch.Click
  165. 新增檔案_ch.Checked = False : 覆蓋檔案_ch.Checked = True
  166. End Sub
  167. Private Sub 檔案名稱_tb_DragEnter(sender As Object, e As DragEventArgs) Handles 檔案名稱_tb.DragEnter
  168. If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  169. Dim files As String()
  170. Try
  171. files = CType(e.Data.GetData(DataFormats.FileDrop), String()) : 檔案名稱_tb.Text = files(files.Length - 1)
  172. Catch ex As Exception
  173. MessageBox.Show(ex.Message) : Return
  174. End Try
  175. End If
  176. Dim STR1 As Integer : Dim STR2 As Integer
  177. 檔案路徑_tb.Text = 檔案名稱_tb.Text
  178. If 檔案名稱_tb.Text = "" Then : Else
  179. For i As Integer = 0 To 9999
  180. STR1 = Strings.Len(檔案路徑_tb.Text)
  181. If Strings.Right((檔案路徑_tb.Text), 1) <> "\" Then
  182. STR1 -= 1 : STR2 += 1
  183. If STR1 = 0 Then
  184. 檔案路徑_tb.Text = "" : 檔案名稱_tb.Text = "" : i = 9999
  185. Else
  186. 檔案路徑_tb.Text = Strings.Left((檔案路徑_tb.Text), STR1)
  187. End If
  188. Else
  189. 檔案路徑_tb.Text = Strings.Right((檔案名稱_tb.Text), STR2) : 檔案名稱_tb.Text = 檔案路徑_tb.Text : i = 9999
  190. End If
  191. Next
  192. End If
  193. '-------取得副檔名---------------------------------------------------------------------------------------------------------------
  194. For I As Integer = 1 To 99
  195. 副檔名_tb.Text = Strings.Mid(Strings.StrReverse(檔案名稱_tb.Text), I, 1)
  196. If 副檔名_tb.Text = "." Then : 副檔名_tb.Text = Strings.StrReverse(Strings.Left(Strings.StrReverse(檔案名稱_tb.Text), I)) : I = 99 : End If
  197. Next
  198. '-------取得檔名---------------------------------------------------------------------------------------------------------------
  199. Dim 檔名 As String : Dim 檔名長度 As Integer
  200. For I As Integer = 1 To 99
  201. 檔名 = Strings.Mid(Strings.StrReverse(檔案名稱_tb.Text), I, 1)
  202. If 檔名 = "." Then
  203. 檔名長度 = Len(檔案名稱_tb.Text) - I
  204. 檔案名稱_tb.Text = Strings.Left(檔案名稱_tb.Text, 檔名長度) : I = 99
  205. End If
  206. Next
  207. End Sub
  208. Private Sub 檔案名稱_tb_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles 檔案名稱_tb.DragDrop
  209. Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
  210. For Each file As String In files
  211. 檔案名稱_tb.AppendText(file + Environment.NewLine)
  212. Next
  213. End Sub
  214. Private Sub 讀取料夾路徑_bt_Click(sender As Object, e As EventArgs) Handles 讀取料夾路徑_bt.Click
  215. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  216. 本機_wb.Navigate(FolderBrowserDialog1.SelectedPath)
  217. End If
  218. End Sub
  219. Private Sub 存檔_tb_Click(sender As Object, e As EventArgs) Handles 存檔_tb.Click
  220. If 合約號_tb.Text = "" Then : If 系統語言 = "繁體中文" Then : 通知訊息 = "請先選擇合約!!" : Else : 通知訊息 = "Silakan pilih kontrak terlebih dahulu!!" : End If
  221. 訊息類型 = "1" : 通知視窗.ShowDialog()
  222. Else
  223. '-------------判斷FTP資料夾中是否有該文件--------------------------------------------------------------------------------------------------------
  224. Dim ftpclient As System.Net.FtpWebRequest = System.Net.FtpWebRequest.Create(New System.Uri(Target1 & 檔案名稱_tb.Text & 副檔名_tb.Text))
  225. ftpclient.UseBinary = True
  226. ftpclient.Credentials = New System.Net.NetworkCredential(FTP帳號, FTP密碼)
  227. ftpclient.Method = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails
  228. ftpclient.KeepAlive = False
  229. Dim ftpresponse As System.Net.FtpWebResponse
  230. Try
  231. ftpresponse = CType(ftpclient.GetResponse, System.Net.FtpWebResponse)
  232. Console.WriteLine(ftpresponse.StatusCode.ToString + " " + ftpresponse.StatusDescription)
  233. Dim content(1024) As Byte
  234. Dim index_a As Integer = 0
  235. index_a = ftpresponse.GetResponseStream.Read(content, 0, content.Length)
  236. Dim contentstring As String = String.Empty
  237. While index_a > 0
  238. index_a = ftpresponse.GetResponseStream.Read(content, 0, content.Length) : contentstring += System.Text.Encoding.UTF8.GetString(content)
  239. End While
  240. ftpresponse.Close()
  241. If contentstring.LastIndexOf(檔案名稱_tb.Text & 副檔名_tb.Text) > 0 Then
  242. If 文件號_tb.Text <> "" Or 版本_tb.Text <> "" Then
  243. Dim SS As String
  244. If 系統語言 = "繁體中文" Then : SS = "是否建立新的檔案編號?" : Else : SS = "Apakah akan membuat nomor file baru??" : End If
  245. 通知訊息 = SS : 訊息類型 = "2" : 通知視窗.ShowDialog() : If 訊息回應 = "YES" Then : 文件號_tb.Text = "" : 版本_tb.Text = "" : End If
  246. End If
  247. Dim 文件新 As Boolean = False
  248. If 文件號_tb.Text = "" Then
  249. Dim 文件號 As String : Dim 文件編號 As Integer : SQL_合約工程文檔_文件號查詢()
  250. If dr.Read() Then : 文件編號 = Double.Parse(Strings.Right(dr("文件號").ToString, 8)) : Else : 文件編號 = 0 : End If
  251. conn.Close() : 文件編號 += 1
  252. If 文件編號 < 10 Then : 文件號 = "PF" & "0000000" & 文件編號
  253. ElseIf 文件編號 > 9 And 文件編號 < 100 Then : 文件號 = "PF" & "000000" & 文件編號
  254. ElseIf 文件編號 > 99 And 文件編號 < 1000 Then : 文件號 = "PF" & "00000" & 文件編號
  255. ElseIf 文件編號 > 999 And 文件編號 < 10000 Then : 文件號 = "PF" & "0000" & 文件編號
  256. ElseIf 文件編號 > 9999 And 文件編號 < 100000 Then : 文件號 = "PF" & "000" & 文件編號
  257. ElseIf 文件編號 > 99999 And 文件編號 < 100000 Then : 文件號 = "PF" & "00" & 文件編號
  258. ElseIf 文件編號 > 999999 And 文件編號 < 1000000 Then : 文件號 = "PF" & "0" & 文件編號
  259. ElseIf 文件編號 > 9999999 Then : 文件號 = "PF" & 文件編號
  260. End If
  261. 文件號_tb.Text = 文件號
  262. 文件新 = True
  263. End If
  264. If 新增檔案_ch.Checked = True Then
  265. SQL_合約工程文檔_版本號查詢()
  266. If dr.Read() Then : 新流水號3 = dr("版次") : Else : 新流水號3 = "V00" : End If : conn.Close()
  267. Dim NUM1 As Integer
  268. NUM1 = Double.Parse(Strings.Right(新流水號3, 2)) + 1
  269. If NUM1 < 10 Then : 新流水號3 = "V" & "0" & NUM1
  270. ElseIf NUM1 > 9 Then : 新流水號3 = "V" & NUM1
  271. End If
  272. 版本_tb.Text = 新流水號3
  273. If 文件新 = False And CC(118) = False Then
  274. If 系統語言 = "繁體中文" Then : 通知訊息 = "您沒有權限新增文件版本!!" : Else : 通知訊息 = "Anda tidak memiliki izin untuk menambahkan versi file!!" : End If
  275. 訊息類型 = "1" : 通知視窗.ShowDialog() : FTP方式刪除檔案() : Exit Sub
  276. End If
  277. End If
  278. If 新增檔案_ch.Checked = True Then
  279. SQL_合約工程文檔控制表_新增() : SQL_合約工程文檔_文檔入系統() : 驗證文件資料庫大小()
  280. SQL_合約工程文檔_檔案說明檢查()
  281. If dr.Read Then : Else
  282. SQL_合約工程文檔_檔案說明新增1() : SQL_合約工程文檔_檔案說明新增2() : SQL_合約工程文檔_檔案說明新增3()
  283. End If
  284. If 文件新 = True Then
  285. PA43 = "新增檔案" : SQL_合約工程文檔操作紀錄_新增() : Set_文件紀錄()
  286. Else
  287. PA43 = "版本更新" : SQL_合約工程文檔操作紀錄_新增() : Set_文件紀錄()
  288. End If
  289. Else
  290. If CC(119) = False Then
  291. If 系統語言 = "繁體中文" Then : 通知訊息 = "您沒有權限修改已經上傳的檔案!!" : Else : 通知訊息 = "Anda tidak memiliki izin untuk mengubah file yang diunggah!!" : End If
  292. 訊息類型 = "1" : 通知視窗.ShowDialog()
  293. Else
  294. SQL_合約工程文檔控制表_修改() : SQL_合約工程文檔_檔案說明修改1() : SQL_合約工程文檔_檔案說明修改2() : SQL_合約工程文檔_檔案說明修改3()
  295. SQL_合約工程文檔_文檔修改()
  296. PA43 = "修改檔案" : SQL_合約工程文檔操作紀錄_新增() : Set_文件紀錄()
  297. End If
  298. End If
  299. FTP方式刪除檔案() : If 系統語言 = "繁體中文" Then : 通知訊息 = "上傳完畢!!" : Else : 通知訊息 = "Unggah selesai!!" : End If
  300. 訊息類型 = "1" : 通知視窗.ShowDialog()
  301. Else
  302. If 系統語言 = "繁體中文" Then : 通知訊息 = "請先確定檔案資料已準備完畢!!" : Else : 通知訊息 = "Pastikan file sudah siap!!" : End If
  303. 訊息類型 = "1" : 通知視窗.ShowDialog()
  304. End If
  305. Catch ex As Exception
  306. If CC(120) = False Then
  307. If 系統語言 = "繁體中文" Then : 通知訊息 = "您沒有權限修改檔案的資訊!!" : Else : 通知訊息 = "Anda tidak memiliki izin untuk mengubah informasi file!!" : End If
  308. 訊息類型 = "1" : 通知視窗.ShowDialog()
  309. Else
  310. SQL_合約工程文檔控制表_修改1() : SQL_合約工程文檔_檔案說明修改1() : SQL_合約工程文檔_檔案說明修改2() : SQL_合約工程文檔_檔案說明修改3()
  311. PA43 = "資訊更新" : SQL_合約工程文檔操作紀錄_新增() : Set_文件紀錄()
  312. If 系統語言 = "繁體中文" Then : 通知訊息 = "資料修改完畢!!" : Else : 通知訊息 = "Data telah diubah!!" : End If : 訊息類型 = "1" : 通知視窗.ShowDialog()
  313. End If
  314. End Try
  315. End If : 檔案類型() : Set_文件清單()
  316. End Sub
  317. Private Sub FTP方式刪除檔案()
  318. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  319. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  320. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text & 副檔名_tb.Text)), FtpWebRequest)
  321. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  322. frq.Credentials = fcr
  323. frq.Method = WebRequestMethods.Ftp.DeleteFile
  324. frq.UseBinary = True
  325. frp = CType(frq.GetResponse, FtpWebResponse)
  326. frp.Close()
  327. 伺服器_wb.Refresh()
  328. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  329. 檔案名稱_tb.Text = "" : 副檔名_tb.Text = ""
  330. End Sub
  331. Private Sub 下載_tb_Click(sender As Object, e As EventArgs) Handles 下載_tb.Click
  332. If CC(121) = False Then
  333. If 系統語言 = "繁體中文" Then : 通知訊息 = "您沒有權限下載檔案!!" : Else : 通知訊息 = "Anda tidak memiliki izin untuk mengunduh arsip!!" : End If
  334. 訊息類型 = "1" : 通知視窗.ShowDialog()
  335. Else
  336. If 合約號_tb.Text = "" Or 檔案名稱_tb.Text = "" Or 副檔名_tb.Text = "" Then
  337. If 系統語言 = "繁體中文" Then : 通知訊息 = "請先選擇要下載的圖檔!!" : Else : 通知訊息 = "Silahkan pilih file gambar yang akan di download terlebih dahulu!!" : End If
  338. 訊息類型 = "1" : 通知視窗.ShowDialog()
  339. Else
  340. With SaveFileDialog1 : .Filter = "所有文件(*.*)|*.*" : End With
  341. TT = 檔案名稱_tb.Text
  342. SaveFileDialog1.FileName = TT & 副檔名_tb.Text
  343. SaveFileDialog1.ShowDialog() : 檔案路徑_tb.Text = SaveFileDialog1.FileName
  344. Dim ds2 As New DataSet : ds2.Clear()
  345. SQL_合約工程文檔_文檔下載()
  346. da.Fill(ds2) : conn.Close()
  347. If ds2.Tables(0).Rows.Count > 0 Then
  348. Dim imgData() As Byte
  349. imgData = ds2.Tables(0).Rows(0).Item("文檔")
  350. Dim fs As FileStream
  351. fs = File.Create(檔案路徑_tb.Text, imgData.Length - 1)
  352. fs.Write(imgData, 0, imgData.Length - 1)
  353. fs.Close()
  354. End If
  355. PA43 = "下載檔案" : SQL_合約工程文檔操作紀錄_新增() : Set_文件紀錄()
  356. 檔案路徑_tb.Text = ""
  357. If 系統語言 = "繁體中文" Then : 通知訊息 = "下載完成!!" : Else : 通知訊息 = "Unduh selesai!!" : End If : 訊息類型 = "1" : 通知視窗.ShowDialog()
  358. End If
  359. End If
  360. End Sub
  361. Private Sub 版次自動_cb_CheckedChanged(sender As Object, e As EventArgs) Handles 版次自動_cb.Click
  362. 版次自動_cb.Checked = True : 版次手動_cb.Checked = False : 版本_tb.Enabled = False
  363. End Sub
  364. Private Sub 版次手動_cb_CheckedChanged(sender As Object, e As EventArgs) Handles 版次手動_cb.Click
  365. 版次自動_cb.Checked = False : 版次手動_cb.Checked = True : 版本_tb.Enabled = True
  366. End Sub
  367. Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  368. If CC(122) = False Then : If 系統語言 = "繁體中文" Then : 通知訊息 = "您沒有權限刪除檔案!!" : Else : 通知訊息 = "Anda tidak memiliki izin untuk menghapus file!!" : End If
  369. 訊息類型 = "1" : 通知視窗.ShowDialog()
  370. Else
  371. If 文件號_tb.Text = "" Then : If 系統語言 = "繁體中文" Then : 通知訊息 = "請先選擇文件!!" : Else : 通知訊息 = "Silakan pilih file terlebih dahulu!!" : End If
  372. 訊息類型 = "1" : 通知視窗.ShowDialog()
  373. Else
  374. Dim 文件數 As Integer
  375. For I As Integer = 0 To 文件_dgv.Rows.Count - 1 : If 文件號_tb.Text = 文件_dgv("文件號", I).Value.ToString Then : 文件數 += 1 : End If : Next
  376. Dim SS As String
  377. If 系統語言 = "繁體中文" Then : SS = "確定要刪除該筆資料?" : Else : SS = "Apakah Anda yakin ingin menghapus data ini???" : End If
  378. 通知訊息 = SS : 訊息類型 = "2" : 通知視窗.ShowDialog()
  379. If 訊息回應 = "YES" Then
  380. If 文件數 = 1 Then
  381. SQL_合約工程文檔控制表_刪除() : SQL_合約工程文檔_刪除() : SQL_合約工程文檔說明_刪除()
  382. PA43 = "檔案刪除" : SQL_合約工程文檔操作紀錄_新增() : Set_文件紀錄()
  383. ElseIf 文件數 > 1 Then
  384. SQL_合約工程文檔控制表_刪除() : SQL_合約工程文檔_刪除()
  385. PA43 = "檔案刪除" : SQL_合約工程文檔操作紀錄_新增() : Set_文件紀錄()
  386. End If
  387. If 系統語言 = "繁體中文" Then : 通知訊息 = "刪除完成!!" : Else : 通知訊息 = "Hapus selesai!!" : End If : 訊息類型 = "1" : 通知視窗.ShowDialog()
  388. End If
  389. End If : 檔案類型() : Set_文件清單()
  390. End If
  391. End Sub
  392. Private Sub 操作說明視窗1_Click(sender As Object, e As EventArgs) Handles 說明_bt.Click
  393. If 操作說明視窗_P.Visible = True Then : 操作說明視窗_P.Visible = False : Else : 歷史紀錄_P.Visible = False : 操作說明視窗_P.Visible = True : End If
  394. End Sub
  395. Private Sub 歷史紀錄_bt_Click(sender As Object, e As EventArgs) Handles 歷史紀錄_bt.Click
  396. If 歷史紀錄_P.Visible = True Then : 歷史紀錄_P.Visible = False : Else : 操作說明視窗_P.Visible = False : 歷史紀錄_P.Visible = True : End If
  397. End Sub
  398. Private Sub Cancel_bt_Click(sender As Object, e As EventArgs) Handles Cancel_bt.Click
  399. 操作說明視窗_P.Visible = False
  400. End Sub
  401. Private Sub Cancel1_bt_Click(sender As Object, e As EventArgs) Handles Cancel1_bt.Click
  402. 歷史紀錄_P.Visible = False
  403. End Sub
  404. '----------------------自創視窗滑鼠拖曳功能---------------------------------------------------------------------------------------------------------
  405. Dim OldX, OldY As Long
  406. Dim drag As Boolean
  407. Private Sub 操作說明視窗_P_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 操作說明視窗_P.MouseDown
  408. If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
  409. End Sub
  410. Private Sub 操作說明視窗_P_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 操作說明視窗_P.MouseMove
  411. If drag Then : 操作說明視窗_P.Left = 操作說明視窗_P.Left + e.X - OldX : 操作說明視窗_P.Top = 操作說明視窗_P.Top + e.Y - OldY : End If
  412. End Sub
  413. Private Sub 操作說明視窗_P_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 操作說明視窗_P.MouseUp
  414. drag = False
  415. End Sub
  416. Private Sub 歷史紀錄_P_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 歷史紀錄_P.MouseDown
  417. If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
  418. End Sub
  419. Private Sub 歷史紀錄_P_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 歷史紀錄_P.MouseMove
  420. If drag Then : 歷史紀錄_P.Left = 歷史紀錄_P.Left + e.X - OldX : 歷史紀錄_P.Top = 歷史紀錄_P.Top + e.Y - OldY : End If
  421. End Sub
  422. Private Sub 歷史紀錄_P_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 歷史紀錄_P.MouseUp
  423. drag = False
  424. End Sub
  425. End Class