 |
|
ขอความกรุณา ขอแนวความคิดเรื่อง ระบบพักโต๊ะ ด้วย C# ค่ะ |
|
 |
|
|
 |
 |
|
นอนดึกน่ะครับ 
ปกติถ้าเป็นร้านอาหารจะเป็นแบบทำโต๊ะให้เลือกน่ะครับ
แต่ถ้าเป็น POS จะมีระบบ พักบิล
ผมถ้าทำโปรแกรมแบบให้สามารถเลือกโต๊ะได้เลยจะเข้าใจง่ายกว่าน่ะครับ
|
 |
 |
 |
 |
Date :
2013-09-19 08:14:30 |
By :
fonfire |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ครับ ถ้าออกแบบ แบบนี้ ไปนอนดีกว่า....
คุณจะไปทำเช่นนั้นทำไม ไอ้พักโต๊ะ พักเก้าอี้ของคุณน่ะ
คุณก็ออกแบบหน้าจอให้ ใส่ช่องเลขที่โต๊ะ หรือใช้ DroupDownList รายชื่อโต๊ะก็ได้
จะไปบันทึกข้อมูลโต๊ะไหน ก็เลือกโต๊ะนั้นออกมา ซึ่งจะแสดงพร้อมรายการที่สั่งอาหารไป แล้วคุณก็เพิ่มรายการอาหารเข้าไปเท่านั้นเอง
ง่ายจะตายไป ...
ถ้าจะให้ดี คุณลองไปขอดูระบบร้านอาหารที่เขาใช้ระบบนี้อยู่จะดีกว่านะ
|
 |
 |
 |
 |
Date :
2013-09-19 08:33:17 |
By :
ผ่านมาเห็นแล้วอยากช่วย |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากค่ะ หนูความรู้น้อยต้อยต่ำ TT บางทีอะไรง่ายๆก็มองมันยากไปหน่อย TT
|
 |
 |
 |
 |
Date :
2013-09-19 09:03:51 |
By :
Saw-series |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ได้น้อยใจเท่าไหร่ แต่ว่า ปัญหาว่าจะออกแบบหน้าจอบันทึกยังไงนั้นแหละค่ะ ใช้เครื่องมืออันไหน
|
 |
 |
 |
 |
Date :
2013-09-19 11:08:20 |
By :
Saw-series |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันต้องต่อกับฐานข้อมูลด้วยนะ เพราะว่า มันต้องเก็บรายการที่สั่งได้
|
 |
 |
 |
 |
Date :
2013-09-19 11:09:48 |
By :
Saw-series |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำฟอร์ม มา 1 ฟอร์ม
แล้วเอา Button ไปวางเรียงกันเลยครับ (ง่ายดี)
แล้วก็ใส่เลขโต๊ะไปเลย 1-100 ก็ได้ หวังว่าคงไม่มีจัด Zone โต๊ะน่ะครับ เพราะว่าจะยุ่งขึ้นไปอีก
ที่หน้าขายก็ทำปุ่มเปลี่ยนโต๊ะ
กดแล้วก็โชว์ฟอร์มเลือกโต๊ะ
น่าจะประมาณนี้น่ะครับ
ลองดูอันนี้ครับ
ขออนุญาติเจ้าของโปรแกรมด้วยน่ะครับ
http://www.e-restaurantsoftware.com/interface.html
|
 |
 |
 |
 |
Date :
2013-09-19 11:34:46 |
By :
fonfire |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้วเราจะทำอย่างไร ให้รายการอาหาร มันไปออกใบเสร็จได้ดีอ่ะคะ
|
 |
 |
 |
 |
Date :
2013-09-19 15:18:12 |
By :
saw series |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
การพักโต๊ะ ถ้าจะทำก็ย่อมทำได้ โดยอาศัย Dictionary เก็บข้อมูลการสั่งอาหาร (ชั่วคราว)
แนวทางการเขียนก็ประมาณนี้ครับ รายละเอียดน่าจะเดาออก
Code (VB.NET)
Public tmpOrders As New Dictionary(Of Integer, List(Of tmpFoodOrder))
'สั่งอาหาร
Private Sub GetOrders(Byval TableID As Integer, ByVal FoodID As Integer)
If Not tmpOrders .ContainsKey(TableID) Then
Dim x As New List(Of tmpFoodOrder)
x.Add(New tmpFoodOrder() With {.TableID = TableID,
.FoodID = 123,
.FoodNameInf = "คะน้าผัดหอย",
.Price = 100,
.Qty = 2,
.Remark = "อร่อยดี"}
)
tmpOrders.Add(x)
End If
End Sub
'เลือกโต๊ะ
Private Sub GetTable(Byval TableID As Integer)
Dim x =tmpOrders(TableID)
If x Isnot Nothing Then
'...
'...
End
End Sub
'ชำระเงินเรียบร้อยแล้ว
tmpOrders.Remove(TableID)
Code (VB.NET)
Public Class tmpFoodOrder
Public Property TableID As Integer 'เลขที่โต๊ะอาหาร
Public Property FoodID As Integer ' เลขที่รายการอาหาร
Public Property FoodNameInf As String 'ชื่อรายการอาหาร
Public Property Price As Decimal 'ราคา/หน่วย
Public Property Qty As Integer 'จำนวนอาหาร
'...
End Class
|
 |
 |
 |
 |
Date :
2013-09-19 17:56:25 |
By :
ผ่านมา |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ปริ๊น ใบเสร็จ ค่ะ ขอบคุณแนวทางมากๆเลยค่ะ หุหุหุ ใจร่มๆขึ้นมาก
|
 |
 |
 |
 |
Date :
2013-09-19 21:34:49 |
By :
saw series |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อ้างถึง #NO 16 2013-09-20 07:20 AM +7
ข้อมูลที่จะนำมาพิมพ์ใบเสร็จรับเงิน มี 2 ทางดังนี้ครับ
1. เอาตาม #NO 16 เป็นข้อมูลที่ถูกจัดเก็บใน ฐานข้อมูล สมมุติว่าเป็น โต๊ะที่ 7
Code (SQL)
SELECT *
FROM Header_Table a
OUTER APPLY (
SELECT b.*, c.FoodName
FROM Detail_Table b
CROSS APPLY (SELECT FoodName FROM Food_Beverage z WHERE z.FoodID= b.FoodID) c
WHERE a.TableID = b.TableID
) d
WHERE a.TableID = 7
|
 |
 |
 |
 |
Date :
2013-09-20 07:27:57 |
By :
ผ่านมา |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อ้างถึง #NO 17 2013-09-20 07:38 AM +7
2. เอามาจาก tmpOrders (เป็นข้อมูลชั่วคราว) สมมุติว่าเป็น โต๊ะที่ 7
Code (VB.NET)
Dim tmpTable As New DataTable()
tmpTable.Columns.AddRange({New DataColumn() With {.ColumnName = "TableID", .DataType = GetType(Integer)},
New DataColumn() With {.ColumnName = "FoodID", .DataType = GetType(Integer)},
New DataColumn() With {.ColumnName = "FoodNameInf", .DataType = GetType(String)}
})
Dim tmpBill As List(Of tmpFoodOrder) = tmpOrders(7)
tmpBill.AsEnumerable().ForEach(Sub(p)
tmpTable.Rows.Add(New Object() {p.TableID, p.FoodID, p.FoodNameInf})
End Sub)
เอาตารางชั่วคราว tmpTable ไปออกรายงาน ใน Crystal Report ครับ
|
 |
 |
 |
 |
Date :
2013-09-20 07:57:09 |
By :
ผ่านมา |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ท่านเจ้าของกระทู้ #NO 17 (18) คำสั่ง SQL Query ผมไม่ได้เขียนแบบมั่วมั่ว
|
 |
 |
 |
 |
Date :
2013-09-20 08:08:43 |
By :
ผ่านมา |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ยอดเยี่ยมมากครับ คุณ "ผ่านมา" 
|
 |
 |
 |
 |
Date :
2013-09-20 11:12:21 |
By :
ผ่านมาเห็นแล้วอยากช่วย |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|