Class: Logistics::Core::ChargeableServiceUnitOfCharge
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Logistics::Core::ChargeableServiceUnitOfCharge
- Defined in:
- app/models/logistics/core/chargeable_service_unit_of_charge.rb
Class Method Summary collapse
- .generate_chargeable_service_units ⇒ Object
- .get_chargeable_service_for_sdu(sdu_id) ⇒ Object
- .get_chargeable_services_with_specific_sdu_and_uoc(sdu_id, code) ⇒ Object
- .get_sdus_with_specific_unit_of_charge(code) ⇒ Object
- .get_unit_of_charge(sdu_id, cs_id) ⇒ Object
Methods inherited from ApplicationRecord
Class Method Details
.generate_chargeable_service_units ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/models/logistics/core/chargeable_service_unit_of_charge.rb', line 20 def self.generate_chargeable_service_units service_delivery_units = ServiceDeliveryUnit.all service_delivery_units.each { |sdu| chargeable_services = get_chargeable_service_for_sdu(sdu.id) chargeable_services.each { |cs| if ChargeableServiceUnitOfCharge.where('service_delivery_unit_id' => sdu.id, 'chargeable_service_id' => cs.id).count == 0 ChargeableServiceUnitOfCharge.create('service_delivery_unit_id' => sdu.id, 'chargeable_service_id' => cs.id, 'has_increment' => FALSE) end } } end |
.get_chargeable_service_for_sdu(sdu_id) ⇒ Object
15 16 17 18 |
# File 'app/models/logistics/core/chargeable_service_unit_of_charge.rb', line 15 def self.get_chargeable_service_for_sdu(sdu_id) cs_ids = ServiceDeliveryUnitChargeableService.select(:chargeable_service_id).where('service_delivery_unit_id' => sdu_id) return ChargeableService.where('id' => cs_ids) end |
.get_chargeable_services_with_specific_sdu_and_uoc(sdu_id, code) ⇒ Object
45 46 47 48 49 50 |
# File 'app/models/logistics/core/chargeable_service_unit_of_charge.rb', line 45 def self.get_chargeable_services_with_specific_sdu_and_uoc(sdu_id, code) unit_of_charge_id = UnitOfCharge.find_by(code: code) cs_ids = ChargeableServiceUnitOfCharge.select(:chargeable_service_id). where(service_delivery_unit_id: sdu_id, unit_of_charge_id: unit_of_charge_id) chargeable_services = ChargeableService.where(id: cs_ids) end |
.get_sdus_with_specific_unit_of_charge(code) ⇒ Object
38 39 40 41 42 43 |
# File 'app/models/logistics/core/chargeable_service_unit_of_charge.rb', line 38 def self.get_sdus_with_specific_unit_of_charge(code) unit_of_charge_id = UnitOfCharge.find_by(code: code).id sdu_ids = ChargeableServiceUnitOfCharge.select(:service_delivery_unit_id). where(unit_of_charge_id: unit_of_charge_id).distinct sdus = ServiceDeliveryUnit.where(id: sdu_ids) end |
.get_unit_of_charge(sdu_id, cs_id) ⇒ Object
32 33 34 35 36 |
# File 'app/models/logistics/core/chargeable_service_unit_of_charge.rb', line 32 def self.get_unit_of_charge(sdu_id, cs_id) csuoc = ChargeableServiceUnitOfCharge.where('service_delivery_unit_id' => sdu_id, 'chargeable_service_id' => cs_id) unit_of_charge = UnitOfCharge.find(csuoc[0].unit_of_charge_id) return unit_of_charge.code end |