At the end of the development of the ATM system, we started the development of the pizza sales system --!
Let's take a look at the requirements first:
Functional requirements of pizza sales system
This system is the sales system of the pizza retail store (Pizza Hut). Its main functions include sales processing (including on-site customer sales and on-site delivery sales), inventory updating, and daily settlement.
Login
The system must have the user confirmation function. You can enter the correct user name/password before entering the system interface.
Sales processing:
Enter the purchased pizza and quantity as required by the customer
(Pizza name) The basic types of standard pizza are supreme, Hawaii, meat lover, seafood.
(Base type) Pizza is divided into thick pan, thin pan, and special (not required for the time being)
The size of pizza is 5, 6, 7, and 8.
Topping (additional materials added to the above standard pizza) is pineapple, mushroom, Gallic
According to the requirements of the customer hunger, the baking process is divided into fast, normal, slow (F-3 minutes, N-5 minutes, S-10 minutes)
The system automatically calculates and displays the total price
Supreme, Hawaii, Meat Lover-30 yuan, seafood-40 yuan (NOTE: For simplicity, pizza size is not considered)
Each added topping, 3 yuan
Baking fee calculation: Fast baking plus 2 yuan, normal no fee, slow minus 2 yuan
For each sales, the tax amount to be calculated is 10% of the sales volume, which is recorded in the database. This information will be used as the tax basis in the future. (Is the tax a little higher !?)
Each sales request requires updating the inventory of standard pizza cakes in the database (assuming that standard pizza is prepared in advance and recorded in the inventory database), printing the receipts, and recording the sales (to the database ).
After the purchase is confirmed, the sales information should be displayed on the screen, including: total amount, pizza information (name, quantity, type, size, topping ). The sales information should be recorded in the database, including the information (name, type, size, and topping) of each pizza for the sales ).
After the purchase is confirmed, pizza baking information (Note: including all pizza of this customer) (Note: Each pizza contains 1. pizza name, 2. type (thick, thin), 3. size 4. topping, 5. start time, that is, the time when the make pizza button is clicked), should be added to the displayed baking sequence table interface, in-store baking staff view this interface to bake the corresponding pizza, after the customer's baking task is completed, confirm that the baking task is completed (click the "finish" button on the right of the task) and delete the pizza baking task from the baking sequence table interface, the task information is recorded in the database, including the baking start time and completion time.
Pizza baking tasks listed on the baking Sequence Table Page are sorted by time (earlier input tasks are in front). tasks that have been input for more than 15 minutes are marked with red (Alarm ), if not exceeded, the color is normal-green.
Sales processing-home delivery sales:
A customer can call to order a pizza. The clerk records the customer's name, phone number, and address sent by pizza. After pizza is ready, it will be delivered to this address and charged.
Pizza for door-to-door delivery must be identified in the database record to distinguish the pizza sold by the customer. The salary of the pizza employee is calculated based on 5 yuan per trip (the fee is charged for the pizza amount + 5 yuan)
After the pizza baking task listed on the baking sequence table interface is completed, if the task is delivered to the door, the system will prompt you to enter the delivery employee ID to calculate the employee's salary for sending the task. (Related tables are required in the database, including employee ID and sales ID ).
Home Delivery interface:
After the home delivery pizza is finished and the delivery employee ID is entered, the delivery task should be added to the interface, and all the tasks are sorted by time. When starting delivery, the shipping employee should click the "Start" button to indicate that the employee starts delivery. After the delivery is complete, click the "finish" button on the right of the task to indicate "I am delivering". The task disappears from the list and the task information is recorded in the database (including, sales ID, employee ID, start delivery time, delivery return time, the job salary ).
If the delivery time exceeds 30 minutes, the salary (5 yuan) should be reduced to 3 yuan, more than 60 minutes is 0 yuan, one day did not return, fired! (Don't implement it)
Calculate the salary of shipping employees:
Inventory Update: (currently only add function is enabled)
Pizza (unbaked pizza) is added to the inventory (database) after batch preparation ).
Pizza information (type, size, quantity) is manually written to a text file in the format<Pizza type>, <base type>, <size>, <quantity>
For example:
Seafood, 200 Superme, 250 Superme, 2, 7, 160 Meat Lover, 200 ...... |
When the amount of a pizza in the inventory is less than 10 (<10), the system must prompt that the pizza needs to be added to the inventory.
The system should provide inventory report Function
Settlement
After one day's business ends, the system displays the total transaction sales for the current day.
The system needs to list the summary of pizza sold on the current day, including <pizza Name> <base type> <Number of pizzas sold> (NOTE: For simplicity, the pizza size is not considered ).
For example:
Total sales: ¥5420
Pizza namebase typequantity
Supreme1256
Supreme00005
Hawaii1278
Hawaii297
......