From 2c1ac3191c0751d51655ed7a935565826093052d Mon Sep 17 00:00:00 2001 From: Min Zeya Phyo Date: Tue, 4 Apr 2017 00:15:41 +0630 Subject: [PATCH] final db structure --- app/models/lookup.rb | 2 ++ app/models/sale.rb | 4 +++ app/models/sale_audit.rb | 2 ++ app/models/sale_discount.rb | 3 +++ app/models/sale_discount_item.rb | 3 +++ app/models/sale_item.rb | 3 +++ app/models/sale_order.rb | 4 +++ app/models/sale_payment.rb | 3 +++ app/models/sale_tax.rb | 3 +++ db/migrate/20170403160742_create_sales.rb | 25 +++++++++++++++++++ .../20170403161857_create_sale_items.rb | 17 +++++++++++++ .../20170403162221_create_sale_discounts.rb | 13 ++++++++++ ...170403162844_create_sale_discount_items.rb | 19 ++++++++++++++ .../20170403163219_create_sale_taxes.rb | 12 +++++++++ .../20170403163734_create_sale_payments.rb | 14 +++++++++++ .../20170403174029_create_sale_orders.rb | 10 ++++++++ .../20170403174111_create_sale_audits.rb | 14 +++++++++++ db/migrate/20170403174309_create_lookups.rb | 9 +++++++ db/schema.txt | 7 +++--- spec/models/lookup_spec.rb | 5 ++++ spec/models/sale_audit_spec.rb | 5 ++++ spec/models/sale_discount_item_spec.rb | 5 ++++ spec/models/sale_discount_spec.rb | 5 ++++ spec/models/sale_item_spec.rb | 5 ++++ spec/models/sale_order_spec.rb | 5 ++++ spec/models/sale_payment_spec.rb | 5 ++++ spec/models/sale_spec.rb | 5 ++++ spec/models/sale_tax_spec.rb | 5 ++++ 28 files changed, 209 insertions(+), 3 deletions(-) create mode 100644 app/models/lookup.rb create mode 100644 app/models/sale.rb create mode 100644 app/models/sale_audit.rb create mode 100644 app/models/sale_discount.rb create mode 100644 app/models/sale_discount_item.rb create mode 100644 app/models/sale_item.rb create mode 100644 app/models/sale_order.rb create mode 100644 app/models/sale_payment.rb create mode 100644 app/models/sale_tax.rb create mode 100644 db/migrate/20170403160742_create_sales.rb create mode 100644 db/migrate/20170403161857_create_sale_items.rb create mode 100644 db/migrate/20170403162221_create_sale_discounts.rb create mode 100644 db/migrate/20170403162844_create_sale_discount_items.rb create mode 100644 db/migrate/20170403163219_create_sale_taxes.rb create mode 100644 db/migrate/20170403163734_create_sale_payments.rb create mode 100644 db/migrate/20170403174029_create_sale_orders.rb create mode 100644 db/migrate/20170403174111_create_sale_audits.rb create mode 100644 db/migrate/20170403174309_create_lookups.rb create mode 100644 spec/models/lookup_spec.rb create mode 100644 spec/models/sale_audit_spec.rb create mode 100644 spec/models/sale_discount_item_spec.rb create mode 100644 spec/models/sale_discount_spec.rb create mode 100644 spec/models/sale_item_spec.rb create mode 100644 spec/models/sale_order_spec.rb create mode 100644 spec/models/sale_payment_spec.rb create mode 100644 spec/models/sale_spec.rb create mode 100644 spec/models/sale_tax_spec.rb diff --git a/app/models/lookup.rb b/app/models/lookup.rb new file mode 100644 index 00000000..40b95cb9 --- /dev/null +++ b/app/models/lookup.rb @@ -0,0 +1,2 @@ +class Lookup < ApplicationRecord +end diff --git a/app/models/sale.rb b/app/models/sale.rb new file mode 100644 index 00000000..f15ed7f8 --- /dev/null +++ b/app/models/sale.rb @@ -0,0 +1,4 @@ +class Sale < ApplicationRecord + belongs_to :cashier + belongs_to :customer +end diff --git a/app/models/sale_audit.rb b/app/models/sale_audit.rb new file mode 100644 index 00000000..99df9de0 --- /dev/null +++ b/app/models/sale_audit.rb @@ -0,0 +1,2 @@ +class SaleAudit < ApplicationRecord +end diff --git a/app/models/sale_discount.rb b/app/models/sale_discount.rb new file mode 100644 index 00000000..1d18c856 --- /dev/null +++ b/app/models/sale_discount.rb @@ -0,0 +1,3 @@ +class SaleDiscount < ApplicationRecord + belongs_to :sale +end diff --git a/app/models/sale_discount_item.rb b/app/models/sale_discount_item.rb new file mode 100644 index 00000000..5b4df3bd --- /dev/null +++ b/app/models/sale_discount_item.rb @@ -0,0 +1,3 @@ +class SaleDiscountItem < ApplicationRecord + belongs_to :sale +end diff --git a/app/models/sale_item.rb b/app/models/sale_item.rb new file mode 100644 index 00000000..60e57903 --- /dev/null +++ b/app/models/sale_item.rb @@ -0,0 +1,3 @@ +class SaleItem < ApplicationRecord + belongs_to :sale +end diff --git a/app/models/sale_order.rb b/app/models/sale_order.rb new file mode 100644 index 00000000..7a27f5a3 --- /dev/null +++ b/app/models/sale_order.rb @@ -0,0 +1,4 @@ +class SaleOrder < ApplicationRecord + belongs_to :sale + belongs_to :order +end diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb new file mode 100644 index 00000000..04ca66d2 --- /dev/null +++ b/app/models/sale_payment.rb @@ -0,0 +1,3 @@ +class SalePayment < ApplicationRecord + belongs_to :sale +end diff --git a/app/models/sale_tax.rb b/app/models/sale_tax.rb new file mode 100644 index 00000000..cb3fae0b --- /dev/null +++ b/app/models/sale_tax.rb @@ -0,0 +1,3 @@ +class SaleTax < ApplicationRecord + belongs_to :sale +end diff --git a/db/migrate/20170403160742_create_sales.rb b/db/migrate/20170403160742_create_sales.rb new file mode 100644 index 00000000..ae8fcdaa --- /dev/null +++ b/db/migrate/20170403160742_create_sales.rb @@ -0,0 +1,25 @@ +class CreateSales < ActiveRecord::Migration[5.0] + def change + create_table :sales do |t| + t.integer :cashier_id, :null => false, :index => true + t.string :cashier_name, :null => false + t.string :requested_by, :null => false + t.datetime :requested_at, :null => false + t.string :receipt_no, :null => false + t.datetime :receipt_date, :null => false + t.references :customer, foreign_key: true + t.string :payment_status, :null => false, :default => "outstanding" + t.string :sale_status, :null => false, :default => "new" + t.decimal :total_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :total_discount, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :total_tax, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.string :tax_type, :null => false , :dfault => "exclusive_tax" + t.decimal :grant_total, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :rounding_adjustment, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :amount_received, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :amount_changed, :precision => 10, :scale => 2, :null => false, :default => 0.00 + + t.timestamps + end + end +end diff --git a/db/migrate/20170403161857_create_sale_items.rb b/db/migrate/20170403161857_create_sale_items.rb new file mode 100644 index 00000000..7f4533e3 --- /dev/null +++ b/db/migrate/20170403161857_create_sale_items.rb @@ -0,0 +1,17 @@ +class CreateSaleItems < ActiveRecord::Migration[5.0] + def change + create_table :sale_items do |t| + t.references :sale, foreign_key: true + t.string :product_code, :null => false + t.string :product_name, :null => false + t.string :remark + t.decimal :qty, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :unit_price, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :taxable_price, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :price, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.boolean :is_taxable, :null => false, :default => true + + t.timestamps + end + end +end diff --git a/db/migrate/20170403162221_create_sale_discounts.rb b/db/migrate/20170403162221_create_sale_discounts.rb new file mode 100644 index 00000000..e10b2f98 --- /dev/null +++ b/db/migrate/20170403162221_create_sale_discounts.rb @@ -0,0 +1,13 @@ +class CreateSaleDiscounts < ActiveRecord::Migration[5.0] + def change + create_table :sale_discounts do |t| + t.references :sale, foreign_key: true + t.string :discount_type, :null => false + t.decimal :discount_value, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :discount_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.string :discount_code + + t.timestamps + end + end +end diff --git a/db/migrate/20170403162844_create_sale_discount_items.rb b/db/migrate/20170403162844_create_sale_discount_items.rb new file mode 100644 index 00000000..aab04564 --- /dev/null +++ b/db/migrate/20170403162844_create_sale_discount_items.rb @@ -0,0 +1,19 @@ +class CreateSaleDiscountItems < ActiveRecord::Migration[5.0] + def change + create_table :sale_discount_items do |t| + t.references :sale, foreign_key: true + t.string :product_code, :null => false + t.string :product_name, :null => false + t.decimal :unit_price, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :discounted_price, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :qty, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.string :remark + t.decimal :price, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.string :discount_type, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :discounted_value, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.boolean :is_taxable, :null => false, :default => true + + t.timestamps + end + end +end diff --git a/db/migrate/20170403163219_create_sale_taxes.rb b/db/migrate/20170403163219_create_sale_taxes.rb new file mode 100644 index 00000000..c52e4117 --- /dev/null +++ b/db/migrate/20170403163219_create_sale_taxes.rb @@ -0,0 +1,12 @@ +class CreateSaleTaxes < ActiveRecord::Migration[5.0] + def change + create_table :sale_taxes do |t| + t.references :sale, foreign_key: true + t.string :tax_name, :null => false + t.decimal :tax_rate, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :tax_payable_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.boolean :inclusive, :default => false, :null => false + t.timestamps + end + end +end diff --git a/db/migrate/20170403163734_create_sale_payments.rb b/db/migrate/20170403163734_create_sale_payments.rb new file mode 100644 index 00000000..dd440036 --- /dev/null +++ b/db/migrate/20170403163734_create_sale_payments.rb @@ -0,0 +1,14 @@ +class CreateSalePayments < ActiveRecord::Migration[5.0] + def change + create_table :sale_payments do |t| + t.references :sale, foreign_key: true + t.string :payment_method, :null => false, :default => "cash" + t.decimal :payment_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :outstanding_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.string :payment_reference + t.string :payment_status, :null => false, :default => "new" + + t.timestamps + end + end +end diff --git a/db/migrate/20170403174029_create_sale_orders.rb b/db/migrate/20170403174029_create_sale_orders.rb new file mode 100644 index 00000000..50923ac2 --- /dev/null +++ b/db/migrate/20170403174029_create_sale_orders.rb @@ -0,0 +1,10 @@ +class CreateSaleOrders < ActiveRecord::Migration[5.0] + def change + create_table :sale_orders do |t| + t.references :sale, foreign_key: true + t.references :order, foreign_key: true + + t.timestamps + end + end +end diff --git a/db/migrate/20170403174111_create_sale_audits.rb b/db/migrate/20170403174111_create_sale_audits.rb new file mode 100644 index 00000000..1880478b --- /dev/null +++ b/db/migrate/20170403174111_create_sale_audits.rb @@ -0,0 +1,14 @@ +class CreateSaleAudits < ActiveRecord::Migration[5.0] + def change + create_table :sale_audits do |t| + t.references :sale, foreign_key: true + t.string :action, :null => false + t.datetime :action_at, :null => false + t.string :action_by, :null => false + t.string :approved_by, :null => false + t.datetime :approved_by, :null => false + t.string :remark + t.timestamps + end + end +end diff --git a/db/migrate/20170403174309_create_lookups.rb b/db/migrate/20170403174309_create_lookups.rb new file mode 100644 index 00000000..a825cc8f --- /dev/null +++ b/db/migrate/20170403174309_create_lookups.rb @@ -0,0 +1,9 @@ +class CreateLookups < ActiveRecord::Migration[5.0] + def change + create_table :lookups do |t| + t.string :lookup_type, :null => false + t.string :name, :null => false + t.string :value, :null => false + end + end +end diff --git a/db/schema.txt b/db/schema.txt index f301b1f8..a7f371fd 100644 --- a/db/schema.txt +++ b/db/schema.txt @@ -59,7 +59,10 @@ order_queue_log {order_id, job_status [new, completed], print_status [], header: order_queue_process_by_zone {order_queue_station, zone} payment_method_settings {payment_method, is_active, api_url , auth_token , account_id} -cashier_terminals {name:string, is_active, print_name:string, header, font_size, font, footer, show_tax, show_cashier, show_guest_info} +Employee {name, role, access_code, encrypted_code} + +cashier_terminals {name:string, is_active,is_login_in, print_name:string, header, font_size, font, footer, show_tax, show_cashier, show_guest_info} +cashier_login_logs {cashier_station, employee, login_at, logout_at} sale {cashier, requested_by, receipt_no, customer, payment_status, sale_status, total_amount, total_discount, total_tax, tax_type, grand_total, amount_received, amount_changed} sale_items {sale, product_code, product_name, remark, qty, unit_price, taxable_amount, price} @@ -74,5 +77,3 @@ inventory_journal {product_code, qty, debit, credit, balance, references, stock_ stock_entry { who, date, status [new, processing, completed], action [entry | audit] } lookup {lookup_type, name, value} [status | payment_method | employee_role | payment_status | ] - -Employee {name, role, access_code, encrypted_code} diff --git a/spec/models/lookup_spec.rb b/spec/models/lookup_spec.rb new file mode 100644 index 00000000..ff4931d0 --- /dev/null +++ b/spec/models/lookup_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe Lookup, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/sale_audit_spec.rb b/spec/models/sale_audit_spec.rb new file mode 100644 index 00000000..f3334a7e --- /dev/null +++ b/spec/models/sale_audit_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe SaleAudit, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/sale_discount_item_spec.rb b/spec/models/sale_discount_item_spec.rb new file mode 100644 index 00000000..57919447 --- /dev/null +++ b/spec/models/sale_discount_item_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe SaleDiscountItem, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/sale_discount_spec.rb b/spec/models/sale_discount_spec.rb new file mode 100644 index 00000000..1365ceff --- /dev/null +++ b/spec/models/sale_discount_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe SaleDiscount, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/sale_item_spec.rb b/spec/models/sale_item_spec.rb new file mode 100644 index 00000000..c7ffefd5 --- /dev/null +++ b/spec/models/sale_item_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe SaleItem, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/sale_order_spec.rb b/spec/models/sale_order_spec.rb new file mode 100644 index 00000000..ac1ce748 --- /dev/null +++ b/spec/models/sale_order_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe SaleOrder, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/sale_payment_spec.rb b/spec/models/sale_payment_spec.rb new file mode 100644 index 00000000..22a0cada --- /dev/null +++ b/spec/models/sale_payment_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe SalePayment, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/sale_spec.rb b/spec/models/sale_spec.rb new file mode 100644 index 00000000..7ac2c49d --- /dev/null +++ b/spec/models/sale_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe Sale, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/sale_tax_spec.rb b/spec/models/sale_tax_spec.rb new file mode 100644 index 00000000..bcb31b66 --- /dev/null +++ b/spec/models/sale_tax_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe SaleTax, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end