当前位置:首页 > 人力资源管理系统毕业论文
第九节 报表管理窗体模块的实现
一、界面设计
按条件预览和打印员工工资报表。
图4.13 工资查询打印
二、设计思想与技术要点
考虑到工资管理是企业人事管理中最重要的部分,故设计报表模块完成工资打印。使用DBGrid显示工资明细表,并使之可以按条件显示,具体是按员工编号、员工姓名和部门显示。用TRvSystem生成打印预览,如果与打印机相连即可完成打印。
关键代码: begin
Close;
SQL.Clear;
SQL.Add('select * from 工资发放明细表 where Year(时间)= :a and Month(时间) = :b');//与考勤日期同步
Parameters.ParamByName('a').Value := Year; Parameters.ParamByName('b').Value := Month; if Combobox1.Text = '员工编号' then begin
SQL.Add('and 员工编号 =:pBH');
Parameters.ParamByName('pBH').Value := Combobox2.Text; end
else if Combobox1.Text = '员工姓名' then begin
SQL.Add('and 员工姓名 =:pBH');
Parameters.ParamByName('pBH').Value := Combobox2.Text; end
else if Combobox1.Text = '部门名称' then begin
- 29 -
SQL.Add('and 员工编号 in (select 员工编号 from 员工基础信息表 where 部门名称='''+Combobox2.Text+''')');//员工基本表和部门表之间的连接查询
//Parameters.ParamByName('pMC').Value := Trim(Combobox2.Text); end; Open; end;
if Data3.ADOQuery2.RecordCount>0 then begin
DataSource1.DataSet := Data3.ADOQuery2; SpeedButton2.Enabled := True; end else begin
DataSource1.DataSet := Nil; SpeedButton2.Enabled := False; end;
end //分组打印代码 begin
inherited;
with Sender as TBaseRePort do begin
SetFont('宋体',16);
TBaseRePort(Sender).Canvas.Font.Color := clRed; Bold := True;
UnderLine := True; Ypos := 0.6;
PrintCenter('工资条',PageHeight/2); SetFont('宋体',10);
TBaseRePort(Sender).Canvas.Font.Color := clBlue; YPos := 0.9;
PrintLeft('操作员:',0.4); PrintLeft(czymc,0.9);
PrintLeft('时间:',PageHeight - 2);
PrintLeft(FormatDateTime('yyyy-mm-dd',Now()),PageHeight - 1.4); Ypos := 1.2;
Data3.ADOQuery2.First;
While Not Data3.ADOQuery2.Eof do
- 30 -
第十节 图表显示窗体模块的实现
一、界面设计
图表显示可以直观的看出员工在不同领域内的分布情况。
图4.14 人员统计图表
- 31 -
二、设计思想与技术要点
使用系统自带的TDBChat可以很轻松的完成数据统计,只要把人员基本信息表与其关联即可。该模块具体分为部门员工对比图、性别对比图、职称对比图、文化程度对比图、婚姻状况对比图和级别对比图。通过它可以了解到企业人员的基本分布。 通过这些直观性的饼图能清晰的反映出企业人员配置,可以为企业的策划和人员调动提供数据支持。也可以为企业的后备人才需求培养提供决策分析数据。这些数据在员工保险,退休管理等方面也有一定的作用。
关键代码:
DBChart1: TDBChart;
DataSource1: TDataSource; ADOQuery1: TADOQuery; Series1: TPieSeries; //其中自动生成代码略。
- 32 -
共分享92篇相关文档