⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 computeform.h

📁 这是一个用VC++编写的人事工资管理系统,开发平台为VS2005,是开发企业管理程序的程序员的很好参考!
💻 H
📖 第 1 页 / 共 3 页
字号:
			catch (System::Exception^ ex)
            {
				System::Windows::Forms::MessageBox::Show(ex->Message);
            }
		 }
		private: System::Void 打印ToolStripButton_Click(System::Object^  sender, System::EventArgs^  e) {
			//导出Excel表格数据文件
			ApplicationClass^ MyExcel;
			Workbooks^ MyWorkBooks;
			Workbook^ MyWorkBook;
			Worksheet^ MyWorkSheet;
			char MyColumns;
			Range^ MyRange;
			array<System::Object^,2>^ MyData=gcnew array<System::Object^,2>(5000,30);
			int Count, i, j;
			MyExcel = gcnew ApplicationClass();
			MyExcel->Visible = true;
			if (MyExcel == nullptr)
			{
				MessageBox::Show("Excel程序无法启动!", "信息提示", MessageBoxButtons::OK, MessageBoxIcon::Information);
				return;
			}
			MyWorkBooks = MyExcel->Workbooks;
			MyWorkBook = MyWorkBooks->Add(Missing::Value);
			MyWorkSheet = (Worksheet^)MyWorkBook->Worksheets[1];
			switch(this->MyPersonnelDataSet->工资核算表->Columns->Count + 64)
			{
			case 64:
				 MyRange=MyWorkSheet->Range["A5","A5"];
				break;
			case 65:
				MyRange=MyWorkSheet->Range["A5","B5"];
				break;
			case 66:
				MyRange=MyWorkSheet->Range["A5","C5"];
				break;
			case 67:
				MyRange=MyWorkSheet->Range["A5","D5"];
				break;
			case 68:
				MyRange=MyWorkSheet->Range["A5","E5"];
				break;
			case 69:
				MyRange=MyWorkSheet->Range["A5","F5"];
				break;
			case 70:
				MyRange=MyWorkSheet->Range["A5","G5"];
				break;
			case 71:
				MyRange=MyWorkSheet->Range["A5","H5"];
				break;
			case 72:
				MyRange=MyWorkSheet->Range["A5","I5"];
				break;
			case 73:
				MyRange=MyWorkSheet->Range["A5","J5"];
				break;
			case 74:
				MyRange=MyWorkSheet->Range["A5","K5"];
				break;
			case 75:
				MyRange=MyWorkSheet->Range["A5","L5"];
				break;
			case 76:
				MyRange=MyWorkSheet->Range["A5","M5"];
				break;
			case 77:
				MyRange=MyWorkSheet->Range["A5","N5"];
				break;
			case 78:
				MyRange=MyWorkSheet->Range["A5","O5"];
				break;
			case 79:
				MyRange=MyWorkSheet->Range["A5","P5"];
				break;
			case 80:
				MyRange=MyWorkSheet->Range["A5","Q5"];
				break;
			case 81:
				MyRange=MyWorkSheet->Range["A5","R5"];
				break;
			case 82:
				MyRange=MyWorkSheet->Range["A5","S5"];
				break;
			case 83:
				MyRange=MyWorkSheet->Range["A5","T5"];
				break;
			case 84:
				MyRange=MyWorkSheet->Range["A5","U5"];
				break;
			case 85:
				MyRange=MyWorkSheet->Range["A5","V5"];
				break;
			case 86:
				MyRange=MyWorkSheet->Range["A5","W5"];
				break;
			case 87:
				MyRange=MyWorkSheet->Range["A5","X5"];
				break;
			case 88:
				MyRange=MyWorkSheet->Range["A5","Y5"];
				break;
			case 89:
				MyRange=MyWorkSheet->Range["A5","Z5"];
				break;
			}			        
            Count = 0;
            for each (DataColumn^ MyNewColumn in this->MyPersonnelDataSet->工资核算表->Columns)
            {
                MyData[0, Count] = MyNewColumn->ColumnName;
                Count = Count + 1;
            }
            j = 1;
            //输出数据库记录
            for each (DataRow^ MyRow in this->MyPersonnelDataSet->工资核算表->Rows)
            {
                for (i = 0; i < this->MyPersonnelDataSet->工资核算表->Columns->Count ; i++)
                {
                    MyData[j, i] = MyRow[i]->ToString();
                }
                j++;
            }
            MyRange = MyRange->Resize[this->MyPersonnelDataSet->工资核算表->Rows->Count + 1, this->MyPersonnelDataSet->工资核算表->Columns->Count];
            MyRange->Value2 = MyData;
            MyRange->EntireColumn->AutoFit();
            MyWorkSheet->Cells[2, 2] = this->MyCompany +this->部门ToolStripComboBox->Text +"工资核算表";
            MyWorkSheet->Cells[4, 1] = "日期:" +this->年份ToolStripComboBox->Text+ "年"+this->月份ToolStripComboBox->Text+"月"; 
		 }
		private: System::Void 发工资ToolStripButton_Click(System::Object^  sender, System::EventArgs^  e) {
		    int My年份=Convert::ToInt16(this->年份ToolStripComboBox->Text);
            int My月份=Convert::ToInt16(this->月份ToolStripComboBox->Text);
            String^ MyInfo = "是否确定发放" + My年份.ToString() + "年" + My月份.ToString() + "月" + this->部门ToolStripComboBox->Text + "员工的工资?\n注意:一旦发放当月工资,就不能再进行修改!";
			if (MessageBox::Show(MyInfo,"信息提示",MessageBoxButtons::YesNo,MessageBoxIcon::Question) == System::Windows::Forms::DialogResult::No)
            {
                return;
            }
            String^ MySQLConnectionString =MyPersonnelConnectionString;
            SqlConnection^ MyConnection = gcnew SqlConnection(MySQLConnectionString);
            MyConnection->Open();
            int MyCount = 0;
            for each (DataRow^ MyRow in this->MyPersonnelDataSet->工资核算表->Rows)
            {
                String^ My员工编号=MyRow[1]->ToString();
                String^ My发放年份= this->年份ToolStripComboBox->Text;
                String^ My发放月份= this->月份ToolStripComboBox->Text;                
                String^ MySQL = "Select COUNT(*) From 工资发放表 Where 发放年份="+this->年份ToolStripComboBox->Text+" AND 发放月份="+this->月份ToolStripComboBox->Text+" AND 员工编号='"+My员工编号+"'";
                SqlCommand^ MyCommand = gcnew SqlCommand(MySQL, MyConnection);
                MyCount = (int)MyCommand->ExecuteScalar();
                if (MyCount>0)
                {
                    continue;
                }
                String^ My自编号 = GetMy自编号();                
                System::Data::DataTable^ MyQueryTable = gcnew System::Data::DataTable();
                MySQL = "Select 银行帐号,养老保险帐号,医疗保险帐号,住房基金帐号,身份证号码 From 基本档案 WHERE 员工编号='" + My员工编号 + "'";
                SqlDataAdapter^ MyDataAdapter = gcnew SqlDataAdapter(MySQL, MyConnection);
                MyDataAdapter->Fill(MyQueryTable);
                String^ My银行帐号 = MyQueryTable->Rows[0][0]->ToString();
                String^ My养老保险帐号 = MyQueryTable->Rows[0][1]->ToString();
                String^ My医疗保险帐号 = MyQueryTable->Rows[0][2]->ToString();
                String^ My住房基金帐号 = MyQueryTable->Rows[0][3]->ToString();
                String^ My身份证号码 = MyQueryTable->Rows[0][4]->ToString();
                MySQL = "INSERT INTO 工资发放表([自编号] ,[员工编号], [员工姓名], [基本工资],[津贴] ,[奖金], [工龄工资], [岗位工资],[其他应增项] ,[所得税], [养老险],[医疗险] ,[住房基金], [其他应减项], [银行帐号],[养老保险帐号] ,[医疗保险帐号], [住房基金帐号], [身份证号码],[发放年份] ,[发放月份], [说明]) VALUES (@自编号 ,@员工编号,@员工姓名,@基本工资,@津贴 ,@奖金,@工龄工资,@岗位工资,@其他应增项 ,@所得税,@养老险,@医疗险 ,@住房基金,@其他应减项,@银行帐号,@养老保险帐号 ,@医疗保险帐号,@住房基金帐号,@身份证号码,@发放年份 ,@发放月份,@说明)";
                MyCommand = MyConnection->CreateCommand();
                MyCommand->CommandText = MySQL;
                MyCommand->Parameters->Add(gcnew SqlParameter("@自编号", SqlDbType::VarChar));
                MyCommand->Parameters->Add(gcnew SqlParameter("@员工编号", SqlDbType::VarChar));
                MyCommand->Parameters->Add(gcnew SqlParameter("@员工姓名", SqlDbType::VarChar));
                MyCommand->Parameters->Add(gcnew SqlParameter("@基本工资", SqlDbType::Float));
                MyCommand->Parameters->Add(gcnew SqlParameter("@津贴", SqlDbType::Float));
                MyCommand->Parameters->Add(gcnew SqlParameter("@奖金", SqlDbType::Float));
                MyCommand->Parameters->Add(gcnew SqlParameter("@工龄工资", SqlDbType::Float));
                MyCommand->Parameters->Add(gcnew SqlParameter("@岗位工资", SqlDbType::Float));
                MyCommand->Parameters->Add(gcnew SqlParameter("@其他应增项", SqlDbType::Float));
                MyCommand->Parameters->Add(gcnew SqlParameter("@所得税", SqlDbType::Float));
                MyCommand->Parameters->Add(gcnew SqlParameter("@养老险", SqlDbType::Float));
                MyCommand->Parameters->Add(gcnew SqlParameter("@医疗险", SqlDbType::Float));
                MyCommand->Parameters->Add(gcnew SqlParameter("@住房基金", SqlDbType::Float));
                MyCommand->Parameters->Add(gcnew SqlParameter("@其他应减项", SqlDbType::Float));
                MyCommand->Parameters->Add(gcnew SqlParameter("@银行帐号", SqlDbType::VarChar));
                MyCommand->Parameters->Add(gcnew SqlParameter("@养老保险帐号", SqlDbType::VarChar));
                MyCommand->Parameters->Add(gcnew SqlParameter("@医疗保险帐号", SqlDbType::VarChar));
                MyCommand->Parameters->Add(gcnew SqlParameter("@住房基金帐号", SqlDbType::VarChar));
                MyCommand->Parameters->Add(gcnew SqlParameter("@身份证号码", SqlDbType::VarChar));
                MyCommand->Parameters->Add(gcnew SqlParameter("@发放年份", SqlDbType::Int));
                MyCommand->Parameters->Add(gcnew SqlParameter("@发放月份", SqlDbType::Int));
                MyCommand->Parameters->Add(gcnew 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();
            }
            if (MyConnection->State == ConnectionState::Open)
            {
                MyConnection->Close();
            }
            if(MyCount==0)
            {
                MyInfo = "发放" + My年份.ToString() + "年" + My月份.ToString() + "月" + this->部门ToolStripComboBox->Text + "员工的工资操作成功!";
				MessageBox::Show(MyInfo,"信息提示",MessageBoxButtons::OK ,MessageBoxIcon::Information);            
            }
		 }
		private:String^ GetMy自编号()
        {
            String^ MySQLConnectionString =MyPersonnelConnectionString;
            SqlConnection^ MyConnection = gcnew SqlConnection(MySQLConnectionString);
            MyConnection->Open();
            SqlCommand^ MyCommand = MyConnection->CreateCommand();
            MyCommand->CommandText = "Select max(自编号) 最大编号 From 工资发放表";
			System::Object^ MyResult = MyCommand->ExecuteScalar();
			System::Int64 MyID = 1;
			if (MyResult != System::DBNull::Value)
            {
                String^ MyMaxID = MyResult->ToString()->Trim();
                MyMaxID = MyMaxID->Substring(2, MyMaxID->Length - 2);
                MyID = Convert::ToInt64(MyMaxID) + 1;
            }
            int MyLength = MyID.ToString()->Length;
            String^ MyNewID = "";
            switch (MyLength)
            {
                case 1:
                    MyNewID = "FF0000000" + MyID.ToString();
                    break;
                case 2:
                    MyNewID = "FF000000" + MyID.ToString();
                    break;
                case 3:
                    MyNewID = "FF00000" + MyID.ToString();
                    break;
                case 4:
                    MyNewID = "FF0000" + MyID.ToString();
                    break;
                case 5:
                    MyNewID = "FF000" + MyID.ToString();
                    break;
                case 6:
                    MyNewID = "FF00" + MyID.ToString();
                    break;
                case 7:
                    MyNewID = "FF0" + MyID.ToString();
                    break;
            }
            if (MyConnection->State == ConnectionState::Open)
            {
                MyConnection->Close();
            }
            return MyNewID;
        }       
	};
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -