diff --git a/apps/sn/docs/작업검증/SFR-010-004~SFR-010-007-조사사업/002-qa-SFR-010-004~007-조사사업-통합검증결과.md b/apps/sn/docs/작업검증/SFR-010-004~SFR-010-007-조사사업/002-qa-SFR-010-004~007-조사사업-통합검증결과.md index e0d291237..5024b66fe 100644 --- a/apps/sn/docs/작업검증/SFR-010-004~SFR-010-007-조사사업/002-qa-SFR-010-004~007-조사사업-통합검증결과.md +++ b/apps/sn/docs/작업검증/SFR-010-004~SFR-010-007-조사사업/002-qa-SFR-010-004~007-조사사업-통합검증결과.md @@ -669,3 +669,12 @@ - 저장 API는 실제 시트명 등록을 계속 요구하며 미준비면 기존 결과를 변경하기 전에 차단한다. 프론트는 첨부 업로드 전에 최신 상태를 확인하며 서버에서 같은 오류가 반환돼도 alert로 안내한다. - 검증: ExmnTemplateGateTest 7건 통과(Excel/PPL PDF/MNHL 검토 독립, 미준비 commit 무쓰기 차단, 기존 시트명 보존, 준비 완료 commit, 해시 불일치 차단), FE 타입 검사 통과. 테스트는 mock 기반이며 실제 파일 저장·DB 변경 및 브라우저 끝단 저장은 수행하지 않았다. - 임시 테스트 소스·산출물은 요약 후 정리한다. 이전 ‘검토 전 양식 확인’ 기록은 이 지시로 대체한다. + +## 2026-10-02 quick_vibe 등록 입력 필수 표시 보완 + +- 사업대상 처리분구 제목에 기존 폼과 같은 붉은 별표와 접근성용 필수 문구를 추가했다. 기존 1개 이상 선택 검증은 유지한다. +- 정밀조사연장은 숫자·소수점 하나·입력 삭제만 허용한다. 문자/한글/부호/지수/콤마/복수 소수점 입력 및 붙여넣기는 거부한다. km 소수 입력과 기존 저장 검증은 유지한다. +- 원본: 요구사항 기능 시트76행 SFR-010-004, PPT 실제39슬라이드 SN_MN040105 사업정보 등록/처리분구 선택/정밀조사연장(km). +- 검증: SN 전체 타입검사 exit0, 숫자/소수/삭제 및 거부 문자열 Node 검증 통과, git diff --check 통과. 실브라우저 입력 검증은 미수행. +- 수정 소스: `frontend/apps/sn/src/features/exmn/ui/exmn-business-register-popup-page.tsx`. API/백엔드 코드·저장 계약 변경 없음. 기존 GIS 작업은 변경하지 않았다. +- 롤백: 해당 소스의 이번 필수 표시/입력 제한만 복원한다. diff --git a/apps/sn/docs/작업검증/SFR-010-012-준설관리/001-qa-SFR-010-012-준설관리-검증결과.md b/apps/sn/docs/작업검증/SFR-010-012-준설관리/001-qa-SFR-010-012-준설관리-검증결과.md index 0475da26a..56ef7a5bf 100644 --- a/apps/sn/docs/작업검증/SFR-010-012-준설관리/001-qa-SFR-010-012-준설관리-검증결과.md +++ b/apps/sn/docs/작업검증/SFR-010-012-준설관리/001-qa-SFR-010-012-준설관리-검증결과.md @@ -422,3 +422,15 @@ Chrome 확장의 파일 URL 접근 권한이 꺼져 있어 이번 회귀에서 E - `git diff --check`는 줄바꿈 변환 경고 외 whitespace 오류 없이 통과했다. - 사용자 요청에 따라 전체 TypeScript 검사와 Next 빌드는 수행하지 않았다. - 등록·수정 팝업에서 버튼명, 위치출처, 사진상태 표시와 기존 저장 흐름의 수동 검증이 남아 있다. + +## 2026-10-02 quick_vibe 등록 입력 필수 표시 보완 + +- 설정된 SN DB의 information_schema.columns를 psql로 읽기 전용 조회했다(default_transaction_read_only=on). 대상은 sm_bs_sn.tb_sn_drdgn_job, tb_sn_drdgn_ppl, tb_sn_drdgn_job_photo 3개 테이블이다. DB 데이터/DDL 변경 없음. +- 작업 테이블의 drdgn_ymd/reg_se_cd/pstn_src_cd/lot/lat, 관로 테이블의 fid/mng_inst_cd/fclt_mng_no/관로 및 준설 좌표/거리 등 NOT NULL을 Repository 저장값과 대조했다. +- 사용자 확인이 필요한 위치등록·자동 연결 관로에 기존 TableHead data-required 별표를 적용했다. 준설일자의 기존 필수 표시는 유지했다. +- 사진은 DredgingRequestValidator의 PHOTO 방식 1장 이상 규칙에 따라 PHOTO 모드에서만 별표를 표시한다. MANUAL에는 필수 표시하지 않는다. 촬영일시 sht_dt는 nullable이므로 필수로 표시하지 않는다. +- ID/순번/등록시각/사진건수 및 자동 매핑된 관로 속성은 시스템이 채우므로 개별 사용자 입력 필수 항목으로 추가하지 않는다. 등록 방식도 기존 기본 선택/버튼을 유지한다. +- 원본: 요구사항 기능 시트84행 SFR-010-012, PPT 실제53슬라이드 SN_MN040201 준설 결과 업로드. +- 검증: DB 메타데이터 조회 성공, 기존 서버/FE 저장 검증 대조, SN 전체 타입검사 exit0, git diff --check 통과. 실브라우저 표시는 미수행. +- 수정 소스: `frontend/apps/sn/src/features/dredging/ui/dredging-registration-body.tsx`. API/백엔드 코드·저장 계약 변경 없음. 기존 GIS 작업은 변경하지 않았다. +- 롤백: 해당 소스의 이번 필수 표시/입력 제한만 복원한다. diff --git a/apps/sn/docs/작업내용/SFR-010-004~SFR-010-007-조사사업/001-fe-SFR-010-004~007-조사사업-통합구현기록.md b/apps/sn/docs/작업내용/SFR-010-004~SFR-010-007-조사사업/001-fe-SFR-010-004~007-조사사업-통합구현기록.md index 1567284ac..60950552e 100644 --- a/apps/sn/docs/작업내용/SFR-010-004~SFR-010-007-조사사업/001-fe-SFR-010-004~007-조사사업-통합구현기록.md +++ b/apps/sn/docs/작업내용/SFR-010-004~SFR-010-007-조사사업/001-fe-SFR-010-004~007-조사사업-통합구현기록.md @@ -995,3 +995,12 @@ ### 2026-10-01 조사양식 안내창 폭 조정 - 해당 안내만 56rem 폭과 화면 여백 최대폭을 적용한 모달로 표시한다. 단어 유지와 균형 줄바꿈으로 두 줄 표기를 유도하며 문구와 저장 시점은 유지한다. 다른 공통 알림창은 변경하지 않는다. - git diff --check 통과. 좁은 화면에서는 잘림 방지를 위해 추가 줄바꿈을 허용한다. + +## 2026-10-02 quick_vibe 등록 입력 필수 표시 보완 + +- 사업대상 처리분구 제목에 기존 폼과 같은 붉은 별표와 접근성용 필수 문구를 추가했다. 기존 1개 이상 선택 검증은 유지한다. +- 정밀조사연장은 숫자·소수점 하나·입력 삭제만 허용한다. 문자/한글/부호/지수/콤마/복수 소수점 입력 및 붙여넣기는 거부한다. km 소수 입력과 기존 저장 검증은 유지한다. +- 원본: 요구사항 기능 시트76행 SFR-010-004, PPT 실제39슬라이드 SN_MN040105 사업정보 등록/처리분구 선택/정밀조사연장(km). +- 검증: SN 전체 타입검사 exit0, 숫자/소수/삭제 및 거부 문자열 Node 검증 통과, git diff --check 통과. 실브라우저 입력 검증은 미수행. +- 수정 소스: `frontend/apps/sn/src/features/exmn/ui/exmn-business-register-popup-page.tsx`. API/백엔드 코드·저장 계약 변경 없음. 기존 GIS 작업은 변경하지 않았다. +- 롤백: 해당 소스의 이번 필수 표시/입력 제한만 복원한다. diff --git a/apps/sn/docs/작업내용/SFR-010-012-준설관리/001-fe-SFR-010-012-준설관리-구현기록.md b/apps/sn/docs/작업내용/SFR-010-012-준설관리/001-fe-SFR-010-012-준설관리-구현기록.md index ed3215cf9..c14145252 100644 --- a/apps/sn/docs/작업내용/SFR-010-012-준설관리/001-fe-SFR-010-012-준설관리-구현기록.md +++ b/apps/sn/docs/작업내용/SFR-010-012-준설관리/001-fe-SFR-010-012-준설관리-구현기록.md @@ -400,3 +400,15 @@ - 기존 `SFR-010-012/013` 사진 확인 흐름에서 사용자 요청에 따른 표시 보완이다. 등록 화면, API·DB와 업로드·저장 처리는 변경하지 않았다. - 로컬 HMR 후 실제 사진 4건의 12px/18px/500 적용, 가로 잘림 없음과 밑줄 표시를 확인했다. 사진 선택·미리보기 전환 후 기존 선택으로 복원했다. 신규 사진 업로드는 실행하지 않았다. - `git diff --check` 통과. 롤백은 파일명·촬영일자의 글자 클래스만 기존 값으로 되돌린다. + +## 2026-10-02 quick_vibe 등록 입력 필수 표시 보완 + +- 설정된 SN DB의 information_schema.columns를 psql로 읽기 전용 조회했다(default_transaction_read_only=on). 대상은 sm_bs_sn.tb_sn_drdgn_job, tb_sn_drdgn_ppl, tb_sn_drdgn_job_photo 3개 테이블이다. DB 데이터/DDL 변경 없음. +- 작업 테이블의 drdgn_ymd/reg_se_cd/pstn_src_cd/lot/lat, 관로 테이블의 fid/mng_inst_cd/fclt_mng_no/관로 및 준설 좌표/거리 등 NOT NULL을 Repository 저장값과 대조했다. +- 사용자 확인이 필요한 위치등록·자동 연결 관로에 기존 TableHead data-required 별표를 적용했다. 준설일자의 기존 필수 표시는 유지했다. +- 사진은 DredgingRequestValidator의 PHOTO 방식 1장 이상 규칙에 따라 PHOTO 모드에서만 별표를 표시한다. MANUAL에는 필수 표시하지 않는다. 촬영일시 sht_dt는 nullable이므로 필수로 표시하지 않는다. +- ID/순번/등록시각/사진건수 및 자동 매핑된 관로 속성은 시스템이 채우므로 개별 사용자 입력 필수 항목으로 추가하지 않는다. 등록 방식도 기존 기본 선택/버튼을 유지한다. +- 원본: 요구사항 기능 시트84행 SFR-010-012, PPT 실제53슬라이드 SN_MN040201 준설 결과 업로드. +- 검증: DB 메타데이터 조회 성공, 기존 서버/FE 저장 검증 대조, SN 전체 타입검사 exit0, git diff --check 통과. 실브라우저 표시는 미수행. +- 수정 소스: `frontend/apps/sn/src/features/dredging/ui/dredging-registration-body.tsx`. API/백엔드 코드·저장 계약 변경 없음. 기존 GIS 작업은 변경하지 않았다. +- 롤백: 해당 소스의 이번 필수 표시/입력 제한만 복원한다. diff --git a/apps/sn/src/features/dredging/ui/dredging-registration-body.tsx b/apps/sn/src/features/dredging/ui/dredging-registration-body.tsx index 870be5cd0..4a2c93b2d 100644 --- a/apps/sn/src/features/dredging/ui/dredging-registration-body.tsx +++ b/apps/sn/src/features/dredging/ui/dredging-registration-body.tsx @@ -224,7 +224,15 @@ export const DredgingRegistrationBody = ({ >
촬영일과 GPS 정보를 확인합니다.
@@ -415,7 +423,7 @@ export const DredgingRegistrationBody = ({