Skip to content

Commit

Permalink
Updated script to add units for inventory (#932)
Browse files Browse the repository at this point in the history
* Updated the script to add units and their conversion rates

* Removed Rice inventory

* Updated to store conversion rates of kg to gram

* Restored oxygen cylinder based inventory items
  • Loading branch information
aeswibon authored Jul 26, 2022
1 parent f03893a commit b14849d
Showing 1 changed file with 55 additions and 5 deletions.
60 changes: 55 additions & 5 deletions care/users/management/commands/seed_data.py
Original file line number Diff line number Diff line change
@@ -1,29 +1,63 @@
from care.facility.models import facility
from django.core.management import BaseCommand
from care.facility.models.inventory import FacilityInventoryUnit, FacilityInventoryItem
from care.facility.models.inventory import (
FacilityInventoryItemTag,
FacilityInventoryUnit,
FacilityInventoryItem,
FacilityInventoryUnitConverter,
)


class Command(BaseCommand):
"""
Command to add data related to inventory and their conversion rates
"""

help = "Seed Data for Inventory"

def handle(self, *args, **options):

print("Creating Units for Inventory")
print("Creating Units for Inventory as well as their conversion rates")

# Inventory Unit

items, _ = FacilityInventoryUnit.objects.get_or_create(name="Items")
dozen, _ = FacilityInventoryUnit.objects.get_or_create(name="Dozen")
kilo_litre, _ = FacilityInventoryUnit.objects.get_or_create(name="Kilo Litre")
cylinders, _ = FacilityInventoryUnit.objects.get_or_create(name="Cylinders")
kg, _ = FacilityInventoryUnit.objects.get_or_create(name="kg")
gram, _ = FacilityInventoryUnit.objects.get_or_create(name="gram")
cubic_meter, _ = FacilityInventoryUnit.objects.get_or_create(name="Cubic Meter")

# Inventory Tags

safety, _ = FacilityInventoryItemTag.objects.get_or_create(name="Safety")
medical, _ = FacilityInventoryItemTag.objects.get_or_create(name="Medical")
food, _ = FacilityInventoryItemTag.objects.get_or_create(name="Food")

# Inventory Item

ppe, _ = FacilityInventoryItem.objects.get_or_create(
name="PPE", default_unit=items, min_quantity=150
)
ppe.tags.add(safety, medical)
ppe.allowed_units.add(items, dozen)

fluid, _ = FacilityInventoryItem.objects.get_or_create(
name="IV Fluid 500 ml", default_unit=items, min_quantity=2
)
fluid.tags.add(medical)
fluid.allowed_units.add(items, dozen)

liquid_oxygen, _ = FacilityInventoryItem.objects.get_or_create(
name="Liquid Oxygen", default_unit=cubic_meter, min_quantity=100
name="Liquid Oxygen", default_unit=cubic_meter, min_quantity=10
)
liquid_oxygen.tags.add(medical)
liquid_oxygen.allowed_units.add(cubic_meter)

jumbo_d, _ = FacilityInventoryItem.objects.get_or_create(
name="Jumbo D Type Oxygen Cylinder", default_unit=cylinders, min_quantity=100
name="Jumbo D Type Oxygen Cylinder",
default_unit=cylinders,
min_quantity=100,
)
jumbo_d.allowed_units.add(cylinders)

Expand All @@ -36,3 +70,19 @@ def handle(self, *args, **options):
name="C Type Oxygen Cylinder", default_unit=cylinders, min_quantity=100
)
type_c.allowed_units.add(cylinders)

gaseous_oxygen, _ = FacilityInventoryItem.objects.get_or_create(
name="Gaseous Oxygen", default_unit=cubic_meter, min_quantity=10
)
gaseous_oxygen.tags.add(medical)
gaseous_oxygen.allowed_units.add(cubic_meter)

# Conversion Rates

_, _ = FacilityInventoryUnitConverter.objects.get_or_create(
from_unit=kg, to_unit=gram, multiplier=1000
)

_, _ = FacilityInventoryUnitConverter.objects.get_or_create(
from_unit=dozen, to_unit=items, multiplier=12
)

0 comments on commit b14849d

Please sign in to comment.