我需要帮助设计DB/表的餐厅点餐系统。
1)船长将在Android设备上接受订单,在客户下单后,他(船长)将打印订单。
2)机长可根据客户需求修改/添加订单
3)最后,根据客户的需求,队长将最终完成账单并打印账单
下单的几种情况
1)下单,未取消定单
2)下订单-比方说4个汉堡,完成后,客户再次下单-比方说3个汉堡,未取消,并最终确定账单
3)下订单-比方说4个汉堡,完成后再下订单-比方说3个汉堡,客户要求取消1个汉堡,然后完成账单
4)下订单-比方说4个汉堡,然后取消2个汉堡,然后过一段时间,下4个汉堡,然后完成账单
5)下订单-4个汉堡,在一段时间后,取消2个汉堡,在一段时间后,下4个汉堡,在一段时间后取消2个,然后完成账单
我已经创建了,menu_card (即item),table_info计费表:
id
table_no
bill_no
item_name
quantity
repeat_quantity
print_status (Printed/Not Printed)
ongoing (Yes/No(if no -then finished) )
date_time
我应该在案例3,4,5中添加哪个字段下单我很困惑,如果客户要求“取消订单”,在完成当前订单后,他要求相同的项目。
新的编辑:我正在显示已订购项目的列表,其中船长可以触摸以更新订单,我正在考虑在表中添加cancelled_items_quantity,对于每个新订单,我将在数据库中添加新条目以添加这些订单,例如,客户已订购4个汉堡,然后它将添加到数据库中,现在完成后,如果他要求3个汉堡,将再次创建新条目,而不是将现有的4个修改为7,即使他取消订单,假设3个汉堡中的2个,然后,将在相同条目上进行更新,即将cancelled_items_quantity从默认0更新为2。请帮助
发布于 2014-03-11 18:46:05
您可能需要单独的表。
1) billing_info
2) table_info
3) item_info
然后根据您的需求相互关联。在item_info中添加一个'status‘字段或类似的字段,这样当用户请求发生变化时,您就可以轻松地更新它的值。
编辑
对于item_info表,为客户已经订购的每个单独的项目创建一个条目。然后,如果有任何更改,请更新状态。
在android平板电脑上,我可以看到客户订购的所有商品的完整列表。
例如:
一份牛排
一份冰茶
一份牛排
一杯咖啡
一杯咖啡
因此,对于每个项目,可以有两个选项。
1)确认前删除条目
2)确认后更改状态
在确认之前,更改仅在UI上进行。所以我们可以使用option1来更新UI。我认为复杂的情况是在确认和客户想要更改订单之后出现的。所以我们使用option2。
点了两份牛排。现在客户想要取消% 1。所以服务员只需将%1牛排的状态更改为“取消”。
发布于 2014-03-11 19:37:26
我会先为商品、订单和账单做一个单独的表格。因为一个账单可以包含多个订单,一个订单可以包含多个项目。
对于您的示例案例,仅将最终数据写入数据库。将未完成的订单保存在应用程序的内存中。一旦用户点击'Ok‘或'Finish’,订单就完成了,你可以把它写到数据库中。
如果你每次都要改变数据库中的顺序,你会做太多的事务,这是不好的。
https://stackoverflow.com/questions/22318478
复制相似问题