foodcourt apis for app

This commit is contained in:
Thein Lin Kyaw
2022-07-08 16:06:12 +06:30
parent 7485486868
commit 063345eae3
37 changed files with 785 additions and 171 deletions

View File

@@ -1,6 +1,25 @@
if @status == true
#show invoice number and stuff
json.status @status
json.sale_id @sale_data.sale_id
sale = Sale.find(@sale_data.sale_id)
json.sale_items sale.sale_items do |sale_item|
json.sale_item_id sale_item.sale_item_id
json.sale_id sale_item.sale_id
json.product_code sale_item.product_code
json.item_instance_code sale_item.item_instance_code
json.product_name sale_item.product_name
json.product_alt_name sale_item.product_alt_name
json.account_id sale_item.account_id
json.status sale_item.status
json.remark sale_item.remark
json.qty sale_item.qty
json.unit_price sale_item.unit_price
json.taxable_price sale_item.taxable_price
json.price sale_item.price
json.is_taxable sale_item.is_taxable
end
else
json.status @status
json.error_message @error_message

View File

@@ -0,0 +1,8 @@
json.booking_id booking.booking_id
json.sale_id booking.sale.try(:sale_id)
json.sale_status booking.sale.try(:sale_status)
json.receipt_no booking.sale.try(:receipt_no)
json.checkin_at booking.try(:checkin_at).try(:utc)
json.checkout_at booking.try(:checkout_at).try(:utc)

View File

@@ -0,0 +1 @@
json.array! @bookings, partial: 'api/bookings/booking_summary', as: :booking

View File

@@ -0,0 +1 @@
json.array! @bookings, partial: 'api/bookings/booking_summary', as: :booking

View File

@@ -0,0 +1 @@
json.array! @bookings, partial: 'api/bookings/booking_summary', as: :booking

View File

@@ -1,50 +1,15 @@
if (@booking)
json.success true
json.id @booking.booking_id
json.status @booking.booking_status
if Sale.exists?(@booking.sale_id)
json.sale_status Sale.find(@booking.sale_id).sale_status
else
json.sale_status ""
end
json.checkin_at @booking.checkin_at.strftime("%d-%m-%Y")
json.checkin_by @booking.checkin_by
json.table_name @booking.dining_facility.name
json.booking_id @booking.booking_id
if @booking.type == "TableBooking"
json.table_id @booking.dining_facility_id
else
json.room_id @booking.dining_facility_id
end
@total_amount = 0.00
@total_tax = 0.00
json.booking_status @booking.booking_status
if @booking.booking_orders
order_items = []
@booking.booking_orders.each do |bo|
order = Order.find(bo.order_id)
#if (order.status == "new")
order_items = order_items + order.order_items
#end
end
json.order_items order_items do |item|
json.item_instance_code item.item_code
json.item_name item.item_name
json.price item.price
json.qty item.qty
json.options item.options
json.remark item.remark
json.item_status item.order_item_status
@total_amount = @total_amount + (item.price * item.qty)
else
json.success false
end
json.dining_facility do
json.partial! 'api/dining_facilities/dining_facility', dining_facility: @booking.dining_facility
end
json.sub_total @total_amount
json.commerical_tax @total_amount * 0.05
json.total @total_amount + (@total_amount * 0.05)
else
json.success false
json.sale do
json.partial! 'api/sales/sale', sale: @booking.sale
end
json.orders @booking.orders, partial: 'api/orders/order', as: :order
end

View File

@@ -0,0 +1 @@
json.array! @bookings, partial: 'api/bookings/booking_summary', as: :booking

View File

@@ -0,0 +1,7 @@
if @customer.present?
json.status true
else
json.status false
end
json.data @customer

View File

@@ -0,0 +1,3 @@
if dining_facility
json.name dining_facility.name
end

View File

@@ -0,0 +1,26 @@
if @status == true
#show invoice number and stuff
json.status @status
json.sale_id @sale_data.sale_id
sale = Sale.find(@sale_data.sale_id)
json.sale_items sale.sale_items do |sale_item|
json.sale_item_id sale_item.sale_item_id
json.sale_id sale_item.sale_id
json.product_code sale_item.product_code
json.item_instance_code sale_item.item_instance_code
json.product_name sale_item.product_name
json.product_alt_name sale_item.product_alt_name
json.account_id sale_item.account_id
json.status sale_item.status
json.remark sale_item.remark
json.qty sale_item.qty
json.unit_price sale_item.unit_price
json.taxable_price sale_item.taxable_price
json.price sale_item.price
json.is_taxable sale_item.is_taxable
end
else
json.status @status
json.error_message @error_message
end

View File

@@ -0,0 +1,26 @@
if @status == true
json.status @status
json.id @order.id
json.booking_id @booking.id
json.order_items do
json.array! @order.order_items, :item_code, :item_name, :qty, :options, :remark,:price
end
if @sale
json.sale_id @sale.sale_id
json.sale_items do
json.array! @sale.sale_items, :product_name, :qty, :remark,:unit_price,:price
end
json.grand_total @sale.grand_total
json.total_tax @sale.total_tax
json.taxes do
json.array! @sale.sale_taxes, :tax_name, :tax_rate, :tax_payable_amount, :inclusive
end
end
else
json.status @status
if @error_messages
json.error_messages @error_messages
else
json.error_messages @message
end
end

View File

@@ -9,6 +9,10 @@ json.data do
json.booking @sale.booking.booking_id
if @sale.booking.dining_facility
json.dining_facility @sale.booking.dining_facility.name
end
json.shop do
json.name current_shop.name
json.address current_shop.address

View File

@@ -0,0 +1,61 @@
#show invoice number and stuff
json.status @status
json.message @message
json.data do
if @status
json.sale_id @sale.sale_id
json.sale_status @sale.sale_status
json.booking @sale.booking.booking_id
if @sale.booking.dining_facility
json.dining_facility @sale.booking.dining_facility.name
end
json.shop do
json.name current_shop.name
json.address current_shop.address
json.phone_no current_shop.phone_no
end
order = @sale.orders.first
json.order do
json.order_no order.order_id
json.order_by order.waiters
json.order_date order.date
end
json.cashier_name @sale.cashier_name
json.receipt_no @sale.receipt_no
json.receipt_date @sale.receipt_date
json.sub_total @sale.total_amount
json.discount_type @sale.discount_type
json.total_discount @sale.total_discount
json.sale_taxes @sale.sale_taxes do |sale_tax|
json.display_name sale_tax.display_name
json.tax_amount sale_tax.tax_payable_amount
end
json.grand_total @sale.grand_total
json.sale_items @sale.sale_items do |sale_item|
json.sale_item_id sale_item.sale_item_id
json.sale_id sale_item.sale_id
json.product_code sale_item.product_code
json.item_instance_code sale_item.item_instance_code
json.product_name sale_item.product_name
json.product_alt_name sale_item.product_alt_name
json.account_id sale_item.account_id
json.status sale_item.status
json.remark sale_item.remark
json.qty sale_item.qty
json.unit_price sale_item.unit_price
json.taxable_price sale_item.taxable_price
json.price sale_item.price
json.is_taxable sale_item.is_taxable
end
end
end

View File

@@ -0,0 +1,19 @@
if order_item
json.order_item_id order_item.order_items_id
json.item_code order_item.item_code
json.item_instance_code order_item.item_instance_code
json.item_name order_item.item_name
json.qty order_item.qty
json.price order_item.price
json.options order_item.options
json.set_menu_items order_item.set_menu_items
json.remark order_item.remark
end

View File

@@ -0,0 +1,15 @@
if order
json.order_id order.order_id
json.date order.date.try(:utc)
json.source order.source
json.customer_id order.customer_id
json.customer_name order.try(:customer).try(:name)
json.order_by order.waiters
json.order_items order.order_items, partial: "api/order_items/order_item", as: :order_item
end

View File

@@ -0,0 +1,8 @@
if sale_item
json.product_name sale_item.product_name
json.product_alt_name sale_item.product_alt_name
json.qty sale_item.qty
json.unit_price sale_item.unit_price
json.price sale_item.price
json.taxable_price sale_item.taxable_price
end

View File

@@ -0,0 +1,6 @@
if sale_tax
json.tax_name sale_tax.tax_name
json.tax_rate sale_tax.tax_rate
json.tax_payable_amount sale_tax.tax_payable_amount
json.inclusive sale_tax.inclusive
end

View File

@@ -0,0 +1,32 @@
if sale
json.sale_id sale.id
json.cashier_name sale.cashier_name
json.receipt_no sale.receipt_no
json.receipt_date sale.receipt_date.try(:utc)
json.customer_id sale.customer_id
json.customer_name sale.try(:customer).try(:name)
json.sale_status sale.sale_status
json.total_amount sale.total_amount
json.discount_type sale.discount_type.capitalize
json.total_discount sale.total_discount
json.tax_type sale.tax_type
json.total_tax sale.total_tax
json.grand_total sale.grand_total
json.rounding_adjustment sale.rounding_adjustment
json.amount_received sale.amount_received
json.amount_changed sale.amount_changed
json.shift_sale_id sale.shift_sale_id
json.sale_items sale.sale_items, partial: "api/sale_items/sale_item", as: :sale_item
json.sale_taxes sale.sale_taxes, partial: "api/sale_taxes/sale_tax", as: :sale_tax
end

View File

@@ -0,0 +1,126 @@
json.status @status
json.message @message
if @status
json.data do
json.shop do
json.name current_shop.name
json.address current_shop.address
json.phone_no current_shop.phone_no
end
json.cashier @shift.employee.name
json.cashier_station @shift.cashier_terminal.name
json.opening_date @shift.shift_started_at.strftime('%d-%m-%Y %I:%M %p')
json.closing_date @shift.shift_closed_at.strftime('%d-%m-%Y %I:%M %p')
json.opening_float @shift.opening_balance
json.closing_float @shift.closing_balance
json.sale_by_payments do
json.child! do
json.name 'Cash'
json.total_amount @shift.credit_sales
end
json.child! do
json.name 'Credit'
json.total_amount @shift.credit_sales
end
@payment_methods.each do |payment_method|
json.child! do
json.name payment_method
json.total_amount @other_payment.first[payment_method.parameterize.to_sym]
end
end
end
json.rounding_adjustment @shift.total_rounding
json.total @shift.grand_total
json.sale_taxes @sale_taxes do |sale_tax|
json.tax_name sale_tax.tax_name
json.tax_amount sale_tax.st_amount
end
json.total_taxes @shift.total_taxes
json.nett_sales @shift.nett_sales
json.total_credit_payment @total_credit_payments
json.sale_discounts do
@total_discount_by_account.each do |account|
json.child! do
json.name account.account_name
json.total_amount account.total_price
end
end
if @total_member_discount && @total_member_discount.first.member_discount
json.child! do
json.name "Member"
json.total_amount @total_member_discount.first.member_discount
end
elsif @total_discount_by_account.size < 1
json.array!
end
end
json.total_discount @shift.total_discounts
json.total_foc @other_payment.first.foc_amount
json.total_void @shift.total_void.to_d
json.total_waste @total_waste
json.total_spoile @total_spoile
json.sale_by_accounts @total_amount_by_account do |account|
json.name account.account_name
json.total_amount account.total_price
end
json.total_other_amount @total_other_charges
json.total_dine_in_count @shift.dining_count
json.total_takeaway_count @shift.takeaway_count
json.total_receipts @shift.total_receipt
if @sale_items.present?
json.sale_items_summary do
total_items = 0
total_amount = BigDecimal("0.0")
json.sale_items_groups do
@sale_items.group_by(&:menu_category_name).each do |menu|
json.child! do
json.category_name menu[0]
json.sale_items menu[1] do |item|
json.product_name item.product_name
json.unit_price item.unit_price
json.total_qty item.total_item
json.total_price item.grand_total
total_items += item.total_item
total_amount += item.grand_total
end
end
end
unless @total_other_charges_info.nil?
json.child! do
json.category_name 'Other Charges'
json.sale_items @total_other_charges_info do |item|
json.product_name item.product_name
json.unit_price item.unit_price
json.total_qty item.total_item
json.total_price item.grand_total
total_items += item.total_item
total_amount += item.grand_total
end
end
end
end
json.total_items total_items
json.total_amount total_amount
end
end
end
end