cats_core 1.4.3 → 1.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/cats/core/dispatch_plan_items_controller.rb +1 -1
- data/app/controllers/cats/core/dispatch_plans_controller.rb +1 -1
- data/app/controllers/cats/core/dispatch_transactions_controller.rb +1 -1
- data/app/controllers/cats/core/dispatches_controller.rb +1 -1
- data/app/controllers/cats/core/stacks_controller.rb +2 -2
- data/app/models/cats/core/commodity.rb +1 -1
- data/app/models/cats/core/dispatch_plan.rb +0 -2
- data/app/models/cats/core/dispatch_plan_item.rb +3 -1
- data/app/models/cats/core/transport_bid_item.rb +1 -0
- data/app/notifications/cats/core/allocation_notification.rb +2 -2
- data/app/notifications/cats/core/dispatch_notification.rb +1 -1
- data/app/serializers/cats/core/commodity_serializer.rb +1 -1
- data/app/serializers/cats/core/dispatch_plan_serializer.rb +1 -2
- data/app/services/cats/core/stack_service.rb +8 -8
- data/config/routes.rb +1 -1
- data/db/migrate/20210718043328_create_cats_core_dispatch_plans.rb +0 -5
- data/db/migrate/20210718043401_create_cats_core_dispatch_plan_items.rb +4 -0
- data/lib/cats/core/version.rb +1 -1
- data/spec/factories/cats/core/dispatch_plan_items.rb +1 -0
- data/spec/factories/cats/core/dispatch_plans.rb +0 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05ec37047a728927e68df2e0a0ae34dd16cca869cfe658314ea5fb0738ae894b
|
4
|
+
data.tar.gz: 272f1c6cb33e96a8407cab42c3b9bd8b01540156feee9bf4d6012b5b97600b52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19a5247f29b37ca8dc8a0176719b22b924069166168ddcf684a84ca0bcbd45ae170a164516ffada4cb2066b428ece538f89c8daa45bfb2db15bd432fb9676dab
|
7
|
+
data.tar.gz: b41ed1c8028112b527cd21b01821187260ba85ab2647fe7f477422a69f40a72420aed74d6741d3525f5812d110354b85bc12cf23b54163ce921286be1d185e10
|
@@ -14,7 +14,7 @@ module Cats
|
|
14
14
|
# user to give us a source.
|
15
15
|
def create_allocation
|
16
16
|
dispatch = Dispatch.find(model_params[:dispatch_id])
|
17
|
-
commodity = dispatch.dispatch_plan_item.
|
17
|
+
commodity = dispatch.dispatch_plan_item.commodity
|
18
18
|
transaction = DispatchTransaction.new(model_params)
|
19
19
|
|
20
20
|
# Fetch supplier stack by commodity
|
@@ -13,9 +13,9 @@ module Cats
|
|
13
13
|
render json: { success: true, data: serialize(query.result) }
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
16
|
+
def items_for_location
|
17
17
|
service = StackService.new
|
18
|
-
commodities = service.
|
18
|
+
commodities = service.items_for_location(current_user)
|
19
19
|
render json: { success: true, data: serialize(commodities) }
|
20
20
|
end
|
21
21
|
|
@@ -38,7 +38,7 @@ module Cats
|
|
38
38
|
validates :arrival_status, presence: true, inclusion: { in: ARRIVAL_STATUSES }
|
39
39
|
validates :status, presence: true, inclusion: { in: STATUSES }
|
40
40
|
|
41
|
-
delegate(:abbreviation, to: :unit_of_measure, prefix:
|
41
|
+
delegate(:abbreviation, to: :unit_of_measure, prefix: 'unit')
|
42
42
|
delegate(:reference_no, to: :source, prefix: true)
|
43
43
|
|
44
44
|
def name
|
@@ -8,7 +8,6 @@ module Cats
|
|
8
8
|
belongs_to :dispatchable, polymorphic: true, optional: true
|
9
9
|
belongs_to :prepared_by, class_name: 'Cats::Core::User'
|
10
10
|
belongs_to :approved_by, class_name: 'Cats::Core::User', optional: true
|
11
|
-
belongs_to :commodity
|
12
11
|
|
13
12
|
has_many :dispatch_plan_items
|
14
13
|
|
@@ -16,7 +15,6 @@ module Cats
|
|
16
15
|
validates :status, inclusion: { in: STATUSES }
|
17
16
|
validate :validate_dispatchable, on: :create
|
18
17
|
|
19
|
-
delegate(:batch_no, :name, :quantity, to: :commodity, prefix: true)
|
20
18
|
delegate(:request_reference, to: :dispatchable, allow_nil: true)
|
21
19
|
delegate(:request_quantity, to: :dispatchable, allow_nil: true)
|
22
20
|
|
@@ -10,6 +10,8 @@ module Cats
|
|
10
10
|
belongs_to :source, class_name: 'Cats::Core::Location'
|
11
11
|
belongs_to :destination, class_name: 'Cats::Core::Location'
|
12
12
|
belongs_to :dispatch_plan
|
13
|
+
belongs_to :commodity
|
14
|
+
|
13
15
|
has_many :dispatches
|
14
16
|
has_many :hub_authorizations
|
15
17
|
|
@@ -18,7 +20,7 @@ module Cats
|
|
18
20
|
validates :status, presence: true, inclusion: { in: STATUSES }
|
19
21
|
|
20
22
|
delegate(:reference_no, to: :dispatch_plan, prefix: :plan, allow_nil: true)
|
21
|
-
delegate(:
|
23
|
+
delegate(:batch_no, :name, to: :commodity, prefix: true)
|
22
24
|
delegate(:name, to: :source, prefix: true)
|
23
25
|
delegate(:name, to: :destination, prefix: true)
|
24
26
|
delegate(:location_type, to: :source, prefix: true)
|
@@ -12,14 +12,14 @@ module Cats
|
|
12
12
|
|
13
13
|
def message
|
14
14
|
allocation_item = params[:allocation_item]
|
15
|
-
commodity = allocation_item.
|
15
|
+
commodity = allocation_item.commodity.name
|
16
16
|
source = allocation_item.source.name
|
17
17
|
destination = allocation_item.destination.name
|
18
18
|
title = "Allocation Notification - #{commodity}"
|
19
19
|
date = Date.today
|
20
20
|
body = <<~BODY
|
21
21
|
Commodity with the following specification has been allocated to you:
|
22
|
-
Batch No. = #{allocation_item.
|
22
|
+
Batch No. = #{allocation_item.commodity.batch_no}
|
23
23
|
Commodity = #{commodity}
|
24
24
|
Quantity = #{allocation_item.quantity}
|
25
25
|
The commodity is expected to be delivered from #{source} to #{destination}
|
@@ -7,7 +7,7 @@ module Cats
|
|
7
7
|
|
8
8
|
def message
|
9
9
|
dispatch = params[:dispatch]
|
10
|
-
commodity = dispatch.dispatch_plan_item.
|
10
|
+
commodity = dispatch.dispatch_plan_item.commodity
|
11
11
|
title = "Dispatch Notification - #{commodity.name}"
|
12
12
|
date = Date.today
|
13
13
|
body = <<~BODY
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Cats
|
2
2
|
module Core
|
3
3
|
class CommoditySerializer < ActiveModel::Serializer
|
4
|
-
attributes :id, :name, :batch_no, :description, :unit_of_measure_id, :
|
4
|
+
attributes :id, :name, :batch_no, :description, :unit_of_measure_id, :unit_abbreviation, :source_id,
|
5
5
|
:source_type, :source_reference_no, :quantity, :best_use_before, :volume_per_metric_ton,
|
6
6
|
:arrival_status, :status, :shipping_reference
|
7
7
|
end
|
@@ -2,8 +2,7 @@ module Cats
|
|
2
2
|
module Core
|
3
3
|
class DispatchPlanSerializer < ActiveModel::Serializer
|
4
4
|
attributes :id, :reference_no, :status, :dispatchable_id, :dispatchable_type, :request_reference,
|
5
|
-
:request_quantity, :
|
6
|
-
:upstream
|
5
|
+
:request_quantity, :upstream
|
7
6
|
end
|
8
7
|
end
|
9
8
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Cats
|
2
2
|
module Core
|
3
3
|
class StackService
|
4
|
-
def
|
4
|
+
def items_for_location(user)
|
5
5
|
details = user.details
|
6
6
|
|
7
7
|
key_available = details.keys.any? { |key| %w[stores warehouse hub].include?(key) }
|
@@ -17,7 +17,7 @@ module Cats
|
|
17
17
|
|
18
18
|
allocation_items =
|
19
19
|
DispatchPlanItem
|
20
|
-
.joins(dispatch_plan
|
20
|
+
.joins(:dispatch_plan)
|
21
21
|
.where(destination: hub, dispatch_plan: { status: DispatchPlan::APPROVED })
|
22
22
|
|
23
23
|
allocation_items.map do |item|
|
@@ -26,10 +26,10 @@ module Cats
|
|
26
26
|
source: item.source.name,
|
27
27
|
destination: item.destination.name,
|
28
28
|
quantity: item.quantity,
|
29
|
-
batch_no: item.
|
30
|
-
commodity_id: item.
|
31
|
-
commodity_name: item.
|
32
|
-
unit: item.
|
29
|
+
batch_no: item.commodity.batch_no,
|
30
|
+
commodity_id: item.commodity_id,
|
31
|
+
commodity_name: item.commodity.name,
|
32
|
+
unit: item.commodity.unit_abbreviation
|
33
33
|
}
|
34
34
|
end
|
35
35
|
end
|
@@ -39,7 +39,7 @@ module Cats
|
|
39
39
|
warehouses = location.children
|
40
40
|
stores = Store.where(warehouse: warehouses)
|
41
41
|
|
42
|
-
commodity = receipt.dispatch.dispatch_plan_item.
|
42
|
+
commodity = receipt.dispatch.dispatch_plan_item.commodity
|
43
43
|
Stack.where(commodity: commodity, store: stores)
|
44
44
|
end
|
45
45
|
|
@@ -48,7 +48,7 @@ module Cats
|
|
48
48
|
warehouses = location.children
|
49
49
|
stores = Store.where(warehouse: warehouses)
|
50
50
|
|
51
|
-
commodity = dispatch.dispatch_plan_item.
|
51
|
+
commodity = dispatch.dispatch_plan_item.commodity
|
52
52
|
Stack.where(commodity: commodity, store: stores)
|
53
53
|
end
|
54
54
|
end
|
data/config/routes.rb
CHANGED
@@ -137,7 +137,7 @@ Cats::Core::Engine.routes.draw do
|
|
137
137
|
|
138
138
|
get '/stores/:id/stacks', controller: :stacks, action: :index, as: :stacks_store
|
139
139
|
post '/stores/:id/stacks', controller: :stacks, action: :filter
|
140
|
-
get '/stacks/
|
140
|
+
get '/stacks/items_for_location', controller: :stacks, action: :items_for_location, as: :items_for_location
|
141
141
|
get '/receipts/:id/stacks', controller: :stacks, action: :receipt_stacks, as: :receipt_stacks
|
142
142
|
get '/dispatches/:id/stacks', controller: :stacks, action: :dispatch_stacks, as: :dispatch_stacks
|
143
143
|
resources :stacks, only: %i[show index create update]
|
@@ -6,11 +6,6 @@ class CreateCatsCoreDispatchPlans < ActiveRecord::Migration[6.1]
|
|
6
6
|
t.string :status, null: false, default: 'Draft'
|
7
7
|
t.references :dispatchable, polymorphic: true
|
8
8
|
t.boolean :upstream, null: false, default: false
|
9
|
-
t.references :commodity,
|
10
|
-
null: false,
|
11
|
-
index: { name: 'commodity_on_dp_indx' },
|
12
|
-
foreign_key: { to_table: :cats_core_commodities }
|
13
|
-
|
14
9
|
t.references :prepared_by,
|
15
10
|
null: false,
|
16
11
|
index: { name: 'pb_on_dp_indx' },
|
@@ -13,6 +13,10 @@ class CreateCatsCoreDispatchPlanItems < ActiveRecord::Migration[6.1]
|
|
13
13
|
null: false,
|
14
14
|
index: { name: 'dpi_on_destination_indx'},
|
15
15
|
foreign_key: { to_table: :cats_core_locations }
|
16
|
+
t.references :commodity,
|
17
|
+
null: false,
|
18
|
+
index: { name: 'commodity_on_dpi_indx' },
|
19
|
+
foreign_key: { to_table: :cats_core_commodities }
|
16
20
|
t.float :quantity, null: false
|
17
21
|
t.string :commodity_status, null: false, default: 'Good'
|
18
22
|
t.string :status, null: false, default: 'Unauthorized'
|
data/lib/cats/core/version.rb
CHANGED