/// 장비 정보 표시를 위한 헬퍼 클래스 (SRP, 재사용성, 테스트 용이성 중심) class EquipmentDisplayHelper { /// 제조사명 포맷팅 (빈 값은 대시로 표시) static String formatManufacturer(String? manufacturer) { if (manufacturer == null || manufacturer.isEmpty) return '-'; return manufacturer; } /// 장비명 포맷팅 (빈 값은 대시로 표시) static String formatEquipmentName(String? name) { if (name == null || name.isEmpty) return '-'; return name; } /// 카테고리 포맷팅 (비어있지 않은 카테고리만 합침) static String formatCategory( String? category, String? subCategory, String? subSubCategory, ) { final parts = [ if (category != null && category.isNotEmpty) category, if (subCategory != null && subCategory.isNotEmpty) subCategory, if (subSubCategory != null && subSubCategory.isNotEmpty) subSubCategory, ]; if (parts.isEmpty) return '-'; return parts.join(' > '); } /// 시리얼 번호 포맷팅 (없으면 대시) static String formatSerialNumber(String? serialNumber) { return serialNumber?.isNotEmpty == true ? serialNumber! : '-'; } /// 날짜 포맷팅 (YYYY-MM-DD, null이면 대시) static String formatDate(DateTime? date) { if (date == null) return '-'; return '${date.year}-${date.month.toString().padLeft(2, '0')}-${date.day.toString().padLeft(2, '0')}'; } }