酒店客房餐饮管理系统实现Word下载.docx
- 文档编号:21327361
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:17
- 大小:505.33KB
酒店客房餐饮管理系统实现Word下载.docx
《酒店客房餐饮管理系统实现Word下载.docx》由会员分享,可在线阅读,更多相关《酒店客房餐饮管理系统实现Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
Close;
end;
end;
接下来这个函数也是返回最大值,但是其为一个订单的最大编号为字符型。
functionTDM_main.GetMaxOrderId:
id:
String;
count:
Integer;
withQ_count_orderdo
=Fields[0].Value;
000'
+IntToStr(count);
=Copy(id,length(id)-3,4);
F'
+FormatDateTime('
yymmdd'
now)+id;
=id;
系统登陆函数:
在进行系统的操作处理时,必须登陆。
该函数对用户输入的用户名和密码数据库验证。
其密码是进行加密的(加密模块稍后分析)
functionTDM_main.Login(user,passwd:
String):
Flag:
Boolean;
ifDatabase.Connected=falsethen
Database.Connected:
=True;
passwd:
=Copy(passwd+passwd,1,10);
//加密处理
=Encrypt(passwd,111);
withQ_logindo
Params.ParamValues['
ID'
]:
=user;
PASSWD'
=passwd;
//在用户请中查询该用户和密码是否存在
=(notIsEmpty);
ifFlagthen
Login:
=FieldValues['
NAME'
];
IsPass:
=Flag;
end
else
'
Application.MessageBox('
请重新输入!
'
登录失败'
MB_OK);
系统登出:
procedureTDM_main.Logout;
=False;
//断开数据库的连接
2.加密模块:
crypt.pas。
简单的加密算法。
const
C1=52845;
C2=22719;
functionEncrypt(S:
String;
Key:
Word):
//S:
加密的字符串;
Key:
密钥
I:
Integer;
j:
Result:
=S;
forI:
=1toLength(S)do
Result[I]:
=char(byte(S[I])xor(Keyshr8));
Key:
=(byte(Result[I])+Key)*C1+C2;
s:
=Result;
fori:
=1tolength(s)do
=Integer(s[i]);
=Result+Char(65+(jdiv26))+Char(65+(jmod26));
3.主模块
系统的主界面,包括系统登陆。
在没有进行登陆之前4个功能按钮为灰色。
第一个按钮为客房管理,其次是餐饮管理,再次是客户查询,最后是收费管理。
4.客房管理模块
客房管理包括客房预定,入住,调整。
其界面如下:
操作介绍:
预定:
首先在证件编号文体框中输入相关的证件编号,按回车键,显示如下窗口:
输入完整后单击添加则返回上一个界面,相关的数据将自动填写。
然后在右边选择相应的客房等级。
在网格中将显示该等级的所有空闲房号。
选择一个房间,再点击“新建”按钮,然后点击“添加”。
客房预定完毕。
入住:
在证件编号文体框中输入相关的证件编号,按回车键。
如果该客户已经预定则自动显示信息,否则将弹出上面的窗口要求输入信息。
5.餐饮管理
包括选菜、点菜、打单:
下面是其相代码说明:
procedureTF_foodorder.btnOkClick(Sender:
TObject);
total:
single;
ifsid='
then
B_neworderClick(nil);
//订单明细
=DM_main.GetMaxId('
order_detail'
'
id'
);
withQ_foodetaildo
Append;
Fields[0].AsInteger:
Fields[1].AsString:
=sid;
Fields[2].AsString:
=dbtext1.Caption;
Fields[3].AsString:
=edtNum.Text;
Fields[4].AsString:
=dbtext4.Caption;
Post;
DisableControls;
EnableControls;
//更新总订单的总金额
withDM_main.T_foodorderdo
Edit;
=DM_main.GetSumPrice(sid);
Fields[3].AsFloat:
=total;
//撤销选择的一项菜目
procedureTF_foodorder.btnCancelClick(Sender:
Single;
ifIsEmptythen
Exit;
ifnotActivethen
ParamByName('
sid'
).Value:
Delete;
ifnotActivethenOpen;
Locate('
sid,[]);
procedureTF_foodorder.B_neworderClick(Sender:
//新建总订单
sid:
=DM_main.GetMaxOrderId;
Fields[0].AsString:
=DateTimeToStr(Now);
=Trim(edtName.Text);
Prepare;
打单:
票据示例如下。
二.后台管理
设置前台操作员的密码:
procedureTDM_main.SetOperatorPassword(password:
String);
password:
=Copy(password+password,1,10);
=Encrypt(password,111);
//加密单元
withT_operatordo
FieldValues['
=password;
根据客房ID筛选客房:
procedureTDM_main.SetModifyFilter(RoomID:
withT_room_modifydo
iflength(RoomID)>
0then
Filter:
ID='
+RoomID+'
Filtered:
获得客房级别:
procedureTDM_main.GetRoomLevel(RoomLevel:
TStrings);
RoomLevel.Clear;
RoomLevel.Add('
全部级别'
withQ_room_leveldo
First;
whilenotEofdo
RoomLevel.Add(FieldValues['
DESCRIPT'
]);
Next;
客房统计图实现函数:
//StarDate:
开始日期;
EndDate:
结束日期;
procedureTDM_main.GetRoomStat(StartDate,EndDate:
TDate;
TimeStep,StatType:
RoomLevel:
BarSeries:
TBarSeries);
StatResult:
MidDate:
StatLabel:
BarSeries.Clear;
whileStartDate<
EndDatedo
=GetNextDate(StartDate,TimeStep);
ifStatTypethen
=SumTurnover(StartDate,MidDate)
=SumUsedRoom(StartDate,MidDate,RoomLevel);
ifTimeStepthen
=FormatDateTime('
dd'
StartDate)+'
日'
mm'
月'
BarSeries.AddY(StatResult,StatLabel);
StartDate:
=MidDate;
换算下个月(日)日期:
functionTDM_main.GetNextDate(StartDate:
TimeStep:
Boolean):
TimeYear,TimeMonth:
=StartDate+1
TimeYear:
yyyy'
StartDate);
TimeMonth:
ifTimeMonth='
12'
=IntToStr(StrToInt(TimeYear)+1);
01'
=IntToStr(StrToInt(TimeMonth)+1);
=StrToDate(TimeYear+'
-'
+TimeMonth+'
-01'
2.系统登陆模块
该系统登陆将连接数据库的管理员用户表进行验证:
procedureTF_login.b_loginClick(Sender:
if(Trim(i_admin.Text)='
)or(i_passwd.Text='
)then
MessageDlg('
请输入管理员帐号和密码!
mtWarning,[mbOK,mbHelp],6);
i_admin.SetFocus;
select*fromadmin_userwherename='
%s'
andpasswd='
withDM_main.Q_admindo
=Format(sSql,[Trim(i_admin.Text),i_passwd.Text]);
连接错误!
请确认管理员帐号和密码!
self.Close;
登陆界面:
3.主控程序
后台管理主窗口如下:
后台管理程序采用MDI风格窗体。
并采用事件管理机制ActionList管理所有功能模块的点击事件:
procedureTF_main.RoomAddExecute(Sender:
Application.CreateForm(TF_add,F_add);
RoomAdd.Enabled:
procedureTF_main.RoomModifyExecute(Sender:
Application.CreateForm(TF_modify,F_modify);
RoomModify.Enabled:
procedureTF_main.HelpAboutExecute(Sender:
F_about.ShowModal;
procedureTF_main.SystemExitExecute(Sender:
procedureTF_main.OtherOperatorExecute(Sender:
Application.CreateForm(TF_operator,F_operator);
OtherOperator.Enabled:
procedureTF_main.OtherCodeExecute(Sender:
Application.CreateForm(TF_code,F_code);
OtherCode.Enabled:
procedureTF_main.RoomStatExecute(Sender:
Application.CreateForm(TF_stat,F_stat);
RoomStat.Enabled:
后台数据管理包括:
客房管理、餐饮管理、操作员管理,基础数据维护等。
4.客房统计表
该统计表能统计某个时间段的所有客房的营业额和使用频率,通过生成统计表以支持上层决策。
如下图:
(其实现代码以上有介绍)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店客房 餐饮 管理 系统 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)