公司人事管理系统代码和文档

(){}
(){}
();
();
};
( [10] [20] F)()
{
;
;
}
()
{
*1.5*0.1+2000;
}
()
{
<< "编号:" << << "\t" << "级别:" << << "\t" << "名字:" << << "\t"<< "工资" << ()<< ;
}
{
:
( [10] [20] F);
在写公司人事管理系统时我遇到了很多问题,例如对文件的添加,使自己没有一点办法,在老师的耐心讲解下,终于完成了文件的添加,使自己对于文件有了新的认识,老师为我们讲解了类的实现,使自己有了新的理解,还让我体会到了交流的重要性,我虽然是社团的人员,但是很少和别人交流。我要学会去和别人交流想法。
代码如下:
<>
( [10] [20] F)()
{
;
;
}
()
{
*1.5*0.1;
}
()
{
<< "编号:" << << "\t" << "级别:" << << "\t" << "名字:" << << "\t"<< "工资" << ()<< ;
}
业务经理
{
:
;
业务经理总的月销售额业务经理总的项目额
:
( [10] [20] F);
<<"\t\t\3.添加员工信息"<< ;
<<"\t\t\4.删除员工信息"<< ;
<<"\t\t\5.查找员工信息"<< ;
&;< ;
<<"\t\t\7.对员工月薪排序"<< ;
<<"\t\t\0.安全退出系统"<< ;
<<"\t\t\"<< ;
}
()创建员工信息库
读取方式:读取链表,写入文件。
5、总结和体会
通过这一次课程设计,让我学到了很多,让我学到对一个大型系统的设计不止是对代码的实现,要有一个洞察全局的心,就是先想好,有一个大致的规划,然后再去用代码实现非常容易,如果不想好就会写代码,那么会遇到很多问题,有时会使所做的功夫白费,所以提前想好是非常重要的。
公司人事管理系统
专业
软件工程移动应用开发
学生姓名
郭迁迁
班级
学号
指导教师
完成日期
2014/6/20
1、功能图
2、类图
3、界面
不同用户进入的选择界面
老板进入的界面
员工进入的界面
4、数据存储结构
保存方式:采用二进制进行数据的保存
结构:在每对员工的数据信息进行操作时,首先读取文件,然后进行下面增删查改等相应的操作,在对相应操作后自动进行数据的存盘
3;
p1 ();
}
(4)
{
(,"业务经理");
<< "业务经理的名字:" ;
>> ;
<< "请输入业务的当月销售额:" ;
>> y;
<< "请输入项目额:" ;
>> x;
4;
p1 ();
}
(5)
{
(,"文秘");
<< "文秘的名字:" ;
>> ;
5;
p1 ();
}
p2->1;
p21;
;
<< "输入( y / Y)继续:" ;
{
(,"技术人员");
<< "请输入技术人员的名字:" << ;
>> ;
<< "请输入代码量(/千行):" << ;
>> ;
2;
p1 ();
}
(3)
{
(,"业务人员");
<< "请输入业务人员的名字:" << ;
>> ;
<< "请输入业务的当月销售额:" ;
>> y;
<< "请输入项目额:" ;
>> x;
>> ;
}('y''Y');
p2->;
}
()显示本月员工的信息
{
*>;
()
{
<< "系统未存入任何人员信息,请存入信息后再进行操作!!" <<;
( -1 );
}
()
{
>();
>;
}
}
()增添员工信息
{
[10];
[20];
;
y;
x;
;
;
F;
{
*,*p1;
(>)
{
>;
}
n;
<< "****************************************************************" << ;
{
;
}
()
{
*1000;
}
()
{
<< "编号:" << << "\t" << "级别:" << << "\t" << "名字:" << << "\t"<< "工资" << ()<< ;
}
业务人
{
:
该业务人员当月销售额 该业务员当月项目额
:
( [10] [20] F);
(){}
(){}
();
();
};
<< "****************************************************************" << ;
<< "请输入该职工的级别(选择相应序号即可):";
>> n ;
编号
(1)
{
(,"经理");
<< "请输入经理的名字:" ;
>> ;
1;
p1 ();
}
(2)
<>
;
();
{
:
[10]姓名
[20]级别
编号
标记
:
*;
( [10] [20] F);
(){}
(){}
(){}
(){}
();
*();
*();
();
*1();
};
( [10] [20] F)
{
();
();
;
;
}
()
{
;
}
*()
{
;
}
*()
{
;
}
()
{
;
}
*1()
{
;
}
经理.
{
:
( [10] [20] F)(){}
{
*p1,*p2;
[10];
[20];
;
;
当月销售额,承接项目额
n;
F;
();
p2;
1;
;
{
<< "****************************************************************" << ;
<< "1-经理2-技术人员3-业务人员4-业务经理5-文秘" << ;
(){}
();
();
};
( [10] [20] F)()
{}
()
{
1500;
}
()
{
<< "编号:" << << "\t" << "级别:" << << "\t" << "名字:" << << "\t"<< "工资" << ()<< ;
}
老板
{
:
*;
:
合集下载

人力资源管理系统源代码

人力资源管理系统源代码

1)登陆窗体代码设计窗体代码主要实现了连接数据库的功能,这里用于连接用户信息表.其程序如下:Private Sub Form_Load()Dim i As IntegerIf App。

PrevInstance ThenMsgBox (”程序已经运行,不能再次装载。

"), vbExclamationUnload MeEnd If'本段代码用于判定本程序是否已经装载于内存中,以避免程序的多重启动i = 0Open App.Path + ”\user。

ini” For Input As #1Do While Not EOF(1)Input #1, user(i), pws(i),state(i), Emplo(i)If state(i)= ”A” ThenCombo1。

AddItem user(i)End Ifi = i + 1Loop Close #1Combo1.ListIndex = 1'在窗口装载阶段读取用户设置文件获取用户信息并装载于用户列表框中End Sub(2)“取消”按钮是退出登录界面,退出系统的.其代码如下:Private Sub CmdCancel_Click()Unload MeEndEnd Sub(3)“确定”按钮代码设计“确定”按钮代码主要实现了用户登陆时,用户名和密码的认证,当用户名或密码错误时,系统提示错误。

其程序如下:Private Sub cmdOK_Click()If txtPassword = pws(Combo1.ListIndex)ThenCurId = Combo1.ListIndexEmploID = Emplo(CurId)CurUser = user(CurId)CurPsw = pws(CurId)Me.Hide’Load FrmMainFrmMain。

ShowElse MsgBox ”Invalid Password, try again!", , ”Login”txtPassword.SetFocusSendKeys "{Home}+{End}"End If End Sub(1)窗体选择的单击事件代码设计窗体选择的单击事件代码主要实现了进入本系统所有模块的功能,这里有以下几个模块,它们分别是员工信息模块,假条信息模块,工资管理模块,用户设置模块等/其程序如下:Private Sub Toolbar2_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button。

企业人事管理系统开发文档

企业人事管理系统开发文档

目录1 需求分析 (1)1.1系统总体介绍 (1)1.2系统功能分析错误!未找到索引项。

(1)2 概念结构设计 (1)2.1需求分析的设计思想 (1)2.2.1数据流图和数据字典 (2)1.1.1 2.2.1.1 数据流图 (2)2.2.1.2 数据字典 (3)2.2概念结构设计 (3)2.2.1 局部概念模型设计 (3)2.2.2 总体概要设计 (4)2.3CDM模型的生成过程 (4)3 逻辑结构设计 (6)3.1E-R图向关系模型的转换 (6)3.2PDM模型的生成过程 (8)3.3数据库设计 (8)结论 (13)致谢 (14)参考文献: (14)1 需求分析1.1系统总体介绍本系统主要是为了帮助企业的人事部门和财务主管部门提高工作效率,减少企业的不必要开销,从企业的根本利益出发,实现企业人事信息管理的系统化、规范化和自动化。

该课题是对学生数据库原理与应用、软件工程、Powerdesigner等多门学科知识的综合运用,是提高学生实际动手能力的有效方法。

本课题模拟实际项目开发过程,使学生熟悉管理系统开发的方法和重要步骤,提高学生的数据库设计及系统分析能力,使学生积累一定的实战经验。

1.2系统功能分析结合对企业对人事的管理,我们设计了企业人事管理系统,这个系统最终实现的主要功能如下:员工基本信息部分:主要完成对员工基本信息的添加、修改、删除、查询等管理。

员工档案信息部分:主要完成员工档案信息的添加、修改、删除、查询等管理。

员工部门信息部分:主要完成员工所属部门的添加、修改、删除、查询等管理。

员工工资信息部分:主要完成员工工资信息的添加、修改、删除、查询等管理。

员工保险信息部分:主要完成员工保障信息的添加、修改、删除、查询等管理。

2 概念结构设计随着计算机技术的迅猛发展,企业与员工的联系变的越来越紧密,为了方便管理企业,我们开发此系统主要是满足日益增长的人员流动和变向的市场需求,利于企业的发展和人事部门的管理。

人力资源管理系统代码 ASP

人力资源管理系统代码 ASP

<!--#include file=DataBase/conn.asp--><%If request("action")="login" thenadmin_name=request("admin_name")'获取用户名admin_pass=request("admin_pass")'获取密码username=trim(request("admin_name"))password=trim(request("admin_pass"))for i=1 to len(username)user=mid(username,i,1)if user="'" or user="%" or user="<" or user=">" or user="&" or user="|" thenresponse.write "<script language=JavaScript>" & "alert('您的用户名含有非法字符,请重新输入!');" & "history.back()" & "</script>"response.endend ifnextfor i=1 to len(password)pass=mid(password,i,1)if pass="'" or pass="%" or pass="<" or pass=">" or upass="&" or pass="|" then response.write "<script language=JavaScript>" & "alert('您的密码含有非法字符,请重新输入!');" & "history.back()" & "</script>"response.endend ifnextset rs=server.CreateObject("adodb.recordset")sql="select * from tb_User where username='"&admin_name&"'and userpwd='"&admin_pass&"' "rs.open sql,conn,1,1if rs.eof then response.write "<br><br><br><br><font size=2><center>对不起,您输入的用户名或密码,请重新输入,谢谢!<a href=login.asp>返回</a></font>"else session("admin_name")=request("admin_name") response.Redirect("index.asp")'跳转到管理首页end ifrs.closeset rs=nothingconn.closeset conn=nothingend if%>6 首页设计网站首页主要由两部部分组成,一部分是管理导航区,另一部分是展示区。

人事管理系统毕业设计(设计与代码实现)

人事管理系统毕业设计(设计与代码实现)

摘要随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。

本系统结合公司实际的人事管理制度,经过实际的需求分析,采用功能强大的Visual Basic6.0作为开发工具而开发出来的单机版人事管理系统。

整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成人事管理的全过程,包括新进员工加入时人事档案的建立、老员工的转出、职位等的变动引起职工信息的修改、员工信息查询、统计等人事管理工作以及新进员的新增、老员工修改等管理工作。

经过实际使用证明,本文所设计的人事管理系统可以满足公司人事管理方面的需要。

关键词:VB、数据库、窗体、测试、目录第一章概述 (4)1.1、本课题的来源 (4)1.2、本论文的目的、内容及作者主要贡献 (4)第二章开好发工具的选择 (4)第三章系统调研及可行性分析 (7)3.1、系统调研 (7)3.2、可靠性分析概述 (8)3.3、技术可行性分析 (8)第四章系统分析 (9)4.1、系统需求分析 (9)4.2、数据流程图 (10)第五章系统总体设计 (10)5.1、功能描述 (10)5.2、系统操作流程图 (11)第六章系统详细设计 (12)6.1、数据库设计 (12)6.2、系统主要界面 (13)第七章系统测试 (16)7.1、测试举例 (16)7.2、测试项目 (17)7.3、测试方法 (18)致谢 (19)参考文献 (20)附件:源程序…………………………………………………………………………21第一章概述1、本课题的来源随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。

对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

企业人事管理系统人事考勤管理后台代码

企业人事管理系统人事考勤管理后台代码

企业人事管理系统人事考勤管理后台代码一、企业人事管理系统的背景和重要性随着企业规模的不断扩大,人事管理工作的复杂性也在不断提高。

为了提高管理水平、降低管理成本,企业急需一套高效、便捷的人事管理系统。

企业人事管理系统集成了众多功能模块,其中人事考勤管理模块是核心部分。

本文将重点介绍企业人事管理系统中人事考勤管理后台代码的编写方法和技巧。

二、人事考勤管理模块的功能和作用1.考勤数据采集:通过各种设备(如考勤机、指纹识别等)收集员工的考勤数据,包括出勤、迟到、早退、请假等。

2.考勤数据统计:对采集到的考勤数据进行整理、统计,生成各种考勤报表。

3.考勤异常处理:对考勤数据中的异常情况进行处理,如请假、调休等。

4.考勤数据分析:对考勤数据进行分析,为人力资源管理提供决策依据。

5.考勤数据查询:提供方便快捷的考勤数据查询功能,便于管理人员查看。

三、后台代码的编写方法和技巧1.技术选型:根据项目需求,选择合适的开发语言、框架和数据库。

例如,可以使用Java、Python、.NET等编程语言,搭配Spring、Django、等框架,使用MySQL、Oracle等数据库。

2.模块划分:将人事考勤管理功能划分为多个模块,如考勤数据采集、数据统计、异常处理等,便于代码的组织和维护。

3.代码规范:遵循编程规范,确保代码的可读性和可维护性。

4.数据库设计:合理设计数据表结构,满足系统需求。

例如,可以设计员工信息表、考勤记录表、考勤报表表等。

5.接口设计:设计清晰、易用的API接口,方便前端调用。

四、代码实现的步骤和流程1.员工信息管理:包括员工的增加、修改、删除和查询等功能。

2.考勤数据采集:对接考勤设备,实时采集考勤数据。

3.考勤数据处理:对采集到的考勤数据进行清洗、去重、合并等处理。

4.考勤数据统计:根据处理后的数据,计算员工的出勤情况、迟到早退等指标。

5.考勤报表生成:根据统计结果,生成各类考勤报表。

6.考勤数据查询:提供多种查询条件,方便管理人员查看考勤数据。

企业人事管理系统java源代码

企业人事管理系统java源代码

企业⼈事管理系统java源代码import java.awt.* ;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;public class A extends JFrame{protected JPanel p = new JPanel();protected JPanel p1 = new JPanel();protected JPanel p2 = new JPanel();protected JPanel p3= new JPanel();JMenuBar M =new JMenuBar();JMenu m1 = new JMenu("基本信息模块");JMenu m2 = new JMenu("考勤考评信息模块");JMenu m3 = new JMenu("系统维护信息模块");JMenuItem mm1 = new JMenuItem("员⼯基本信息"); JMenuItem mm2 = new JMenuItem("员⼯家庭成员基本信息"); JMenuItem mm3 = new JMenuItem("员⼯培训信息"); JMenuItem mm4 = new JMenuItem("员⼯考勤信息"); JMenuItem mm5 = new JMenuItem("员⼯考评信息"); JMenuItem mm6 = new JMenuItem("普通管理员"); JMenuItem mm7 = new JMenuItem("⾼级管理员"); JMenuItem mm8 = new JMenuItem("退出");protected JLabel l1 = new JLabel("员⼯编号:");protected JLabel l2 = new JLabel("姓名:");protected JLabel l3 = new JLabel("性别:");protected JLabel l4 = new JLabel("年龄:");protected JLabel l5 = new JLabel("部门:");protected JTextField t1 = new JTextField(10);protected JTextField t2 = new JTextField(10);protected JTextField t3 = new JTextField(10);protected JTextField t4 = new JTextField(10);protected JTextField t5 = new JTextField(10);private JButton b1 = new JButton("查询");private JButton b2 = new JButton("插⼊");private JButton b3 = new JButton("修改");private JButton b4 = new JButton("删除");private JButton b5 = new JButton("清除");private JButton b6 = new JButton("下⼀条");private Connection c; // @jve:decl-index=0:private Statement s; // @jve:decl-index=0:private ResultSet r; // @jve:decl-index=0:{super("⼈事管理系统");getContentPane().add(p);setJMenuBar(M);M.add(m1);M.add(m2);M.add(m3);m1.add(mm1);m1.add(mm2);m1.add(mm3);m1.addSeparator();m1.add(mm8);m2.add(mm4);m2.add(mm5);m3.add(mm6);m3.add(mm7);p.add(p1,BorderLayout.NORTH);p.add(p2,BorderLayout.CENTER);p.add(p3,BorderLayout.SOUTH);p1.setLayout(new GridLayout(5,2,1,3));p1.add(l1);p1.add(t1);p1.add(l2);p1.add(t2);p1.add(l3);p1.add(t3);p1.add(l4);p1.add(t4);p1.add(l5);p1.add(t5);p2.add(b1);p1.add(b2);p2.add(b3);p1.add(b4);p2.add(b5);p3.add(b6);t1.setText("");t2.setText("");t3.setText("");t4.setText("");t5.setText("");setSize(350,300);setVisible(true);try{Class.forName("sun.jdbc.odbc.JdbcOdbcDrive");c=DriverManager.getConnection("jdbc:odbc:sd","sa",null);s=c.createStatement();r=s.executeQuery("select * from 员⼯基本信息表");}catch (SQLException e){JOptionPane.showMessageDialog(null ,e.getMessage(),"操作错误!",JOptionPane.ERROR_MESSAGE); System.exit(1);}catch(ClassNotFoundException e)JOptionPane.showMessageDialog(null ,e.getMessage(),"驱动程序找不到!",JOptionPane.ERROR_MESSAGE); System.exit(1);}addWindowListener( new WindowAdapter(){public void windowClosing(WindowEvent event){try {s.close();c.close();catch(SQLException e){JOptionPane.showMessageDialog(null,e.getMessage(),"不能关闭!",JOptionPane.ERROR_MESSAGE); System.exit(1);}}});b1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){try{r=s.executeQuery("select * from 员⼯基本信息表" + "where 员⼯编号='"+t1.getText()+"'");if(r.next()){t1.setText(r.getString(1));t2.setText(r.getString(2));t3.setText(r.getString(3));t4.setText(r.getString(4));t5.setText(r.getString(5));JOptionPane.showMessageDialog(null,"查询成功!","查询操作",JOptionPane.ERROR_MESSAGE);}else{t2.setText("");t3.setText("");t4.setText("");t5.setText("");JOptionPane.showMessageDialog(null,"查询失败!","查询操作",JOptionPane.ERROR_MESSAGE);}catch(NumberFormatException e){System.out.println(e);}catch(SQLException e){System.out.println(e);}});b2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String v1,v2,v3,v4,v5;v1=t1.getText();v2=t2.getText();v3=t3.getText();v4=t4.getText();v5=t5.getText();if((!v1.equals( "" ))&&(!v2.equals(""))&&(!v3.equals(""))&&(!v4.equals(""))&&(!v5.equals (""))){try{int n1 = Integer.parseInt(v4);int r1 = s.executeUpdate("INSERT INTO 员⼯基本信息表"+ "values('"+v1+"','"+v2+"','"+v3+"',"+n1+",'"+v5+"')"); if(r1!=0){t1.setText("");t2.setText("");t3.setText("");t4.setText("");t5.setText("");JOptionPane.showMessageDialog(null,"插⼊成功!","插⼊操作",JOptionPane.ERROR_MESSAGE);}}catch (NumberFormatException e ){System.out.println(e);}catch (SQLException e){System.out.println(e);}}else{JOptionPane.showMessageDialog(null,"插⼊失败!","插⼊操作",JOptionPane.ERROR_MESSAGE);}}});b3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event)try {int r1=s.executeUpdate("update 员⼯基本信息表set 姓名='"+t2.getText()+"'," +"性别='"+t3.getText()+"'," +"年龄="+Integer.parseInt(t4.getText())+"," +"部门='"+t5.getText()+"'"+"where 员⼯编号='"+t1.getText()+"'");if(r1!=0){JOptionPane.showMessageDialog(null,"修改成功!","修改操作",JOptionPane.ERROR_MESSAGE);}else{JOptionPane.showMessageDialog(null,"修改失败!","修改操作",JOptionPane.ERROR_MESSAGE);}} catch (NumberFormatException e ){System.out.println(e);}catch (SQLException e){System.out.println(e);}}});b4.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){try{int r1=s.executeUpdate("delete from 员⼯基本信息表"+"where 员⼯编号='"+t1.getText()+"'");if(r1!=0){t1.setText("");t2.setText("");t3.setText("");t4.setText("");t5.setText("");JOptionPane.showMessageDialog(null,"删除成功!","删除操作",JOptionPane.ERROR_MESSAGE);}else{JOptionPane.showMessageDialog(null,"删除失败!","删除操作",JOptionPane.ERROR_MESSAGE);}} catch (NumberFormatException e ){System.out.println(e);}catch (SQLException e){System.out.println(e);}}});b5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){t1.setText("");t2.setText("");t3.setText("");t4.setText("");t5.setText("");}});b6.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){try{if(r.next())t1.setText(r.getString(1));t2.setText(r.getString(2));t3.setText(r.getString(3));t4.setText(""+r.getInt(4));t5.setText(r.getString(5));}catch (NumberFormatException e ){System.out.println(e);} catch (SQLException e){System.out.println(e);}}});mm8.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){System.exit(0);}});}public static void main(String args[]){new A();}}。

人事管理系统文档

人事管理系统文档一、系统概述人事管理系统是一款用于企业内部管理人力资源的软件。

它通过集成人事招聘、员工信息管理、考勤管理、薪资管理等功能,帮助企业实现对人力资源的全面管理和优化。

本文档旨在对人事管理系统的主要功能模块进行详细描述,以便用户了解并正确使用该系统。

二、系统模块1. 人事招聘模块人事招聘模块是人事管理系统的核心模块之一。

该模块提供以下功能:- 职位发布:企业可以在系统中发布招聘职位信息,并设定相应的职位要求和薪资待遇。

- 简历管理:求职者可以在系统中提交个人简历,企业可以对收到的简历进行管理和筛选,以便选择合适的人才。

- 面试安排:企业可以通过系统安排面试时间和地点,并通知求职者参加面试。

- 招聘统计:系统可以生成各类招聘数据的统计报表,如招聘人数、招聘费用等。

2. 员工信息管理模块员工信息管理模块用于管理企业内部员工的基本信息和档案资料。

主要功能包括:- 员工入职:记录员工入职日期、部门、岗位等信息,并生成员工编号。

- 员工离职:记录员工离职日期、原因等离职信息,并将员工状态设置为离职。

- 个人资料管理:员工可以在系统中更新个人基本资料、联系方式等信息。

- 员工档案:存储员工的合同、培训记录、绩效评估等重要资料,方便后续查询和管理。

3. 考勤管理模块考勤管理模块用于记录和管理员工的出勤情况,并统计相关数据。

以下是该模块的主要功能:- 考勤打卡:员工可以在系统内进行签到、签退操作,系统记录打卡时间和地点。

- 请假管理:员工可以在系统中申请请假,上级可以审批并记录请假类型和时长。

- 加班管理:员工可以申请加班,并记录加班时间和原因,上级可以审批。

- 考勤统计:系统可以根据员工的出勤情况生成相应的考勤统计报表。

4. 薪资管理模块薪资管理模块用于管理企业员工的薪资发放和相关操作。

该模块具有以下功能:- 薪资发放:系统根据员工的出勤情况和薪资设定,自动生成薪资计算结果,并记录薪资发放日期。

- 薪资调整:人力资源部门可以根据员工晋升、调薪等情况对员工薪资进行调整,并记录调整原因和日期。

人事管理系统文档

人事管理系统文档人事管理系统文档1. 简介人事管理系统是一种集成管理工具,用于处理人力资源管理的各个方面。

该系统支持员工信息管理、薪酬管理、绩效考核、培训开发和人力资源分析等多个模块。

系统具有可扩展性和灵活性,可以通过添加新的模块和功能来满足不同企业的需求。

2. 系统概述该系统分为五个模块:2.1. 员工信息管理该模块主要负责收集员工的基本信息,包括姓名、职位、联系方式、入职日期、工资等,并提供一些查询和报告功能。

管理员可以添加、更新、删除员工信息,也可以导出员工信息报告。

2.2. 薪酬管理该模块支持工资条管理、计算工资、考勤管理、福利人事管理、税务管理等功能。

管理员可以根据公司的具体政策和流程配置工资条和考勤,自动生成工资条,自动计算各种费用和税务,向员工提供最终的工资报告。

2.3. 绩效考核该模块用于管理员工的绩效考核,包括设定绩效目标、定期评估绩效、分配绩效奖励等功能。

系统可以根据员工的表现和业绩给出绩效评估结果,并提供相应的奖励措施,以提高员工的工作动力和积极性。

2.4. 培训开发该模块用于组织和管理企业内部的培训和开发活动,包括培训计划、培训预算、培训人员管理和培训效果评估等功能。

管理员可以根据公司的需求和员工的能力制定相应的培训计划,进行培训和开发,并根据培训效果对员工进行绩效考核等。

2.5. 人力资源分析该模块用于对公司的人力资源进行分析和评估,包括员工比例、人员流动、离职率、人员成本、人员效率等指标的统计和分析。

管理员可以根据不同的指标和时间段生成相应的报表,以便更好地了解公司的人力资源情况。

3. 系统架构该系统采用分层结构,包括用户层、应用层和数据层三个组件。

3.1. 用户层用户层主要包括用户界面和用户行为。

用户可以访问系统,使用系统的各项功能。

3.2. 应用层应用层主要包括业务逻辑和业务服务。

核心的人力资源管理业务逻辑都在该层实现,例如员工信息收集、薪酬管理、绩效考核、培训管理等。

公司人员管理系统源代码

公司人员管理系统源代码#include#include#include#include//全局数据,对象double ManagerSalary; //经理固定月薪double SalesManagerSalary; //销售经理固定月薪double SalesManagerPercent; //销售经理提成%double SalesPercent; //销售人员提成%double WagePerHour; //技术人员小时工资int ID; //员工标识(要保证唯一)class Person //员工类{protected:int No; //编号char Name[20]; //姓名int Duty; //岗位double Earning; //收入Person *next;public:Person(char ID,char *Name,int Duty){this->Duty=Duty;strcpy(this->Name,Name);this->No=ID;}virtual void CalcSalary()=0;virtual void Output()=0;friend class Company;};class Manager:public Person //经理类{public:Manager(char ID,char *Name,int Duty):Person(ID,Name,Duty){}void CalcSalary(){Earning=ManagerSalary;}void Output(){CalcSalary();cout<<no<<"\t"<<name<<"\t经理\t"<<earning<<endl;}};class SalesManager:public Person //销售经理类{private:double Amount;public:SalesManager(char ID,char *Name,int Duty):Person(ID,Name,Duty){}void SetAmount(double s){Amount=s;}void CalcSalary(){Earning=SalesManagerSalary+Amount*SalesManagerPerce nt/100;}void Output(){CalcSalary();cout<<no<<"\t"<<name<<"\t销售经理\t"<<earning<<endl;}};class Technician:public Person //技术员类{private:double t;public:Technician(char ID,char *Name,int Duty,double T):Person(ID,Name,Duty){this->t=T;}double GetT(){return t;}void SetT(double T){this->t=T;}{Earning=WagePerHour*t;}void Output(){CalcSalary();cout<<no<<"\t"<<name<<"\t技术员\t"<<t<<"\t"<<earning<<endl;}};class Sales:public Person //销售员类{private:double Amount;public:Sales(char ID,char *Name,int Duty,double Amount):Person(ID,Name,Duty){this->Amount=Amount;}double GetAmount(){return Amount;}void SetAmount(double Amount){this->Amount=Amount;}{Earning=SalesPercent/100*Amount;}void Output(){CalcSalary();cout<<no<<"\t"<<name<<"\t销售员\t"<<amount<<"\t"<<earning<<endl;}};class Company //公司类{private:Person *Worker; //员工表void Clear(); //清除内存中数据public:Company(){Worker=0;Load();}~Company(){Person *p;p=Worker;while(p){p=p->next;delete Worker;Worker=p;}Worker=0;}void Add(); //增加人员void Delete(); //删除人员void Modify(); //修改人员void Query(); //查询人员void Set(); //基础数据设置void Save(); //数据存盘(包括基础数据,人员数据)void Load(); //数据装入(包括基础数据,人员数据)};void Company::Clear() //清除内存中人员数据(内部使用) {Person* p=Worker;while(p){Worker=p->next;delete p;p=Worker;}}void Company::Add(){Person *p; //新结点指针int Duty;char Name[20</no<<"\t"<<name<<"\t销售员\t"<<amount<<"\t"<<earning<<endl;</no<<"\t"<<name<<"\t技术员\t"<<t<<"\t"<<earning<<endl;</no<<"\t"<<name<<"\t销售经理\t"<<earning<<endl;</no<<"\t"<<name<<"\t经理\t"<<earning<<endl;];double Amount,T;cout<<"\n** 新增员工 **\n";//输入员工信息ID++;cout<<"输入岗位(1-经理2-销售经理3-销售员4-技术员):"; cin>>Duty;cout<<"输入姓名:"; cin>>Name;if(Duty==3){cout<<"本月销售额:"; cin>>Amount;}else if(Duty==4){cout<<"本月工作小时数(0-168):";cin>>T;}//创建新员工结点switch(Duty){case 1:p=new Manager(ID,Name,Duty); break; case 2:p=new SalesManager(ID,Name,Duty); break; case 3:p=new Sales(ID,Name,Duty,Amount); break; case 4:p=new Technician(ID,Name,Duty,T); break; }p->next=0;//员工结点加入链表if(Worker) //若已经存在结点{Person *p2;p2=Worker;while(p2->next) //查找尾结点{p2=p2->next;}p2->next=p; //连接}else //若不存在结点(表空){Worker=p; //连接}}void Company::Delete() //删除人员{int No;cout<<"\n** 删除员工 **\n";cout<<"ID:"; cin>>No;//查找要删除的结点Person *p1,*p2; p1=Worker;while(p1){if(p1->No==No)break;else{p2=p1;p1=p1->next;}}//删除结点if(p1!=NULL)//若找到结点,则删除{if(p1==Worker) //若要删除的结点是第一个结点{Worker=p1->next;delete p1;}else //若要删除的结点是后续结点{p2->next=p1->next;delete p1;}cout<<"找到并删除\n";}else //未找到结点cout<<"未找到!\n";}void Company::Modify(){int No,Duty;char Name[20];double Amount,T;cout<<"\n** 修改员工 **\n";cout<<"ID:"; cin>>No;//查找要修改的结点Person *p1,*p2; p1=Worker;while(p1){if(p1->No==No)break;else{p2=p1;p1=p1->next;}}//修改结点if(p1!=NULL)//若找到结点{p1->Output();cout<<"调整岗位(1-经理2-销售经理3-销售员4-技术员):";cin>>Duty;if(p1->Duty!=Duty) //若岗位发生变动{//修改其它数据cout<<"输入姓名:"; cin>>Name;if(Duty==3){cout<<"本月销售额:"; cin>>Amount;}else if(Duty==4){cout<<"本月工作小时数(0-168):";cin>>T;}//创建新员工结点Person *p3;switch(Duty){case 1:p3=new Manager(p1->No,Name,Duty); break;case 2:p3=new SalesManager(p1->No,Name,Duty); break;case 3:p3=new Sales(p1->No,Name,Duty,Amount); break;case 4:p3=new Technician(p1->No,Name,Duty,T); break;}//员工结点替换到链表p3->next=p1->next;if(p1==Worker) //若要替换的结点是第一个结点Worker=p3;else //若要删除的结点是后续结点p2->next=p3;//删除原来的员工结点delete p1;}else //若岗位没有变动{cout<<"输入姓名:"; cin>>p1->Name;if(Duty==3){cout<<"本月销售额:";cin>>Amount; ((Sales *)p1)->SetAmount(Amount);}else if(Duty==4){cout<<"本月工作小时数(0-168):";cin>>T; ((T echnician *)p1)->SetT(T);}}cout<<"修改成功!\n";}else //未找到结点cout<<"未找到!\n";}void Company::Query(){cout<<"\n** 查询人员本月销售信息 **\n";double sum=0; //销售额总和Person *p=Worker;while(p){if(p->Duty==3)sum+=((Sales *)p)->GetAmount();p=p->next;}p=Worker;double sum2=0; //工资总和while(p){if(p->Duty==2)((SalesManager *)p)->SetAmount(sum);p->Output();sum2+=p->Earning;p=p->next;}cout<<"本月盈利:"<<sum*0.20-sum2<<endl;cout<<"(按照20%利润计算)\n";}void Company::Set(){cout<<"\n** 设置基础数据 **\n";cout<<"经理固定月薪["<<managersalary<<"元]:"; cin>>ManagerSalary;cout<<"销售经理固定月薪["<<salesmanagersalary<<"元]:"; cin>>SalesManagerSalary;cout<<"销售经理提成["<<salesmanagerpercent<<"%]:";cin>>SalesManagerPercent;cout<<"销售人员提成["<<salespercent<<"%]:";cin>>SalesPercent;cout<<"技术人员小时工资["<<wageperhour<<"(元cin>>WagePerHour;cout<<"员工标识[>="<<id<<"]:";cin>>ID;}void Company::Save() //数据存盘(包括基础数据,人员数据),均采用文本文件{ofstream fPerson,fBase;char c;cout<<"\n保存人员和基础数据,是否继续?[Y/N]:"; cin>>c;if(toupper(c)!='Y')return;//保存人员编号、姓名、岗位fPerson.open("person.txt",ios::out);Person *p=Worker;while(p){fPerson<No<<"\t"<Name<<"\t"<Duty<<"\t";if(p->Duty==3)fPerson<<((Sales*)p)->GetAmount()<<"\t";else if(p->Duty==4)fPerson<<((Technician *)p)->GetT()<<"\t";fPerson<<endl;p=p->next;}fPerson.close();//保存基础数据fBase.open("base.txt",ios::out);fBase<<"经理固定月薪\t"<<managersalary<fBase<<"销售经理固定月薪\t"<<salesmanagersalary< fBase<<"销售经理提成%\t"<<salesmanagerpercent< fBase<<"销售人员提成%\t"<<salespercent<fBase<<"技术人员小时工资\t"<<wageperhour<fBase<<"ID\t"<<id<<endl;fPerson.close();cout<<"\n保存人员和基础数据已经完成...\n";}void Company::Load() //数据装入(包括基础数据,人员数据) {//基础数据装入ifstream fBase;char buf[80]; //buf用于保存数据文件中的注释字符串fBase.open("base.txt",ios::in);fBase>>buf>>ManagerSalary; //经理固定月薪fBase>>buf>>SalesManagerSalary; //销售经理固定月薪fBase>>buf>>SalesManagerPercent; //销售经理提成%fBase>>buf>>SalesPercent; //销售人员提成%fBase>>buf>>WagePerHour; //技术人员小时工资fBase>>buf>>ID; //员工标识fBase.close();//清除内存人员数据Clear();//人员数据数据装入ifstream fPerson;Person *p=Worker;int No; char Name[20]; int Duty;double Amount,T;fPerson.open("person.txt",ios::in);//读一条记录fPerson>>No>>Name>>Duty;if(Duty==3)fPerson>>Amount;else if(Duty==4)fPerson>>T;while(fPerson.good()){//创建员工结点switch(Duty){case 1:p=new Manager(No,Name,Duty); break;case 2:p=new SalesManager(No,Name,Duty); break;case 3:p=new Sales(No,Name,Duty,Amount); break;case 4:p=new Technician(No,Name,Duty,T); brea</id<<endl;</wageperhour<</salespercent<</salesmanagerpercent< </salesmanagersalary<</managersalary<</endl;</id<<"]:";</wageperhour<<"(元></salespercent<<"%]:";</salesmanagerpercent<<"%]:";</salesmanagersalary<<"元]:";></managersalary<<"元]:"; </sum*0.20-sum2<<endl;k;}p->next=0;//员工结点加入链表if(Worker) //若已经存在结点{Person *p2;p2=Worker;while(p2->next) //查找尾结点{p2=p2->next;}p2->next=p; //连接}else //若不存在结点(表空){Worker=p; //连接}//读下一条记录fPerson>>No>>Name>>Duty;if(Duty==3)fPerson>>Amount;else if(Duty==4)fPerson>>T;}fPerson.close();cout<<"\n人员和基础数据已经装入...\n";void main(){char c;Company a;do{cout<<"\n*** 公司人员管理系统 ***\n"; cout<<"1-增加人员\n";cout<<"2-删除人员\n";cout<<"3-修改人员\n";cout<<"4-查询本月经营信息\n"; cout<<"5-基础数据设置\n";cout<<"6-数据存盘\n";cout<<"7-数据装入\n";cout<<"8-退出\t请选择(1-8):";cin>>c;switch(c){case '1': a.Add(); break;case '2': a.Delete();break;case '3': a.Modify();break;case '4': a.Query(); break;case '5': a.Set(); break;case '6': a.Save(); break;case '7': a.Load(); break;}}while(c!='8');。

人事管理系统数据库源代码

using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;namespace WebApplication1{public partial class WebForm1 : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e) {Response.Redirect("~/登录.aspx");}protected void Button2_Click(object sender, EventArgs e) {Response.Redirect("~/人员信息查询.aspx");}protected void Button3_Click(object sender, EventArgs e) {Response.Redirect("~/人员修改.aspx");}protected void Button4_Click(object sender, EventArgs e) {Response.Redirect("~/部门信息.aspx");}protected void Button5_Click(object sender, EventArgs e) {Response.Redirect("~/工资信息.aspx");}}}using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;namespace WebApplication1{public partial class部门信息 : System.Web.UI.P age{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){bool find =f alse;人事管SqlConnection con=new SqlConnection("server=localhost;Integrated Security=SSPI;database=理系统");con.Open();部门表";string cmdstr="select * fromSqlDataAdapter da=new SqlDataAdapter(cmdstr,con);DataSet ds=new DataSet();da.Fill(ds);for(int i=0;i<ds.Tables[0].Rows.Count;i++){for(int j=0;j<ds.Tables[0].Columns.Count;j++){String data=(ds.Tables[0].Rows[i][j].ToString()).Trim();if(data==TextBox1.Text.Trim()){"部门代码"].ToString();TextBox2.Text=ds.Tables[0] .Rows[i]["部门名称"].ToString();TextBox3.Text=ds.Tables[0] .Rows[i][find=true;}}}if(find == f alse){Response.Write("<script>window.alert('没有相关记录!')</script>");con.Close();}}protected void Button2_Click(object sender, EventArgs e){Response.Redirect("~/Default.aspx");}}}using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;using System.Data.SqlTypes;namespace WebApplication1{public partial class_Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void TextBox1_TextChanged(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){SqlConnection con = n ew SqlConnection("server=localhost;Integrated Security=SSPI;database=人事管理系统");string strCount;strCount = "select * from人事表"; con.Open();SqlCommand = new SqlCommand(strCount, con);SqlDataReader dr = .ExecuteReader();"";string strUsername = "", strPassword =while (dr.Read()){if(TextBox1.Text == dr["编号"].ToString()||TextBox2.Text == dr["用户密码"].ToString()){strUsername = dr["编号"].ToString();strPassword = dr["用户密码"].ToString();break;}}dr.Close();con.Close();if(strUsername == ""){登录成功!');</script>"); Response.Write("<script language=javascript>alert('return;}}protected void Button2_Click(object sender, EventArgs e){Response.Redirect("~/Default.aspx");}}}using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;namespace WebApplication1{public partial class工资信息 : System.Web.UI.P age{protected void Page_Load(object sender, EventArgs e){}protected void TextBox2_TextChanged(object sender, EventArgs e){}protected void TextBox5_TextChanged(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){bool find = false;SqlConnection con = n ew SqlConnection("server=localhost;Integrated Security=SSPI;database=人事管理系统");con.Open();工资表";string cmdstr = "select * fromSqlDataAdapter da = new SqlDataAdapter(cmdstr, con);DataSet ds = n ew DataSet();da.Fill(ds);for (i nt i = 0; i < ds.Tables[0].Rows.Count; i++){for (i nt j = 0; j < ds.Tables[0].Columns.Count; j++){String data = (ds.Tables[0].Rows[i][j].ToString()).Trim();if(data == TextBox1.Text.Trim()){"应发工资"].ToString();TextBox2.Text = ds.Tables[0].Rows[i]["岗位津贴"].ToString();TextBox3.Text = ds.Tables[0].Rows[i]["奖励"].ToString();TextBox4.Text = ds.Tables[0].Rows[i]["保险"].ToString();TextBox5.Text = ds.Tables[0].Rows[i][find = t rue;}}}if(find == f alse){);Response.Write("<script>window.alert('没有相关记录!')</script>"con.Close();}}protected void Button2_Click(object sender, EventArgs e){Response.Redirect("~/Default.aspx");}}}using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;namespace WebApplication1{public partial class人员信息 : System.Web.UI.P age{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){Response.Redirect("~/Default.aspx");}protected void Button2_Click(object sender, EventArgs e){bool find =f alse;SqlConnection con = n ew SqlConnection("server=localhost;Integrated Security=SSPI;database=人事管理系统");con.Open();工资表";string cmdstr="select * fromSqlDataAdapter da=new SqlDataAdapter(cmdstr,con);DataSet ds=new DataSet();da.Fill(ds);for(int i=0;i<ds.Tables[0].Rows.Count;i++){for(int j=0;j<ds.Tables[0].Columns.Count;j++){String data=(ds.Tables[0].Rows[i][j].ToString()).Trim();if(data==TextBox1.Text.Trim()){"应发工资"].ToString();TextBox2.Text=ds.Tables[0] .Rows[i]["岗位津贴"].ToString();TextBox3.Text=ds.Tables[0] .Rows[i]["奖励"].ToString();TextBox4.Text=ds.Tables[0] .Rows[i]["保险"].ToString();TextBox5.Text = ds.Tables[0].Rows[i][find=true;}}}if(find == f alse){);Response.Write("<script>window.alert('没有相关记录!')</script>"con.Close();}}}}using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;namespace WebApplication1{public partial class人员修改 : System.Web.UI.P age{protected void Page_Load(object sender, EventArgs e){}protected void TextBox5_TextChanged(object sender, EventArgs e){}protected void Button2_Click(object sender, EventArgs e){SqlConnection con=new SqlConnection("server=localhost;Integrated Security=SSPI;database=人事管理系统");con.Open();人事表(员工号,姓名,性别,职称,学历) values("+""+ TextBox1.Text.Trim() string insert="insert into","+""+ TextBox4.Text.Trim() +""+","+""""+","+ TextBox3.Text.Trim() ++""+","+"" + TextBox2.Text.Trim() ++TextBox5.Text.Trim() + ""+")";Response.Write(insert);SqlCommand cmd1=new SqlCommand(insert,con);con.Close();}protected void Button1_Click(object sender, EventArgs e){Response.Redirect("~/Default.aspx");}protected void GridView1_SelectedIndexChanged(o bject sender, EventArgs e) {}}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档