comee_core 0.2.30 → 0.2.31
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 +4 -4
- data/app/models/comee/core/purchase_requisition.rb +19 -0
- data/app/models/comee/core/purchase_requisition_item.rb +24 -0
- data/db/migrate/20240314111117_create_comee_core_purchase_requisitions.rb +14 -0
- data/db/migrate/20240314111307_create_comee_core_purchase_requisition_items.rb +27 -0
- data/lib/comee/core/version.rb +1 -1
- data/spec/factories/comee/core/purchase_requisition_items.rb +10 -0
- data/spec/factories/comee/core/purchase_requisitions.rb +8 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b88368021252fc6b94d5d6249d242ba646fcdb299a16d3fa55bdcc11fe1129b
|
4
|
+
data.tar.gz: 05fe8866c539c134e0a563cefd2c8425e2d4c005117272fc87338b47597501c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 662612111fcf879502c8fe0f941d8e2f40c696a89bf78cbd5bb045a494a030266e550da48731514879f798e807e2e80fda110ec358e27bf61b5011fe14ed8d3e
|
7
|
+
data.tar.gz: 436fc32e865bc87804a5379df097c5b862cf0695e48ed236e5b53a5ed694eaf7684d96644bd8a8372af3eac975fa49aae5d547b3975e117a4fe088dd49f87a79
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Comee
|
2
|
+
module Core
|
3
|
+
class PurchaseRequisition < ApplicationRecord
|
4
|
+
# before_save :calculate_total_price
|
5
|
+
|
6
|
+
has_many :purchase_requisition_items
|
7
|
+
|
8
|
+
enum :status, {draft: 0, approved: 1}
|
9
|
+
|
10
|
+
validates :requisition_no, presence: true, uniqueness: true
|
11
|
+
validates :requisition_date, :status, presence: true
|
12
|
+
|
13
|
+
def calculate_total_price
|
14
|
+
items = PurchaseRequisitionItem.where(purchase_requisition_id: id)
|
15
|
+
self.total_price = items.sum(&:total_price)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Comee
|
2
|
+
module Core
|
3
|
+
class PurchaseRequisitionItem < ApplicationRecord
|
4
|
+
before_save :calculate_total_price
|
5
|
+
after_save :calculate_requisition_price
|
6
|
+
|
7
|
+
belongs_to :product
|
8
|
+
belongs_to :unit
|
9
|
+
belongs_to :supplier
|
10
|
+
belongs_to :purchase_requisition
|
11
|
+
|
12
|
+
validates :quantity, :price, presence: true, numericality: {greater_than_or_equal_to: 0}
|
13
|
+
|
14
|
+
def calculate_total_price
|
15
|
+
self.total_price = price * quantity
|
16
|
+
end
|
17
|
+
|
18
|
+
def calculate_requisition_price
|
19
|
+
purchase_requisition.total_price = purchase_requisition.calculate_total_price
|
20
|
+
purchase_requisition.save!
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class CreateComeeCorePurchaseRequisitions < ActiveRecord::Migration[7.1]
|
2
|
+
def change
|
3
|
+
create_table :comee_core_purchase_requisitions do |t|
|
4
|
+
t.string :requisition_no, null: false
|
5
|
+
t.date :requisition_date, null: false
|
6
|
+
t.string :remark
|
7
|
+
t.integer :status, null: false, default: 0
|
8
|
+
t.float :total_price, null: false, default: 0
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
add_index :comee_core_purchase_requisitions, :requisition_no, unique: true
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
class CreateComeeCorePurchaseRequisitionItems < ActiveRecord::Migration[7.1]
|
2
|
+
def change
|
3
|
+
create_table :comee_core_purchase_requisition_items do |t|
|
4
|
+
t.references :product,
|
5
|
+
null: false,
|
6
|
+
index: {name: "product_on_ccpri_indx"},
|
7
|
+
foreign_key: {to_table: :comee_core_products}
|
8
|
+
t.references :unit,
|
9
|
+
null: false,
|
10
|
+
index: {name: "unit_on_ccpri_indx"},
|
11
|
+
foreign_key: {to_table: :comee_core_units}
|
12
|
+
t.references :supplier,
|
13
|
+
null: false,
|
14
|
+
index: {name: "supplier_on_ccpri_indx"},
|
15
|
+
foreign_key: {to_table: :comee_core_suppliers}
|
16
|
+
t.references :purchase_requisition,
|
17
|
+
null: false,
|
18
|
+
index: {name: "pr_on_ccpri_indx"},
|
19
|
+
foreign_key: {to_table: :comee_core_purchase_requisitions}
|
20
|
+
t.float :quantity, null: false
|
21
|
+
t.float :price, null: false
|
22
|
+
t.float :total_price, null: false
|
23
|
+
|
24
|
+
t.timestamps
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/comee/core/version.rb
CHANGED
@@ -0,0 +1,8 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
factory :purchase_requisition, class: "Comee::Core::PurchaseRequisition" do
|
3
|
+
requisition_no { Faker::Alphanumeric.alpha(number: 10) }
|
4
|
+
requisition_date { Date.current }
|
5
|
+
remark { Faker::Lorem.sentence }
|
6
|
+
status { Comee::Core::PurchaseRequisition.statuses[:draft] }
|
7
|
+
end
|
8
|
+
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.
|
4
|
+
version: 0.2.31
|
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-03-
|
11
|
+
date: 2024-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_model_serializers
|
@@ -334,6 +334,8 @@ files:
|
|
334
334
|
- app/models/comee/core/product_lookup.rb
|
335
335
|
- app/models/comee/core/purchase_order.rb
|
336
336
|
- app/models/comee/core/purchase_order_item.rb
|
337
|
+
- app/models/comee/core/purchase_requisition.rb
|
338
|
+
- app/models/comee/core/purchase_requisition_item.rb
|
337
339
|
- app/models/comee/core/quotation_request.rb
|
338
340
|
- app/models/comee/core/quotation_request_item.rb
|
339
341
|
- app/models/comee/core/sales_order.rb
|
@@ -438,6 +440,8 @@ files:
|
|
438
440
|
- db/migrate/20240125003634_create_comee_core_payment_deposits.rb
|
439
441
|
- db/migrate/20240125044630_create_comee_core_payments.rb
|
440
442
|
- db/migrate/20240303191625_add_amount_paid_field_to_invoice.rb
|
443
|
+
- db/migrate/20240314111117_create_comee_core_purchase_requisitions.rb
|
444
|
+
- db/migrate/20240314111307_create_comee_core_purchase_requisition_items.rb
|
441
445
|
- lib/comee/core.rb
|
442
446
|
- lib/comee/core/engine.rb
|
443
447
|
- lib/comee/core/version.rb
|
@@ -476,6 +480,8 @@ files:
|
|
476
480
|
- spec/factories/comee/core/products.rb
|
477
481
|
- spec/factories/comee/core/purchase_order_items.rb
|
478
482
|
- spec/factories/comee/core/purchase_orders.rb
|
483
|
+
- spec/factories/comee/core/purchase_requisition_items.rb
|
484
|
+
- spec/factories/comee/core/purchase_requisitions.rb
|
479
485
|
- spec/factories/comee/core/quotation_request_items.rb
|
480
486
|
- spec/factories/comee/core/quotation_requests.rb
|
481
487
|
- spec/factories/comee/core/sales_order_items.rb
|