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 +4 -4
- data/app/controllers/comee/core/sales_order_items_controller.rb +1 -1
- data/app/controllers/comee/core/shipment_items_controller.rb +0 -1
- data/app/models/comee/core/purchase_order_item.rb +16 -2
- data/app/models/comee/core/purchase_requisition_item.rb +1 -0
- data/app/models/comee/core/sales_order_item.rb +3 -2
- data/app/serializers/comee/core/sales_order_item_serializer.rb +1 -1
- data/db/migrate/{20240326082907_create_comee_core_purchase_order_items.rb → 20230728123827_create_comee_core_purchase_order_items.rb} +2 -0
- data/db/migrate/20230812212844_create_comee_core_sales_order_items.rb +4 -1
- data/db/migrate/20240314111307_create_comee_core_purchase_requisition_items.rb +4 -0
- data/lib/comee/core/version.rb +1 -1
- data/spec/factories/comee/core/purchase_order_items.rb +2 -0
- data/spec/factories/comee/core/purchase_requisition_items.rb +1 -0
- data/spec/factories/comee/core/sales_order_items.rb +1 -1
- metadata +3 -3
- /data/db/migrate/{20240325122723_create_comee_core_purchase_orders.rb → 20230728123823_create_comee_core_purchase_orders.rb} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e9e650443cc408aaf5be8f1ecb6838100af7f2a51ea36b1dbf6c9a63154e30d
|
4
|
+
data.tar.gz: 5030a418187ced18a1afd12ec36127858d02461c7dd796889c6dca205664f2e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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, :
|
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,
|
11
|
-
validates :price,
|
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, :
|
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
|
data/lib/comee/core/version.rb
CHANGED
@@ -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 }
|
@@ -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.
|
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
|