模块开发卷宗.docx

上传人:b****7 文档编号:10014478 上传时间:2023-02-07 格式:DOCX 页数:21 大小:176.49KB
下载 相关 举报
模块开发卷宗.docx_第1页
第1页 / 共21页
模块开发卷宗.docx_第2页
第2页 / 共21页
模块开发卷宗.docx_第3页
第3页 / 共21页
模块开发卷宗.docx_第4页
第4页 / 共21页
模块开发卷宗.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

模块开发卷宗.docx

《模块开发卷宗.docx》由会员分享,可在线阅读,更多相关《模块开发卷宗.docx(21页珍藏版)》请在冰豆网上搜索。

模块开发卷宗.docx

模块开发卷宗

模块开发卷宗

1标题

软件系统名称:

学校内部员工工资管理系统。

模块名称:

用户管理模块、员工信息管理模、工资管理模块、数据统计模块和数据维护模块等。

程序编制员签名:

陈伟,黄建才

修改完成日期:

2007年12月30日

卷宗序号:

1

编排日期:

2007年12月30日

2模块开发情况表

1.建立程序系统结构

3功能说明

员工信息管理模块:

员工基本信息模块具有员工信息输入、员工增删、员工信息查询三个功能,员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。

员工增删实现了对数据库中员工信息的增加和删除。

员工可以通过员工号或员工姓名对员工信息进行查询。

用户管理模块:

实现对不同用户管理级别的分类,以及不同级别用户对系统拥有不同权限而对系统进行操作。

工资信息管理模块:

实现工资表的生成、个人工资查询、工资修改、工资结算、工资统计以及工资表打印等功能。

其中按月生成工资表,保存在数据库中。

数据统计模块:

用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。

用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打预览。

系统维护模块:

系统维护模块包括数据库的恢复与备份,部门信息的维护三个功能,部门信息维护模块主要是进行部门的添加和修改。

另外,在本高校工资管理系统中,还包括帮助文件的制作,要求有较为完善的帮助文件,使用说明供用户参考。

4设计说明

用户管理模块:

a.制定用户的管理级别,管理级别分为管理员和教职员工两类。

b.他们的操作权限不同,管理员是财务部门人员,可以对系统进行一切操作,而教职员工只能进行查询和打印。

c.另外在这个模块中也应该包含添加用户、修改用户信息、修改口令等。

员工信息管理模块

员工基本信息模块具有员工信息输入、员工增删、员工信息查询三个功能,员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。

员工增删实现了对数据库中员工信息的增加和删除。

员工可以通过员工号或员工姓名对员工信息进行查询。

工资管理模块

根据该公司的工资管理实际情况,本系统将工资结构分为基本工资、浮动工资、工资发放三部分。

该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。

数据统计模块

用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。

用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打预览。

系统维护模块

系统维护模块包括数据库的恢复与备份,部门信息的维护三个功能,部门信息维护模块主要是进行部门的添加和修改,

其它功能模块

主要有管理员的添加、修改以及登录信息浏览,调用系统的记事本和计算器等工具。

5原代码清单

登录到该工资管理系统需要验证管理员和普通员工的身份,

界面如下图所示:

实现该功能的代码是:

if(length(trim(user.Text))>0)or(length(trim(pwd.Text))>0)then

begin

if(RadioGroup1.ItemIndex=0)then

begin

sql:

='selectadminname,pwdfromadmin

whereadminname='+''''+user.Text+''''+'andpwd='+''''+pwd.Text+'''';

adoquery_login.Close;

adoquery_login.SQL.Clear;

adoquery_login.SQL.Add(sql);

adoquery_login.SQL.Add(sql);

adoquery_login.Open;

ifadoquery_login.RecordCount>0then

begin

ADOQuery_Login.Close;

ADOQuery_Login.SQL.Clear;

ADOQuery_Login.SQL.Add('insertintoLogindetailvalues('''+user.Text+''','''+'管理员'+''','''+datetimetostr(NOW)+''')');

ADOQuery_Login.ExecSQL;

frmmain.Show;

frmmain.StatusBar1.Panels[1].Text:

='管理员:

'+user.Text;

loginform.hide;

end

else

begin

application.MessageBox('您输入的用户名或密码错误!

','错误提示',mb_ok);

user.SetFocus;

end;

end;

if(RadioGroup1.ItemIndex=1)then

 

begin

sql:

='selectemployeenamefromemployeeswhereemployeename='+''''+user.text+'''';

adoquery_login.Close;

adoquery_login.SQL.Clear;

adoquery_login.SQL.Add(sql);

adoquery_login.SQL.Add(sql);

adoquery_login.Open;

ifadoquery_login.RecordCount>0then

begin

ADOQuery_Login.Close;

ADOQuery_Login.SQL.Clear;

ADOQuery_Login.SQL.Add('insertintoLogindetailvalues('''+user.Text+''','''+'普通员工'+''','''+datetimetostr(NOW)+''')');

ADOQuery_Login.ExecSQL;

gzfind.Show;;

loginform.hide;

end

else

begin

application.MessageBox('对不起!

该用户不存在!

','错误提示!

',mb_ok);

user.SetFocus;

end;

员工信息管理

员工信息的输入界面如下图所示:

员工信息的输入实现代码是:

if(edit_id.Text='')or(edit_name.Text='')or(combobox_sex.Text='')or(edit_depname.Text='')then

begin

Messagebox(handle,'请输入有效的信息!

','错误提示信息',MB_OK);

exit;

end;

if(edit_id.gettextlen)>8then

begin

Messagebox(handle,'你输入的员工编号不能大于8位!

','错误提示信息',MB_OK);

exit;

end

else

begin

adoquery.Close;

adoquery.SQL.Clear;

adoquery.SQL.Add('select*fromemployeeswhereemployeeID=:

ygID');

adoquery.Parameters.ParamByName('ygID').Value:

=strtoint(trim(edit_id.Text));

adoquery.Open;

ifnotadoquery.IsEmptythen

begin

Messagebox(handle,'该编号已经存在!

','错误提示信息',MB_OK);

adoquery.Close;

adoquery.Free;

exit;

end;

try

str:

='insertintoemployees(employeeID,employeename,sex,level,departname,hiresdate,bank,bankID,note)';

str:

=str+'Values(:

ygID,:

name,:

sex,:

level,:

departname,:

hiresdate,:

bank,:

bankID,:

note)';

withadoquerydo

begin

close;

sql.Clear;

sql.Add(str);

parameters.ParamByName('ygID').Value:

=strtoint(trim(edit_id.Text));

parameters.ParamByName('name').Value:

=trim(edit_name.Text);

parameters.ParamByName('sex').Value:

=trim(combobox_sex.Text);

parameters.ParamByName('level').Value:

=trim(combobox_wenhua.Text);

parameters.ParamByName('departname').Value:

=trim(edit_depname.Text);

parameters.ParamByName('hiresdate').Value:

=trim(datetostr(datetimepicker1.Date));

parameters.ParamByName('bank').Value:

=trim(combobox_bank.Text);

parameters.ParamByName('bankID').Value:

=trim(edit_banknum.Text);

parameters.ParamByName('note').Value:

=trim(memo_detail.Text);

ExecSQL;

end;

showmessage('添加成功!

');

btclear.Click;

except

showmessage('添加失败!

请检查数据正确与否?

');

end;

end;

end;

procedureTYGForm.BitBtn5Click(Sender:

TObject);

begin

ifnotadotable.IsEmptythen

adotable.First

else

showmessage('没有员工信息记录,请确定员工信息!

');

end;

员工信息的查询界面如下图:

员工信息的查询实现代码:

var

searchfield:

String;

str:

String;

begin

caseRadioGroup1.ItemIndexof

0:

searchfield:

='employeeID';

1:

searchfield:

='employeename';

2:

searchfield:

='level';

3:

searchfield:

='departname';

4:

searchfield:

='hiresdate';

5:

searchfield:

='bank';

end;

ifcontent.Text=''then

begin

if(messagedlg('您输入的查询内容不能为空!

是否要重输?

',mtinformation,[mbyes,mbno],0)<>mryes)then

close;

end

else

begin

adoquery1.Close;

adoquery1.SQL.Clear;

ifsearchfield='employeeID'then

str:

='select*fromemployeeswhere'+searchfield+'='+trim(content.Text)

else

str:

='select*fromemployeeswhere'+searchfield+'='''+trim(content.Text)+'''';

adoquery1.SQL.Add(str);

adoquery1.Active:

=true;

ifadoquery1.RecordCount=0then

begin

messagebeep

(1);

showmessage('没有找到符合条件的记录,请确定查询条件或放弃查询!

');

ifmessagedlg('是否继续查询?

只有结束查询才能进行其它操作!

',mtinformation,[mbyes,mbno],0)=mrnothen

abort;

end

else

begin

adotable.Recordset:

=adoquery1.Recordset;

{adotable.Filtered:

=false;

adotable.Filter:

=searchfield+'='''+content.Text+'''';

adotable.Filtered:

=true;

adotable.Active:

=true;}

showmessage('共找到了'+inttostr(adoquery1.recordcount)+'条记录!

');

content.Text:

='';

end;

把员工信息查询的结果导到Excel中去,实现代码是:

var

iCount,jCount:

Integer;

XLApp:

Variant;

Sheet:

Variant;

begin

screen.Cursor:

=crHourGlass;

ifnotVarIsEmpty(XLApp)then

begin

XLApp.DisplayAlerts:

=False;

XLApp.Quit;

VarClear(XLApp);

end;

try

XLApp:

=CreateOleObject('Excel.Application');

except

screen.Cursor:

=crDefault;

Exit;

end;

XLApp.workbooks.add;

XLApp.sheetsInNewWorkbook:

=1;

XLApp.workbooks[1].worksheets[1].name:

=DBGrid2.Name;

sheet:

=XLApp.workbooks[1].worksheets[DBGrid2.Name];

sheet.columns.autofit;

ifnotdbgrid2.DataSource.DataSet.Activethen

begin

screen.Cursor:

=crDefault;

exit;

end;

dbgrid2.DataSource.DataSet.First;

foriCount:

=0todbgrid2.Columns.Count-1do

sheet.cells[1,iCount+1]:

=dbgrid2.Columns.Items[iCount].Title.caption;

jCount:

=1;

whilenotdbgrid2.DataSource.DataSet.Eofdo

begin

foriCount:

=0todbgrid2.Columns.Count-1do

sheet.cells[jCount+1,iCount+1]:

=adoquery1.Fields[icount].AsString;

inc(jCount);

dbgrid2.DataSource.DataSet.Next;

end;

XlApp.visible:

=true;

screen.Cursor:

=crDefault;

end;

工资发放管理界面如下图:

工资发放管理工资保存代码实现如下:

withtasavedo

begin

open;

edit;

append;

iftrim(combobox1.Text)=''then

begin

Application.MessageBox('员工编号不能为空','提示',0+64);

combobox1.SetFocus;

exit;

end;

iftrim(editygname.Text)=''then

begin

Application.MessageBox('员工姓名不能为空','提示',0+64);

editygname.SetFocus;

exit;

end;

iftrim(editjiben.Text)=''then

begin

Application.MessageBox('基本工资不能为空','提示',0+64);

editjiben.SetFocus;

exit;

end;

iftrim(editzhiwu.Text)=''then

begin

Application.MessageBox('职务不能为空','提示',0+64);

editzhiwu.SetFocus;

exit;

end;

iftrim(editgongling.Text)=''then

begin

Application.MessageBox('工龄工资不能为空','提示',0+64);

editgongling.SetFocus;

exit;

end;

iftrim(edityanglao.Text)=''then

begin

Application.MessageBox('养老保险不能为空','提示',0+64);

edityanglao.SetFocus;

exit;

end;

iftrim(editjiangjin.Text)=''then

begin

Application.MessageBox('其他奖金不能为空','提示',0+64);

editjiangjin.SetFocus;

exit;

end;

iftrim(editzhufang.Text)=''then

begin

Application.MessageBox('住房补助不能为空','提示',0+64);

editzhufang.SetFocus;

exit;

end;

iftrim(editbaoxian.Text)=''then

begin

Application.MessageBox('保险费不能为空','提示',0+64);

editbaoxian.SetFocus;

exit;

end;

iftrim(editshenghuo.Text)=''then

begin

Application.MessageBox('生活补助不能为空','提示',0+64);

editshenghuo.SetFocus;

exit;

end;

ifApplication.MessageBox('确定添加记录?

','提示',mb_YesNo)=ID_Yes

then

begin

tasave.FieldByName('employeeID').AsString:

=trim(combobox1.Text);

tasave.FieldByName('employeename').AsString:

=trim(editygname.Text);

tasave.FieldByName('basicwages').AsString:

=trim(editjiben.Text);

tasave.FieldByName('dutywages').AsString:

=trim(editzhiwu.Text);

tasave.FieldByName('agewages').AsString:

=trim(editgongling.Text);

tasave.FieldByName('oldage-insurance').AsString:

=trim(edityanglao.Text);

tasave.FieldByName('others').AsString:

=trim(editjiangjin.Text);

tasave.FieldByName('housing-subsidy').AsString:

=trim(editzhufang.Text);

tasave.FieldByName('insurance').AsString:

=trim(editbaoxian.Text);

tasave.FieldByName('life-subsidy').AsString:

=trim(editshenghuo.Text);

tasave.FieldByName('worktimes').AsString:

=trim(editjiaban.Text);

tasave.FieldByName('workwages').AsString:

=trim(editday.Text);

tasave.FieldByName('asktimes').AsString:

=trim(editshijia.Text);

tasave.FieldByName('workwages2').AsString:

=trim(editday2.Text);

tasave.FieldByName('personal-incom').AsString:

=trim(editshuilv.Text);

tasave.FieldByName('totals').AsString:

=trim(editzong.Text);

tasave.FieldByName('pays').AsString:

=trim(editshifa.Text);

tasave.FieldByName('paydate').AsString:

=datetostr(datetimepicker1.date);

tasave.Post;

showmessage('保存数据成功!

');

end;

员工信息统计界面:

员工信息统计实现代码:

ifradiogroup2.ItemIndex=0then

begin

adodataset2.Active:

=false;

adodataset2.CommandText:

='selectdepartnameas"部门",count(*)as"人数"fromemployeesgroupbydepartname';

adodataset2.Active:

=true;

adodataset2.Open;

end;

ifradiogroup2.ItemIndex=1then

begin

adodataset2.Active:

=false;

adodataset2.CommandText:

='selectsexas"性别",count(*)as"人数"fromemployeesgroupbysex';

adodataset2.Active:

=true;

adodataset2.Open;

end;

ifradiogroup2.Item

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1