📄 warehouseoutform.vb
字号:
Dim My实际退货价 As Double = Convert.ToDouble(Me.实际退货价TextBox.Text)
Dim My数量 As Double = Convert.ToDouble(Me.数量TextBox.Text)
Dim My金额 As Double = My实际退货价 * My数量
Me.金额TextBox.Text = My金额.ToString()
End Sub
Private Sub 添加商品Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 添加商品Button.Click
If (Me.金额TextBox.Text.Length < 1) Then
Return
End If
MyID = MyID + 1
Dim MyRow As DataRow = MyTable.NewRow()
MyRow(0) = MyID
MyRow("商品编号") = Me.商品编号TextBox.Text
MyRow("商品名称") = Me.商品名称TextBox.Text
MyRow("规格型号") = Me.规格型号TextBox.Text
MyRow("生产日期") = Me.生产日期DateTimePicker.Value
MyRow("单位") = Me.单位TextBox.Text
MyRow("实际采购价") = Me.实际采购价TextBox.Text
MyRow("实际退货价") = Me.实际退货价TextBox.Text
MyRow("数量") = Me.数量TextBox.Text
MyRow("金额") = Me.金额TextBox.Text
MyTable.Rows.Add(MyRow)
Dim My退货金额 As Double = Convert.ToDouble(Me.退货金额TextBox.Text)
My退货金额 += Convert.ToDouble(Me.金额TextBox.Text)
Me.退货金额TextBox.Text = My退货金额.ToString()
Me.金额TextBox.Text = ""
End Sub
Private Sub 减少商品Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 减少商品Button.Click
Dim My退货金额 As Double = Convert.ToDouble(Me.退货金额TextBox.Text)
My退货金额 -= Convert.ToDouble(Me.退货明细DataGridView.CurrentRow.Cells(8).Value.ToString())
Me.退货金额TextBox.Text = My退货金额.ToString()
Dim MyIndex As Integer = Me.退货明细DataGridView.CurrentRow.Index
MyTable.Rows.RemoveAt(MyIndex)
End Sub
Private Sub 打印退货单Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 打印退货单Button.Click
Me.printPreviewDialog1.Document = Me.printDocument1
Me.printPreviewDialog1.ShowDialog()
End Sub
Private Sub printDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles printDocument1.PrintPage
'打印退货明细单
e.Graphics.DrawString(Me.MyCompany + "商品采购退货单", New Font("宋体", 20), Brushes.Black, 140, 80)
e.Graphics.DrawString("退货单号:" + Me.退货单号TextBox.Text.ToUpper(), New Font("宋体", 12), Brushes.Black, 100, 150)
e.Graphics.DrawString("记帐本位币:人民币(元)", New Font("宋体", 12), Brushes.Black, 530, 150)
e.Graphics.DrawLine(New Pen(Color.Black, 3.0), 100, 170, 720, 170)
e.Graphics.DrawString("客户名称:" + Me.客户名称TextBox.Text, New Font("宋体", 12), Brushes.Black, 110, 175)
e.Graphics.DrawString("退货金额:" + Me.退货金额TextBox.Text, New Font("宋体", 12), Brushes.Black, 400, 175)
e.Graphics.DrawString("实收金额:" + Me.实收金额TextBox.Text, New Font("宋体", 12), Brushes.Black, 550, 175)
e.Graphics.DrawLine(New Pen(Color.Black), 100, 195, 720, 195)
e.Graphics.DrawString("收款方式:" + Me.收款方式ComboBox.Text, New Font("宋体", 12), Brushes.Black, 110, 200)
e.Graphics.DrawString("经办人:" + Me.经办人TextBox.Text, New Font("宋体", 12), Brushes.Black, 400, 200)
e.Graphics.DrawString("出库日期:" + Me.出库日期DateTimePicker.Value.ToShortDateString(), New Font("宋体", 12), Brushes.Black, 530, 200)
e.Graphics.DrawLine(New Pen(Color.Black), 100, 220, 720, 220)
e.Graphics.DrawString("说明:" + Me.说明TextBox.Text, New Font("宋体", 12), Brushes.Black, 110, 225)
e.Graphics.DrawLine(New Pen(Color.Black, 3.0), 100, 245, 720, 245)
e.Graphics.DrawString("商品名称", New Font("宋体", 12), Brushes.Black, 160, 250)
e.Graphics.DrawString("规格型号", New Font("宋体", 12), Brushes.Black, 350, 250)
e.Graphics.DrawString("单位", New Font("宋体", 12), Brushes.Black, 450, 250)
e.Graphics.DrawString("单价", New Font("宋体", 12), Brushes.Black, 510, 250)
e.Graphics.DrawString("数量", New Font("宋体", 12), Brushes.Black, 570, 250)
e.Graphics.DrawString("金额", New Font("宋体", 12), Brushes.Black, 650, 250)
Dim MyPosY As Integer = 270
Dim MyAmount As Double = 0
For i As Integer = 0 To MyTable.Rows.Count - 1 Step 1
e.Graphics.DrawLine(New Pen(Color.Black), 100, MyPosY, 720, MyPosY)
e.Graphics.DrawString(MyTable.Rows(i)(2).ToString(), New Font("宋体", 12), Brushes.Black, 110, MyPosY + 5)
e.Graphics.DrawString(MyTable.Rows(i)(3).ToString(), New Font("宋体", 12), Brushes.Black, 330, MyPosY + 5)
e.Graphics.DrawString(MyTable.Rows(i)(4).ToString(), New Font("宋体", 12), Brushes.Black, 450, MyPosY + 5)
e.Graphics.DrawString(MyTable.Rows(i)(6).ToString(), New Font("宋体", 12), Brushes.Black, 500, MyPosY + 5)
e.Graphics.DrawString(MyTable.Rows(i)(7).ToString(), New Font("宋体", 12), Brushes.Black, 570, MyPosY + 5)
e.Graphics.DrawString(MyTable.Rows(i)(8).ToString(), New Font("宋体", 12), Brushes.Black, 630, MyPosY + 5)
MyAmount = MyAmount + MyTable.Rows(i)(5)
MyPosY = MyPosY + 25
Next
e.Graphics.DrawLine(New Pen(Color.Black, 3.0), 100, MyPosY, 720, MyPosY)
e.Graphics.DrawString("打印日期:" + DateTime.Now.ToShortDateString(), New Font("宋体", 12), Brushes.Black, 530, MyPosY + 5)
End Sub
Private Sub 保存退货单Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 保存退货单Button.Click
If (Me.退货金额TextBox.Text.Length < 2) Then
Return
End If
If (MessageBox.Show("请检查退货商品信息是否正确,一旦保存就无法修改,是否继续?", "信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.No) Then
Return
End If
Dim MySQLConnectionString As String = My.Settings.MySaleConnectionString
Dim MySQL As String = "INSERT INTO 采购信息(自编号,采购单号,客户名称,应付金额,实付金额,支付方式,经办人,入库日期,说明)VALUES('"
MySQL += Me.自编号TextBox.Text + "','"
MySQL += Me.退货单号TextBox.Text + "','"
MySQL += Me.客户名称TextBox.Text + "',"
MySQL += Me.退货金额TextBox.Text + ","
MySQL += Me.实收金额TextBox.Text + ",'"
MySQL += Me.收款方式ComboBox.Text + "','"
MySQL += Me.经办人TextBox.Text + "','"
MySQL += Me.出库日期DateTimePicker.Value.ToString() + "','"
MySQL += Me.说明TextBox.Text + "');"
Dim MyConnection As New SqlConnection(MySQLConnectionString)
MyConnection.Open()
Dim MyCommand As SqlCommand = MyConnection.CreateCommand()
MyCommand.CommandText = MySQL
MyCommand.ExecuteNonQuery()
For Each MyRow As DataRow In MyTable.Rows
MySQL = "INSERT INTO 采购明细(自编号,采购单号,商品编号,数量,单价,金额,生产日期) VALUES('"
MySQL += Me.GetNewID() + "','"
MySQL += Me.退货单号TextBox.Text + "','"
MySQL += MyRow(1).ToString() + "',"
MySQL += MyRow(7).ToString() + ","
MySQL += MyRow(6).ToString() + ","
MySQL += MyRow(8).ToString() + ",'"
MySQL += MyRow(9).ToString() + "');"
MySQL += "Update 商品信息 SET 累计采购量=累计采购量+" + MyRow(7).ToString() + " WHERE 商品编号='" + MyRow(1).ToString() + "';"
MyCommand.CommandText = MySQL
MyCommand.ExecuteNonQuery()
Next
If (MyConnection.State = ConnectionState.Open) Then
MyConnection.Close()
End If
MyTable.Rows.Clear()
新增退货单Button_Click(Nothing, Nothing)
End Sub
Private Function GetNewID() As String
'自动计算自编号
Dim MySQLConnectionString As String = My.Settings.MySaleConnectionString
Dim MyConnection As New SqlConnection(MySQLConnectionString)
MyConnection.Open()
Dim MyCommand As SqlCommand = MyConnection.CreateCommand()
MyCommand.CommandText = "Select max(自编号) 最大编号 From 采购明细"
Dim MyResult As Object = MyCommand.ExecuteScalar()
Dim MyID As System.Int64 = 1
If (Not (MyResult Is System.DBNull.Value)) Then
Dim MyMaxID As String = MyResult.ToString().Trim()
MyMaxID = MyMaxID.Substring(2, MyMaxID.Length - 2)
MyID = Convert.ToInt64(MyMaxID) + 1
End If
Dim MyLength As Integer = MyID.ToString().Length
Dim MyNewID As String = ""
Select Case (MyLength)
Case 1
MyNewID = "MX0000000" + MyID.ToString()
Case 2
MyNewID = "MX000000" + MyID.ToString()
Case 3
MyNewID = "MX00000" + MyID.ToString()
Case 4
MyNewID = "MX0000" + MyID.ToString()
Case 5
MyNewID = "MX000" + MyID.ToString()
Case 6
MyNewID = "MX00" + MyID.ToString()
Case 7
MyNewID = "MX0" + MyID.ToString()
End Select
If (MyConnection.State = ConnectionState.Open) Then
MyConnection.Close()
End If
Return MyNewID
End Function
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -