版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
延安大学课程设计报告科目:数据库系统概论题目:工资管理系统学院:数学与计算机科学学院班级:软件12成员:邓茂记:王晓武:宋彤彤:彭文丽:设计时间:2013年11月12日2013年12月20日目录第一章开发背景及意义1.1项目开发背景1.2项目开发的目标及意义1.3系统开发方法第二章可行性研究2.1目标方案可行性2.2技术可行性2.3经济可行性2.4操作可行性2.5系统流程图第三章系统分析3.1需求分析3.2数据流图3.3数据字典第四章数据库设计4.1概念结构设计4.2逻辑结构设计4.3物理结构设计4.4数据库结构的实现第五章工资管理系统功能实现5.1功能界面设计5.2实现工资管理系统的java代码第六章总结与体会第一章开发背景及意义1.1项目开发背景众所周知当今时代的世界经济正从工业经济向知识经济转变,而知识经济的两个重要特征就是信息化合全球化。要实现信息化和全球化就必须依靠完善的网络和数据库机制。处于现在这样一个飞速发展的信息时代,在各行各业中都离不开信息处理,这正是计算机被广泛应用于管理信息系统的环境,使用计算机进行信息控制不仅提高了工作效率,而且大大的提高了其安全性。尤其是对于复杂的信息管理,计算机能够充分发挥其优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发时系统管理的前提。因此,对于企业或是事业单位来说开发一套工资管理系统是很必要的。虽然企业事业单位的管理已经进入信息化管理,但对于不同的单位所需要的功能是不一样的,这样通用的软件使用效率不高,还会造成人力,财力的浪费,这样就不能满足所有单位和部门的需求。所以必须做好客户的需求分析工作,设计符合用户要求的系统。1.2系统开发的目标及意义企业和事业单位工资管理系统唯有采用自动化,高效率,人性化的管理,才能满足服务员工的需求。工资管理系统的主要目标在于加强服务而不在于精简人力。所以系统要能提供更自动化的服务,期望以最快的速度将人事工资信息做最适当的运用。主要目标有:以自动化、系统化、高效管理代替分散重复操作;提高单位效益和现代化信息管理水平;提高员工的自律性,促进员工人才的成长和流动;减轻人事工资管理员的负担,节省人力物力的开支等。引进以计算机信息管理技术和网络通讯技术,是加快人事工资管理信息服务进程的重要手段。新的管理系统的使用会给人事管理体系发生变化。这促进了工资数据管理方式和理念的转变,提高了企业单位的现代化和信息化水平,为企业带来更多的效、人益。1.3系统开发方法1.开发工具:eclipsesqlserver20052.开发语言:java语言sql语言第二章可行性研究2.1目标方案可行性(1) .计算机设备处理繁杂的工资增减问题,大幅度减少人力,物力,极大地提高企业的管理水平和管理效率。(2) .管理水平和管理效率的提高能直接产生经济效益。(3) .高效率的管理形成了良好的经营氛围,为企业打造优良形象,提高企业竞争力。(4) .本系统安全保密性可靠,实施独立的局域网络,人员进入系统需要登录,需输入账户和密码。(5) .本系统的管理,可以根据市场需要进行调整,实用性强。2.2技术可行性(1) .工作人员一般都要求掌握计算机技术,会使用各种管理软件。(2) .员工及工作人员需要熟悉系统的功能和使用方法使系统能够顺利运行。2.3经济可行性(1) .企业有能力承担系统开发费用。(2) .新系统将为企业带来经济效益。管理系统是一个信息化,智能化和先进理念的集合体,其主要表现就是减少了企业管理费用和人力开发。2.4操作可行性该系统是大家熟悉的Windows操作系统,简单明了,操作方便,不需要对数据库进行深入了解,对于那些有一般的计算机知识的人员都可以轻松使用。2.5系统流程图工资管理系统是一个企业单位不可或缺的部分,它能为用户提供充足的信息和快捷的查询手段,可以高效能、大容量的收集、处理、存储工资管理信息,能够为企业管理人员及时掌握整个工资管理系统的全面情况,提供系统的准确的工资管理信息,可以促进工资管理工作的规范化及各项管理制度与指标体系的建立与健全,为企业提供各种工资管理信息,以满足工资管理的特殊要求。主要任务是对员工信息和工资信息的输入、查询、修改、增加、删除,迅速准确地完成工资信息的统计计算和汇总,快速打印出报表。3.1需求分析3.1.1员工基本档案信息管理功能需求:凡属于本部门的员工,都需要对其基本的档案信息做好记录存储处理。以方便高级管理人员时时的了解或查阅其员工基本信息。对员工基本信息的操作包括添加信息、修改信息、查询信息,同时在数据库中要形成员工基本信息表。3.1.2工资管理功能需求:(1).工资计算:在进行工资计算之前,管理员首先应该根据部门的实际业务情况确定好各个部门中所需要的工资项目及分别对工资项目进行计算的方式,然后按照系统工资种类的设定,对每个员工分别依次实际工资项目构成情况,如基本工资、工龄工资、奖金、津贴工资、加班工资等项目,录入相应的工资金额数,再计算出总的实得工资的工资项目。在数据的录入过程中系统会根据用户误输、错误输入智能提示引导用户录入数据的正确性。要形成的数据库中的表为员工工资信息表。(2).工资统计分析:对员工工资数据计算完后,同时要将工资信息统计分析,如汇总统计,工资项目明细数据的汇总等,又分为对员工个人工资统计分析、部门工资统计分析、月份工资统计分析。且统计分析以报表形式显示统计结果。通过报表的方式反馈到高级管理人员处,这时,在数据库中要形成员工个人工资信息统计表、部门工资信息统计表、统计员工年终奖。3.1.3工资查询功能描述:在查询这个模块里,系统能支持用户在客户端按照各种不同的字段名称进行工资信息的查询。同时,迅速的响应用户的查询请求,不同级别的人系统会根据其权限级别的大小享有不同程度的功能。不同级别的人不能越权进行操作。3.1.4报表生成与打印:在员工领取工资时,能为个人生成个人工资组成及相应金额的工资条。同时形成部门月报表。工资管理系统是针对企事业单位的大量业务处理工作用计算机进行全面现代化管理,主要包括:(a)员工每个工种基本工资的设定(b)加班津贴管理,根据加班时间和类型给予不同的加班津贴;(c)按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12;企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印;员工月工资是指各单位在一个月时期内支付给本单位全体员工的全部劳动报酬。员工月工资=基本工资+工龄工资+津贴+加班工资+奖金系统功能模块该系统分为员工管理功能模块,工资管理功能模块,工资统计功能模块,工资报表查询功能模块。职能生工资管理员工管理功员工查询系统对工资管理(1)(2)标准工资的(3)(4)系统各个匸管资管理功理功删功能模块的说明能模块:能模块:考勤添加、删询息查询基本
除信
工加丿111、查询工现对员工信息的查询、修改、
基本工资的设疋与查
询员员工工.工资报表查询功能模块3.2数据流图根据系统功能的描述,得到工资管理系统的数据流图如下:1.顶层数据流图与0层数据流图现对员设疋信对员工总工资的计现对员工工资的统计功能。:产生每个员工的月工资报表能模块:对员班、请彳假旷工算。川交到相应部门系统一管理I*员员工管理
浏览主管部门基本工资疋查询图3.1员工号考勤员工津贴信息1F 、一基本工资信工\1基本工资信息查疋-人事管”理系统员:t信息;r员工基本信息查询X信)息1F'输部门一出 3[ 卩工资府资,表基本工资工工资表0年终奖生图3.2汇总工资2.各层功能模块数据流图工种表员工编号3.3工种基本工资工种基本工资员工编号、考勤表津贴管理*员工津贴工资工资表图3.4年度工资总和员工津贴设定员工编号年终奖生总和公式一存员工年终工种表员工编号图3.5员工年终奖生成月工资查询要求员工信息表津贴图3.6查询部门及员工信息员工信息.查询要求要求加工津贴表图3.7 信息查询工资录入资数据查询
处理工资信息查询结果输出到
打印机打印3.3数据字典数据字典是系统中各类数据描述的集合简要说明工资管理系统的数据字典。(1) .名字:员工编号别名:员工号描述:员工号唯一地标识数据库中职工信息相关表中的一个特定员工的关键域定义:职工号=6{char}位置:员工信息表考勤表工资表(2) .名字:职务别名:员工职务描述:职务能唯一地标识数据库中职务基本工资信息相关表中的一个特定职务的
关键域定义:职务=10{char}位置:员工信息表职务工资表.名字:加班类型别名:加班类型描述:加班类型能唯一地标识数据库中员工津贴信息相关表中的一个特定加班类型的关键域定义:加班类型=10{char}位置:员工津贴表员工考勤表.名字:员工信息表别名:员工基本信息描述:用户指定条件下的员工基本信息情况查询结果的信息表定义:员工信息表=员工号+员工姓名+性别+出生日期+职务+学历+电话号码+住址+身份证号位置:输出到员工工资表.名字:考勤信息表别名:考勤信息描述:用户指定条件下的员工考勤信息查询结果的信息表定义:员工考勤信息表=考勤编号+员工号+员工姓名+加班天数+请假天数+旷工天数+考勤日期+加班类型位置:输出到员工工资表名字:员工津贴表别名:员工津贴信息表描述:用户指定条件下的员工加班类型给予不同加班津贴的信息表定义:员工津贴表=加班类型+加班津贴位置:输出到员工工资表.名字:职务工资表别名:职务基本工资信息表描述:用户指定条件下的职务基本工资信息查询结果的信息表定义:职务工资表=职务+基本工资+加班标准+请假标准+旷工标准+奖金位置:输出到员工工资表.名字:员工工资表别名:工资信息描述:记录工资的组成部分以及员工的工资情况的信息定义:工资信息报表=员工编号+员工姓名+基本工资+加班津贴+加班费+请假扣款+旷工扣款+奖金+实发工资位置:输出到打印机第四章数据库设计第四章数据库设计E-R图如下:E-R图如下:4.1概念结构设计根据如上的信息可得到实体之间的关系(2)(3)(4(2)(3)(4)别电话姓名份证员11领奖金资加V资门录11天属领加班工加1nn资员工设1款1天11旷11款11天11年终奖实体-R图总员工基本信息奖加班标基本工请假扣请假标加班工津贴工旷工扣款.图4.2旷工扣基本工旷工标管部编号计算公逻辑结构设计员工考勤表(Checkstat):考勤编号(CheckID),员工编号(Eno),员工姓名(Enam©,加班天数(OvertimeDay),旷工天数(AbsentDay),请假天数(LeaveDay),考勤日期(CheckDate),加班类型(OvertimeType)员工津贴表(Allowance):加班类型(OvertimeType),加班津贴(Osubsidy)员工信息表(Emplogee):员工编号(Eno),员工姓名(Ename,性别(Esex),出生年月(Ebirth),职务(Eduty),学历(Eedu),电话(Etel),身份证号(IDidentity),住址(Eaddr)员工工种表(Wageconfig):4.2(1)职务(Eduty),基本工资(BaseWage,加班标准(OverDay),请假标准(LeaveDay),旷工标准(AbsentDay),奖金(Bonus)(5)员工工资表(Wage:员工编号(Eno),员工姓名(Enam©,基本工资(BaseWage,加班津贴(OsubsidyO),加班费(OvertimeWage,请假扣款(LeaveDayWag),旷工扣款(AbsentDayWage,奖金(Bonus),实发工资(ActWage依据上面的关系模式,设计数据表如下:(1).员工考勤表(Checkstat):记录员工的到职情况列名数据类型长度属性描述CheckIDint主键考勤编号—Enochar6外键员工编号EnameChar15不允许空员工姓名OvertimeDaySmallint加班天数dAbsentDaySmallint旷工天数LeaveDaySmallint请假天数CheckDateSmalldatetime考勤日期丁OvertimeTypeChar10加班类型(2).员工津贴表(Allowanee):记录员工的加班津贴信息列名数据类型长度属性描述OvertimeTypeChar10:主键加班类型OsubsidyMoney不为空加班津贴(3).职务工资表(wageconfig):记录职务的基本工资列名数据类型长度属性描述EdutyChar10主键职务BaseWageMoney不为空基本工资OvertimeWageMoney不为空加班标准LeaveWageMoney不为空请假标准AbsentWageMoney不为空旷工标准BonusMoney不为空奖金(4)员工信息表(Emplogee):记录员工的基本信息列名数据类型长度属性描述EnoChar6主键员工编号EnameCharM5不为空员工姓名EsexChar10不为空性别EbirthDatetime出生日期EdutyCharMO外键职务EeduChar10学历Etelnvarchar50电话IDidentitynvarcharP50身份证号EaddrChar10地址(5)员工工资表(Wage:记录保存计算出来的工资列名数据类型长度属性描述EnoChar6主键员工编号EnameChar15不为空员工姓名BaseWageMoney不为空基本工资OsubsidyMoney不为空加班津贴OvertimeDayWageMoney不为空加班费LeaveDayWageMoney不为空:请假扣款AbsentDayWageMoney不为空旷工扣款BonusMoney不为空:奖金ActWageMoney不为空实发工资4.3物理结构设计员工基本信息数据表定义其中,“Eno”是表的主键,唯一标识。 “Eduty”是外键。此表取名为“EmplogeW'。员工考勤信息数据表定义其中,“CheckID”是主键,唯一标识。“OvertimeType”为外键。此表取名为”Checkstat“。员工津贴信息数据表定义其中,”OvertimeType“为主键,唯一标识。此表取名为” Allowanee职务基本工资信息数据表定义其中,”Eduty”为主键,唯一标识。此表取名为“Wageconfig”工资信息数据表定义其中,“Enc”为主键,唯一标识。此表取名为“Wage4.4数据库结构的实现1.数据库表的创建创建Wageconfig表:createtableWageconfig(Edutychar(10)primarykey,BaseWagemoney,OverDaymoney,LeaveDayWagemoney,AbsentDayWagemoney,Bonusmoney,);创建Allowance表:createtableAllowance(OvertimeTypechar(10)primarykey,Osubsidymoney,);创建Checkstat表:createtableCheckstat(CheckIDintprimarykey,Enochar(6)notnull,Enamechar(15)notnull,OvertimeDaysmallint,AbsentDaysmallint,LeaveDaysmallint,CheckDatesmalldatetime,OvertimeTtpechar(10),);创建Emplogee表:createtableEmplogee(Enochar(6)primarykey,Enamechar(15)notnull,Esexchar(10)notnull,Ebirthdatetime,Edutychar(10),Eeduchar(10),Etelnvarchar(50),IDidentitynvarchar(50),Eaddrchar(10),);创建WageS:createtableWage(WageIDintprimarykey,Enochar(6)notnull,Enamechar(15)notnull,BaseWagemoneynotnull,Osubsidymoneynotnull,OvertimeWagemoneynotnull,LeaveDayWagemoneynotnull,AbsentDayWagemoneynotnull,Bonusmoneynotnull,ActWagemoneynotnull,);数据库关系图:第五章工资管理系统功能实现5.1功能界面设计5.1.1系统登录界面的设计输入用户名和密码,点击登录可以进入工资管理系统。系统主界面功能设计各个菜单按钮下的子系统有:系统(退出)员工管理(添加员工基本信息,修改员工基本信息,删除员工基本信息)工资管理(设定职务工资,工资报表生成,月工资查询,年终奖查询)员工查询(员工基本信息查询,员工考勤信息查询)添加员工基本信息界面设计输入员工编号,姓名,性别,出生日期,职务,学历,电话,身份证号码,住址能将员工的基本信息添加到数据库表中。删除员工基本信息界面设计输入员工编号可以删除数据库表中员工的基本信息。修改员工基本信息界面设计输入员工编号将员工信息显示出来,然后进行修改。设定职务基本工资界面设计输入职务名称将职务各项标准显示出来,然后进行重新设定。5.1.7.工资报表生成界面设计通过员工编号查出员工姓名,职务,加班天数,请假天数,旷工天数及加班类型,填入到对应框中,然后通过职务名称查出基本工资,加班标准,请假标准,旷工标准及奖金,填入对应框中,通过加班类型查出加班津贴,最后计算出加班费,请假减薪,旷工减薪,实发工资。产生员工工资。5.1.8员工月工资查询界面设计输入员工编号可以查询员工的月工资。5.1.9员工年终奖查询界面设计输入员工编号可以查询员工的年终奖。5.1.10员工基本信息查询界面设计输入员工编号可以查询员工基本信息。5.1.11员工考勤及员工加班津贴查询界面设计输入员工编号可以查询员工考勤信息,输入员工加班类型可以查询员工加班津贴。5.2实现工资管理系统的java代码(1)登录界面代码packagegzgl;importimportimportimportimportimport;import;importimportimportimportimportimportimportimportgzgl.MainFrame;importgzgl.DBConnect;publicclassLogOn{publicstaticvoidmain(String[]args){finalJFramejfrmlogin= newJFrame("系统登录");//框标题是系统登录jfrmlogin.setSize(400,280);〃设置框的大小DimensionscreenSize=Toolkit. getDefaultToolkit ().getScreenSize();jfrmlogin.setLocation(( int)(screenSize.width-400)/2,( int)(screenSize.height-300)/2);〃 设置框出现的位置//构建面板p1、p2、p3〃p1->用户名+文本框JPanelp1=newJPanel();pl.add(newJLabel("用户名:"));finalJTextFieldjtxtuser=newJTextField(14);〃p2-> 密码+文本框JPanelp2=newJPanel();p2.add(newJLabel("密码:"));finalJPasswordFieldjspwd=newJPasswordField(14);〃p3->登陆+退出两按钮JPanelp3=newJPanel();JButtonjbtok=newJButton(”登录");JButtonjbtexit= newJButton(”退出");//将组件加入到面板中p1.add(jtxtuser);p2.add(jspwd);p3.add(jbtok);p3.add(jbtexit);//,登陆键的监听器设置jbtok.addActionListener( newActionListener(){publicvoidactionPerformed(ActionEvente){Stringa,b;a=jtxtuser.getText();// 获取用户输入的信息// 密码框置为不可见的字符b=jspwd.getText(); if((a.equals("dmj")==true)&&(b.equals("123456")==true)){// 如果成功则调用系统程序 隐藏当前登陆框JOptionPane. showMessageDialog(null,"你已成功登陆系统! ","系统提示",JOptionPane.INFORMATION_MESSAGEMainFramemf= newMainFrame();mf.setVisible( true);jfrmlogin.dispose();}else{JOptionPane.showMessageDialog(null,"用户名或密码不一致,请重新输入!","系统提示",JOptionPane.ERROR_MESSAGE//不正确则将用户框和密码框都置空jtxtuser.setText("");jspwd.setText("");}}});jbtexit.addActionListener( newActionListener(){publicvoidactionPerformed(ActionEvente){JOptionPane.showMessageDialog(null,"您已成功退出系统!","系统提示",JOptionPane.CANCEL_OPTIONSystem.exit(0);});//采用网格布局jfrmlogin.getContentPane().setLayout(newGridLayout(3,1));jfrmlogin.getContentPane().add(p1);jfrmlogin.getContentPane().add(p2);jfrmlogin.getContentPane().add(p3);jfrmlogin.setVisible(true);}}(2)主函数代码packagegzgl;importimportimportgzgl.MainFrame;publicclassMain{publicstaticvoidmain(String[]args){//创建主界面,调用MainFrame()构造函数和方法MainFrameframe=newMainFrame();//获取屏幕尺寸DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();//获取主界面的窗体尺寸DimensionframeSize=frame.getSize();//令主界面窗体居中if(frameSize.height>screenSize.height)frameSize.height=screenSize.height;if(frameSize.width>screenSize.width)frameSize.width=screenSize.width;frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);//令主界面显示frame.setVisible(true);}}(3)用JDBC连接java与数据库的代码packagegzgl;importimportpublicclassDBConnect{//静态方法提高数据库的连接效率publicstaticConnectiongetConn()throwsException{//加载JDBC驱动Class.forName//以系统默认用户身份,连接数据库StudentManagerreturnDriverManager.getConnection456");}}(4)系统主框架界面代码packagegzgl;importimportimportimportimportimportimportimportimportimportimportimportimportimportgzgl.AddEmployee;importgzgl.AddSalary;importgzgl.DeleteEmployee;importgzgl.EmployeeHelp;importgzgl.InquireOnGH;importgzgl.InquireOnName;importgzgl.ModifyEmployee;importgzgl.ModifySalary;importgzgl.SalaryInquire;publicclassMainFrameextendsJFrameimplementsActionListener{//创建内容面板JPanelcontentPane;//创建菜单栏组件的对象JMenuBarjMenuBar仁newJMenuBar();〃菜单条JMenujMenuO=newJMenu(”系统");//菜单JMenultemjMenultemO=newJMenultem(”退出");//子菜单JMenujMenu1=newJMenu(”员工管理");JMenultemjMenultem仁newJMenultem(”添加员工信息”);JMenultemjMenultem2=newJMenultem(”修改员工信息”);JMenultemjMenultem3=newJMenultem(”删除员工信息”);JMenujMenu2=newJMenu(”工资管理");JMenultemjMenultem4=newJMenultem(”工资查询");JMenultemjMenultem5=newJMenultem(”设定职务工资");JMenultemjMenultem8=newJMenultem(”工资生成");JMenultemjMenultem9=newJMenultem(”年终奖查询");JMenujMenu3=newJMenu("员工查询");JMenuItemjMenuItem6=newJMenuItem("员工信息查询");JMenuItemjMenuItem7=newJMenuItem("员工考勤查询");//创建标签,用于显示信息JLabeljLabel1=newJLabel("欢迎使用工资管理系统");JLabeljLabel2=newJLabel("延安大学软件12课程设计");//创建构造方法publicMainFrame(){try{//关闭框架窗口时的默认事件方法setDefaultCloseOperation(EXIT_ON_CLOS);E//调用初始化方法jbInit();}catch(Exceptionexception){exception.printStackTrace();}}//界面初始化方法privatevoidjbInit()throwsException{//创建内容面板contentPane=(JPanel)getContentPane();//设置内容面板的布局为空contentPane.setLayout(null);//主框架的大小DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-360)/2);setSize(newDimension(400,500));//主框架的标题setTitle("工资管理系统");//添加事件监听器jMenuItem0.addActionListener(this);jMenuItem1.addActionListener(this);jMenuItem2.addActionListener(this);jMenuItem3.addActionListener(this);jMenuItem4.addActionListener(this);jMenuItem5.addActionListener(this);jMenuItem6.addActionListener(this);jMenuItem7.addActionListener(this);jMenuItem8.addActionListener(this);jMenuItem9.addActionListener(this);//添加菜单条到主框架setJMenuBar(jMenuBar1);//添加菜单到菜单条jMenuBar1.add(jMenu0);jMenuBar1.add(jMenu1);jMenuBar1.add(jMenu2);jMenuBar1.add(jMenu3);//添加菜单项到菜单jMenu0.add(jMenuItem0);jMenu1.add(jMenuItem1);jMenu1.add(jMenuItem2);jMenu1.add(jMenuItem3);jMenu2.add(jMenuItem4);jMenu2.add(jMenuItem5);jMenu2.add(jMenuItem8);jMenu2.add(jMenuItem9);jMenu3.add(jMenuItem6);jMenu3.add(jMenuItem7);//添加标签到主框架内容面板contentPane.add(jLabel1);contentPane.add(jLabel2);//设置标签组件的大小和字体jLabel1.setFont(newBOLD,20));jLabel1.setBounds(newRectangle(65,70,275,55));jLabel2.setFont(newBOLD,16));jLabel2.setBounds(newRectangle(90,150,200,35));}//菜单项事件对应的处理方法publicvoidactionPerformed(ActionEventactionEvent){//点击“系统”菜单下的“退出”菜单项if(actionEvent.getSource()==jMenuItem0){JOptionPane.showMessageDialog(null,"您已成功退出系统!","系统提示",JOptionPane.CANCEL_OPTIO);NSystem.exit(0);}//点击“职工管理”菜单下的“添加职工”菜单项if(actionEvent.getSource()==jMenuItem1){//创建“添加职工”面板对象AddEmployeeAddEmpn=ewAddEmployee();//移除主框架上原有的内容this.remove(this.getContentPane());//加载“添加职工”面板的对象到主框架this.setContentPane(AddEmp);//令界面可见this.setVisible(true);}//点击“职工管理”菜单下的“修改职工”菜单项if(actionEvent.getSource()==jMenuItem2){//创建“修改职工”面板对象ModifyEmployeeModifyEmp=newModifyEmployee();this.remove(this.getContentPane());//加载“修改职工”面板的对象到主框架this.setContentPane(ModifyEmp);this.setVisible(true);}//点击“职工管理”菜单下的“删除职工”菜单项if(actionEvent.getSource()==jMenuItem3){//创建“删除职工”面板对象DeleteEmployeeDeleteEmp=newDeleteEmployee();this.remove(this.getContentPane());//加载“删除职工”面板的对象到主框架this.setContentPane(DeleteEmp);this.setVisible(true);}//点击“工资管理”菜单下的“添加工资”菜单项if(actionEvent.getSource()==jMenuItem4){//创建工资添加的面板对象AddSalaryAddSal=newAddSalary();this.remove(this.getContentPane());//加载工资添加面板的对象到主框架this.setContentPane(AddSal);this.setVisible(true);}//点击“工资管理”菜单下的“修改工资”菜单项if(actionEvent.getSource()==jMenuItem5){//创建工资修改的面板对象ModifySalaryModifySal=newModifySalary();this.remove(this.getContentPane());//加载工资修改面板的对象到主框架this.setContentPane(ModifySal);this.setVisible(true);}//点击“工资管理”菜单下的“工资查询”菜单项if(actionEvent.getSource()==jMenuItem8){{//创建工资修改的面板对象SalaryInquireSalaryInq=newSalaryInquire();this.remove(this.getContentPane());//加载工资修改面板的对象到主框架this.setContentPane(SalaryInq);this.setVisible(true);}//点击“职工查询”菜单下的“按工号查询”菜单项if(actionEvent.getSource()==jMenuItem6){//创建“按工号查询”面板对象InquireOnGHOnGH=newInquireOnGH();//移除主框架上原有的内容this.remove(this.getContentPane());this.setContentPane(OnGH);this.setVisible(true);}//点击“职工查询”菜单下的“按姓名查询”菜单项if(actionEvent.getSource()==jMenuItem7){//创建“按姓名查询”面板对象InquireOnNameOnNamen=ewInquireOnName();//移除主框架上原有的内容this.remove(this.getContentPane());this.setContentPane(OnName);this.setVisible(true);}if(actionEvent.getSource()==jMenuItem9){//创建“按姓名查询”面板对象YearBonusYear=newYearBonus();//移除主框架上原有的内容this.remove(this.getContentPane());this.setContentPane(Year);this.setVisible(true);}}}添加员工基本信息功能代码packagegzgl;importimportimportimportimportimportimportimportimportimportimportimportimportgzgl.DBConnect;ActionListener{publicclassAddEmployeeextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//Statementst;//创建组件对象:JLabeljLabe11=JLabeljLabel2=JLabeljLabel3=JLabeljLabel4=JLabeljLabel5=JLabeljLabel6=JLabeljLabel7=JLabeljLabel8=JLabeljLabel9=标签、文本行、单选员工编号")newJLabel(newJLabel(newJLabel(newJLabel(newJLabel(newJLabel(newJLabel(newJLabel(newJLabel(员工姓名")性别");出生日期")职务");学历");电话");身份证号")住址");newJTextField();newJTextField();newJTextField();newJTextField();newJTextField();newJTextField();newJTextField();newJTextField();男newJTextField();newJTextField();newJTextField();newJTextField();newJTextField();newJTextField();newJTextField();newJTextField();男");
女");JTextFieldjTextField1=JTextFieldjTextField2=JTextFieldjTextField3=JTextFieldjTextField4=JTextFieldjTextField5=JTextFieldjTextField6=JTextFieldjTextField7=JTextFieldjTextField8=JRadioButtonjRadioButton1=newJRadioButton(”JRadioButtonjRadioButton2=newJRadioButton(”ButtonGroupbuttonGroup1=newButtonGroup();JButtonjButton1=newJButton(”添加职工");//构造方法publicAddEmployee(){try{//调用初始化方法jbInit();}catch(Exceptionexception){exception.printStackTrace();}}}//界面初始化方法privatevoidjbInit()throwsException{//连接数据库con=DBConnect.getConn();st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setBounds(jLabel2.setBounds(jLabel3.setBounds(jLabel4.setBounds(jLabel5.setBounds(jLabel6.setBounds(jLabel7.setBounds(jLabel8.setBounds(jLabel9.setBounds(newRectangle(21,17,64,24));newRectangle(21,51,53,22));newRectangle(21,86,61,27));newRectangle(21,122,59,25));newRectangle(21,168,54,24));newRectangle(21,205,54,24));newRectangle(21,245,54,24));newRectangle(21,285,54,24));newRectangle(21,325,54,24));jTextField1.setBounds(jTextField2.setBounds(newRectangle(102,10,200,30));newRectangle(102,49,200,30));jTextField3.setBounds(jTextField4.setBounds(jTextField5.setBounds(jTextField6.setBounds(jTextField7.setBounds(jTextField8.setBounds(newRectangle(102,117,200,33));newRectangle(102,163,200,29));newRectangle(102,200,200,29));newRectangle(102,240,200,29));newRectangle(102,280,200,29));newRectangle(102,320,200,29));jRadioButton1.setBounds(newRectangle(102,83,65,30));jRadioButton2.setBounds(newRectangle(190,85,85,30));jButton1.setBounds(newRectangle(130,380,150,32));//设置单选按钮被选中jRadioButton1.setSelected(true);//添加按钮动作事件jButton1.addActionListener(this);//添加组件到面板this.add(jLabel1);this.add(jTextField1);this.add(jLabel2);this.add(jTextField2);this.add(jLabel3);buttonGroup1.add(jRadioButton1);buttonGroup1.add(jRadioButton2);this.add(jRadioButton1);this.add(jRadioButton2);this.add(jLabel4);this.add(jTextField3);this.add(jLabel5);this.add(jTextField4);this.add(jLabel6);this.add(jTextField5);this.add(jLabel7);this.add(jTextField6);this.add(jLabel8);this.add(jTextField7);this.add(jLabel9);this.add(jTextField8);this.add(jButton1);}〃点击按钮事件publicvoidactionPerformed(ActionEvente){//获取用户输入的信息StringEn0=jTextField1.getText();StringEname=jTextField2.getText();StringEsex="";if(jRadioButton1.isSelected())Esex+='男";if(jRadioButton2.isSelected())Esex+=''女";StringEbirth=jTextField3.getText();StringEduty=jTextField4.getText();StringEedu=jTextField5.getText();StringEtel=jTextField6.getText();StringIDidentity=jTextField7.getText();StringEaddr=jTextField8.getText();try{//设置日期格式st.execute("setdateformatymd");//利用sL对象执行SQL语句,进行插入操作Emplogeest.executeUpdate("insert intoEmplogeevalues('"+Eno+"T"+Ename+"T"+Esex+"T"+Ebirth+"T"+Eduty+"T"+Eedu+"T"+Etel+"T"+IDidentity+"T"+Eaddr+"')");//利用消息对话框提示职工添加成功JOptionPane.showMessageDialog(this,"职工添加成功!");//清空文本行的内容jTextField1.setText("");jTextField2.setText("");jTextField3.setText("");jTextField4.setText("");jTextField5.setText("");jTextField6.setText("");jTextField7.setText("");jTextField8.setText("");}catch(Exceptionex){//利用消息对话框提示异常的信息JOptionPane.showMessageDialog(this,"职工添加失败!");ex.printStackTrace();}}}修改员工基本信息功能代码packagegzgl;importimportimportimportimportimportimportimportimportimportimportimportimportgzgl.DBConnect;publicclassModifyEmployeeextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//创建组件对象:标签、文本行、单选JLabeljLabel仁newJLabel("请输入职工的编号:");JTextFieldjTextField1= newJTextField();JButtonjButton仁newJButton(”查找该职工");JLabeljLabel2=newJLabel("员工编号:");JTextFieldjTextField2= newJTextField();JLabeljLabel3=newJLabel("员工姓名:");JTextFieldjTextField3= newJTextField();JLabeljLabel4=newJLabel("性别:");JTextFieldjTextField4= newJTextField();JLabeljLabel5=newJLabel("出生日期:");JTextFieldjTextField5= newJTextField();JLabeljLabel6=newJLabel("职务:");JTextFieldjTextField6= newJTextField();JLabeljLabel7=newJLabel("学历:");JTextFieldjTextField7= newJTextField();JLabeljLabel8=newJLabel("电话:");JTextFieldjTextField8= newJTextField();JLabeljLabel9=newJLabel("身份证号:");JTextFieldjTextField9= newJTextField();JLabeljLabel10=newJLabel("住址:");JTextFieldjTextField10= newJTextField();JButtonjButton2=newJButton("修改职工信息");//构造方法publicModifyEmployee(){try{//调用初始化方法jbInit();}catch(Exceptionexception){exception.printStackTrace();}}//面板初始化方法privatevoidjbInit()throwsException{//连接数据库con=DBConnect.getConn();st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setFont(newBOLD,14));jLabel1.setBounds(newRectangle(40,15,140,30));jTextField1.setBounds(newRectangle(185,15,120,30));jButton1.setBounds(newRectangle(110,55,150,30));jLabel2.setFont(newBOLD,14));jLabel2.setBounds(newRectangle(20,105,80,30));jTextField2.setBounds(newRectangle(100,105,80,30));jLabel3.setFont(newBOLD,14));jLabel3.setBounds(newRectangle(190,105,80,30));jTextField3.setBounds(newRectangle(270,105,80,30));jLabel4.setFont(newBOLD,14));jLabel4.setBounds(newRectangle(20,145,80,30));jTextField4.setBounds(newRectangle(100,145,80,30));jLabel5.setFont(newBOLD,14));jLabel5.setBounds(newRectangle(190,145,80,30));}}jTextField5.setBounds(newRectangle(270,145,80,30));jLabel6.setFont(newBOLD,14));jLabel6.setBounds(newRectangle(20,185,80,30));jTextField6.setBounds(newRectangle(100,185,80,30));jLabel7.setFont(newBOLD,14));jLabel7.setBounds(newRectangle(190,185,80,30));jTextField7.setBounds(newRectangle(270,185,80,30));jLabel8.setFont(newBOLD,14));jLabel8.setBounds(newRectangle(20,225,80,30));jTextField8.setBounds(newRectangle(100,225,160,30));jLabel9.setFont(newBOLD,14));jLabel9.setBounds(newRectangle(20,265,80,30));jTextField9.setBounds(newRectangle(100,265,160,30));jLabel10.setFont(newBOLD,14));jLabel10.setBounds(newRectangle(20,305,80,30));jTextField10.setBounds(newRectangle(100,305,160,30));jButton2.setBounds(newRectangle(120,360,150,30));//添加按钮动作事件jButton1.addActionListener( this);jButton2.addActionListener( this);//添加组件到面板this.add(jLabel1);this.add(jTextField1);this.add(jButton1);this.add(jLabel2);this.add(jTextField2);jTextField2.setEditable(false);this.add(jLabel3);this.add(jTextField3);this.add(jLabel4);this.add(jTextField4);this.add(jLabel5);this.add(jTextField5);this.add(jLabel6);this.add(jTextField6);this.add(jLabel7);this.add(jTextField7);this.add(jLabel8);this.add(jTextField8);this.add(jLabel9);this.add(jTextField9);this.add(jLabel10);this.add(jTextField10);this.add(jButton2);〃点击按钮事件publicvoidactionPerformed(ActionEventactionevent){〃点击“查找该职工”按钮if(actionevent.getSource()==jButtonl){try{//利用sL对象执行SQL语句,返回结果集对象ResultSetrs=st.executeQuery("select*fromEmplogeewhereEn0=”'+jTextField1.getText()+"”');//处理结果集if(rs.next()){jTextField2.setText(rs.getString("Eno"));jTextField3.setText(rs.getString("Ename"));jTextField4.setText(rs.getString("Esex"));jTextField5.setText(rs.getString("Ebirth"));jTextField6.setText(rs.getString("Eduty"));jTextField7.setText(rs.getString("Eedu"));jTextField8.setText(rs.getString("Etel"));jTextField9.setText(rs.getString("IDidentity"));jTextField1O.setText(rs.getString("Eaddr"));}else{JOptionPane.showMessageDialog(this,"没有这个工号的职工!");}}catch(Exceptionex){//利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,"职工信息修改失败!");}}〃点击“修改工资”按钮if(actionevent.getSource()==jButton2){//获取用户更改的工资try{//利用sL对象执行SQL语句,进行插入操作st.executeUpdate("update Emplogee setEname='"+jTextField3.getText()+"'whereEno=”'+jTextField2.getText()+"”');st.executeUpdate("update Emplogee setEsex='"+jTextField4.getText()+"'whereEno='"+jTextField2.getText()+"”');st.executeUpdate("update Emplogee setEbirth='"+jTextField5.getText()+"'whereEno='"+jTextField2.getText()+"”');st.executeUpdate("update Emplogee setEduty=”'+jTextField6.getText()+"'whereEn0=”'+jTextField2.getText()+"”');st.executeUpdate("update Emplogee setEedu='"+jTextField7.getText()+"'whereEno='"+jTextField2.getText()+"”');st.executeUpdate("update Emplogee setEtel='"+jTextField8.getText()+"'whereEno='"+jTextField2.getText()+"”');st.executeUpdate("update Emplogee setIDidentity='"+jTextField9.getText()+"'whereEno='"+jTextField2.getText()+"”');st.executeUpdate("update Emplogee setEaddr='"+jTextField10.getText()+"'whereEn0=”'+jTextField2.getText()+"”');//利用消息对话框提示职工信息修改成功JOptionPane.showMessageDialog(this,"职工信息修改成功!");}catch(Exceptionex){//利用消息对话框提示异常的信息JOptionPane.showMessageDialog(this,"职工信息修改失败!");ex.printStackTrace();}}}}删除员工基本信息功能代码packagegzgl;importimportimportimportimportimportimportimportimportimportimportimportgzgl.DBConnect;publicclassDeleteEmployeeextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//创建组件对象JLabeljLabel仁newJLabel("请输入待删除的员工的编号");JTextFieldjTextField1=newJTextField();JButtonjButton仁newJButton(”删除");//构造方法publicDeleteEmployee(){try{//调用初始化方法jblnit();}catch(Exceptionexception){exception.printStackTrace();}}//界面初始化方法privatevoidjbInit() throwsException{//连接数据库con=DBConnect.getConn();st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setFont( newBOLD14));jLabel1.setBounds(newRectangle(70,20,200,30));jTextField1.setBounds( newRectangle(70,80,205,35));jButton1.setBounds(newRectangle(70,175,205,36));//添加按钮动作事件jButton1.addActionListener( this);//添加组件到面板this.add(jLabel1);this.add(jTextField1);this.add(jButton1);}〃点击按钮事件publicvoidactionPerformed(ActionEvente){//获取用户输入的职工编号StringEno=jTextField1.getText();//要求用户确认删除if(JOptionPane.showConfirmDialog(this,"确认要删除吗?")==JOptionPane.YES_OPTIC)N{try{//利用sL对象执行SQL删除操作st.executeUpdate("deletefromEmplogeewhereEno='"+Eno+"”');//利用消息对话框提示删除操作成功JOptionPane.showMessageDialog(this,"员工删除成功!");//清空输入学号的文本行jTextField1.setText("");}catch(Exceptionex){//利用消息对话框提示不能删除JOptionPane.showMessageDialog(this,"员工删除失败!");}}}}职务基本工资设定功能代码packagegzgl;importimportimportimportimportimportimportimportimportimportimportimportimportgzgl.DBConnect;publicclassModifySalaryextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//创建组件对象:标签、文本行、单选JLabeljLabel仁newJLabel("请输入职务:");JTextFieldjTextField1=newJTextField();JButtonjButton仁 newJButton(”查找该职务工资标准");JLabeljLabel2=newJLabel("职务:");JTextFieldjTextField2= n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信阳师范大学《书籍设计》2022-2023学年第一学期期末试卷
- 音乐人的创作计划与演出安排
- 证券投资基金委托协议三篇
- 新余学院《中国古典舞训练》2022-2023学年第一学期期末试卷
- 西南交通大学《微机与接口技术实验》2021-2022学年第一学期期末试卷
- 西南交通大学《量子力学》2021-2022学年第一学期期末试卷
- 西南交通大学《电脑图文设计》2021-2022学年第一学期期末试卷
- 西京学院《设计表现技法》2022-2023学年第一学期期末试卷
- 2024年01月11069中央银行理论与实务期末试题答案
- 西北大学《计算机组成原理》2022-2023学年第一学期期末试卷
- 运动是良医智慧树知到答案2024年成都师范学院
- 2024至2030年中国深圳酒店行业市场全景评估及发展战略研究报告
- JGJ∕T194-2009钢管满堂支架预压技术规程
- 统编版语文二年级上册第八单元 学会与人相处单元任务群整体公开课一等奖创新教学设计
- 2024年全国乡村医生考试复习题库及答案(共290题)
- 职业技术学校电气自动化技术《电力电子技术》课程标准
- 全员消防安全责任制
- 《四川大学SCI期刊分级方案》
- 咖啡馆设备采购合同
- 潮州2024年广东潮州市湘桥区人民法院招聘劳动合同制书记员10人笔试历年典型考题及考点附答案解析
- 水系统中央空调管径冷凝水管径计算器完整版
评论
0/150
提交评论