📄 computeform.vb
字号:
For Each MyRow As DataRow In Me.MyPersonnelDataSet.工资核算表.Rows
For i = 0 To Me.MyPersonnelDataSet.工资核算表.Columns.Count - 1 Step 1
MyData(j, i) = MyRow(i).ToString()
Next
j = j + 1
Next
MyRange = MyRange.Resize(Me.MyPersonnelDataSet.工资核算表.Rows.Count + 1, Me.MyPersonnelDataSet.工资核算表.Columns.Count)
MyRange.Value2 = MyData
MyRange.EntireColumn.AutoFit()
MyWorkSheet.Cells(2, 2) = Me.MyCompany + Me.部门ToolStripComboBox.Text + "工资核算表"
MyWorkSheet.Cells(4, 1) = "日期:" + Me.年份ToolStripComboBox.Text + "年" + Me.月份ToolStripComboBox.Text + "月"
End Sub
Private Sub 发工资ToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 发工资ToolStripButton.Click
Dim My年份 As Integer = Convert.ToInt16(Me.年份ToolStripComboBox.Text)
Dim My月份 As Integer = Convert.ToInt16(Me.月份ToolStripComboBox.Text)
Dim MyInfo As String = "是否确定发放" + My年份.ToString() + "年" + My月份.ToString() + "月" + Me.部门ToolStripComboBox.Text + "员工的工资?" + System.Environment.NewLine + "注意:一旦发放当月工资,就不能再进行修改!"
If (MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.No) Then
Return
End If
Dim MySQLConnectionString As String = My.Settings.MyPersonnelConnectionString
Dim MyConnection As New SqlConnection(MySQLConnectionString)
MyConnection.Open()
Dim MyCount As Integer = 0
For Each MyRow As DataRow In Me.MyPersonnelDataSet.工资核算表.Rows
Dim My员工编号 As String = MyRow(1).ToString()
Dim My发放年份 As String = Me.年份ToolStripComboBox.Text
Dim My发放月份 As String = Me.月份ToolStripComboBox.Text
Dim MySQL As String = "Select COUNT(*) From 工资发放表 Where 发放年份=" + Me.年份ToolStripComboBox.Text + " AND 发放月份=" + Me.月份ToolStripComboBox.Text + " AND 员工编号='" + My员工编号 + "'"
Dim MyCommand As New SqlCommand(MySQL, MyConnection)
MyCount = MyCommand.ExecuteScalar()
If (MyCount > 0) Then
Continue For
End If
Dim My自编号 As String = GetMy自编号()
Dim MyQueryTable As New System.Data.DataTable()
MySQL = "Select 银行帐号,养老保险帐号,医疗保险帐号,住房基金帐号,身份证号码 From 基本档案 WHERE 员工编号='" + My员工编号 + "'"
Dim MyDataAdapter As New SqlDataAdapter(MySQL, MyConnection)
MyDataAdapter.Fill(MyQueryTable)
Dim My银行帐号 As String = MyQueryTable.Rows(0)(0).ToString()
Dim My养老保险帐号 As String = MyQueryTable.Rows(0)(1).ToString()
Dim My医疗保险帐号 As String = MyQueryTable.Rows(0)(2).ToString()
Dim My住房基金帐号 As String = MyQueryTable.Rows(0)(3).ToString()
Dim My身份证号码 As String = MyQueryTable.Rows(0)(4).ToString()
MySQL = "INSERT INTO 工资发放表([自编号] ,[员工编号], [员工姓名], [基本工资],[津贴] ,[奖金], [工龄工资], [岗位工资],[其他应增项] ,[所得税], [养老险],[医疗险] ,[住房基金], [其他应减项], [银行帐号],[养老保险帐号] ,[医疗保险帐号], [住房基金帐号], [身份证号码],[发放年份] ,[发放月份], [说明]) VALUES (@自编号 ,@员工编号,@员工姓名,@基本工资,@津贴 ,@奖金,@工龄工资,@岗位工资,@其他应增项 ,@所得税,@养老险,@医疗险 ,@住房基金,@其他应减项,@银行帐号,@养老保险帐号 ,@医疗保险帐号,@住房基金帐号,@身份证号码,@发放年份 ,@发放月份,@说明)"
MyCommand = MyConnection.CreateCommand()
MyCommand.CommandText = MySQL
MyCommand.Parameters.Add(New SqlParameter("@自编号", SqlDbType.VarChar))
MyCommand.Parameters.Add(New SqlParameter("@员工编号", SqlDbType.VarChar))
MyCommand.Parameters.Add(New SqlParameter("@员工姓名", SqlDbType.VarChar))
MyCommand.Parameters.Add(New SqlParameter("@基本工资", SqlDbType.Float))
MyCommand.Parameters.Add(New SqlParameter("@津贴", SqlDbType.Float))
MyCommand.Parameters.Add(New SqlParameter("@奖金", SqlDbType.Float))
MyCommand.Parameters.Add(New SqlParameter("@工龄工资", SqlDbType.Float))
MyCommand.Parameters.Add(New SqlParameter("@岗位工资", SqlDbType.Float))
MyCommand.Parameters.Add(New SqlParameter("@其他应增项", SqlDbType.Float))
MyCommand.Parameters.Add(New SqlParameter("@所得税", SqlDbType.Float))
MyCommand.Parameters.Add(New SqlParameter("@养老险", SqlDbType.Float))
MyCommand.Parameters.Add(New SqlParameter("@医疗险", SqlDbType.Float))
MyCommand.Parameters.Add(New SqlParameter("@住房基金", SqlDbType.Float))
MyCommand.Parameters.Add(New SqlParameter("@其他应减项", SqlDbType.Float))
MyCommand.Parameters.Add(New SqlParameter("@银行帐号", SqlDbType.VarChar))
MyCommand.Parameters.Add(New SqlParameter("@养老保险帐号", SqlDbType.VarChar))
MyCommand.Parameters.Add(New SqlParameter("@医疗保险帐号", SqlDbType.VarChar))
MyCommand.Parameters.Add(New SqlParameter("@住房基金帐号", SqlDbType.VarChar))
MyCommand.Parameters.Add(New SqlParameter("@身份证号码", SqlDbType.VarChar))
MyCommand.Parameters.Add(New SqlParameter("@发放年份", SqlDbType.Int))
MyCommand.Parameters.Add(New SqlParameter("@发放月份", SqlDbType.Int))
MyCommand.Parameters.Add(New SqlParameter("@说明", SqlDbType.VarChar))
MyCommand.Parameters("@自编号").Value = My自编号
MyCommand.Parameters("@员工编号").Value = My员工编号
MyCommand.Parameters("@员工姓名").Value = MyRow(2).ToString()
MyCommand.Parameters("@基本工资").Value = MyRow(3)
MyCommand.Parameters("@津贴").Value = MyRow(4)
MyCommand.Parameters("@奖金").Value = MyRow(5)
MyCommand.Parameters("@工龄工资").Value = MyRow(6)
MyCommand.Parameters("@岗位工资").Value = MyRow(7)
MyCommand.Parameters("@其他应增项").Value = MyRow(8)
MyCommand.Parameters("@所得税").Value = MyRow(9)
MyCommand.Parameters("@养老险").Value = MyRow(10)
MyCommand.Parameters("@医疗险").Value = MyRow(11)
MyCommand.Parameters("@住房基金").Value = MyRow(12)
MyCommand.Parameters("@其他应减项").Value = MyRow(13)
MyCommand.Parameters("@银行帐号").Value = My银行帐号
MyCommand.Parameters("@养老保险帐号").Value = My养老保险帐号
MyCommand.Parameters("@医疗保险帐号").Value = My医疗保险帐号
MyCommand.Parameters("@住房基金帐号").Value = My住房基金帐号
MyCommand.Parameters("@身份证号码").Value = My身份证号码
MyCommand.Parameters("@发放年份").Value = My发放年份
MyCommand.Parameters("@发放月份").Value = My发放月份
MyCommand.Parameters("@说明").Value = MyRow(14)
MyCommand.ExecuteNonQuery()
Next
If (MyConnection.State = ConnectionState.Open) Then
MyConnection.Close()
End If
If (MyCount = 0) Then
MyInfo = "发放" + My年份.ToString() + "年" + My月份.ToString() + "月" + Me.部门ToolStripComboBox.Text + "员工的工资操作成功!"
MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Private Function GetMy自编号() As String
Dim MySQLConnectionString As String = My.Settings.MyPersonnelConnectionString
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 = "FF0000000" + MyID.ToString()
Case 2
MyNewID = "FF000000" + MyID.ToString()
Case 3
MyNewID = "FF00000" + MyID.ToString()
Case 4
MyNewID = "FF0000" + MyID.ToString()
Case 5
MyNewID = "FF000" + MyID.ToString()
Case 6
MyNewID = "FF00" + MyID.ToString()
Case 7
MyNewID = "FF0" + 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 + -