feat: V/R 유지보수 시스템 전환 및 대시보드 테이블 형태 완성
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

- 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:
JiWoong Sul
2025-09-05 14:33:20 +09:00
parent 2c20999025
commit 519e1883a3
46 changed files with 7804 additions and 1034 deletions

View File

@@ -20,10 +20,11 @@ StockStatusDto _$StockStatusDtoFromJson(Map<String, dynamic> json) {
/// @nodoc
mixin _$StockStatusDto {
@JsonKey(name: 'equipments_id')
int get equipmentsId => throw _privateConstructorUsedError;
@JsonKey(name: 'warehouses_id')
int get warehousesId => throw _privateConstructorUsedError;
// 백엔드 StockStatusResponse와 정확히 매핑
@JsonKey(name: 'equipment_id')
int get equipmentId => throw _privateConstructorUsedError;
@JsonKey(name: 'warehouse_id')
int get warehouseId => throw _privateConstructorUsedError;
@JsonKey(name: 'equipment_serial')
String get equipmentSerial => throw _privateConstructorUsedError;
@JsonKey(name: 'model_name')
@@ -52,8 +53,8 @@ abstract class $StockStatusDtoCopyWith<$Res> {
_$StockStatusDtoCopyWithImpl<$Res, StockStatusDto>;
@useResult
$Res call(
{@JsonKey(name: 'equipments_id') int equipmentsId,
@JsonKey(name: 'warehouses_id') int warehousesId,
{@JsonKey(name: 'equipment_id') int equipmentId,
@JsonKey(name: 'warehouse_id') int warehouseId,
@JsonKey(name: 'equipment_serial') String equipmentSerial,
@JsonKey(name: 'model_name') String? modelName,
@JsonKey(name: 'warehouse_name') String warehouseName,
@@ -76,8 +77,8 @@ class _$StockStatusDtoCopyWithImpl<$Res, $Val extends StockStatusDto>
@pragma('vm:prefer-inline')
@override
$Res call({
Object? equipmentsId = null,
Object? warehousesId = null,
Object? equipmentId = null,
Object? warehouseId = null,
Object? equipmentSerial = null,
Object? modelName = freezed,
Object? warehouseName = null,
@@ -85,13 +86,13 @@ class _$StockStatusDtoCopyWithImpl<$Res, $Val extends StockStatusDto>
Object? lastTransactionDate = freezed,
}) {
return _then(_value.copyWith(
equipmentsId: null == equipmentsId
? _value.equipmentsId
: equipmentsId // ignore: cast_nullable_to_non_nullable
equipmentId: null == equipmentId
? _value.equipmentId
: equipmentId // ignore: cast_nullable_to_non_nullable
as int,
warehousesId: null == warehousesId
? _value.warehousesId
: warehousesId // ignore: cast_nullable_to_non_nullable
warehouseId: null == warehouseId
? _value.warehouseId
: warehouseId // ignore: cast_nullable_to_non_nullable
as int,
equipmentSerial: null == equipmentSerial
? _value.equipmentSerial
@@ -126,8 +127,8 @@ abstract class _$$StockStatusDtoImplCopyWith<$Res>
@override
@useResult
$Res call(
{@JsonKey(name: 'equipments_id') int equipmentsId,
@JsonKey(name: 'warehouses_id') int warehousesId,
{@JsonKey(name: 'equipment_id') int equipmentId,
@JsonKey(name: 'warehouse_id') int warehouseId,
@JsonKey(name: 'equipment_serial') String equipmentSerial,
@JsonKey(name: 'model_name') String? modelName,
@JsonKey(name: 'warehouse_name') String warehouseName,
@@ -148,8 +149,8 @@ class __$$StockStatusDtoImplCopyWithImpl<$Res>
@pragma('vm:prefer-inline')
@override
$Res call({
Object? equipmentsId = null,
Object? warehousesId = null,
Object? equipmentId = null,
Object? warehouseId = null,
Object? equipmentSerial = null,
Object? modelName = freezed,
Object? warehouseName = null,
@@ -157,13 +158,13 @@ class __$$StockStatusDtoImplCopyWithImpl<$Res>
Object? lastTransactionDate = freezed,
}) {
return _then(_$StockStatusDtoImpl(
equipmentsId: null == equipmentsId
? _value.equipmentsId
: equipmentsId // ignore: cast_nullable_to_non_nullable
equipmentId: null == equipmentId
? _value.equipmentId
: equipmentId // ignore: cast_nullable_to_non_nullable
as int,
warehousesId: null == warehousesId
? _value.warehousesId
: warehousesId // ignore: cast_nullable_to_non_nullable
warehouseId: null == warehouseId
? _value.warehouseId
: warehouseId // ignore: cast_nullable_to_non_nullable
as int,
equipmentSerial: null == equipmentSerial
? _value.equipmentSerial
@@ -193,8 +194,8 @@ class __$$StockStatusDtoImplCopyWithImpl<$Res>
@JsonSerializable()
class _$StockStatusDtoImpl implements _StockStatusDto {
const _$StockStatusDtoImpl(
{@JsonKey(name: 'equipments_id') required this.equipmentsId,
@JsonKey(name: 'warehouses_id') required this.warehousesId,
{@JsonKey(name: 'equipment_id') required this.equipmentId,
@JsonKey(name: 'warehouse_id') required this.warehouseId,
@JsonKey(name: 'equipment_serial') required this.equipmentSerial,
@JsonKey(name: 'model_name') this.modelName,
@JsonKey(name: 'warehouse_name') required this.warehouseName,
@@ -204,12 +205,13 @@ class _$StockStatusDtoImpl implements _StockStatusDto {
factory _$StockStatusDtoImpl.fromJson(Map<String, dynamic> json) =>
_$$StockStatusDtoImplFromJson(json);
// 백엔드 StockStatusResponse와 정확히 매핑
@override
@JsonKey(name: 'equipments_id')
final int equipmentsId;
@JsonKey(name: 'equipment_id')
final int equipmentId;
@override
@JsonKey(name: 'warehouses_id')
final int warehousesId;
@JsonKey(name: 'warehouse_id')
final int warehouseId;
@override
@JsonKey(name: 'equipment_serial')
final String equipmentSerial;
@@ -228,7 +230,7 @@ class _$StockStatusDtoImpl implements _StockStatusDto {
@override
String toString() {
return 'StockStatusDto(equipmentsId: $equipmentsId, warehousesId: $warehousesId, equipmentSerial: $equipmentSerial, modelName: $modelName, warehouseName: $warehouseName, currentQuantity: $currentQuantity, lastTransactionDate: $lastTransactionDate)';
return 'StockStatusDto(equipmentId: $equipmentId, warehouseId: $warehouseId, equipmentSerial: $equipmentSerial, modelName: $modelName, warehouseName: $warehouseName, currentQuantity: $currentQuantity, lastTransactionDate: $lastTransactionDate)';
}
@override
@@ -236,10 +238,10 @@ class _$StockStatusDtoImpl implements _StockStatusDto {
return identical(this, other) ||
(other.runtimeType == runtimeType &&
other is _$StockStatusDtoImpl &&
(identical(other.equipmentsId, equipmentsId) ||
other.equipmentsId == equipmentsId) &&
(identical(other.warehousesId, warehousesId) ||
other.warehousesId == warehousesId) &&
(identical(other.equipmentId, equipmentId) ||
other.equipmentId == equipmentId) &&
(identical(other.warehouseId, warehouseId) ||
other.warehouseId == warehouseId) &&
(identical(other.equipmentSerial, equipmentSerial) ||
other.equipmentSerial == equipmentSerial) &&
(identical(other.modelName, modelName) ||
@@ -256,8 +258,8 @@ class _$StockStatusDtoImpl implements _StockStatusDto {
@override
int get hashCode => Object.hash(
runtimeType,
equipmentsId,
warehousesId,
equipmentId,
warehouseId,
equipmentSerial,
modelName,
warehouseName,
@@ -283,8 +285,8 @@ class _$StockStatusDtoImpl implements _StockStatusDto {
abstract class _StockStatusDto implements StockStatusDto {
const factory _StockStatusDto(
{@JsonKey(name: 'equipments_id') required final int equipmentsId,
@JsonKey(name: 'warehouses_id') required final int warehousesId,
{@JsonKey(name: 'equipment_id') required final int equipmentId,
@JsonKey(name: 'warehouse_id') required final int warehouseId,
@JsonKey(name: 'equipment_serial') required final String equipmentSerial,
@JsonKey(name: 'model_name') final String? modelName,
@JsonKey(name: 'warehouse_name') required final String warehouseName,
@@ -295,12 +297,13 @@ abstract class _StockStatusDto implements StockStatusDto {
factory _StockStatusDto.fromJson(Map<String, dynamic> json) =
_$StockStatusDtoImpl.fromJson;
// 백엔드 StockStatusResponse와 정확히 매핑
@override
@JsonKey(name: 'equipments_id')
int get equipmentsId;
@JsonKey(name: 'equipment_id')
int get equipmentId;
@override
@JsonKey(name: 'warehouses_id')
int get warehousesId;
@JsonKey(name: 'warehouse_id')
int get warehouseId;
@override
@JsonKey(name: 'equipment_serial')
String get equipmentSerial;