comee_core 0.2.35 → 0.2.36

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: 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