版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
)工管理1前..................................................................12系统概..............................................................22.1系统开发背景2.2系统开发目的2.3系统平台选用
.........................................................................................................................2.........................................................................................................................2.........................................................................................................................22.3.1数据库技术的现状与发展.....................................22.3.2数据库系统的选择原则.......................................32.3.3系统开发工具的选择.........................................33需求分..............................................................73.1需求陈述
3.2可行性分析
3.2.1技术可行性.................................................73.2.2时间、设备可行性...........................................73.2.3经济可行性.................................................84概要设..............................................................94.1系统功能结构设计
4.2数据库设计
4.2.1数据库逻辑结构............................................104.2.2数据库E-R..............................................4.2.3Oracle数据库的使用.......................................135详细设.............................................................145.1主界面设计
5.2基本信息管理模块
..............................................................................................................155.3工资数据模块5.4当月报表模块5.5历史数据模块5.6系统信息模块word档可自由复制编辑
6系统性能测试与分...................................................6.1测试范围与主要内容
.........................................................................................................426.2测试方法6.3测试报告
................................................................................................................................42................................................................................................................................427结.................................................................43参考文...............................................................致...................................................................45word档可自由复制编辑
1前言上世纪八、九十年代以来,计算机产业飞速发展,其应用渗透在社会生产的各个领域。计算机在国内的崛起加速了各企事业单位、机关的自动化进程,提高了国民生产的效率,从而为国民经济的飞速发展创造了必要的条件。步入21世纪以来,计算机更是以惊人的普及速度,进入各行各业和大部分家庭。各种应用的需求也不断增加,人们更加追求生活的品质和工作的效率,企业更是视提高生产效率为生存和发展之道于是通过科技手段提高生产和管理效率自然成为竞争和发展的焦点这不仅包括如何实现企业生产设备的改进和生产技术的提高还包括如何有效地组织和管理企业各项事务,实现企业的办公自动化。而
管理信息系统(ManagementInformationSystem,MIS)在办公自化的进程中发挥着重要的作用。市场需求也日益增加。大型企业的分工比较严格、细致,组织较为紧密,对软硬件的要求也就比较高,因此试图以一款软件来解决企业的所有问题显然是不可能的,这就需要我们细化事务,有针对性地开发纵向应用广泛MIS系统。不仅能够解决大型企业和机构的某方面问题,还应该能为更多的中、小型企业利用,提高他们的工作效率,加速企业的发展,从而促进国民经济的建设。财务是每一个单位都会涉及的问题,管理软件雨后春笋般崛起的今天,企业不仅需要通过软件有效地对其实施管理,还想操作能够尽可能简单,软件易于上手。通过查阅相关资料,对市场需求进行分析,对既成工资管理软件的研究和测试,我们认为本课题是一个适应现今工资管理需求的计算机信息管理系统具有一定的现实意义和开发使用价值。word档可自由复制编辑
2系统概2.1统发景自20世纪80年代以来知识经济的兴起和信息技术的日新月异消除了人与人之间知识、信息传递的障碍,也带来了人类经营意识、管理观念的巨大改变世纪是一个经济时代经济竞争说到底是人才的竞争拥有了人才谁就将最终拥有财富。通过工资人事管理可以获得并维持组织的竞争优势,人作为公司最重要的资产,如何用好人才,为每个人找到合适的岗位去发挥其特长是用人的关键环节。而运用先进科技手段进行有效管理是最好的发展方向。MIS作为提高管理效率和办公自动化进程的重要工具,已深入到国民生产的方方面面。我们更加需要开发适应不同行业不同需求的MIS系统。2.2统发的本系统开发的主要目的就是要使企事业单位工资管理实现计算机管理使管理员能够有序地管理每一位职工的各项工资条款的发放以及员工个人台帐的生成使企业运用现代化技术创造更多更高的经济效益。2.3统台用2.3.1据库技术现状与展数据库是60年代末出现的一门计算机软件技术,到现在虽然只有三十多年的历史但在理论和时间上都得到了和很大的发展在数据库是数据处理的主要工具,是管理信息系统(MIS)的核心部分数据库系统是当今计算机信息系统的核心,是计算机技术和应用发展的关键。传统的数据库系统旨在处理永久、稳定的数据,强调维护数据的完整性、一致性。数据库理论与技术的发展极其迅速,其应用日益广泛,在当今的信息社会中,它几乎无所不在。以关系型为代表的三大经典(层次、网状、关系)型数据库在传统的word档可自由复制编辑
(商务和管理的事务型)应用领域获得了极大成功。计算机世界报社与I公司联合举办了"21纪数据库技术发展专家研讨会"。DB2创始人Haderle先生与国内著名数据库专,下世纪数据库发展的趋势、数据库领域革命性的突破、IBMDB2的应用、数据仓库的实施、我国数据库技术和应用的现状及趋势、我国数据库用户的需求等问题,进行了广泛而深入的讨论。2.3.2据库系统选择原①数据库系统采用易于集成的,开放的技术。②产品质量优异,可靠性高,适于长期运行,能支持关键应用。③数据安全,保安型高。④能提供分布式数据库功能。⑤支持多种开发环境,软件开发容易。⑥扩充性和升级能力强。2.3.3统开发工的选择本次工资管理系统选用DelphiOracle11g进行开发,现在市场上有很多的开发工具,如:Visualbasic、Delphi、ASP等,数据库开发工具又有很多种,如:Access,SQLSever,Oracle等。与其他开发工具相比,Delphi与Oracle有着自己的特点与优势。⑴简介Delphi,是平台下著名的快速应用程序开发工具(RapidApplicationDevelopment简称RAD它的前身,即是DOS时代盛行一时的“BorlandTurboPascal早的版本由美国Borland(宝兰)公司1995年开发。主创者为AndersHejlsberg。经过数年的发展,此产品也转移至公司旗下。从产品名称上就可以知道TurboPascal用的是Pascal语言从TurboPascal5.5版开始,Borland公司在传统Pascal的基础上加入了面向对象的功能。Delphi是一个集成开发环境IDE用的核心是由传统Pascal语言发展而来的Object,以图形用户界面(,简称)为开发环word档可自由复制编辑
境,透过、VCL具与编译器,配合连结数据库的功能,构成一个以面向对象程序设计为中心的应用程序开发工具Delphi所编译的可运行档虽然容量较大但效能上却比较快除了使用数据库的程序之外需安装即可运行在使用上相当方便。Delphi在本质上应该归类为软件开发工具,而非程序语言,但由于几乎是目前市场上唯一使用Pascal并持续推出新版本的商业产品因此有时人们会把Delphi为Pascal的代名词。Borland公司因而把ObjectPascal改称为2006年,Borland把开发工具产品线独立出来,成立了一家新的公司CodeGear把产品线交由此公司负责的Delphi曾一度因此被命名为TurboDelphi。但是在新的版本中,除了DelphiforWin32(原有的Delphi本)之外,还有一个新产品“DelphiforCodeGear的发展规划中,或许“Delphi”不再是Pascal的专属IDE名,而是将之提升到通用IDE品牌的层次。2008年5月7,EmbarcaderoTechnologies易博龙)公司宣布以2300万美元的价格收购CodeGear公司,从而把Delphi收入囊中。年5月6日,MicroFocus宣布以7500万美元收购Borland。Delphi目前的最新版本是2010。Delphi具有如下特点:①直接编译生成可执行代码,编译速度快。由于Delphi编译器采用了条件编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度更快。在处理速度和存取服务器方面,Delphi的性能远远高于其他同类产品。②支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。③提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。利用项目模板和专家生成器可以很快建立项目的构架,然后根据用户的实际需要逐步完善。④具有可重用性和可扩展性。开发人员不必再对诸如标签、按钮及对话框等Windows的常见部件进行编程。Delphi包含许多可以重复使用的部件,允许用户控制Windows的开发效果。word档可自由复制编辑
⑤具有强大的数据存取功能。它的数据处理工具BDE(BorlandDatabaseEngine)是一个标准的中介软件层,可以用来处理当前流行的数据格式,如xBase可以通过BDE的SQLLink接与Sybase、SQLServer、等大型数据库连接。Delphi既可用于开发系统软件,也适合于应用软件的开发。⑥拥有强大的网络开发能力,够快速的开发B/S应用它内置的IntraWeb和使得对于网络的开发效率超过了其他任何的开发工具。Delphi使用独特的VCL类库,使得编写出的程序显得条理清晰,VCL是现在最优秀的类库,它使得Delphi在软件开发行业处于一个绝对领先的地位。用户可以按自己的需要,任意的构建、扩充、甚至是删减,以满足不同的需要。⑧从Delphi8开始Delphi也支持.Net框架下程序开发。当前DELPHI已经成为一个品牌,不仅仅是一个开发平台或开发语言的名称。当前DELPHI产品已经由CodeGear公司继续发展,该公司是BORLAND公司的全资子公司。当前,CodeGear为广大开发者提供了DELPHIFORPHP,以高度可视化的方式全面支持面向对象的PHP网站开发,大大提高了PHP发网站的代码复用程度,成为WEB应用开发的新利器。⑵Oracle简Oracle的关系数据库是世界第一个支持SQL言的数据库。年,LawrenceJ.Ellison领着一些同事成立了Oracle司,他们的成功强力反击了那些说关系数据库无法成功商业化的说法。现在,Oracle公司的财产净值已经由当初的2000美元增值到了现在的年收入超过97美元。Oracle11g扩展了Oracle独家具有的提供网格计算优势的功能,可以利用它来提高用户服务水平、减少停机时间以及更加有效地利用IT资源,同时还可以增强全天候业务应用程序的性能、可伸缩性和安全性。11g降低了数据库升级以及其他硬件和操作系统更改的成本显著简化了更改前后的系统测试以便您可以识别和解决问题。例如:利用,可以在数据库级别轻松捕获实际的生产负载并在您的测试系统上重新播放这样您可以全面测试系统更改(包括关键的并发特性)的影响。word档可自由复制编辑
Oracle数据库11g继续致力于(从Oracle9i数据库开始一直到Oracle数据库10g)显著简化和完全自动化任务。Oracle数据库中的新功能包括:利用自学功能自动进行优化系统全局区(SGA)程序全局区(PGA)的内存缓存区的自动统一调整新的advisor用于分区数据恢复流性能和空间管理针对自动数据库诊断监视器的增强够提供Oracle真正应用集群环境中的更好的性能全局视图以及改进的性能比较分析功能。Oracle数据库11g中新增的故障诊断功能使客户在发生错误后捕获所需的数据变得极为简单这可以加速问题的解决减少客户重现问题的需要。⑶和Oracle数据库的连方法Oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库,是目前最流行的客户/服务器(体系结构的数据库之一,目前被广泛应用于各类型企业的信息化管理中。数据库支持是Delphi7.0开发环境的一个重要特性,很多程序员在数据库应用程序开发中都采用Delphi7.0为开发工具,来实现对数据库的访问和控制数据库应用程序是通过数据库引擎来访问它们引用的数据源的。本文概括性的介绍在WindowsXP环境中连接数据库的3种方式,它们分别是、ADO、ADO(ActiveXDataObjects)是Microsoft的高级接口,基于Microsoft的数据访问OLEDB技术而实现。本系统采用方式连接数库。word档可自由复制编辑
3需求分3.1求述本系统拟在完成工资管理的同时集成其他必要的功能以保证系统的完整性和安全性。具体包括,员工基本信息管理、部门管理、当前工资及历史工资管理等。现对有关要求描述如下:①整体结构合理,风格一致,模块化结构,界面清晰,接口灵活,操作简便。②开发方法,文档规范化,便于管理,可扩充。③完善的数据输入,维护,输出。④自检性能高,用户误输、错输均有提示。⑤容错性能高某个用户的操作错误不会引起整个系统的瘫痪每一功能的操作都有信息提示以免重复操作,错误操作有警告,以便用户及时改正。3.2行分3.2.1术可行性技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作软硬件配置能否满足开发者需要等,这一特点非常适合计算机的特点,发挥计算机的数据处理速度快,准确率高的优势,现代计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。通过对Delphi和Oracle的系统学习已经基本掌握了开发本系统所需的技术和查阅文献的能力。对工资管理系统这一类的财务系统开发也有一定的认识,因此具备技术可行性。3.2.2间、设备行性12周的时间足够开发一个满足中小型企业简单需求的工资管理系统计算机的软硬件配置能够满足系统开发的要求,具备时间和设备的可行性。word档可自由复制编辑
3.2.3济可行性基于企业的现有计算机及配套设备建设系统。不但能大大减少重复性的书面报告,降低办公费用,提高办公室效率,而且能提高检测数据效用,为企业提供很方便。由于企业工资管理系统是一个比较小型的系统,开发工具也均可免费使用,网络资源丰富,只需较少的花费在技术文献上,开发成本较低,因此,开发本系统具有经济上的可行性。word档可自由复制编辑
4概要设4.1统能构计工资管理系统数据字典维护部门信息管理员工信息管理
工资数据基本数据每月填报
当月报表当月报表当月汇总
历史数据部门月报月汇总表
系统信息功能序号12345678910
每月存档功能名称部门信息管理员工信息管理基本工资数据活动工资数据每月工资存档当月报表当月汇总表历史部门月报历史月汇总表系统信息
图4.1功能模块图表4.1功能说明表功能说明包含对部门信息的增加、删除包含对员工信息的增加、删除查看和修改基本工资信息填报每月活动工资数据每月工资填报完毕后存储数据查看当月各部门工资表,打印工资条查询当月各部门工资汇总信息查询历史年月的部门工资信息查询指定部门制定年月的历史工资汇总信息系统与作者信息等设计角色:财务管理人员word档可自由复制编辑
4.2据设4.2.1据库逻辑构表4.2部门信息表(bm)字段名称Mc
类型VARCHAR2VARCHAR2
宽度
约束
说明部门编号部门名称表4.3职工工资信息表(ry)字段名称BmXmJ1J2J3J4Rq
类型VARCHAR2VARCHAR2VARCHAR2NUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERVARCHAR2NUMBER
宽度(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)
约束
说明部门编号姓名岗位资基本资效益资加班金额夜班金额独子月效资技师补医务补护10%护龄女工卫厂扣应得资房租金水电暖公积金保险日期实发工资word档可自由复制编辑
表4.4历史数据表(sj)字段名称BmXmJ1J2J3J4Rq
类型VARCHAR2VARCHAR2VARCHAR2NUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERVARCHAR2NUMBER
宽度(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)(8,2)
约束
说明部门编号姓名岗位资基本资效益资加班金额夜班金额独子月效资技师补医务补护10%护龄女工卫厂扣应得资房租金水电暖公积金保险日期实发工资word档可自由复制编辑
4.2.2数据库E-R称
号
号
名
门部门
工作
员工领取资资资加班金额独子资补补
工资
夜班金额日期保险金暖金资厂扣
龄
卫图4.2工资管理系统实体关系图word档可自由复制编辑
4.2.3数据库的使用在Oracle中创建用户,如图4.2所示图4.2创建用户在Oracle中建表,如图4.3所示图4.3建表word档可自由复制编辑
5详细设5.1界设由于本系统是针对财务管理人员角色设计开发的,故未进行权限的设定。在主界面显示每个模块的入口,点击即可进入。在状态栏显示系统日期和登录系统时间。系统主界面如图5.1所示:图5.1系统主界面该模块主要代码:Tgzgl_f.FormCreate(Sender:TObject);//据库连接处理begintry连接数据库失败!');word档可自由复制编辑
Tmainf.FormCreate(Sender://态栏系统日期与时间beginStatusbar1.Panels[0].Text:='系统日期:Statusbar1.Panels[1].Text:='系统时间:'+timetostr(time);//选中菜单显示相应的窗体处为部门管理beginIfbmi.CheckedThen//If句做异常处理ELSEbeginbmf.Show;5.2本息理块此模块包括部门和员工的基本信息维护体功能包括门信息的添加和删除,员工信息的添加和删除输入要添加的数据后“添加完成数据添加点“刷新”按钮显示数据。删除数据时程序将连接后台数据库,判断是否存在该记录的工资信息,若不存在则删除成功,若存在,则删除失败。如图,5.3所示图5.2部门信息维护word档可自由复制编辑
部门信息维护核心代码:TObject);beginedit1.Text:=trim(edit1.text);if(length(edit1.Text)=0)begin编号与单位名称不能为空!');withdobeginSql.Add('InsertIntobmSql.Add('Parameters.ParamByName('y0').Value:=bh.Text;TryExecSql;showmessage('务器连接程序退出!');application.Terminate;TObject);beginif如果系存在本据不能删除确删除吗?',mtconfirmation,[mbyes,mbno],0)word档可自由复制编辑
=mrnothenq1.Close;q1.Sql.Clear;q1.Sql.Add('deletefromq1.Sql.Add('wherelike');Try服务器连接error,程序退出!');application.Terminate;q1.Close;TObject);varbeginQ1.Close;Q1.Sql.Clear;Q1.Sql.Add('Selectbh,mcFrom');orderTry服务器连接error,程序退出!application.Terminate;word档可自由复制编辑
ForI:=0sg.RowCountsg.Cells[0,0]:='编号';sg.Cells[1,0]:='名称';ForI:=1sg.RowCountBeginsg.Cells[0,i]:=(Q1.FieldByName('bh').AsString);sg.Cells[1,i]:=(Q1.FieldByName('mc').AsString);Q1.Close;TObject;varAction:TCloseAction);beginmainf.bmi.checked:=false;action:=cafree;varbeginfori:=1to9dofori:=10tobh.Items.Add(inttostr(i));word档可自由复制编辑
员工信息维护:图5.3员工信息维护员工信息维护核心代码:TObject);beginedit1.Text:=trim(edit1.text);if(length(edit1.Text)=0)or(length(bm.Text)=0)begin编号与单位名称不能为空!');withdobeginword档可自由复制编辑
Sql.Add('InsertInto(bm,bh,xm)');Sql.Add('Values(:y0,:y1,:y2)');Parameters.ParamByName('y0').Value:=bm.Text;Parameters.ParamByName('y1').Value:=bh.Text;TryExecSql;服务器连接error,程序退出!');application.Terminate;TObject);beginifmessagedlg('如果统中存在本人资数据能删确要删除吗?',mtconfirmation,[mbyes,mbno],0)=mrnothenbh.text:=trim(bh.text);if(length(bh.text)<2)thenexit;q1.Close;q1.Sql.Clear;q1.Sql.Add('deletefromq1.Sql.Add('wherelikelikeq1.Parameters.ParamByName('bm').Value:=bm.text+'%';Tryword档可自由复制编辑
服务器连接error,程序退出!');application.Terminate;q1.Close;TObject);varbeginQ1.Close;Q1.Sql.Clear;Q1.Sql.Add('Selectry');q1.Sql.Add('wherelike:bm)');orderq1.Parameters.ParamByName('bm').Value:=bm.text+'%';Try服务器连接error,程序退出!application.Terminate;编号
姓名');ForI:=1Q1.RecordCountDoBeginword档可自由复制编辑
Q1.Close;Tryf.bmChange(Sender:TObject);varbeginQ1.Close;Q1.Sql.Clear;Q1.Sql.Add('Selectry');q1.Sql.Add('wherelike:bm)');orderq1.Parameters.ParamByName('bm').Value:=bm.text+'%';Try服务器连接error,程序退出!application.Terminate;编号
姓名');ForI:=1Q1.RecordCountDoBeginListBox1.Items.Add(''+Q1.FieldByName('bh').AsString+''+Q1.FieldByName('xm').AsStrinQ1.Close;word档可自由复制编辑
Tryf.FormClose(Sender:varTCloseAction);beginaction:=cafree;TObject);varbeginryf.Color:=rgb(220,170,140);Q1.Close;Q1.Sql.Clear;Q1.Sql.Add('SelectmcFrom');orderTry服务器连接error,程序退出!application.Terminate;ForI:=1Q1.RecordCountDoBeginbm.Items.Add(Q1.FieldByName('mc').AsString);Q1.Close;fori:=1to9dofori:=10tobh.Items.Add(inttostr(i));word档可自由复制编辑
5.3资据块本模块包括月基本工资数据、月活动工资填报、月数据存档三个子模块,分别用于查看修改月基本工资数据,填报月活动工资数据以及对填报好的所有数据存档。月基本数据界面设计如图5.4所示:图5.4月基本数据核心代码:vari,j,k:integer;beginifmessagedlg('确认更新数据吗',mtconfirmation,[mbyes,mbno],0)=mrnothenifbm.Text=''k:=0;fori:=1tosg.RowCount-1doforj:=1to10begintrysg.Cells[j,i]:=floattostr(strtofloat(sg.Cells[j,i]));word档可自由复制编辑
第'+inttostr(i)+'行第'+inttostr(j)+'列有非法数字);k:=k+1;ifthens:='';fori:=1tosg.RowCount-1dobegins:=sg.Cells[0,i];Q1.Close;Q1.Sql.Clear;updateryset');q1.Sql.Add('wherelike:bm)likeq1.Parameters.ParamByName('z10').Value:=strtofloat(sg.Cells[8,i]);q1.Parameters.ParamByName('z11').Value:=-(strtofloat(sg.Cells[1,i])*0.1618);//q1.ParamByName('z11').Asfloat:=0;q1.Parameters.ParamByName('k3').Value:=strtofloat(sg.Cells[9,i]);q1.Parameters.ParamByName('bh').Value:=copy(s,1,2)+'%';q1.Parameters.ParamByName('kbx').Value:=strtofloat(sg.Cells[10,i]);Try数据库更新重新点击更新”按钮!');word档可自由复制编辑
操作OK!Tjbf.bmExit(Sender:varbeginQ1.Close;Q1.Sql.Clear;Q1.Sql.Add('Selectbh,xm,z1,z4,z5,z6,z7,z8,z9,z10,k3,kbxFromry');q1.Sql.Add('wherelike:bm)');orderTry数据库连接error,程序退出!application.Terminate;sg.ColCount:=11;ForI:=0sg.RowCount-1Dosg.Rows[I].Clear;sg.Cells[0,0]:='编号姓名;岗位资;计生补;月效资;技师补;医务补;sg.Cells[6,0]:='护10%';sg.Cells[7,0]:='教护龄;sg.Cells[8,0]:='女工卫;sg.Cells[9,0]:='公积金;sg.Cells[10,0]:='保险;word档可自由复制编辑
//md.Items.Clear;//md.Items.Add('');ForI:=1Q1.RecordCountDoBegin//md.Items.Add((Q1.FieldByName('bh').AsString)+(Q1.FieldByName('xm').AsString));sg.Cells[0,i]:=Q1.FieldByName('bh').AsString+Q1.FieldByName('xm').AsString;sg.Cells[9,i]:=floattostr(Q1.FieldByName('k3').Asfloat);sg.Cells[10,i]:=floattostr(Q1.FieldByName('kbx').Asfloat);Q1.Close;Tjbf.FormClose(Sender:TObject;Action:TCloseAction);beginaction:=cafree;Tjbf.FormCreate(Sender:varbeginjbf.Color:=rgb(255,255,255);bm.Items.Clear;Q1.Close;Q1.Sql.Clear;Q1.Sql.Add('Selectbh,mcFrom');orderTryword档可自由复制编辑
服务器连接error,程序退出!application.Terminate;ForI:=1Q1.RecordCountDoBeginQ1.Close;每月活动工资填报图5.5每月数据填报该部分核心代码:Tmybhf.BitBtn1Click(Sender:vari,j,k:integer;beginForI:=1sg.RowCountsg.Cells[6,i]:=Label3.caption;word档可自由复制编辑
ifmessagedlg('确认更新数据吗',mtconfirmation,[mbyes,mbno],0)=mrnothenifk:=0;fori:=1tosg.RowCount-1doforj:=2to5dobegintrysg.Cells[j,i]:=floattostr(strtofloat(sg.Cells[j,i]));第'+inttostr(i)+'行第'+inttostr(j)+'列有非法数字);k:=k+1;ifthens:='';fori:=1tosg.RowCount-1dobegins:=sg.Cells[0,i];Q1.Close;Q1.Sql.Clear;updaterysetj1=:j1,j2=:j2,j3=:j3,j4=:j4,');');q1.Sql.Add('wherelike:bm)likeq1.Parameters.ParamByName('j1').Value:=strtofloat(sg.Cells[2,i]);30;q1.Parameters.ParamByName('j3').Value:=strtofloat(sg.Cells[3,i]);q1.Parameters.ParamByName('j4').Value:=strtofloat(sg.Cells[3,i])*0.8;q1.Parameters.ParamByName('k1').Value:=strtofloat(sg.Cells[4,i]);q1.Parameters.ParamByName('k2').Value:=strtofloat(sg.Cells[5,i]);q1.Parameters.ParamByName('rq').Value:=sg.Cells[6,i];word档可自由复制编辑
q1.Parameters.ParamByName('bh').Value:=copy(s,1,2)+'%';Try数据库更新重新点击更新”按钮!');操作OK!TObject);varbeginQ1.Close;Q1.Sql.Clear;Q1.Sql.Add('Selectbh,xm,z1,j1,j3,k1,k2,rqry');q1.Sql.Add('wherelike:bm)');orderTry数据库连接error,程序退出!application.Terminate;ForI:=0sg.RowCount-1Dosg.Rows[I].Clear;sg.Cells[0,0]:='编号姓名;sg.Cells[1,0]:='岗位资;sg.Cells[2,0]:='加班;sg.Cells[3,0]:='夜班;sg.Cells[4,0]:='房租;sg.Cells[5,0]:='水电暖;sg.Cells[6,0]:='日期;word档可自由复制编辑
ForI:=1Q1.RecordCountDoBeginsg.Cells[0,i]:=Q1.FieldByName('bh').AsString+Q1.FieldByName('xm').AsString;sg.Cells[2,i]:=floattostr(Q1.FieldByName('j1').Asfloat);sg.Cells[3,i]:=floattostr(Q1.FieldByName('j3').Asfloat);sg.Cells[4,i]:=floattostr(Q1.FieldByName('k1').Asfloat);sg.Cells[5,i]:=floattostr(Q1.FieldByName('k2').Asfloat);sg.Cells[6,i]:=Q1.FieldByName('rq').Asstring;Q1.Close;Tmybhf.FormClose(Sender:TObject;varTCloseAction);beginmainf.ytbi.checked:=false;action:=cafree;Tmybhf.FormCreate(Sender:TObject);varYear,Month,Day:word;beginmybhf.Color:=rgb(220,170,140);bm.Items.Clear;Q1.Close;Q1.Sql.Clear;Q1.Sql.Add('Selectbh,mcFrom');orderTry服务器连接error,程序退出!application.Terminate;word档可自由复制编辑
ForI:=1Q1.RecordCountDoBeginQ1.Close;数据存档界面与代码:图5.6数据存档该部分核心代码:Tbcf.SpeedButton1Click(Sender:TObject);vari,x,y:integer;beginq3.Close;q3.Sql.Clear;q3.Sql.Add('deletefromsj');q3.Sql.Add('wherelikeq3.Parameters.ParamByName('rq').Value:=Label1.Caption+'%';Try存档失败程序退出!word档可自由复制编辑
Q1.Close;Q1.Sql.Clear;Q1.Sql.Add('Selectry');Try本单位共'+inttostr(x)+'人Q1.Close;
');Q1.Sql.Clear;Q1.Sql.Add('Selectry');where(rqlike:y1)');Q1.Parameters.ParamByName('y1').Value:=Label1.Caption+'%';Try当前月数据共'+inttostr(y)+'条');ifx<>ybegin当月数据未填报完毕,许存档!');q1.Close;Q1.Sql.Clear;Q1.Sql.Add('Select*Fromry');Try操作失败,请重来!');word档可自由复制编辑
forI:=1toQ1.RecordCountdoBEGINQ2.Sql.Add('InsertInto(bm,bh,xm,z1,z2,z3,z4,z5,z6,z7,z8,z9,z10,z11,z12,z13,j1,j2,j3,j4,k1,k2,k3,rq,kbx)');q2.Sql.Add('Values(:y0,:y1,:y2,:y3,:y4,:y5,:y6,:y7,:y8,:y9,:y10,:y11,:y12,:y13,:y14,:y15,:y16,:y17,:y18,');Q2.Parameters.ParamByName('y1').Value:=Q1.FieldByName('bh').AsString;Q2.Parameters.ParamByName('y2').Value:=Q1.FieldByName('xm').AsString;Q2.Parameters.ParamByName('y3').Value:=Q1.FieldByName('z1').AsFloat;Q2.Parameters.ParamByName('y4').Value:=Q1.FieldByName('z2').AsFloat;Q2.Parameters.ParamByName('y5').Value:=Q1.FieldByName('z3').AsFloat;Q2.Parameters.ParamByName('y6').Value:=Q1.FieldByName('z4').AsFloat;Q2.Parameters.ParamByName('y7').Value:=Q1.FieldByName('z5').AsFloat;Q2.Parameters.ParamByName('y8').Value:=Q1.FieldByName('z6').AsFloat;Q2.Parameters.ParamByName('y9').Value:=Q1.FieldByName('z7').AsFloat;Q2.Parameters.ParamByName('y20').Value:=Q1.FieldByName('k1').AsFloat;Q2.Parameters.ParamByName('y21').Value:=Q1.FieldByName('k2').AsFloat;Q2.Parameters.ParamByName('y22').Value:=Q1.FieldByName('k3').AsFloat;Q2.Parameters.ParamByName('y24').Value:=Q1.FieldByName('kbx').AsFloat;Tryq3.Close;q3.Sql.Clear;word档可自由复制编辑
q3.Sql.Add('deletefromsj');q3.Sql.Add('wherelikeq3.Parameters.ParamByName('rq').Value:=Label1.Caption+'%';Try存档失败,程序退出!');存档失败,程序退出!');END;当月数据存档OK!5.4月表块本模块包含当月报表与当月汇总表两个子功能模块当月报表用于打印某一个部门的工资表或工资条,月汇总表可以查看一个或几个部门的月工资汇总信息。界面设计如图5.7,图5.8所示。图5.7当月报表word档可自由复制编辑
图5.8月汇总表核心代码:Thzbf.Button1Click(Sender:TObject);vari,j:integer;beginyf:=strtofloat(bb.EntryRC[i,3])+strtofloat(bb.EntryRC[i,7])+strtofloat(bb.EntryRC[i,9]);yf:=yf+strtofloat(bb.EntryRC[i,10])+strtofloat(bb.EntryRC[i,11])+strtofloat(bb.EntryRC[i,12]);yf:=yf+strtofloat(bb.EntryRC[i,13])+strtofloat(bb.EntryRC[i,14])+strtofloat(bb.EntryRC[i,15]);//bb.EntryRC[i,18]:=Floattostr(yf);sf:=yf-(strtofloat(bb.EntryRC[i,19])+strtofloat(bb.EntryRC[i,20])+strtofloat(bb.EntryRC[i,21]));sf:=sf-strtofloat(bb.EntryRC[i,22]);bb.EntryRC[i,7]:=FormatFloat('0.00',strtofloat(bb.EntryRC[i,7]));forj:=3to23word档可自由复制编辑
beginyf:=0;fori:=1toyf:=yf+strtofloat(bb.EntryRC[i,j]);bb.EntryRC[bb.MaxRow,j]:=floattostr(yf);Tybf.R1Click(Sender://中工资表beginifbeginbb.Visible:=true;forI:=0tott.ColCount-dott.RowCount:=(bb.RowCount-2)*2;tt.ColCount:=23;k:=0;fori:=1tobeginforj:=0todobegintt.Cells[j,k+1]:=bb.Cells[j,i];k:=k+2;5.5史据块本模块包含历史月报表与历史汇总表两个子功能模块用于查询一个多多个部门的历史工资汇总。如图5.9,图5.10所示。word档可自由复制编辑
图5.9历史月报表图5.10历史汇总表核心代码:Tlshzf.Button2Click(Sender:TObject);vari,j,h:integer;word档可自由复制编辑
begintryExcelApp:=CreateOleObject('Excel.Application');MyWorkBook:=CreateOleobject('Excel.Sheet');onraise无法运行请确认已安装!')//加一个工作表MyworkBook:=ExcelApp.workBooks.Add;//元格合并Myworkbook.worksheets[1].range['A1:W1'].Merge(True);//元格居中Myworkbook.worksheets[1].range['A1:J2'].HorizontalAlignment:=$FFFFEFF4;//表头MyWorkBook.WorkSheets[1].Cells[1,1].Value:=Label3.Caption;//头i:=2;forj:=0tobb.ColCountdoalueforh:=1bb.RowCountdoforj:=0tobb.ColCountdoifthenMyWorkBook.WorkSheets[1].Cells[h+2,j+1].Value:=bb.Cells[j,h];//置列宽:=4;:=4;:=5;//体颜色Myworkbook.worksheets[1].Range['A1:w2'].Font.Color:=clBlue;//体:='楷体;//'隶书';//号Myworkbook.worksheets[1].Range['A1:J1'].Font.Size:=18;//置数据行字体,大小word档可自由复制编辑
:='仿宋';Myworkbook.worksheets[1].Range[s].Font.Size:=12;fori:=0todoifbeginbb.Cells[1,j]:=copy(bm.Items[i],3,20);bb.Cells[1,bb.RowCount-1]:='合计';fori:=1tobeginQ1.Close;Q1.Sql.Clear;Q1.Sql.Add('SelectQ1.Sql.Add('sum(k1),sum(k2),sum(k3),sum(kbx),sum(z13)');ry');where(bmlike:y1)andlike:y2)');Q1.Parameters.ParamByName('y1').Value:=bb.Cells[1,i]+'%';Q1.Parameters.ParamByName('y2').Value:=nd.Text+'-'+trim(yff.text)+'%';Tryforj:=0to20bb.Cells[j+2,i]:=floattostr(q1.fields[j].asfloat);fori:=1tobeginyf:=strtofloat(bb.Cells[2,i])+strtofloat(bb.Cells[3,i])+strtofloat(bb.Cells[4,i]);yf:=yf+strtofloat(bb.Cells[6,i])+strtofloat(bb.Cells[8,i])+strtofloat(bb.Cells[9,i]);yf:=yf+strtofloat(bb.Cells[10,i])+strtofloat(bb.Cells[11,i])+strtofloat(bb.Cells[12,i]);yf:=yf+strtofloat(bb.Cells[13,i])+strtofloat(bb.Cells[14,i])+strtofloat(bb.Cells[15,i]);word档可自由复制编辑
yf:=yf+strtofloat(bb.Cells[16,i]);//bb.EntryRC[i,18]:=Floattostr(yf);bb.Cells[17,i]:=FormatFloat('0.00',yf);sf:=sf-strtofloat(bb.Cells[21,i]);bb.Cells[22,i]:=FormatFloat('0.00',sf);bb.Cells[6,i]:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 20年后的校园课件
- 三年级音乐采山课件
- 荒坡承包合同
- 《工程造价专业课程》课件
- 部门自查自纠报告范文
- 《团队协作与执行力》课件
- 执行和解协议的完善及民诉法2条的修改
- 2024年度科学研究与技术服务合同2篇
- 文了解居间合同般收费标准
- an en in un 课件教学课件
- 网约车服务管理手册
- 2024年创意产业联盟协议
- 国开2024年秋《大数据技术概论》形考作业1-4答案
- 旅游景区旅游安全风险评估报告
- 2024年银行考试-建设银行纪检监察条线考试近5年真题集锦(频考类试题)带答案
- 2023风电机组齿轮箱润滑油换油
- 【人教版】《劳动教育》五上 劳动项目三《制作扇子》 课件
- 护理人员危急值处理制度
- 2024-2025学年五年级上册数学人教版期末考试试题
- 【核心素养目标】人教版生物八年级上册 5.4.2 细菌 教学设计
- 2024年事业单位招聘考试公共基础知识题库及答案
评论
0/150
提交评论