feat: Equipment DTO 호환성 수정 전 백업 커밋
- Equipment DTO 필드명 변경 (name → equipment_number 등) 완료 - Phase 1-7 파생 수정사항 체계적 진행 예정 - 통합 모델 정리, Controller 동기화, UI 업데이트 예정 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -130,7 +130,12 @@ class EquipmentService {
|
||||
Future<Equipment> createEquipment(Equipment equipment) async {
|
||||
try {
|
||||
final request = CreateEquipmentRequest(
|
||||
equipmentNumber: 'EQ-${DateTime.now().millisecondsSinceEpoch}', // 자동 생성 번호
|
||||
// 🔧 [BUG FIX] 사용자가 입력한 장비 번호를 우선 사용, 없으면 자동 생성
|
||||
// 기존: 항상 타임스탬프 기반 자동 생성으로 사용자 입력 무시
|
||||
// 수정: equipment.equipmentNumber가 있으면 우선 사용, null/empty면 자동 생성
|
||||
equipmentNumber: equipment.equipmentNumber?.isNotEmpty == true
|
||||
? equipment.equipmentNumber! // 사용자 입력값 사용
|
||||
: 'EQ-${DateTime.now().millisecondsSinceEpoch}', // 자동 생성 fallback
|
||||
category1: equipment.category,
|
||||
category2: equipment.subCategory,
|
||||
category3: equipment.subSubCategory,
|
||||
@@ -140,7 +145,11 @@ class EquipmentService {
|
||||
barcode: equipment.barcode,
|
||||
purchaseDate: equipment.inDate,
|
||||
purchasePrice: equipment.purchasePrice,
|
||||
companyId: equipment.currentCompanyId,
|
||||
// 🔧 [BUG FIX] currentCompanyId → companyId 필드 수정
|
||||
// 문제: Controller에서 selectedCompanyId를 equipment.companyId로 설정하는데
|
||||
// EquipmentService에서 equipment.currentCompanyId를 참조해서 null 전송
|
||||
// 해결: equipment.companyId 참조로 변경하여 실제 선택값 전송
|
||||
companyId: equipment.companyId,
|
||||
warehouseLocationId: equipment.warehouseLocationId,
|
||||
lastInspectionDate: equipment.lastInspectionDate,
|
||||
nextInspectionDate: equipment.nextInspectionDate,
|
||||
@@ -196,14 +205,14 @@ class EquipmentService {
|
||||
modelName: equipment.name.isNotEmpty ? equipment.name : null, // 실제 장비명
|
||||
serialNumber: equipment.serialNumber?.isNotEmpty == true ? equipment.serialNumber : null,
|
||||
barcode: equipment.barcode?.isNotEmpty == true ? equipment.barcode : null,
|
||||
purchaseDate: equipment.inDate,
|
||||
purchaseDate: equipment.purchaseDate,
|
||||
purchasePrice: equipment.purchasePrice,
|
||||
status: (equipment.equipmentStatus != null &&
|
||||
equipment.equipmentStatus != 'null' &&
|
||||
equipment.equipmentStatus!.isNotEmpty)
|
||||
? EquipmentStatusConverter.clientToServer(equipment.equipmentStatus)
|
||||
: null,
|
||||
companyId: equipment.currentCompanyId,
|
||||
companyId: equipment.companyId,
|
||||
warehouseLocationId: equipment.warehouseLocationId,
|
||||
lastInspectionDate: equipment.lastInspectionDate,
|
||||
nextInspectionDate: equipment.nextInspectionDate,
|
||||
@@ -369,12 +378,7 @@ class EquipmentService {
|
||||
}
|
||||
|
||||
Equipment _convertResponseToEquipment(EquipmentResponse response) {
|
||||
print('DEBUG [_convertResponseToEquipment] Converting response to Equipment');
|
||||
print('DEBUG [_convertResponseToEquipment] response.manufacturer="${response.manufacturer}"');
|
||||
print('DEBUG [_convertResponseToEquipment] response.modelName="${response.modelName}"');
|
||||
print('DEBUG [_convertResponseToEquipment] response.category1="${response.category1}"');
|
||||
|
||||
final equipment = Equipment(
|
||||
return Equipment(
|
||||
id: response.id,
|
||||
manufacturer: response.manufacturer,
|
||||
name: response.modelName ?? '', // modelName이 실제 장비명
|
||||
@@ -386,21 +390,22 @@ class EquipmentService {
|
||||
quantity: 1, // Default quantity, actual quantity should be tracked in history
|
||||
inDate: response.purchaseDate,
|
||||
remark: response.remark,
|
||||
// 백엔드 API 새로운 필드들 매핑
|
||||
// 백엔드 API 새로운 필드들 매핑 - 백엔드 완전 호환
|
||||
purchasePrice: response.purchasePrice != null ? double.tryParse(response.purchasePrice!) : null,
|
||||
currentCompanyId: response.companyId,
|
||||
warehouseLocationId: response.warehouseLocationId,
|
||||
companyId: response.companyId,
|
||||
lastInspectionDate: response.lastInspectionDate,
|
||||
nextInspectionDate: response.nextInspectionDate,
|
||||
equipmentStatus: response.status,
|
||||
// Warranty information would need to be fetched from license API if available
|
||||
// 백엔드 API 완전 호환 필드들
|
||||
equipmentNumber: response.equipmentNumber,
|
||||
modelName: response.modelName,
|
||||
category1: response.category1,
|
||||
category2: response.category2,
|
||||
category3: response.category3,
|
||||
purchaseDate: response.purchaseDate,
|
||||
);
|
||||
|
||||
print('DEBUG [_convertResponseToEquipment] Equipment created');
|
||||
print('DEBUG [_convertResponseToEquipment] equipment.manufacturer="${equipment.manufacturer}"');
|
||||
print('DEBUG [_convertResponseToEquipment] equipment.name="${equipment.name}"');
|
||||
|
||||
return equipment;
|
||||
}
|
||||
|
||||
// 장비 상태 상수
|
||||
|
||||
Reference in New Issue
Block a user