No Description
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 10KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. Public Class 物料入庫系統
  2. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : Dim 新流水1 As String : Dim index As Integer
  3. Private Sub 物料入庫系統_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  4. Me.MdiParent = ICS_ASMS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  5. 選擇日期_dtp.CustomFormat = "yyyy/MM/dd"
  6. 選擇日期_dtp.Format = DateTimePickerFormat.Custom
  7. SQL_物料資料庫_類別_下拉清單() : 類別清單_cb.Items.Clear()
  8. While (dr.Read()) : 類別清單_cb.Items.Add(dr("類別")) : End While : conn.Close()
  9. 選擇供應商1_cb.Items.Add("")
  10. SQL_物料資料庫_供應商_下拉清單()
  11. While (dr.Read()) : 選擇供應商_cb.Items.Add(dr("公司名")) : 選擇供應商1_cb.Items.Add(dr("公司名")) : End While : conn.Close()
  12. Set_清單1() : Set_清單2()
  13. End Sub
  14. Private Sub Set_清單1()
  15. 物料_dgv.DataSource = Nothing : ds.Clear()
  16. 物料_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  17. 物料_dgv.ColumnHeadersHeight = 25
  18. 物料_dgv.AllowUserToAddRows = False
  19. 物料_dgv.RowTemplate.Height = 30
  20. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  21. SQL_物料入庫系統_物料清單()
  22. da.Fill(ds) : 物料_dgv.DataSource = ds.Tables(0) : conn.Close()
  23. 物料_dgv.Columns(4).Visible = False : 物料_dgv.Columns(5).Visible = False
  24. 物料_dgv.Columns(0).FillWeight = 70 : 物料_dgv.Columns(1).FillWeight = 120 : 物料_dgv.Columns(2).FillWeight = 160 : 物料_dgv.Columns(3).FillWeight = 40
  25. End Sub
  26. Private Sub Set_清單2()
  27. 明細表_dgv.DataSource = Nothing : ds1.Clear()
  28. 明細表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  29. 明細表_dgv.ColumnHeadersHeight = 25
  30. 明細表_dgv.AllowUserToAddRows = False
  31. 明細表_dgv.RowTemplate.Height = 35
  32. 明細表_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  33. SQL_物料入庫系統_明細表清單() : da.Fill(ds1) : 明細表_dgv.DataSource = ds1.Tables(0) : conn.Close()
  34. 明細表_dgv.Columns(3).ReadOnly = True : 明細表_dgv.Columns(4).ReadOnly = True : 明細表_dgv.Columns(5).ReadOnly = True
  35. 明細表_dgv.Columns(8).ReadOnly = True
  36. 明細表_dgv.Columns(0).Visible = False : 明細表_dgv.Columns(1).Visible = False : 明細表_dgv.Columns(2).Visible = False : 明細表_dgv.Columns(3).FillWeight = 40
  37. 明細表_dgv.Columns(4).FillWeight = 120 : 明細表_dgv.Columns(5).FillWeight = 120 : 明細表_dgv.Columns(6).FillWeight = 40
  38. 明細表_dgv.Columns(7).FillWeight = 40 : 明細表_dgv.Columns(8).FillWeight = 40 : 明細表_dgv.Columns(9).FillWeight = 160
  39. 明細表_dgv.Columns(10).Visible = False : 明細表_dgv.Columns(11).Visible = False : 明細表_dgv.Columns(12).Visible = False
  40. 明細表_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.##" : 明細表_dgv.Columns(8).DefaultCellStyle.Format = "#,##0"
  41. For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
  42. 明細表_dgv.Rows(i).Cells("是否儲存").Value = False
  43. If 明細表_dgv.Rows(i).Cells("單價").Value = 0 Then
  44. 明細表_dgv.Rows(i).Cells("單價").Value = 明細表_dgv.Rows(i).Cells("成本").Value
  45. End If
  46. 明細表_dgv.Rows(i).Cells("總額").Value = 明細表_dgv.Rows(i).Cells("單價").Value * 明細表_dgv.Rows(i).Cells("入庫數量").Value
  47. Next
  48. End Sub
  49. Private Sub 類別清單_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 類別清單_cb.SelectedIndexChanged
  50. 選擇供應商_cb.Items.Clear() : PA3 = 類別清單_cb.Text : SQL_物料資料庫_供應商_下拉清單()
  51. While (dr.Read()) : 選擇供應商_cb.Items.Add(dr("公司名")) : End While : conn.Close()
  52. End Sub
  53. Private Sub 選擇供應商_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 選擇供應商_cb.SelectedIndexChanged
  54. Set_清單1()
  55. End Sub
  56. Private Sub 選擇供應商1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 選擇供應商1_cb.SelectedIndexChanged
  57. Set_清單2()
  58. End Sub
  59. Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
  60. CHB("請輸入要查詢的關鍵字。") : PA56 = 訊息回應 : Set_清單1() : PA56 = ""
  61. End Sub
  62. Private Sub 物料_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 物料_dgv.CellClick
  63. 料號_tb.Text = 物料_dgv(0, e.RowIndex).Value.ToString
  64. End Sub
  65. Private Sub 明細表_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 明細表_dgv.CellEnter
  66. If e.RowIndex = -1 Then : Else
  67. index = e.RowIndex
  68. 流水號_tb.Text = 明細表_dgv(0, e.RowIndex).Value.ToString
  69. For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
  70. 明細表_dgv.Rows(i).Cells("總額").Value = 明細表_dgv.Rows(i).Cells("單價").Value * 明細表_dgv.Rows(i).Cells("入庫數量").Value
  71. Next
  72. End If
  73. End Sub
  74. Private Sub 選擇日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 選擇日期_dtp.ValueChanged
  75. Set_清單2() : 選擇日期_dtp.CustomFormat = "yyyy/MM/dd"
  76. 選擇日期_dtp.Format = DateTimePickerFormat.Custom
  77. End Sub
  78. Private Sub 收支單中新增一筆空白資料_bt_Click(sender As Object, e As EventArgs) Handles 收支單中新增一筆空白資料_bt.Click
  79. If 料號_tb.Text = "" Then
  80. MsgBox("未選擇物料。")
  81. Else
  82. Set_流水號() : SQL_物料入庫系統_新增明細表() : conn.Close()
  83. 料號_tb.Text = "" : Set_清單2()
  84. End If
  85. End Sub
  86. Private Sub Set_流水號()
  87. conn.Close() : dr.Close()
  88. Dim NUM1 As Integer
  89. For NUM1 = 0 To 999
  90. Dim d As String : Dim f As String
  91. Dim selectedDate As DateTime = 選擇日期_dtp.Value
  92. Dim y As String = selectedDate.Year.ToString()
  93. If selectedDate.Month < 10 Then : d = "0" & selectedDate.Month.ToString()
  94. Else : d = selectedDate.Month.ToString()
  95. End If
  96. If selectedDate.Day < 10 Then : f = "0" & selectedDate.Day.ToString()
  97. Else : f = selectedDate.Day.ToString()
  98. End If
  99. If NUM1 < 10 Then : 新流水1 = "Z" & y & d & f & "00" & NUM1
  100. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水1 = "Z" & y & d & f & "0" & NUM1
  101. ElseIf NUM1 > 99 Then : 新流水1 = "Z" & y & d & f & NUM1
  102. End If : PA19 = 新流水1
  103. SQL_物料入庫系統_查詢入庫明細流水號()
  104. If dr.Read() Then : conn.Close() : Else : conn.Close() : NUM1 = 999 : End If
  105. Next
  106. End Sub
  107. Private Sub 刪除選中的一筆資料_bt_Click(sender As Object, e As EventArgs) Handles 刪除選中的一筆資料_bt.Click
  108. If 流水號_tb.Text = "" Then
  109. MsgBox("未選擇需要刪除的資料。")
  110. Else
  111. Dim NUM1, NUM2 As Integer
  112. PA5 = 明細表_dgv.Rows(index).Cells("料號").Value.ToString
  113. Dim cost As Decimal = Convert.ToDecimal(明細表_dgv.Rows(index).Cells("成本").Value)
  114. Dim integerCost As Integer = CInt(Math.Floor(cost))
  115. If integerCost = 0 Then
  116. PA8 = 明細表_dgv.Rows(index).Cells("申請人").Value.ToString : PA9 = 明細表_dgv.Rows(index).Cells("申請日期").Value.ToString
  117. PA10 = 明細表_dgv.Rows(index).Cells("入庫數量").Value.ToString
  118. Dim ST As Double = 明細表_dgv.Rows(index).Cells("單價").Value
  119. PA11 = ST.ToString("F2")
  120. SQL_物料入庫系統_刪除明細表1() : conn.Close()
  121. End If
  122. SQL_物料入庫系統_刪除明細表() : conn.Close()
  123. Set_清單2() : MsgBox("刪除成功。") : 流水號_tb.Text = ""
  124. End If
  125. End Sub
  126. Private Sub 申請_bt_Click(sender As Object, e As EventArgs) Handles 申請_bt.Click
  127. For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
  128. Dim NUM1 As Integer
  129. PA1 = 明細表_dgv.Rows(i).Cells("流水號").Value.ToString : PA2 = 明細表_dgv.Rows(i).Cells("入庫數量").Value.ToString
  130. PA3 = 明細表_dgv.Rows(i).Cells("單價").Value : PA4 = 明細表_dgv.Rows(i).Cells("備註").Value.ToString
  131. Dim cost As Decimal = Convert.ToDecimal(明細表_dgv.Rows(i).Cells("成本").Value)
  132. Dim integerCost As Integer = CInt(Math.Floor(cost))
  133. SQL_物料入庫系統_修改明細表() : conn.Close()
  134. PA5 = 明細表_dgv.Rows(i).Cells("料號").Value.ToString
  135. If NUM1 + 明細表_dgv.Rows(i).Cells("入庫數量").Value < 0 Then
  136. PA46 = "0"
  137. Else
  138. PA6 = NUM1 + 明細表_dgv.Rows(i).Cells("入庫數量").Value
  139. End If
  140. If integerCost = 0 Then
  141. Set_流水號() : SQL_物料入庫系統_新增明細表1() : conn.Close()
  142. End If
  143. Next : MsgBox("儲存成功。")
  144. End Sub
  145. Private Sub 查詢_bt_MouseEnter(sender As Object, e As EventArgs) Handles 查詢_bt.MouseEnter
  146. ToolTip1.SetToolTip(Me.查詢_bt, "查詢")
  147. End Sub
  148. Private Sub 新增_bt_MouseEnter(sender As Object, e As EventArgs) Handles 收支單中新增一筆空白資料_bt.MouseEnter
  149. ToolTip1.SetToolTip(Me.收支單中新增一筆空白資料_bt, "收支單中新增一筆資料")
  150. End Sub
  151. Private Sub 修改_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除選中的一筆資料_bt.MouseEnter
  152. ToolTip1.SetToolTip(Me.刪除選中的一筆資料_bt, "刪除選中的一筆資料")
  153. End Sub
  154. Private Sub 刪除_bt_MouseEnter(sender As Object, e As EventArgs) Handles 申請_bt.MouseEnter
  155. ToolTip1.SetToolTip(Me.申請_bt, "修改存檔")
  156. End Sub
  157. End Class