@@ -765,19 +765,19 @@ def seed_quantity(item_name, organization, storage_location, quantity)
765765
766766complete_orgs . each do |org |
767767 # Create comprehensive kits representing each NDBN category
768-
768+
769769 # Diaper Care Kit - covering multiple diaper categories
770770 diaper_kit_params = {
771771 name : "Diaper Care Kit" ,
772772 line_items_attributes : [
773- { item_id : org . items . find_by ( name : "Kids (Size 1)" ) & .id , quantity : 50 } ,
774- { item_id : org . items . find_by ( name : "Kids (Size 2)" ) & .id , quantity : 50 } ,
775- { item_id : org . items . find_by ( name : "Kids (Size 3)" ) & .id , quantity : 50 } ,
776- { item_id : org . items . find_by ( name : "Wipes (Baby)" ) & .id , quantity : 10 } ,
777- { item_id : org . items . find_by ( name : "Diaper Rash Cream/Powder" ) & .id , quantity : 2 }
773+ { item_id : org . items . find_by ( name : "Kids (Size 1)" ) . id , quantity : 50 } ,
774+ { item_id : org . items . find_by ( name : "Kids (Size 2)" ) . id , quantity : 50 } ,
775+ { item_id : org . items . find_by ( name : "Kids (Size 3)" ) . id , quantity : 50 } ,
776+ { item_id : org . items . find_by ( name : "Wipes (Baby)" ) . id , quantity : 10 } ,
777+ { item_id : org . items . find_by ( name : "Diaper Rash Cream/Powder" ) . id , quantity : 2 }
778778 ] . compact_blank
779779 }
780-
780+
781781 if diaper_kit_params [ :line_items_attributes ] . any?
782782 diaper_kit_service = KitCreateService . new ( organization_id : org . id , kit_params : diaper_kit_params )
783783 diaper_kit_service . call
@@ -787,12 +787,12 @@ def seed_quantity(item_name, organization, storage_location, quantity)
787787 menstrual_kit_params = {
788788 name : "Menstrual Care Kit" ,
789789 line_items_attributes : [
790- { item_id : org . items . find_by ( name : "Pads" ) & .id , quantity : 20 } ,
791- { item_id : org . items . find_by ( name : "Tampons" ) & .id , quantity : 20 } ,
792- { item_id : org . items . find_by ( name : "Liners (Menstrual)" ) & .id , quantity : 15 }
790+ { item_id : org . items . find_by ( name : "Pads" ) . id , quantity : 20 } ,
791+ { item_id : org . items . find_by ( name : "Tampons" ) . id , quantity : 20 } ,
792+ { item_id : org . items . find_by ( name : "Liners (Menstrual)" ) . id , quantity : 15 }
793793 ] . compact_blank
794794 }
795-
795+
796796 if menstrual_kit_params [ :line_items_attributes ] . any?
797797 menstrual_kit_service = KitCreateService . new ( organization_id : org . id , kit_params : menstrual_kit_params )
798798 menstrual_kit_service . call
@@ -802,13 +802,13 @@ def seed_quantity(item_name, organization, storage_location, quantity)
802802 adult_kit_params = {
803803 name : "Adult Incontinence Kit" ,
804804 line_items_attributes : [
805- { item_id : org . items . find_by ( name : "Adult Briefs (Large/X-Large)" ) & .id , quantity : 30 } ,
806- { item_id : org . items . find_by ( name : "Adult Incontinence Pads" ) & .id , quantity : 25 } ,
807- { item_id : org . items . find_by ( name : "Wipes (Adult)" ) & .id , quantity : 5 } ,
808- { item_id : org . items . find_by ( name : "Underpads (Pack)" ) & .id , quantity : 5 }
805+ { item_id : org . items . find_by ( name : "Adult Briefs (Large/X-Large)" ) . id , quantity : 30 } ,
806+ { item_id : org . items . find_by ( name : "Adult Incontinence Pads" ) . id , quantity : 25 } ,
807+ { item_id : org . items . find_by ( name : "Wipes (Adult)" ) . id , quantity : 5 } ,
808+ { item_id : org . items . find_by ( name : "Underpads (Pack)" ) . id , quantity : 5 }
809809 ] . compact_blank
810810 }
811-
811+
812812 if adult_kit_params [ :line_items_attributes ] . any?
813813 adult_kit_service = KitCreateService . new ( organization_id : org . id , kit_params : adult_kit_params )
814814 adult_kit_service . call
@@ -818,13 +818,13 @@ def seed_quantity(item_name, organization, storage_location, quantity)
818818 baby_care_kit_params = {
819819 name : "Baby Care Essentials Kit" ,
820820 line_items_attributes : [
821- { item_id : org . items . find_by ( name : "Bibs (Adult & Child)" ) & .id , quantity : 5 } ,
822- { item_id : org . items . find_by ( name : "Wipes (Baby)" ) & .id , quantity : 8 } ,
823- { item_id : org . items . find_by ( name : "Diaper Rash Cream/Powder" ) & .id , quantity : 1 } ,
824- { item_id : org . items . find_by ( name : "Cloth Diapers (Prefolds & Fitted)" ) & .id , quantity : 10 }
821+ { item_id : org . items . find_by ( name : "Bibs (Adult & Child)" ) . id , quantity : 5 } ,
822+ { item_id : org . items . find_by ( name : "Wipes (Baby)" ) . id , quantity : 8 } ,
823+ { item_id : org . items . find_by ( name : "Diaper Rash Cream/Powder" ) . id , quantity : 1 } ,
824+ { item_id : org . items . find_by ( name : "Cloth Diapers (Prefolds & Fitted)" ) . id , quantity : 10 }
825825 ] . compact_blank
826826 }
827-
827+
828828 if baby_care_kit_params [ :line_items_attributes ] . any?
829829 baby_care_service = KitCreateService . new ( organization_id : org . id , kit_params : baby_care_kit_params )
830830 baby_care_service . call
@@ -834,13 +834,13 @@ def seed_quantity(item_name, organization, storage_location, quantity)
834834 training_kit_params = {
835835 name : "Potty Training Kit" ,
836836 line_items_attributes : [
837- { item_id : org . items . find_by ( name : "Cloth Potty Training Pants/Underwear" ) & .id , quantity : 8 } ,
838- { item_id : org . items . find_by ( name : "Kids Pull-Ups (2T-3T)" ) & .id , quantity : 20 } ,
839- { item_id : org . items . find_by ( name : "Kids Pull-Ups (3T-4T)" ) & .id , quantity : 20 } ,
840- { item_id : org . items . find_by ( name : "Wipes (Baby)" ) & .id , quantity : 5 }
837+ { item_id : org . items . find_by ( name : "Cloth Potty Training Pants/Underwear" ) . id , quantity : 8 } ,
838+ { item_id : org . items . find_by ( name : "Kids Pull-Ups (2T-3T)" ) . id , quantity : 20 } ,
839+ { item_id : org . items . find_by ( name : "Kids Pull-Ups (3T-4T)" ) . id , quantity : 20 } ,
840+ { item_id : org . items . find_by ( name : "Wipes (Baby)" ) . id , quantity : 5 }
841841 ] . compact_blank
842842 }
843-
843+
844844 if training_kit_params [ :line_items_attributes ] . any?
845845 training_kit_service = KitCreateService . new ( organization_id : org . id , kit_params : training_kit_params )
846846 training_kit_service . call
@@ -852,7 +852,7 @@ def seed_quantity(item_name, organization, storage_location, quantity)
852852 org . storage_locations . active . each do |storage_location |
853853 org . kits . active . each do |kit |
854854 next unless kit . item # Ensure kit has an associated item
855-
855+
856856 # Create inventory for each kit
857857 InventoryItem . create! (
858858 storage_location : storage_location ,
@@ -949,20 +949,20 @@ def seed_quantity(item_name, organization, storage_location, quantity)
949949 end
950950
951951 # Create some distributions that use kits instead of individual items
952- kit_items = org . items . joins ( :kit ) . where ( kits : { active : true } )
952+ kit_items = org . items . joins ( :kit ) . where ( kits : { active : true } )
953953 if kit_items . any?
954954 5 . times do |index |
955955 issued_at = dates_generator . next
956956 storage_location = org . storage_locations . active . sample
957957 kit_item = kit_items . sample
958-
958+
959959 # Check if there's inventory for this kit
960960 kit_inventory_qty = storage_location . item_total ( kit_item . id )
961961 next if kit_inventory_qty . zero?
962-
962+
963963 delivery_method = Distribution . delivery_methods . keys . sample
964964 shipping_cost = ( delivery_method == "shipped" ) ? rand ( 20.0 ..100.0 ) . round ( 2 ) . to_s : nil
965-
965+
966966 kit_distribution = Distribution . new (
967967 storage_location : storage_location ,
968968 partner : random_record_for_org ( org , Partner ) ,
@@ -973,7 +973,7 @@ def seed_quantity(item_name, organization, storage_location, quantity)
973973 shipping_cost : shipping_cost ,
974974 comment : "Kit distribution"
975975 )
976-
976+
977977 distribution_qty = [ rand ( 1 ..3 ) , kit_inventory_qty / 2 ] . min
978978 if distribution_qty >= 1
979979 kit_distribution . line_items . push (
@@ -982,7 +982,7 @@ def seed_quantity(item_name, organization, storage_location, quantity)
982982 item_id : kit_item . id
983983 )
984984 )
985-
985+
986986 DistributionCreateService . new ( kit_distribution ) . call
987987 end
988988 end
0 commit comments