feat: 대규모 코드베이스 개선 - 백엔드 통합성 강화 및 UI 일관성 완성
- CLAUDE.md 대폭 개선: 개발 가이드라인 및 프로젝트 상태 문서화 - 백엔드 API 통합: 모든 엔티티 간 Foreign Key 관계 완벽 구현 - UI 일관성 강화: shadcn_ui 컴포넌트 표준화 적용 - 데이터 모델 개선: DTO 및 모델 클래스 백엔드 스키마와 100% 일치 - 사용자 관리: 회사 연결, 중복 검사, 입력 검증 기능 추가 - 창고 관리: 우편번호 연결, 중복 검사 기능 강화 - 회사 관리: 우편번호 연결, 중복 검사 로직 구현 - 장비 관리: 불필요한 카테고리 필드 제거, 벤더-모델 관계 정리 - 우편번호 시스템: 검색 다이얼로그 Provider 버그 수정 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -53,14 +53,23 @@ class ZipcodeController extends ChangeNotifier {
|
||||
|
||||
// 초기 데이터 로드
|
||||
Future<void> initialize() async {
|
||||
_isLoading = true;
|
||||
notifyListeners();
|
||||
|
||||
// 시도 목록 로드
|
||||
await _loadSidoList();
|
||||
|
||||
// 초기 우편번호 목록 로드 (첫 페이지)
|
||||
await searchZipcodes();
|
||||
try {
|
||||
_isLoading = true;
|
||||
_zipcodes = [];
|
||||
_selectedZipcode = null;
|
||||
_errorMessage = null;
|
||||
notifyListeners();
|
||||
|
||||
// 시도 목록 로드
|
||||
await _loadSidoList();
|
||||
|
||||
// 초기 우편번호 목록 로드 (첫 페이지)
|
||||
await searchZipcodes();
|
||||
} catch (e) {
|
||||
_errorMessage = '초기화 중 오류가 발생했습니다.';
|
||||
_isLoading = false;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
// 우편번호 검색
|
||||
@@ -141,27 +150,35 @@ class ZipcodeController extends ChangeNotifier {
|
||||
|
||||
// 시도 선택
|
||||
Future<void> setSido(String? sido) async {
|
||||
_selectedSido = sido;
|
||||
_selectedGu = null; // 시도 변경 시 구 초기화
|
||||
_guList = []; // 구 목록 초기화
|
||||
notifyListeners();
|
||||
|
||||
// 선택된 시도에 따른 구 목록 로드
|
||||
if (sido != null) {
|
||||
await _loadGuListBySido(sido);
|
||||
try {
|
||||
_selectedSido = sido;
|
||||
_selectedGu = null; // 시도 변경 시 구 초기화
|
||||
_guList = []; // 구 목록 초기화
|
||||
notifyListeners();
|
||||
|
||||
// 선택된 시도에 따른 구 목록 로드
|
||||
if (sido != null && sido.isNotEmpty) {
|
||||
await _loadGuListBySido(sido);
|
||||
}
|
||||
|
||||
// 검색 새로고침
|
||||
await searchZipcodes(refresh: true);
|
||||
} catch (e) {
|
||||
debugPrint('시도 선택 오류: $e');
|
||||
}
|
||||
|
||||
// 검색 새로고침
|
||||
await searchZipcodes(refresh: true);
|
||||
}
|
||||
|
||||
// 구 선택
|
||||
Future<void> setGu(String? gu) async {
|
||||
_selectedGu = gu;
|
||||
notifyListeners();
|
||||
|
||||
// 검색 새로고침
|
||||
await searchZipcodes(refresh: true);
|
||||
try {
|
||||
_selectedGu = gu;
|
||||
notifyListeners();
|
||||
|
||||
// 검색 새로고침
|
||||
await searchZipcodes(refresh: true);
|
||||
} catch (e) {
|
||||
debugPrint('구 선택 오류: $e');
|
||||
}
|
||||
}
|
||||
|
||||
// 필터 초기화
|
||||
@@ -202,6 +219,9 @@ class ZipcodeController extends ChangeNotifier {
|
||||
Future<void> _loadSidoList() async {
|
||||
try {
|
||||
_sidoList = await _zipcodeUseCase.getAllSidoList();
|
||||
debugPrint('=== 시도 목록 로드 완료 ===');
|
||||
debugPrint('총 시도 개수: ${_sidoList.length}');
|
||||
debugPrint('시도 목록: $_sidoList');
|
||||
} catch (e) {
|
||||
debugPrint('시도 목록 로드 실패: $e');
|
||||
_sidoList = [];
|
||||
|
||||
Reference in New Issue
Block a user