概念:
目前来说系统只维系一个在点的单,也就是同一时间给别人点单的这个LIST只有一个。这个单得CHECKOUT了后才能再点另外一个单。然后每个单点了后就立马发给数据库了,要读CURRENT单得话直接从数据库里读CURRENT ORDER。CURRENT ORDER代表的是这个单SOMEHOW没有完结。但过了24小时的单就自动会规划到完结单里面。到HISTORY ORDER里面。如果一个ORDER# 为-1到-100,则被看做当前正在点的单。如果是-100以下或0以上,代表是离线单或者是从SERVER读的单,代表不是正在点的单。
STAFF 点单
UIComponentActivity
里面有一个Order mOrder来TRACK当前ORDER
有一个createNewOrderIfNull(), 此方法检查ORDER是否为空,当前是否有ORDER,如果没有,建立一个新的ORDER,设置ORDER_ID为-1。在ORDER里面建立一个OPLIST,里面包含了这个ORDER里面有哪些PRODUCTS,每个PRODUCT点的数量等。
当点一个菜时,首先判断当前又没ORDER,如果没有,新建一个ORDER, 写入数据库。然后调用ADDITEM把新的PRODUCT加进这个ORDER。如果已有ORDER,CHECK ORDER是否已被支付,或者已被送到厨房,确认是否要更改。
客人点单
MY ORDER上显示当前在点的单,当当前单发,显示历史单。
如何把PRODUCT存入ORDER里
在PRODUCT和ORDER中间有一层ORDER_PRODUCT,因为两个表是MM关系。在PRODUCT里是没有一个ORDERPRODUCTLIST。相反在ORDER里有一个ORDERPRODUCT LIST。用来TRACK一个ORDER里有哪些PRODUCT。把一个PRODUCT放入ORDER的方式是先创建一个Orders_Products,然后放进ORDER的OP表里。