如果员工申请的是已经被人申请过的住房时,系统就会弹出“这个住房已经有人住”的提示框。
当员工申请到无人住房时,系统就会弹出“购房成功”的提示框。并会在列表中刷新该员工的信息,在该员工的资料中自动添加购房需要付的款项跟申请的住房编号。在Delphi中,已经使用程序语言将住房的基本价格跟按照进入公司时间的长短给予相应的优惠政策编译完成。系统会自动完成这一过程。
住房分配查如图4-6所示:
图4-6 住房分配窗口
该功能模块为本系统的技术核心,首先使用if语句判断需要填入数据的edit 1与edit 2值是否为空,使用sqlstr语句根据填入edit 2中的数据进入数据库中的zfb查找相对应的zfh得到住房基本信息是否有人居住;如果没有人住,使用sqlstr语句根据填入edit 1中的数据进入数据库中的ygxxb查找相对应ygh得到申请购买住房的员工基本信息、是否已经购买过住房。
如果没有住房,再次返回ygxxb得到员工在系统注册的日期,“AsDateTime)/365”根据员工的注册日期判断该员工的工龄;如果工龄小于五年,查询zfb得到住房的面积,“2500*datamodule3”面积*2500元每平方米=购房款;更新房屋信息表中这个房屋的信息,已经住人;把这个员工申请这个房子要支付的房款写入员工信息表中对应的数据项;返回员工表里面的信息,显示在列表中。
如果工龄小于10年大于等于5年,查询zfb得到住房的面积,“2000*datamodule3”面积*2000元每平方米=购房款;更新房屋信息表中这个房屋的信息,已经住人;把这个员工申请这个房子要支付的房款写入员工信息表中对应的数据项;返回员工表里面的信息,显示在列表中。
如果工龄大于10年,查询zfb得到住房的面积,“1500*datamodule3”面积*1500元每平方米=购房款;更新房屋信息表中这个房屋的信息,已经住人;把这个员工申请这个房子要支付的房款写入员工信息表中对应的数据项;返回员工表里面的信息,显示在列表中。
如果该住房已有人居住,则弹出messagebox提示“这个住房已经有人住”。
如果该员工已购买住房,则弹出messagebox提示“该员工已经购买住房”。
代码具体如下:
begin
datamodule3.ADOQuery8.Close;
datamodule3.adoquery8.sql.clear;
sqlstr:='select * from ygxxb where ygh='''+edit1.Text+'''';
datamodule3.ADOQuery8.sql.add(sqlstr);
datamodule3.adoquery8.open;
y:=((date-datamodule3.ADOQuery8.Fields[5].AsDateTime)/365);
if y<5 then
begin
datamodule3.ADOQuery8.Close;
datamodule3.adoquery8.sql.clear;
sqlstr:='select mm from zfb where zfh='''+edit2.Text+'''';
datamodule3.ADOQuery8.sql.add(sqlstr);
datamodule3.adoquery8.open;
sum:=2500*datamodule3.ADOQuery8.Fields[0].AsInteger;
messagebox(handle,'购房成功!','提示',MB_OK+MB_ICONINFORMATION);
sqlstr:='update zfb set sfzr=1 where zfh='''+edit2.Text+'''';
datamodule3.ADOQuery7.Close;
datamodule3.ADOQuery7.SQL.Clear;
datamodule3.ADOQuery7.SQL.Add(sqlstr);
转贴于 酷文网-论文下载中心 http://www.coolwen.net
共10页: 上一页 [1] [2] [3] [4] [5] [6] 7 [8] [9] [10] 下一页
网摘收藏: