comee_core 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 57905a1877a1cfdd9fea4c9e066e0f9ee22917dac5b52da002c2c6870f8599da
4
- data.tar.gz: fd73641d6b2535751080b5d582b96e4f8506b192f990b664644afaef4a187b7b
3
+ metadata.gz: dee86ba54d03d24746b9bee9206b141b1fe630e4f25197073e6da4b400a4bbca
4
+ data.tar.gz: 8626a1eebf4ee8ad7f236e5832598f5a41ee3cc3a5c9d0238d307f3a219062fb
5
5
  SHA512:
6
- metadata.gz: 74ed17525f0cad01052f2b1b3f4dbe72dc6c155422e738ca441686402b3fa19ab1c6c616021c211e918b39d05d00cef643b0cbf7e634250bc1a72d4c8a838fed
7
- data.tar.gz: 78ddd02578f0e92d16d75e04399d08d081fd9d00e989c4ea76c6c7ec29b86686010a91032a2e3de26369e817a997b7b1c7e554c0a1301e9ccc6d50a095fba79c
6
+ metadata.gz: 6a140b4c3860bc2c115297768421772b749a9ca23560027b2f2e3d7bee0a63c60397badc4b4aea3d12ab85edb7161289c9c4cb2387cea8f9da1efd5616671a03
7
+ data.tar.gz: c9b452eaedcf75e2a42265dfd4eed794f32b7fbce5febacf51014716ca2c13aae0509bc7f698760d3ab47268def7fc928255bdc33b3e11e9fc7981d73cf09518
@@ -60,7 +60,7 @@ module Comee
60
60
  def model_params
61
61
  params.require(:payload).permit(:order_number, :customer_order_id, :payment_penalty, :payment_term, :delivery_term, :status,
62
62
  :fulfillment_center_id, :total_price, :amount_paid, :pallete_note, :handover_date, :remark,
63
- :client_id, files: [])
63
+ :consignee, :client_id, files: [])
64
64
  end
65
65
 
66
66
  def back_order_params
@@ -61,7 +61,7 @@ module Comee
61
61
 
62
62
  def model_params
63
63
  params.require(:payload).permit(:sales_order_item_id, :quantity, :shipment_status, :status, :handover_date, :delivery_date,
64
- :pallet_no)
64
+ :pallet_no, :consignee, :order_number)
65
65
  end
66
66
  end
67
67
  end
@@ -1,27 +1,17 @@
1
1
  module Comee
2
2
  module Core
3
3
  class Invoice < ApplicationRecord
4
- before_save :update_invoice_total
5
4
  belongs_to :sales_order
6
5
  has_many :invoice_items
7
6
 
8
7
  has_noticed_notifications model_name: "Comee::Core::Notification"
9
8
 
10
9
  enum :status, {draft: 0, approved: 1}
11
- enum :payment_status, {not_settled: 0, settled: 1}
10
+ enum :payment_status, {not_paid: 0, partially_paid: 1, fully_paid: 2, overpaid: 3}
12
11
 
13
12
  validates :invoice_no, presence: true, uniqueness: true
14
13
  validates :date_issued, :payment_term, :status, :payment_status, presence: true
15
- validates :additional_charges, :total_price, numericality: {greater_than_or_equal_to: 0, allow_nil: true}
16
-
17
- delegate(:order_number, to: :sales_order)
18
-
19
- def update_invoice_total
20
- self.additional_charges ||= 0
21
- self.total_price ||= 0
22
- self.total_price -= additional_charges_was if additional_charges_was && additional_charges_changed?
23
- self.total_price += additional_charges
24
- end
14
+ validates :total_price, numericality: {greater_than_or_equal_to: 0, allow_nil: true}
25
15
 
26
16
  def self.ransackable_attributes(_auth_object = nil)
27
17
  %w[
@@ -2,21 +2,13 @@ module Comee
2
2
  module Core
3
3
  class InvoiceItem < ApplicationRecord
4
4
  before_save { self.total_price = unit_price * quantity }
5
- after_save :update_invoice_total
6
5
 
7
- belongs_to :sales_order_item
6
+ belongs_to :shipment_instruction_item
8
7
  belongs_to :invoice
8
+ belongs_to :unit
9
9
 
10
10
  validates :quantity, :unit_price, presence: true, numericality: {greater_than: 0}
11
11
  validates :total_price, numericality: {greater_than_or_equal_to: 0, allow_nil: true}
12
-
13
- delegate(:product_code, to: :sales_order_item)
14
- delegate(:product_name, to: :sales_order_item)
15
-
16
- def update_invoice_total
17
- invoice.total_price = InvoiceItem.where(invoice: invoice).map(&:total_price).sum
18
- invoice.save!
19
- end
20
12
  end
21
13
  end
22
14
  end
@@ -2,7 +2,7 @@ module Comee
2
2
  module Core
3
3
  class ItemStatus < ApplicationRecord
4
4
  INITIALIZED = "Initialized".freeze
5
- DELIVERY_NOTE_CREATED = "Delivery note created".freeze
5
+ DELIVERY_NOTE_CREATED = "Delivery Note Created".freeze
6
6
  COMPLETELY_PICKED_AND_PACKED = "Completely Picked & Packed".freeze
7
7
  PARTIALLY_PICKED_AND_PACKED = "Partially Picked & Packed".freeze
8
8
 
@@ -6,7 +6,7 @@ module Comee
6
6
  belongs_to :sales_order_item
7
7
  has_many :item_statuses
8
8
 
9
- validates :handover_date, :delivery_date, :shipment_status, :status, presence: true
9
+ validates :handover_date, :delivery_date, :shipment_status, :status, :order_number, presence: true
10
10
  validates :quantity, presence: true, numericality: {greater_than: 0}
11
11
 
12
12
  def self.ransackable_attributes(_auth_object = nil)
@@ -2,7 +2,7 @@ module Comee
2
2
  module Core
3
3
  class SalesOrderSerializer < ActiveModel::Serializer
4
4
  attributes :id, :order_number, :payment_penalty, :status, :total_price, :payment_term, :delivery_term, :amount_paid,
5
- :pallete_note, :handover_date, :remark, :parent_client_name, :created_by, :files_url, :customs_detail
5
+ :pallete_note, :handover_date, :remark, :parent_client_name, :created_by, :files_url, :customs_detail, :consignee
6
6
  belongs_to :customer_order
7
7
  belongs_to :client
8
8
  belongs_to :fulfillment_center
@@ -1,7 +1,8 @@
1
1
  module Comee
2
2
  module Core
3
3
  class ShipmentItemSerializer < ActiveModel::Serializer
4
- attributes :id, :quantity, :shipment_status, :status, :handover_date, :delivery_date, :pallet_no
4
+ attributes :id, :quantity, :shipment_status, :status, :handover_date, :delivery_date, :pallet_no, :consignee,
5
+ :order_number
5
6
  belongs_to :sales_order_item
6
7
  end
7
8
  end
@@ -141,6 +141,7 @@ module Comee
141
141
  customer_order: order,
142
142
  status: SalesOrder.statuses[:draft],
143
143
  client: order.client,
144
+ consignee: order.consignee,
144
145
  created_by: accepted_by || ""
145
146
  )
146
147
  order_items = order.customer_order_items.includes(:product, :unit)
@@ -14,6 +14,7 @@ class CreateComeeCoreSalesOrders < ActiveRecord::Migration[7.0]
14
14
  null: false,
15
15
  index: {name: "client_on_ccso_indx"},
16
16
  foreign_key: {to_table: :comee_core_clients}
17
+ t.string :consignee
17
18
  t.string :parent_client_name
18
19
  t.string :payment_term
19
20
  t.string :delivery_term
@@ -11,6 +11,8 @@ class CreateComeeCoreShipmentItems < ActiveRecord::Migration[7.1]
11
11
  t.date :handover_date, null: false
12
12
  t.date :delivery_date, null: false
13
13
  t.string :pallet_no
14
+ t.string :consignee
15
+ t.string :order_number, null: false
14
16
 
15
17
  t.timestamps
16
18
  end
@@ -6,13 +6,10 @@ class CreateComeeCoreInvoices < ActiveRecord::Migration[7.0]
6
6
  null: false,
7
7
  index: {name: "co_on_cci_indx"},
8
8
  foreign_key: {to_table: :comee_core_sales_orders}
9
- t.date :date_issued, null: false
10
- t.string :ship_name
11
- t.date :delivery_date
12
- t.string :voyage_no
13
- t.float :additional_charges
9
+ t.date :date_issued
10
+ t.date :due_date
14
11
  t.float :total_price
15
- t.string :payment_term, null: false
12
+ t.string :payment_term
16
13
  t.integer :notifications_sent
17
14
  t.integer :status, null: false, default: 0
18
15
  t.integer :payment_status, null: false, default: 0
@@ -1,13 +1,17 @@
1
1
  class CreateComeeCoreInvoiceItems < ActiveRecord::Migration[7.0]
2
2
  def change
3
3
  create_table :comee_core_invoice_items do |t|
4
- t.references :sales_order_item,
4
+ t.references :shipment_instruction_item,
5
5
  null: false,
6
- index: {name: "soi_on_ccii_indx"},
7
- foreign_key: {to_table: :comee_core_sales_order_items}
6
+ index: {name: "sii_on_ccii_indx"},
7
+ foreign_key: {to_table: :comee_core_shipment_instruction_items}
8
+ t.references :unit,
9
+ null: false,
10
+ index: {name: "unit_on_ccii_indx"},
11
+ foreign_key: {to_table: :comee_core_units}
8
12
  t.float :quantity, null: false
9
13
  t.float :unit_price, null: false
10
- t.float :total_price, null: false
14
+ t.float :total_price
11
15
  t.references :invoice,
12
16
  null: false,
13
17
  index: {name: "invoice_on_ccii_indx"},
@@ -1,5 +1,5 @@
1
1
  module Comee
2
2
  module Core
3
- VERSION = "0.2.0".freeze
3
+ VERSION = "0.2.2".freeze
4
4
  end
5
5
  end
@@ -1,9 +1,10 @@
1
1
  FactoryBot.define do
2
2
  factory :invoice_item, class: "Comee::Core::InvoiceItem" do
3
- sales_order_item
3
+ shipment_instruction_item
4
+ unit
4
5
  quantity { 10 }
5
6
  unit_price { 5 }
6
- total_price { 50 }
7
+ total_price { quantity * unit_price }
7
8
  invoice
8
9
  end
9
10
  end
@@ -3,14 +3,11 @@ FactoryBot.define do
3
3
  invoice_no { Faker::Alphanumeric.alpha(number: 8) }
4
4
  sales_order
5
5
  date_issued { Date.current }
6
- ship_name { Faker::Name.name }
7
- delivery_date { Date.current.advance(days: -7) }
8
- voyage_no { Faker::Alphanumeric.alpha(number: 10) }
9
- additional_charges { 0 }
6
+ due_date { Date.current.advance(days: 10) }
10
7
  total_price { 0 }
11
8
  payment_term { Faker::Lorem.sentence }
12
9
  notifications_sent { 0 }
13
10
  status { Comee::Core::Invoice.statuses[:draft] }
14
- payment_status { 0 }
11
+ payment_status { Comee::Core::Invoice.payment_statuses[:not_paid] }
15
12
  end
16
13
  end
@@ -11,6 +11,7 @@ FactoryBot.define do
11
11
  amount_paid { 0 }
12
12
  status { Comee::Core::SalesOrder.statuses[:draft] }
13
13
  pallete_note { Faker::Lorem.sentence }
14
+ consignee { Faker::Name.name }
14
15
  remark { Faker::Lorem.sentence }
15
16
  parent_client_name { Faker::Name.name }
16
17
  created_by { Faker::Name.name }
@@ -7,5 +7,7 @@ FactoryBot.define do
7
7
  handover_date { Date.current.advance(days: 3) }
8
8
  delivery_date { Date.current.advance(days: 6) }
9
9
  pallet_no { Faker::Alphanumeric.alpha(number: 10) }
10
+ consignee { Faker::Name.name }
11
+ order_number { sales_order_item.sales_order.order_number }
10
12
  end
11
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comee_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-22 00:00:00.000000000 Z
11
+ date: 2024-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -405,8 +405,6 @@ files:
405
405
  - db/migrate/20230813041307_create_comee_core_product_lookups.rb
406
406
  - db/migrate/20230813235946_create_comee_core_master_prices.rb
407
407
  - db/migrate/20230814151601_create_comee_core_client_prices.rb
408
- - db/migrate/20230915205522_create_comee_core_invoices.rb
409
- - db/migrate/20230915205648_create_comee_core_invoice_items.rb
410
408
  - db/migrate/20230929115336_create_comee_core_order_sources.rb
411
409
  - db/migrate/20230929130910_create_comee_core_client_orders.rb
412
410
  - db/migrate/20231003073316_create_comee_core_inventories.rb
@@ -422,9 +420,11 @@ files:
422
420
  - db/migrate/20231206082503_create_comee_core_unit_conversions.rb
423
421
  - db/migrate/20231207153420_create_comee_core_shipment_items.rb
424
422
  - db/migrate/20231207235542_create_comee_core_item_statuses.rb
425
- - db/migrate/20240103074619_create_comee_core_pods.rb
423
+ - db/migrate/20240104074619_create_comee_core_pods.rb
426
424
  - db/migrate/20240104131607_create_comee_core_shipment_instructions.rb
427
425
  - db/migrate/20240104143246_create_comee_core_shipment_instruction_items.rb
426
+ - db/migrate/20240105205522_create_comee_core_invoices.rb
427
+ - db/migrate/20240105205648_create_comee_core_invoice_items.rb
428
428
  - db/migrate/20240109185749_create_comee_core_transport_availability.rb
429
429
  - db/migrate/20240109185931_create_comee_core_time_slots.rb
430
430
  - db/migrate/20240111112140_create_comee_core_pickup_schedules.rb