if ($item->part->is_assembly) {
_calculate_assembly_item($self, $data, $item->part, $item->base_qty, $item->unit_obj->convert_to(1, $item->part->unit_obj));
} elsif ($item->part->is_part) {
if ($item->part->is_assembly) {
_calculate_assembly_item($self, $data, $item->part, $item->base_qty, $item->unit_obj->convert_to(1, $item->part->unit_obj));
} elsif ($item->part->is_part) {