当前位置: 首页 > news >正文

网站建设与运营财务预算安徽科技学院官网

网站建设与运营财务预算,安徽科技学院官网,主机搭建网站教程,Light模板WordPress文章目录 功能界面用户登录界面显示餐桌状态预定显示所有菜品点餐查看账单结账退出满汉楼 程序框架图项目依赖项目结构方法调用图功能实现登录显示餐桌状态订座显示所有菜品点餐查看账单结账退出满汉楼 扩展思考多表查询如果将来字段越来越多怎么办? 员工信息字段可…

文章目录

  • 功能
  • 界面
    • 用户登录界面
    • 显示餐桌状态
    • 预定
    • 显示所有菜品
    • 点餐
    • 查看账单
    • 结账
    • 退出满汉楼
  • 程序框架图
  • 项目依赖
  • 项目结构
  • 方法调用图
  • 功能实现
    • 登录
    • 显示餐桌状态
    • 订座
    • 显示所有菜品
    • 点餐
    • 查看账单
    • 结账
    • 退出满汉楼
  • 扩展思考
    • 多表查询
      • 如果将来字段越来越多怎么办?
    • 员工信息字段可能有很多,而且员工数有会很多,为提高效率,可以采用分表设计
  • 数据库设计
    • 满汉楼用户表
    • 满汉楼餐桌表
    • 菜谱表
    • 账单表

功能

image-20241215173902720

界面

用户登录界面

image-20241215174323926

显示餐桌状态

image-20241215174503522

预定

image-20241215174623548

显示所有菜品

image-20241215174743016

点餐

image-20241215174832125

查看账单

image-20241215175047426

结账

image-20241215175218981

退出满汉楼

程序框架图

软件分层是逻辑概念
1.可以用不同包来存放对应的类
2.体现了一个调用的关系
3.可以各司其职

image-20241215180733728

image-20241215180821862

项目依赖

commons-dbutils-1.8.1.jar
druid-1.1.10.jar
mysql-connector-java-5.1.23-bin.jar

项目结构

image-20241218213646153

方法调用图

image-20241218215014812

功能实现

准备工具类Utility

在实际开发中,公司都会提供相应的工具类和开发库,可以提高开发效率

登录

接受用户输入员工号和密码
通过员工ID和密码获取员工信息
如果找到匹配的员工信息,则返回该员工对象;否则返回null
如果!=null则登录成功,否则登录失败

显示餐桌状态

调用diningTableService的list方法获取所有餐桌的列表,然后遍历列表,打印每个餐桌的编号和状态到控制台。最后,打印一条分隔线表示显示完毕。

订座

功能说明

如果该餐桌处于已经预定或者就餐状态,给出提示

思路分析

(1)要检测餐桌是否存在。
(2)要检测餐桌的状态

允许用户选择要预订的餐桌,并输入预订信息。如果用户选择取消预订,则方法会输出取消预订的消息。如果用户确认预订,方法会检查所选餐桌是否存在且未被预订,然后接收用户的预订信息并尝试更新餐桌状态。如果预订成功,会输出预订成功的消息;如果失败,会输出预订失败的消息。 如果用户选择取消预订,则方法会输出取消预订的消息。

显示所有菜品

调用menuService的list方法获取所有菜品列表,然后遍历列表并打印每个菜品的编号、名称、类别和价格。
最后,打印一条分隔线表示显示完毕。

点餐

1.功能说明

要求对餐桌号,菜品编号,做合理性校验,如果不合理,给出提示信息

2.思路分析

(1)餐桌号,菜品编号检验
(2)点餐成功,需要修改餐桌状态
(3)生成账单

允许用户选择餐桌号、菜品编号和点餐数量,并确认是否进行点餐。
如果用户选择取消点餐或输入的餐桌号、菜品编号不存在,则方法会提前退出。
如果用户确认点餐,则调用billService的orderMenu方法进行点餐操作,并根据点餐结果输出相应的提示信息。

查看账单

该方法调用billService的list方法获取所有账单列表,并打印账单的详细信息,包括编号、菜品号、菜品量、金额、桌号、日期和状态。打印完毕后,输出一条分隔线表示显示完毕。

结账

思路分析

(1)对餐桌号进行校验
(2)修改bill表的state
(3)修改diningTable信息
(4)不需要增加新表,不需要增加新的类,需要增加方法

提供结账服务,允许用户选择餐桌进行结账操作。用户可以选择不同的结账方式,并在确认后执行结账。如果用户在过程中选择取消或输入无效信息,将终止结账流程。

退出满汉楼

image-20241218203143438

扩展思考

多表查询

image-20241218203007980

package com.hspedu.mhl.domain;import java.util.Date;/*** @program: mhl* @since: jdk1.8* @description: 这是一个javabean 可以和多张表进行对应* @author: Administrator* @create: 2024-12-18 20:43**/
public class MultiTableBean {private Integer id;private String billId;private Integer menuId;private Integer nums;private Double money;private Integer diningTableId;private Date billDate;private String state;// 增加一个来自menu表的列nameprivate String name;// 增加一个来自menu表的priceprivate Double price;public MultiTableBean() {}public MultiTableBean(Integer id, String billId, Integer menuId, Integer nums, Double money, Integer diningTableId, Date billDate, String state, String name, Double price) {this.id = id;this.billId = billId;this.menuId = menuId;this.nums = nums;this.money = money;this.diningTableId = diningTableId;this.billDate = billDate;this.state = state;this.name = name;this.price = price;}public Double getPrice() {return price;}public void setPrice(Double price) {this.price = price;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getBillId() {return billId;}public void setBillId(String billId) {this.billId = billId;}public Integer getMenuId() {return menuId;}public void setMenuId(Integer menuId) {this.menuId = menuId;}public Integer getNums() {return nums;}public void setNums(Integer nums) {this.nums = nums;}public Double getMoney() {return money;}public void setMoney(Double money) {this.money = money;}public Integer getDiningTableId() {return diningTableId;}public void setDiningTableId(Integer diningTableId) {this.diningTableId = diningTableId;}public Date getBillDate() {return billDate;}public void setBillDate(Date billDate) {this.billDate = billDate;}public String getState() {return state;}public void setState(String state) {this.state = state;}@Overridepublic String toString() {return id + "\t\t" + menuId + "\t\t\t" + name + "\t\t\t" + price + "\t\t\t" + nums + "\t\t\t" + money + "\t\t" + diningTableId + "\t\t" + billDate + "\t\t" + state;}
}

image-20241218213542012

如果将来字段越来越多怎么办?

image-20241218212754186

员工信息字段可能有很多,而且员工数有会很多,为提高效率,可以采用分表设计

image-20241218213942554

数据库设计

满汉楼用户表

# 员工表
CREATE TABLE employee (id INT PRIMARY KEY auto_increment,empId VARCHAR (50) UNIQUE NOT NULL DEFAULT '',pwd CHAR(32) NOT NULL DEFAULT '',`name` VARCHAR (50) NOT NULL DEFAULT '',job VARCHAR (50) NOT NULL DEFAULT ''
) CHARSET='utf8';# 测试数据
insert into employee values(null,'6668612',md5('1123456'),'张三丰','经理');
insert into employee values (null,'6668622', md5('1123456'),'小龙女','服务员');
insert into employee values(null,'6668633', md5('123456'),'张无忌','收银员');
insert into employee values(null,'666666',md5('123456'),'老韩','经理');
image-20241215213350987

满汉楼餐桌表

# 餐桌表
CREATE TABLE diningTable(id INT PRIMARY KEY auto_increment,state VARCHAR (20) NOT NULL DEFAULT '',orderName VARCHAR(50) NOT NULL DEFAULT '',orderTel VARCHAR (20) NOT NULL DEFAULT ''
) CHARSET='utf8';# 测试数据
insert into diningTable values(NULL, '空', '','');
insert into diningTable values(NULL, '空', '','');
insert into diningTable values(NULL, '空', '','');
image-20241216195216385

菜谱表

# 菜谱表
CREATE TABLE menu(id INT PRIMARY KEY auto_increment,`name` VARCHAR(50) not null default '',type varchar(50) not null DEFAULT '',price DOUBLE not null DEFAULT 0
) CHARSET = utf8;# 测试数据
insert into menu VALUES(NULL,'八宝饭','主食', 10);
insert into menu VALUES(NULL,'叉烧饭','主食', 20); 
insert into menu VALUES(NULL,'宫保鸡丁','热菜', 30);
insert into menu VALUES(NULL,'山药拨鱼','凉菜', 14);
insert into menu VALUES(NULL,'银丝卷','甜食', 9); 
insert into menu VALUES(NULL,'水煮鱼','热菜', 26); 
insert into menu VALUES(NULL,'甲鱼汤','汤类', 100); 
insert into menu VALUES(NULL,'鸡蛋汤','汤类', 16);
image-20241217120142699

账单表

CREATE TABLE bill(id INT PRIMARY KEY auto_increment,billId VARCHAR(50) NOT NULL DEFAULT '',menuId INT NOT NULL DEFAULT 0,nums INT NOT NULL DEFAULT 0,money DOUBLE NOT NULL DEFAULT 0,diningTableId INT NOT NULL DEFAULT 0,billDate DATETIME NOT NULL,state VARCHAR(50) NOT NULL DEFAULT ''
)CHARSET = utf8

自增主键 账单号(UUID) 菜品编号 份数 金额 餐桌 订单日期 状态

image-20241217223136155

http://www.yayakq.cn/news/593255/

相关文章:

  • 网站个人备案 企业备案吗网站上传模板后
  • 家居网站建设的背景及意义卖花网站模板
  • 可信网站图片logo安装用word制作网页
  • 网站备案信息如何下载常用于做网站的软件
  • 微软手机做网站服务器吗网站批量查询
  • 示范校建设专题网站什么网站可以做软件有哪些
  • 网站备案号官网wordpress基础模板
  • 模板网站试用用html5做的音乐网站
  • 最新网站建设的模板下载茂名企业自助建站
  • 创建网站有什么用网站建设及发布的流程图
  • 横琴网站建设中建西部建设西南有限公司网站
  • 国外专门做童装的网站有哪些如何成立网站
  • 绍兴网站开发宜昌做网站公司
  • 网站即将 模板热门手机网站
  • 做企业网站的第一步需要啥如何做可以微信转发的网站
  • 用wordpress做答题网站河北唐山网站建设
  • 如何做网上水果网站系统网红营销价值
  • 织梦cms可以做外贸网站吗维护网站费用
  • 广州网站运营专业乐云seo怎么下载文章到wordpress
  • 《电子商务网站开发》实验报告天津建站方案
  • 网站链接优化怎么做干果网站
  • 主机宝 建设网站网站用什么建设
  • 系统优化软件排行榜网络优化策划书
  • yellow网站推广联盟商城网站有哪些
  • 大航母网站建设费用湖州企业网站建设
  • 手机端网站建设织梦 移动网站
  • 淘宝客优惠券网站怎么做面膜网络推广方案
  • 网站建设 套格式如何让网站快速收录你
  • 长沙长沙h5网站建设wordpress修改主题目录
  • 郑州友网站建设营销手段有哪些