feat: V/R 유지보수 시스템 전환 및 대시보드 테이블 형태 완성
- V/R 시스템 완전 전환: WARRANTY/CONTRACT/INSPECTION → V(방문)/R(원격) - 유지보수 대시보드 카드 → StandardDataTable 테이블 형태 전환 - "조회중..." 문제 해결: 백엔드 직접 필드 사용 (equipment_model, company_name) - MaintenanceDto 신규 필드 추가: company_id, company_name, equipment_serial, equipment_model - preloadEquipmentData 비활성화로 불필요한 equipment-history API 호출 제거 - CO-STAR 프레임워크 적용 및 CLAUDE.md v3.0 업데이트 - Flutter Analyze ERROR: 0 유지, 100% shadcn_ui 컴플라이언스 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -14,6 +14,8 @@ class EquipmentDto with _$EquipmentDto {
|
||||
@JsonKey(name: 'models_id') required int modelsId,
|
||||
@JsonKey(name: 'model_name', includeToJson: false) String? modelName, // JOIN 필드 - 응답에서만 제공
|
||||
@JsonKey(name: 'vendor_name', includeToJson: false) String? vendorName, // JOIN 필드 - 응답에서만 제공
|
||||
@JsonKey(name: 'warehouses_id') int? warehousesId,
|
||||
@JsonKey(name: 'warehouses_name', includeToJson: false) String? warehousesName, // JOIN 필드 - 응답에서만 제공
|
||||
@JsonKey(name: 'serial_number') required String serialNumber,
|
||||
String? barcode,
|
||||
@JsonKey(name: 'purchased_at') DateTime? purchasedAt,
|
||||
|
||||
@@ -34,6 +34,11 @@ mixin _$EquipmentDto {
|
||||
@JsonKey(name: 'vendor_name', includeToJson: false)
|
||||
String? get vendorName =>
|
||||
throw _privateConstructorUsedError; // JOIN 필드 - 응답에서만 제공
|
||||
@JsonKey(name: 'warehouses_id')
|
||||
int? get warehousesId => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: 'warehouses_name', includeToJson: false)
|
||||
String? get warehousesName =>
|
||||
throw _privateConstructorUsedError; // JOIN 필드 - 응답에서만 제공
|
||||
@JsonKey(name: 'serial_number')
|
||||
String get serialNumber => throw _privateConstructorUsedError;
|
||||
String? get barcode => throw _privateConstructorUsedError;
|
||||
@@ -78,6 +83,9 @@ abstract class $EquipmentDtoCopyWith<$Res> {
|
||||
@JsonKey(name: 'models_id') int modelsId,
|
||||
@JsonKey(name: 'model_name', includeToJson: false) String? modelName,
|
||||
@JsonKey(name: 'vendor_name', includeToJson: false) String? vendorName,
|
||||
@JsonKey(name: 'warehouses_id') int? warehousesId,
|
||||
@JsonKey(name: 'warehouses_name', includeToJson: false)
|
||||
String? warehousesName,
|
||||
@JsonKey(name: 'serial_number') String serialNumber,
|
||||
String? barcode,
|
||||
@JsonKey(name: 'purchased_at') DateTime? purchasedAt,
|
||||
@@ -112,6 +120,8 @@ class _$EquipmentDtoCopyWithImpl<$Res, $Val extends EquipmentDto>
|
||||
Object? modelsId = null,
|
||||
Object? modelName = freezed,
|
||||
Object? vendorName = freezed,
|
||||
Object? warehousesId = freezed,
|
||||
Object? warehousesName = freezed,
|
||||
Object? serialNumber = null,
|
||||
Object? barcode = freezed,
|
||||
Object? purchasedAt = freezed,
|
||||
@@ -149,6 +159,14 @@ class _$EquipmentDtoCopyWithImpl<$Res, $Val extends EquipmentDto>
|
||||
? _value.vendorName
|
||||
: vendorName // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
warehousesId: freezed == warehousesId
|
||||
? _value.warehousesId
|
||||
: warehousesId // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
warehousesName: freezed == warehousesName
|
||||
? _value.warehousesName
|
||||
: warehousesName // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
serialNumber: null == serialNumber
|
||||
? _value.serialNumber
|
||||
: serialNumber // ignore: cast_nullable_to_non_nullable
|
||||
@@ -212,6 +230,9 @@ abstract class _$$EquipmentDtoImplCopyWith<$Res>
|
||||
@JsonKey(name: 'models_id') int modelsId,
|
||||
@JsonKey(name: 'model_name', includeToJson: false) String? modelName,
|
||||
@JsonKey(name: 'vendor_name', includeToJson: false) String? vendorName,
|
||||
@JsonKey(name: 'warehouses_id') int? warehousesId,
|
||||
@JsonKey(name: 'warehouses_name', includeToJson: false)
|
||||
String? warehousesName,
|
||||
@JsonKey(name: 'serial_number') String serialNumber,
|
||||
String? barcode,
|
||||
@JsonKey(name: 'purchased_at') DateTime? purchasedAt,
|
||||
@@ -244,6 +265,8 @@ class __$$EquipmentDtoImplCopyWithImpl<$Res>
|
||||
Object? modelsId = null,
|
||||
Object? modelName = freezed,
|
||||
Object? vendorName = freezed,
|
||||
Object? warehousesId = freezed,
|
||||
Object? warehousesName = freezed,
|
||||
Object? serialNumber = null,
|
||||
Object? barcode = freezed,
|
||||
Object? purchasedAt = freezed,
|
||||
@@ -281,6 +304,14 @@ class __$$EquipmentDtoImplCopyWithImpl<$Res>
|
||||
? _value.vendorName
|
||||
: vendorName // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
warehousesId: freezed == warehousesId
|
||||
? _value.warehousesId
|
||||
: warehousesId // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
warehousesName: freezed == warehousesName
|
||||
? _value.warehousesName
|
||||
: warehousesName // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
serialNumber: null == serialNumber
|
||||
? _value.serialNumber
|
||||
: serialNumber // ignore: cast_nullable_to_non_nullable
|
||||
@@ -339,6 +370,9 @@ class _$EquipmentDtoImpl extends _EquipmentDto {
|
||||
@JsonKey(name: 'models_id') required this.modelsId,
|
||||
@JsonKey(name: 'model_name', includeToJson: false) this.modelName,
|
||||
@JsonKey(name: 'vendor_name', includeToJson: false) this.vendorName,
|
||||
@JsonKey(name: 'warehouses_id') this.warehousesId,
|
||||
@JsonKey(name: 'warehouses_name', includeToJson: false)
|
||||
this.warehousesName,
|
||||
@JsonKey(name: 'serial_number') required this.serialNumber,
|
||||
this.barcode,
|
||||
@JsonKey(name: 'purchased_at') this.purchasedAt,
|
||||
@@ -374,6 +408,13 @@ class _$EquipmentDtoImpl extends _EquipmentDto {
|
||||
@override
|
||||
@JsonKey(name: 'vendor_name', includeToJson: false)
|
||||
final String? vendorName;
|
||||
// JOIN 필드 - 응답에서만 제공
|
||||
@override
|
||||
@JsonKey(name: 'warehouses_id')
|
||||
final int? warehousesId;
|
||||
@override
|
||||
@JsonKey(name: 'warehouses_name', includeToJson: false)
|
||||
final String? warehousesName;
|
||||
// JOIN 필드 - 응답에서만 제공
|
||||
@override
|
||||
@JsonKey(name: 'serial_number')
|
||||
@@ -409,7 +450,7 @@ class _$EquipmentDtoImpl extends _EquipmentDto {
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'EquipmentDto(id: $id, companiesId: $companiesId, companyName: $companyName, modelsId: $modelsId, modelName: $modelName, vendorName: $vendorName, serialNumber: $serialNumber, barcode: $barcode, purchasedAt: $purchasedAt, purchasePrice: $purchasePrice, warrantyNumber: $warrantyNumber, warrantyStartedAt: $warrantyStartedAt, warrantyEndedAt: $warrantyEndedAt, remark: $remark, isDeleted: $isDeleted, registeredAt: $registeredAt, updatedAt: $updatedAt)';
|
||||
return 'EquipmentDto(id: $id, companiesId: $companiesId, companyName: $companyName, modelsId: $modelsId, modelName: $modelName, vendorName: $vendorName, warehousesId: $warehousesId, warehousesName: $warehousesName, serialNumber: $serialNumber, barcode: $barcode, purchasedAt: $purchasedAt, purchasePrice: $purchasePrice, warrantyNumber: $warrantyNumber, warrantyStartedAt: $warrantyStartedAt, warrantyEndedAt: $warrantyEndedAt, remark: $remark, isDeleted: $isDeleted, registeredAt: $registeredAt, updatedAt: $updatedAt)';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -428,6 +469,10 @@ class _$EquipmentDtoImpl extends _EquipmentDto {
|
||||
other.modelName == modelName) &&
|
||||
(identical(other.vendorName, vendorName) ||
|
||||
other.vendorName == vendorName) &&
|
||||
(identical(other.warehousesId, warehousesId) ||
|
||||
other.warehousesId == warehousesId) &&
|
||||
(identical(other.warehousesName, warehousesName) ||
|
||||
other.warehousesName == warehousesName) &&
|
||||
(identical(other.serialNumber, serialNumber) ||
|
||||
other.serialNumber == serialNumber) &&
|
||||
(identical(other.barcode, barcode) || other.barcode == barcode) &&
|
||||
@@ -452,25 +497,28 @@ class _$EquipmentDtoImpl extends _EquipmentDto {
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
id,
|
||||
companiesId,
|
||||
companyName,
|
||||
modelsId,
|
||||
modelName,
|
||||
vendorName,
|
||||
serialNumber,
|
||||
barcode,
|
||||
purchasedAt,
|
||||
purchasePrice,
|
||||
warrantyNumber,
|
||||
warrantyStartedAt,
|
||||
warrantyEndedAt,
|
||||
remark,
|
||||
isDeleted,
|
||||
registeredAt,
|
||||
updatedAt);
|
||||
int get hashCode => Object.hashAll([
|
||||
runtimeType,
|
||||
id,
|
||||
companiesId,
|
||||
companyName,
|
||||
modelsId,
|
||||
modelName,
|
||||
vendorName,
|
||||
warehousesId,
|
||||
warehousesName,
|
||||
serialNumber,
|
||||
barcode,
|
||||
purchasedAt,
|
||||
purchasePrice,
|
||||
warrantyNumber,
|
||||
warrantyStartedAt,
|
||||
warrantyEndedAt,
|
||||
remark,
|
||||
isDeleted,
|
||||
registeredAt,
|
||||
updatedAt
|
||||
]);
|
||||
|
||||
/// Create a copy of EquipmentDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@@ -499,6 +547,9 @@ abstract class _EquipmentDto extends EquipmentDto {
|
||||
final String? modelName,
|
||||
@JsonKey(name: 'vendor_name', includeToJson: false)
|
||||
final String? vendorName,
|
||||
@JsonKey(name: 'warehouses_id') final int? warehousesId,
|
||||
@JsonKey(name: 'warehouses_name', includeToJson: false)
|
||||
final String? warehousesName,
|
||||
@JsonKey(name: 'serial_number') required final String serialNumber,
|
||||
final String? barcode,
|
||||
@JsonKey(name: 'purchased_at') final DateTime? purchasedAt,
|
||||
@@ -536,6 +587,12 @@ abstract class _EquipmentDto extends EquipmentDto {
|
||||
@JsonKey(name: 'vendor_name', includeToJson: false)
|
||||
String? get vendorName; // JOIN 필드 - 응답에서만 제공
|
||||
@override
|
||||
@JsonKey(name: 'warehouses_id')
|
||||
int? get warehousesId;
|
||||
@override
|
||||
@JsonKey(name: 'warehouses_name', includeToJson: false)
|
||||
String? get warehousesName; // JOIN 필드 - 응답에서만 제공
|
||||
@override
|
||||
@JsonKey(name: 'serial_number')
|
||||
String get serialNumber;
|
||||
@override
|
||||
|
||||
@@ -14,6 +14,8 @@ _$EquipmentDtoImpl _$$EquipmentDtoImplFromJson(Map<String, dynamic> json) =>
|
||||
modelsId: (json['models_id'] as num).toInt(),
|
||||
modelName: json['model_name'] as String?,
|
||||
vendorName: json['vendor_name'] as String?,
|
||||
warehousesId: (json['warehouses_id'] as num?)?.toInt(),
|
||||
warehousesName: json['warehouses_name'] as String?,
|
||||
serialNumber: json['serial_number'] as String,
|
||||
barcode: json['barcode'] as String?,
|
||||
purchasedAt: json['purchased_at'] == null
|
||||
@@ -38,6 +40,7 @@ Map<String, dynamic> _$$EquipmentDtoImplToJson(_$EquipmentDtoImpl instance) =>
|
||||
'id': instance.id,
|
||||
'companies_id': instance.companiesId,
|
||||
'models_id': instance.modelsId,
|
||||
'warehouses_id': instance.warehousesId,
|
||||
'serial_number': instance.serialNumber,
|
||||
'barcode': instance.barcode,
|
||||
'purchased_at': instance.purchasedAt?.toIso8601String(),
|
||||
|
||||
Reference in New Issue
Block a user