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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cf5a2a77f951b704d1e1a58d18a83403bede97439aed4f6474a4a2207787e4b7
4
- data.tar.gz: a7fda80c9b56559e26eb47ca2fd1964e7f2fd91e5ce1d2af06227cb15a6ba8d8
3
+ metadata.gz: 5b88368021252fc6b94d5d6249d242ba646fcdb299a16d3fa55bdcc11fe1129b
4
+ data.tar.gz: 05fe8866c539c134e0a563cefd2c8425e2d4c005117272fc87338b47597501c2
5
5
  SHA512:
6
- metadata.gz: bd1a95c624f08cd3a1e9082ff5bdf3c90270ae73e9e5cf52268426ed49d549117e98b4f08705aa23c5c3d1e0659ab5eedccc720c0686615dc609318745ba5e84
7
- data.tar.gz: 371ffbc08068a72f4ad329bd1c72c97facf224b3bcfd78d71c5194234886d4e99c4a896ff9c90a657796bde4e263184aeca5925ab86a3bc4a8a3d4b7e2d4641c
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
@@ -1,5 +1,5 @@
1
1
  module Comee
2
2
  module Core
3
- VERSION = "0.2.30".freeze
3
+ VERSION = "0.2.31".freeze
4
4
  end
5
5
  end
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :purchase_requisition_item, class: "Comee::Core::PurchaseRequisitionItem" do
3
+ product
4
+ unit
5
+ supplier
6
+ purchase_requisition
7
+ quantity { 10 }
8
+ price { 15 }
9
+ end
10
+ end
@@ -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.30
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-10 00:00:00.000000000 Z
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