Brak opisu
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 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. Option Strict Off
  2. Imports System.Data.SqlClient
  3. Public Class 一般物料請購單一覽表
  4. Dim conn As New SqlConnection
  5. Dim da As New SqlDataAdapter
  6. Dim cmd As New SqlCommand
  7. Dim ds As New DataSet : Dim ds1 As New DataSet : Dim ds2 As New DataSet : Dim ds3 As New DataSet : Dim ds4 As New DataSet
  8. Dim dr As SqlDataReader
  9. Dim DTP As String : Dim DTP1 As String : Dim 新項次 As String
  10. Dim NUM1 As Integer
  11. Private Sub Set_使用者清單()
  12. DataGridView1.DataSource = Nothing : ds.Clear()
  13. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  14. DataGridView1.ColumnHeadersHeight = 25
  15. DataGridView1.AllowUserToAddRows = False
  16. DataGridView1.RowTemplate.Height = 35
  17. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  18. SQL1 = "SELECT 請購單號, 項次, 品名, 規格, 備註, 數量, 單價, 數量 * 單價 AS 金額, 用途 FROM 一般物料請購單明細表 WHERE 請購單號 LIKE N'" & TextBox1.Text & "' ORDER BY 項次"
  19. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close() : Set_grid()
  20. End Sub
  21. Private Sub Set_grid()
  22. DataGridView1.Columns(0).Visible = False : DataGridView1.Columns(1).Width = 40 : DataGridView1.Columns(2).Width = 180 : DataGridView1.Columns(3).Width = 180 : DataGridView1.Columns(4).Width = 180
  23. DataGridView1.Columns(5).Width = 80 : DataGridView1.Columns(6).Width = 80 : DataGridView1.Columns(7).Width = 80 : DataGridView1.Columns(8).Width = 285
  24. DataGridView1.Columns(5).DefaultCellStyle.Format = "#,##0.00" : DataGridView1.Columns(6).DefaultCellStyle.Format = "#,##0.00" : DataGridView1.Columns(7).DefaultCellStyle.Format = "#,##0.00"
  25. DataGridView1.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : DataGridView1.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  26. DataGridView1.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  27. DataGridView1.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight : DataGridView1.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  28. DataGridView1.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  29. DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter
  30. TextBox5.Text = "0.00"
  31. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  32. TextBox5.Text = Val(TextBox5.Text) + DataGridView1.Rows(i).Cells("金額").Value
  33. Next i
  34. TextBox5.Text = Format(Val(TextBox5.Text), "#,##0.00")
  35. End Sub
  36. Private Sub Set_清單1()
  37. DataGridView2.DataSource = Nothing : ds1.Clear()
  38. DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  39. DataGridView2.ColumnHeadersHeight = 25
  40. DataGridView2.AllowUserToAddRows = False
  41. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  42. If 登入人部門 = "NA" Then
  43. SQL1 = "SELECT 請購單號, 申請人, LEFT(申請日期, 10) AS 申請日期, 核准人, LEFT(核准日期, 10) AS 核准日期, 已採購, 轉請款, 零用金單號 FROM 一般物料請購單控制表 " &
  44. "WHERE (核准人 NOT LIKE N'') AND (核准人 NOT LIKE N'作廢%') ORDER BY 請購單號 DESC"
  45. Else
  46. SQL1 = "SELECT 請購單號, 申請人, LEFT(申請日期, 10) AS 申請日期, 核准人, LEFT(核准日期, 10) AS 核准日期, 已採購, 轉請款, 零用金單號 FROM 一般物料請購單控制表 " &
  47. "WHERE (申請人 LIKE N'" & gUserName & "') AND (核准人 NOT LIKE N'') AND (核准人 NOT LIKE N'作廢%') ORDER BY 請購單號 DESC"
  48. End If
  49. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close() : Set_grid1()
  50. End Sub
  51. Private Sub Set_grid1()
  52. DataGridView2.Columns(0).Width = 135 : DataGridView2.Columns(1).Width = 80 : DataGridView2.Columns(2).Width = 90 : DataGridView2.Columns(3).Width = 80 : DataGridView2.Columns(4).Width = 90
  53. DataGridView2.Columns(5).Width = 60 : DataGridView2.Columns(6).Width = 60 : DataGridView2.Columns(7).Width = 135
  54. End Sub
  55. Private Sub 一般物料請購單一覽表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  56. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  57. Set_清單1()
  58. End Sub
  59. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView2.CellClick
  60. If e.RowIndex = -1 Then : Else
  61. TextBox1.Text = DataGridView2(0, e.RowIndex).Value.ToString : TextBox3.Text = DataGridView2(1, e.RowIndex).Value.ToString : DateTimePicker1.Value = DataGridView2(2, e.RowIndex).Value.ToString
  62. Button3.Enabled = True : Button5.Enabled = True : Set_使用者清單()
  63. End If
  64. End Sub
  65. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  66. If TextBox1.Text = "" Then
  67. MsgBox("沒有選擇請購單據")
  68. Else
  69. Dim GGG As Boolean
  70. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  71. SQL1 = "SELECT 已採購 FROM 一般物料請購單控制表 WHERE ( 請購單號 LIKE N'" & TextBox1.Text & "')"
  72. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  73. If dr.Read() Then : GGG = dr("已採購") : End If : conn.Close()
  74. If GGG = True Then
  75. MsgBox("該單據已經確認過")
  76. Else
  77. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  78. SQL1 = "UPDATE 一般物料請購單控制表 SET 已採購 = N'1' WHERE (請購單號 = N'" & TextBox1.Text & "')"
  79. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  80. MsgBox("單據 " & TextBox1.Text & " 確認採購完成")
  81. Set_清單1()
  82. End If
  83. End If
  84. End Sub
  85. Private Sub Set_日期格式轉換()
  86. DTP = Format(Today(), "yyyy/MM/dd") & "-" & Format(TimeOfDay(), "hh:mm:ss") : DTP1 = Format(Today(), "yyyyMMdd")
  87. End Sub
  88. Dim WWW As String
  89. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
  90. If TextBox1.Text = "" Then
  91. MsgBox("沒有選擇請購單據")
  92. Else
  93. Dim GGG As Boolean
  94. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  95. SQL1 = "SELECT 已採購 FROM 一般物料請購單控制表 WHERE ( 請購單號 LIKE N'" & TextBox1.Text & "')"
  96. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  97. If dr.Read() Then : GGG = dr("已採購") : End If : conn.Close()
  98. If GGG = False Then
  99. MsgBox("物料未確認已經採購之前,無法轉零用金支付單請款")
  100. Else
  101. Dim AAA As Boolean
  102. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  103. SQL1 = "SELECT 轉請款 FROM 一般物料請購單控制表 WHERE ( 請購單號 LIKE N'" & TextBox1.Text & "')"
  104. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  105. If dr.Read() Then : AAA = dr("轉請款") : End If : conn.Close()
  106. If AAA = True Then
  107. MsgBox("該單據已經轉過零用金支付單,無法重複開立")
  108. Else
  109. Set_日期格式轉換() : Dim NUM1 As Integer
  110. For i As Integer = 1 To 999
  111. NUM1 = 0 + i
  112. If NUM1 < 10 Then : WWW = "PC-" & DTP1 & "-00" & NUM1
  113. ElseIf NUM1 > 9 And NUM1 < 100 Then : WWW = "PC-" & DTP1 & "-0" & NUM1
  114. ElseIf NUM1 > 99 Then : WWW = "PC-" & DTP1 & "-" & NUM1
  115. End If
  116. conn.Close()
  117. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  118. SQL1 = "SELECT TOP (1) 流水號 FROM 零用金支付表 WHERE ( 流水號 LIKE N'" & WWW & "')"
  119. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  120. If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
  121. Next
  122. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  123. SQL1 = "INSERT INTO 零用金支付表 (流水號, 部門, 申請人, 申請日期, 審核人, 審核日期, 核准人, 核准日期, 會計, 作帳日期, 出納, 出納日期, 核准圖檔, 簽名編碼, 備註) " &
  124. "VALUES (N'" & WWW & "',N'" & 登入人部門 & "',N'" & gUserName & "',N'" & DTP & "',N'',N'',N'',N'',N'',N'',N'',N'',N'',N'',N'')"
  125. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  126. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  127. 資料數 = DataGridView1.Rows.Count : MyModule1.進度條()
  128. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  129. SQL1 = "INSERT INTO 零用金支付明細 (流水號, 用途, 金額, 備註, 項次) " &
  130. "VALUES (N'" & WWW & "',N'" & DataGridView1.Rows(i).Cells("品名").Value & "-" & DataGridView1.Rows(i).Cells("規格").Value & "-" & DataGridView1.Rows(i).Cells("備註").Value &
  131. "',N'" & DataGridView1.Rows(i).Cells("金額").Value & "',N'" & DataGridView1.Rows(i).Cells("用途").Value & "',N'" & DataGridView1.Rows(i).Cells("項次").Value & "')"
  132. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  133. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  134. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  135. SQL1 = "UPDATE 一般物料請購單控制表 SET 轉請款 = N'1', 零用金單號 = '" & WWW & "' WHERE (請購單號 = N'" & TextBox1.Text & "')"
  136. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  137. MsgBox("單據 " & TextBox1.Text & " 確認採購完成")
  138. Set_清單1()
  139. End If
  140. End If
  141. End If
  142. End Sub
  143. End Class