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

一般物料請購單一覽表.vb 9.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. Option Strict Off
  2. Public Class 一般物料請購單一覽表
  3. Private ReadOnly ds, ds1 As New DataSet
  4. Dim DTP1 As String
  5. Dim 已超出 As Boolean
  6. Private Sub Set_使用者清單()
  7. 明細_dgv.DataSource = Nothing : ds.Clear()
  8. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  9. 明細_dgv.ColumnHeadersHeight = 25
  10. 明細_dgv.AllowUserToAddRows = False
  11. 明細_dgv.RowTemplate.Height = 35
  12. SQL_查詢明細()
  13. da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
  14. 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 40 : 明細_dgv.Columns(2).FillWeight = 180 : 明細_dgv.Columns(3).FillWeight = 180
  15. 明細_dgv.Columns(5).FillWeight = 80 : 明細_dgv.Columns(6).FillWeight = 80 : 明細_dgv.Columns(7).FillWeight = 80 : 明細_dgv.Columns(8).FillWeight = 285
  16. 明細_dgv.Columns(4).FillWeight = 180
  17. 明細_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00"
  18. 明細_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  19. 明細_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  20. 明細_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  21. 明細_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  22. 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  23. 明細_dgv.Columns("項次").ReadOnly = True : 明細_dgv.Columns("金額").ReadOnly = True
  24. 總金額_tb.Text = "0.00"
  25. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  26. 總金額_tb.Text = Val(總金額_tb.Text) + 明細_dgv.Rows(i).Cells("金額").Value
  27. Next i
  28. 總金額_tb.Text = Format(Val(總金額_tb.Text), "#,##0.00")
  29. End Sub
  30. Private Sub Set_清單1()
  31. 未審核_dgv.DataSource = Nothing : ds1.Clear()
  32. 未審核_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  33. 未審核_dgv.ColumnHeadersHeight = 25
  34. 未審核_dgv.AllowUserToAddRows = False
  35. SQL_審核清單()
  36. da.Fill(ds1) : 未審核_dgv.DataSource = ds1.Tables(0) : conn.Close()
  37. 未審核_dgv.Columns(0).FillWeight = 135 : 未審核_dgv.Columns(1).FillWeight = 80 : 未審核_dgv.Columns(2).FillWeight = 90
  38. 未審核_dgv.Columns(3).FillWeight = 80 : 未審核_dgv.Columns(4).FillWeight = 90 : 未審核_dgv.Columns(7).FillWeight = 135
  39. 未審核_dgv.Columns(5).FillWeight = 60 : 未審核_dgv.Columns(6).FillWeight = 60
  40. End Sub
  41. Private Sub 一般物料請購單一覽表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  42. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  43. ComboBox1下拉表單資料載入() : 帳本名稱_cb.SelectedIndex = 0 : PA19 = 帳本編號_cb.Text
  44. Set_清單1()
  45. End Sub
  46. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 未審核_dgv.CellClick
  47. If e.RowIndex = -1 Then : Else
  48. 一般物料請購單號_tb.Text = 未審核_dgv(0, e.RowIndex).Value.ToString
  49. 申請人_tb.Text = 未審核_dgv(1, e.RowIndex).Value.ToString
  50. 申請日期_dtp.Value = 未審核_dgv(2, e.RowIndex).Value.ToString
  51. 已採購確認_bt.Enabled = True : 單據轉零用金支付申請_bt.Enabled = True : Set_使用者清單()
  52. End If
  53. End Sub
  54. Private Sub 已採購確認_bt_Click(sender As Object, e As EventArgs) Handles 已採購確認_bt.Click
  55. If 一般物料請購單號_tb.Text = "" Then
  56. MsgBox("沒有選擇請購單據")
  57. Else
  58. Dim GGG As Boolean
  59. SQL_查詢已採購()
  60. If dr.Read() Then : GGG = dr("已採購") : End If : conn.Close()
  61. If GGG = True Then
  62. MsgBox("該單據已經確認過")
  63. Else
  64. SQL_一般物料已採購() : conn.Close()
  65. MsgBox("單據 " & 一般物料請購單號_tb.Text & " 確認採購完成")
  66. Set_清單1()
  67. End If
  68. End If
  69. End Sub
  70. Private Sub Set_日期格式轉換()
  71. DTP = Format(Today(), "yyyy/MM/dd") & "-" & Format(TimeOfDay(), "hh:mm:ss") : DTP1 = Format(Today(), "yyyyMMdd")
  72. End Sub
  73. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 單據轉零用金支付申請_bt.Click
  74. If 一般物料請購單號_tb.Text = "" Then
  75. MsgBox("沒有選擇請購單據")
  76. Else
  77. Dim GGG As Boolean
  78. SQL_查詢已採購()
  79. If dr.Read() Then : GGG = dr("已採購") : End If : conn.Close()
  80. If GGG = False Then
  81. MsgBox("物料未確認已經採購之前,無法轉零用金支付單請款")
  82. Else
  83. Dim AAA As Boolean
  84. SQL_查詢轉請款()
  85. If dr.Read() Then : AAA = dr("轉請款") : End If : conn.Close()
  86. If AAA = True Then
  87. MsgBox("該單據已經轉過零用金支付單,無法重複開立")
  88. Else
  89. Set_日期格式轉換() : Dim NUM1 As Integer
  90. For i As Integer = 1 To 999
  91. NUM1 = 0 + i
  92. If NUM1 < 10 Then : WWW = "PC-" & DTP1 & "-00" & NUM1
  93. ElseIf NUM1 > 9 And NUM1 < 100 Then : WWW = "PC-" & DTP1 & "-0" & NUM1
  94. ElseIf NUM1 > 99 Then : WWW = "PC-" & DTP1 & "-" & NUM1
  95. End If
  96. SQL_流水號新增()
  97. If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
  98. Next
  99. SQL_新增零用金支付表()
  100. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  101. 資料數 = 明細_dgv.Rows.Count : MyModule1.進度條()
  102. PA = 明細_dgv.Rows(i).Cells("品名").Value & "-" & 明細_dgv.Rows(i).Cells("規格").Value & "-" & 明細_dgv.Rows(i).Cells("備註").Value
  103. PA1 = 明細_dgv.Rows(i).Cells("金額").Value : PA2 = 明細_dgv.Rows(i).Cells("用途").Value : PA3 = 明細_dgv.Rows(i).Cells("項次").Value
  104. SQL_新增零用金支付明細() : conn.Close()
  105. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  106. SQL_修改請購單控制表() : conn.Close()
  107. MsgBox("單據 " & 一般物料請購單號_tb.Text & " 確認採購完成")
  108. Set_清單1()
  109. End If
  110. End If
  111. End If
  112. End Sub
  113. Private Sub 明細_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細_dgv.MouseUp
  114. If 明細_dgv.SelectedCells.Count = 1 Then
  115. 已超出 = False
  116. End If
  117. If 明細_dgv.SelectedCells.Count > 0 Then
  118. '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算
  119. If 明細_dgv.SelectedCells(0).ColumnIndex = 5 Or 明細_dgv.SelectedCells(0).ColumnIndex = 7 Then
  120. If 已超出 = False Then
  121. Dim x As Double = 0
  122. For i As Integer = 0 To 明細_dgv.SelectedCells.Count - 1
  123. '明細_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。
  124. x += Val(明細_dgv.Rows(明細_dgv.SelectedCells.Item(i).RowIndex).Cells(明細_dgv.SelectedCells.Item(i).ColumnIndex).Value)
  125. Next i
  126. '將計算好的資料放置到指定的控件中
  127. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0")
  128. Else
  129. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
  130. End If
  131. Else
  132. 已超出 = True
  133. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
  134. End If
  135. End If
  136. End Sub
  137. Private Sub ComboBox1下拉表單資料載入()
  138. SQL_帳本下拉清單()
  139. 帳本名稱_cb.Items.Clear() : 帳本編號_cb.Items.Clear() : While (dr.Read()) : 帳本名稱_cb.Items.Add(dr("帳本名稱")) : 帳本編號_cb.Items.Add(dr("編號")) : End While : conn.Close()
  140. End Sub
  141. Private Sub 帳本名稱_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 帳本名稱_cb.SelectedIndexChanged
  142. 帳本編號_cb.SelectedIndex = 帳本名稱_cb.SelectedIndex : PA19 = 帳本編號_cb.Text
  143. End Sub
  144. Private Sub 帳本編號_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 帳本編號_cb.SelectedIndexChanged
  145. 帳本名稱_cb.SelectedIndex = 帳本編號_cb.SelectedIndex : PA19 = 帳本編號_cb.Text
  146. End Sub
  147. End Class