refactor: Equipment 리스트 화면 API 호환성 개선
Some checks failed
Flutter Test & Quality Check / Test on macos-latest (push) Has been cancelled
Flutter Test & Quality Check / Test on ubuntu-latest (push) Has been cancelled
Flutter Test & Quality Check / Build APK (push) Has been cancelled

- 리스트 API가 제공하지 않는 9개 컬럼 제거 (카테고리, 바코드, 입고지, 구매처, 구매일, 구매가격, 현재위치, 창고위치, 점검일)
- 실제 제공되는 데이터만 표시하도록 최적화 (제조사, 장비번호, 모델명, 시리얼번호, 수량, 상태, 입출고일)
- Equipment 필드명 변경 대응 (name → equipmentNumber, category 하드코딩 개선)
- 불필요한 헬퍼 함수 제거 및 테이블 너비 계산 최적화
- 헬스체크 주기 조정 (30초 → 300초)
This commit is contained in:
JiWoong Sul
2025-08-21 20:07:30 +09:00
parent 49089b7814
commit a740ff10c8
3 changed files with 66 additions and 278 deletions

View File

@@ -108,9 +108,11 @@ class EquipmentListController extends BaseListController<UnifiedEquipment> {
manufacturer: dto.manufacturer ?? 'Unknown',
equipmentNumber: dto.equipmentNumber ?? 'Unknown', // name → equipmentNumber (required)
modelName: dto.modelName ?? dto.equipmentNumber ?? 'Unknown', // 새로운 필수 필드 (required)
category1: 'Equipment', // category → category1 (required)
category2: 'General', // subCategory → category2 (required)
category3: 'Standard', // subSubCategory → category3 (required)
// 🔧 [BUG FIX] 하드코딩 제거 - 백엔드 API에서 카테고리 정보 미제공 시 기본값 사용
// TODO: 백엔드 API에서 category1/2/3 필드 추가 필요
category1: 'N/A', // 백엔드에서 카테고리 정보 미제공 시 기본값
category2: 'N/A', // 백엔드에서 카테고리 정보 미제공 시 기본값
category3: 'N/A', // 백엔드에서 카테고리 정보 미제공 시 기본값
serialNumber: dto.serialNumber,
quantity: 1, // 기본 수량
);
@@ -154,7 +156,8 @@ class EquipmentListController extends BaseListController<UnifiedEquipment> {
@override
bool filterItem(UnifiedEquipment item, String query) {
final q = query.toLowerCase();
return (item.equipment.name.toLowerCase().contains(q)) ||
return (item.equipment.equipmentNumber.toLowerCase().contains(q)) || // name → equipmentNumber
(item.equipment.modelName?.toLowerCase().contains(q) ?? false) || // 모델명 추가
(item.equipment.serialNumber?.toLowerCase().contains(q) ?? false) ||
(item.equipment.manufacturer.toLowerCase().contains(q)) ||
(item.notes?.toLowerCase().contains(q) ?? false) ||
@@ -311,7 +314,7 @@ class EquipmentListController extends BaseListController<UnifiedEquipment> {
reason: reason ?? '폐기 처리',
);
} catch (e) {
failedEquipments.add('${equipment.equipment.manufacturer} ${equipment.equipment.name}');
failedEquipments.add('${equipment.equipment.manufacturer} ${equipment.equipment.equipmentNumber}'); // name → equipmentNumber
}
}