# formData 콘솔 로그 수동 테스트 가이드

## 테스트 시나리오

1. http://localhost:9771/screens/1599?menuObjid=1762422235300 접속
2. 로그인 필요 시: `topseal_admin` / `1234`
3. 5초 대기 (페이지 로드)
4. 첫 번째 탭 "공정 마스터" 확인
5. 좌측 패널에서 **P003** 행 클릭
6. 우측 패널에서 **추가** 버튼 클릭
7. 모달에서 설비(equipment) 드롭다운에서 항목 선택
8. **저장** 버튼 클릭 **전** 콘솔 스냅샷 확인
9. **저장** 버튼 클릭 **후** 콘솔 로그 확인

## 확인할 콘솔 로그

### 1. ADD 모드 formData 설정 (ScreenModal)

```
🔵 [ScreenModal] ADD모드 formData 설정: {...}
```

- **위치**: `frontend/components/common/ScreenModal.tsx` 358행
- **의미**: 모달이 ADD 모드로 열릴 때 부모 데이터(splitPanelParentData)로 설정된 초기 formData
- **확인**: `process_code`가 P003으로 포함되어 있는지

### 2. formData 변경 시 (ScreenModal)

```
🟡 [ScreenModal] onFormDataChange: equipment_code → E001 | formData keys: [...] | process_code: P003
```

- **위치**: `frontend/components/common/ScreenModal.tsx` 1184행
- **의미**: 사용자가 설비를 선택할 때마다 발생
- **확인**: `process_code`가 유지되는지, `equipment_code`가 추가되는지

### 3. 저장 시 formData 디버그 (ButtonPrimary)

```
🔴 [ButtonPrimary] 저장 시 formData 디버그: {
  propsFormDataKeys: [...],
  screenContextFormDataKeys: [...],
  effectiveFormDataKeys: [...],
  process_code: "P003",
  equipment_code: "E001",
  fullData: "{...}"
}
```

- **위치**: `frontend/lib/registry/components/v2-button-primary/ButtonPrimaryComponent.tsx` 1110행
- **의미**: 저장 버튼 클릭 시 실제로 API에 전달되는 formData
- **확인**: `process_code`, `equipment_code`가 모두 포함되어 있는지

## 추가로 확인할 로그

- `process_code` 포함 로그
- `splitPanelParentData` 포함 로그
- `🆕 [추가모달] screenId 기반 모달 열기:` (SplitPanelLayoutComponent 1639행)

## 에러 확인

콘솔에 빨간색으로 표시되는 에러 메시지가 있는지 확인하세요.

## 사전 조건

- **process_mng** 테이블에 P003 데이터가 있어야 함 (company_code = 로그인 사용자 회사)
- **equipment_mng** 테이블에 설비 데이터가 있어야 함
- 로그인 사용자가 해당 회사(COMPANY_7 등) 권한이 있어야 함

## 자동 테스트 스크립트

데이터가 준비된 환경에서:

```bash
cd frontend && npx tsx scripts/test-formdata-logs.ts
```

데이터가 없으면 "좌측 테이블에 데이터가 없습니다" 오류가 발생합니다.
