comee_core 0.2.35 → 0.2.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf6fc63ad754f4758f41618ce9466a608116d8e38c3c8cfe938a87cbcd2ac97a
4
- data.tar.gz: 5c12cc3e700a0c6f8e0c35a649f438cd8f512c680b094943fd35285fb9d3a347
3
+ metadata.gz: 9e9e650443cc408aaf5be8f1ecb6838100af7f2a51ea36b1dbf6c9a63154e30d
4
+ data.tar.gz: 5030a418187ced18a1afd12ec36127858d02461c7dd796889c6dca205664f2e2
5
5
  SHA512:
6
- metadata.gz: 429787daf6e1d36ee7091c4620ed014cddbe2b9a312d30b6b414f46a2add9057fee1ec11112730b6f8d17b78ea5747affbbe24ae62b6c2eed6533f39c11fe6c2
7
- data.tar.gz: e0f204ae7f90d4844ac35cd5bfa27128e5aa26ff42c3efdf16eb01bfdafa71a035f0d5121ed2e815770bfd30835075f835e730f41169d338a2268ed37bdc0792
6
+ metadata.gz: e49268b1d68d607ef6a1c284f8d21c77e2dfdf84986d13299b522faf64c9dc55f188ac9481623cabccd790778c110f9ee8bf21c60b7906d0893a6cd5113dc8a9
7
+ data.tar.gz: 25262be73c2e10219a3c74769f8356a0e0026ba7edc324425c8f96c24d4ce678a3812e843c76e78f24e58cb60a05af7225c7cc8e644f8f98b2868c03f00358eb
@@ -47,7 +47,7 @@ module Comee
47
47
  def model_params
48
48
  params.require(:payload).permit(:sales_order_id, :customer_order_item_id, :product_id, :unit_id, :quantity, :quantity_delivered,
49
49
  :customer_item_no, :customer_item_description, :price, :handover_date, :delivery_date,
50
- :eb_number, :lead_time, :comment, :action_note, :po_reference, :pallet_no, :source_id,
50
+ :eb_number, :lead_time, :comment, :action_note, :purchase_order_item_id, :pallet_no, :source_id,
51
51
  :processing_status)
52
52
  end
53
53
  end
@@ -49,7 +49,6 @@ module Comee
49
49
  quantity: item.sales_order_item.quantity,
50
50
  delivery_date: item.sales_order_item.delivery_date,
51
51
  handover_date: item.sales_order_item.sales_order.handover_date,
52
- po_reference: item.sales_order_item.po_reference,
53
52
  status: status&.status
54
53
  }
55
54
  res << data.merge(status&.details)
@@ -1,16 +1,30 @@
1
1
  module Comee
2
2
  module Core
3
3
  class PurchaseOrderItem < ApplicationRecord
4
+ before_save :calculate_total_price, :calculate_confirmation_values
5
+
4
6
  enum status: {active: 0, canceled: 1}
5
7
 
6
8
  belongs_to :purchase_order
7
9
  belongs_to :unit
8
10
  belongs_to :source, polymorphic: true
9
11
 
10
- validates :quantity, :confirmed_quantity, presence: true, numericality: {greater_than: 0}
11
- validates :price, :confirmed_price, presence: true, numericality: {greater_than_or_equal_to: 0}
12
+ validates :quantity, presence: true, numericality: {greater_than: 0}
13
+ validates :price, presence: true, numericality: {greater_than_or_equal_to: 0}
12
14
  validates :status, :delivery_date, :confirmed_delivery_date, presence: true
13
15
 
16
+ def calculate_total_price
17
+ self.total_price = price * quantity
18
+ end
19
+
20
+ def calculate_confirmation_values
21
+ self.confirmed_price = price unless confirmed_price
22
+
23
+ self.confirmed_quantity = quantity unless confirmed_quantity
24
+
25
+ self.confirmed_total_price = confirmed_price * confirmed_quantity
26
+ end
27
+
14
28
  def self.ransackable_attributes(_auth_object = nil)
15
29
  %w[
16
30
  id
@@ -10,6 +10,7 @@ module Comee
10
10
  belongs_to :unit
11
11
  belongs_to :supplier
12
12
  belongs_to :purchase_requisition
13
+ belongs_to :purchase_order_item, optional: true
13
14
 
14
15
  validates :processing_status, presence: true
15
16
  validates :quantity, :price, presence: true, numericality: {greater_than_or_equal_to: 0}
@@ -10,6 +10,7 @@ module Comee
10
10
  belongs_to :product
11
11
  belongs_to :unit
12
12
  belongs_to :source, class_name: "Comee::Core::FulfillmentCenter", optional: true
13
+ belongs_to :purchase_order_item, optional: true
13
14
  has_many :shipment_items
14
15
 
15
16
  validates :customer_item_no, :customer_item_description, :delivery_date, :processing_status, presence: true
@@ -30,9 +31,9 @@ module Comee
30
31
  eb_number
31
32
  handover_date
32
33
  lead_time
33
- po_reference
34
34
  product_id
35
35
  sales_order_id
36
+ purchase_order_item_id
36
37
  source_id
37
38
  unit_id
38
39
  processing_status
@@ -40,7 +41,7 @@ module Comee
40
41
  end
41
42
 
42
43
  def self.ransackable_associations(_auth_object = nil)
43
- %w[customer_order_item product sales_order source unit]
44
+ %w[customer_order_item product sales_order purchase_order_item source unit]
44
45
  end
45
46
  end
46
47
  end
@@ -2,7 +2,7 @@ module Comee
2
2
  module Core
3
3
  class SalesOrderItemSerializer < ActiveModel::Serializer
4
4
  attributes :id, :customer_item_no, :customer_item_description, :quantity, :quantity_delivered, :price, :handover_date,
5
- :delivery_date, :eb_number, :lead_time, :comment, :action_note, :po_reference, :total_price, :canceled,
5
+ :delivery_date, :eb_number, :lead_time, :comment, :action_note, :purchase_order_item_id, :total_price, :canceled,
6
6
  :processing_status
7
7
 
8
8
  belongs_to :sales_order
@@ -15,6 +15,8 @@ class CreateComeeCorePurchaseOrderItems < ActiveRecord::Migration[7.1]
15
15
  foreign_key: {to_table: :comee_core_units}
16
16
  t.float :price, null: false
17
17
  t.float :confirmed_price, null: false
18
+ t.float :total_price, null: false
19
+ t.float :confirmed_total_price, null: false
18
20
  t.date :delivery_date, null: false
19
21
  t.date :confirmed_delivery_date, null: false
20
22
  t.integer :status, null: false, default: 0
@@ -21,6 +21,10 @@ class CreateComeeCoreSalesOrderItems < ActiveRecord::Migration[7.0]
21
21
  null: true,
22
22
  index: {name: "source_on_ccsoi_indx"},
23
23
  foreign_key: {to_table: :comee_core_fulfillment_centers}
24
+ t.references :purchase_order_item,
25
+ null: true,
26
+ index: {name: "poi_on_ccsoi_indx"},
27
+ foreign_key: {to_table: :comee_core_purchase_order_items}
24
28
  t.string :customer_item_no, null: false
25
29
  t.string :customer_item_description, null: false
26
30
  t.float :quantity, null: false
@@ -34,7 +38,6 @@ class CreateComeeCoreSalesOrderItems < ActiveRecord::Migration[7.0]
34
38
  t.integer :lead_time
35
39
  t.string :comment
36
40
  t.string :action_note
37
- t.string :po_reference
38
41
  t.integer :processing_status, null: false, default: 0
39
42
 
40
43
  t.timestamps
@@ -17,6 +17,10 @@ class CreateComeeCorePurchaseRequisitionItems < ActiveRecord::Migration[7.1]
17
17
  null: false,
18
18
  index: {name: "pr_on_ccpri_indx"},
19
19
  foreign_key: {to_table: :comee_core_purchase_requisitions}
20
+ t.references :purchase_order_item,
21
+ null: true,
22
+ index: {name: "poi_on_ccpri_indx"},
23
+ foreign_key: {to_table: :comee_core_purchase_order_items}
20
24
  t.float :quantity, null: false
21
25
  t.float :price, null: false
22
26
  t.float :total_price, null: false
@@ -1,5 +1,5 @@
1
1
  module Comee
2
2
  module Core
3
- VERSION = "0.2.35".freeze
3
+ VERSION = "0.2.36".freeze
4
4
  end
5
5
  end
@@ -7,6 +7,8 @@ FactoryBot.define do
7
7
  confirmed_quantity { quantity }
8
8
  price { 100 }
9
9
  confirmed_price { price }
10
+ total_price { price * quantity }
11
+ confirmed_total_price { confirmed_price && confirmed_quantity ? confirmed_price * confirmed_quantity : 0 }
10
12
  delivery_date { Date.current.advance(days: 7) }
11
13
  confirmed_delivery_date { delivery_date }
12
14
  status { 0 }
@@ -4,6 +4,7 @@ FactoryBot.define do
4
4
  unit
5
5
  supplier
6
6
  purchase_requisition
7
+ purchase_order_item { nil }
7
8
  quantity { 10 }
8
9
  price { 15 }
9
10
  processing_status { Comee::Core::PurchaseRequisitionItem.processing_statuses[:unprocessed] }
@@ -5,6 +5,7 @@ FactoryBot.define do
5
5
  source factory: :fulfillment_center
6
6
  product
7
7
  unit
8
+ purchase_order_item { nil }
8
9
  customer_item_no { Faker::Alphanumeric.alpha(number: 10) }
9
10
  customer_item_description { Faker::Lorem.sentence }
10
11
  quantity { 100 }
@@ -17,7 +18,6 @@ FactoryBot.define do
17
18
  lead_time { nil }
18
19
  comment { Faker::Lorem.sentence }
19
20
  action_note { Faker::Lorem.sentence }
20
- po_reference { Faker::Alphanumeric.alpha(number: 10) }
21
21
  canceled { false }
22
22
  processing_status { Comee::Core::SalesOrderItem.processing_statuses[:unprocessed] }
23
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comee_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.35
4
+ version: 0.2.36
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
@@ -399,6 +399,8 @@ files:
399
399
  - db/migrate/20230728123039_create_comee_core_clients.rb
400
400
  - db/migrate/20230728123458_create_comee_core_agents.rb
401
401
  - db/migrate/20230728123559_create_comee_core_contacts.rb
402
+ - db/migrate/20230728123823_create_comee_core_purchase_orders.rb
403
+ - db/migrate/20230728123827_create_comee_core_purchase_order_items.rb
402
404
  - db/migrate/20230728123928_create_comee_core_back_orders.rb
403
405
  - db/migrate/20230728125723_create_comee_core_back_order_items.rb
404
406
  - db/migrate/20230730061225_create_comee_core_notifications.rb
@@ -439,8 +441,6 @@ files:
439
441
  - db/migrate/20240314111117_create_comee_core_purchase_requisitions.rb
440
442
  - db/migrate/20240314111307_create_comee_core_purchase_requisition_items.rb
441
443
  - db/migrate/20240315163900_add_subsidiary_to_client.rb
442
- - db/migrate/20240325122723_create_comee_core_purchase_orders.rb
443
- - db/migrate/20240326082907_create_comee_core_purchase_order_items.rb
444
444
  - lib/comee/core.rb
445
445
  - lib/comee/core/engine.rb
446
446
  - lib/comee/core/version.rb