📄 computeform.h
字号:
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 + -