左边窗口有一组数据:
QTY BARCODE PRICE TOTAL
1 C22 3.5 3.5
1 C23 4 4
1 C22 3.5 3.5
1 C23 4 4要合并成:
QTY BARCODE PRICE TOTAL
2 C22 3.5 7
2 C23 4 8
QTY BARCODE PRICE TOTAL
1 C22 3.5 3.5
1 C23 4 4
1 C22 3.5 3.5
1 C23 4 4要合并成:
QTY BARCODE PRICE TOTAL
2 C22 3.5 7
2 C23 4 8
QTY BARCODE PRICE TOTAL
1 C22 3.5 3.5
1 C23 4 4
1 C22 3.5 3.5
1 C23 4 4 要合并成:
QTY BARCODE PRICE TOTAL
2 C22 3.5 7
2 C23 4 8 显示在grditem控件中,总数是grditem.itemcount。
如没有,要手动哦了。
我们这边是通过label来显示subtotal的。还有我们这有一个功能是 要有桌号保存下来这些数据,才能对这些数据进行合并(进行进入数据库)。
只好一行一行来。
加个collection和一个小类。
分开读取每个部分,split
先看collection里有没有,没有就填好类,加类进colection。
有的话,修改类里的除barcode以外的值最后loop一下collection里的
扫描到一个 BarCode,先到表格中查找,如果已经存在,直接 QTY+1,重新计算 TOTAL;否则新增一行填入相应数据。
如果是要最后合并,用Distinct 先列出所有不同的barcode,在根据不同的barcode做个循环统计相应的QTY 和 TOTAL
我举个例子:
比如我跟我朋友去餐厅点2道相同的菜(一样的BARCODE),但是口味不一样所以显示在控件中的数据应该是:
1 C11 10 10
-清淡不加盐
1 c11 10 10
-加辣这2个东西进入厨房的话就知道煮法和数量假如我去超市买东西时,拿了2本一样的书,3个一样的笔。
我们现在显示的是:
1 C22 10 10
1 C22 10 10
1 C23 5 5
1 C23 5 5
1 C23 5 5这些东西没有煮法可以进行相加。客户要求的是
2 C22 10 20
3 C23 5 15
A)可以在物品字典中设置,某个条码必定不合并。
B)给个界面选项(可以通过某个按键进行开关),表示接下来扫描的条码是否要合并。
C)不同的煮法用不同的条码。