260730 회신 확정 사항 반영 — 자리표시자와 미결 표기 정리
요청자 회신으로 ①권리처리필요 자동체크와 ②RE 메모 「해결」 버튼이 모두 현행 유지로 확정됐다. 동작 변경은 없다. 확정 전에 남겨 둔 "준비 중" 자리표시자와 "확인 요청 중" 주석만 실제 상태에 맞춘다. - 대시보드 '미해결 RE' 타일의 "데이터 준비 중" 부제 제거. unresolvedRe는 V16 이후 re_memo에서 실제로 집계되고 있는데 화면 문구만 집계 이전 상태로 남아 있어, 실제 숫자가 나와도 준비 중으로 읽혔다 - 도움말 KPI 설명에 미해결 RE 항목 추가(7개 타일 중 이것만 빠져 있었다). "항상 0으로 표시된다" 주의문구는 「해결」 처리 시 숫자가 줄어든다는 안내로 교체 - DashboardSummary/DashboardOrgRow Javadoc의 "RE 테이블이 아직 없어 항상 0"을 실제 계산식으로 수정 - 설계문서 §4 재질문 항목 확정 표기, §8 "확인받지 못한 가정" 블록 확정으로 교체, §11 미결 항목을 「확정된 것 / 남은 것」으로 재구성하고 260730 재질문 7건 중 코드 변경이 걸린 3건(연번 체계·4/8 집계·기존 공공누리 편집 허용)을 명시 V16__re_memo.sql의 같은 취지 주석은 손대지 않았다. 이미 적용된 마이그레이션이라 주석만 고쳐도 체크섬이 바뀌어 운영 DB에서 validate가 실패한다. 테스트: 프런트 209건 전부 통과, tsc 오류 0. Java 변경은 Javadoc 주석 2줄뿐이며 이 PC에 JDK가 없어 컴파일은 확인하지 못했다. Co-Authored-By: Claude Opus 5 (1M context)
@5ab82ed42e9c5f4e3b9989eea1c16c45e9043e69
--- docs/superpowers/specs/2026-07-28-common-code-refactoring-design.md
+++ docs/superpowers/specs/2026-07-28-common-code-refactoring-design.md
... | ... | @@ -70,7 +70,8 @@ |
| 70 | 70 |
|
| 71 | 71 |
- 미응답 10건: 1(서류제출 기준)·3(보고서작성 기준)·9(최근변경 범위)·13(초상권+개방불가)· |
| 72 | 72 |
14(검색 AND/OR)·18(자동 단계전환)·19(되돌림)·22(작성자 표기)·24(연락방법)·26(자료실) |
| 73 |
-- 재질문 1건: 12(권리처리필요 자동체크) |
|
| 73 |
+- ~~재질문 1건: 12(권리처리필요 자동체크)~~ → **2026-07-30 회신으로 확정: 「지금처럼 자동으로 두기」. |
|
| 74 |
+ 현행 유지이므로 코드 변경 없음** |
|
| 74 | 75 |
- 결정 대기: 20·21·27 (Mattermost 존치 여부와 사용자 계정 체계) |
| 75 | 76 |
- 28(보고서 양식) — 양식 수령 후 별건 |
| 76 | 77 |
|
... | ... | @@ -370,9 +371,8 @@ |
| 370 | 371 |
`DashboardMapper.xml:64`의 `0 as re_count`를 서브쿼리로 교체한다 |
| 371 | 372 |
(해당 파일 44-45행 주석이 이미 이 방식을 예고하고 있다). |
| 372 | 373 |
|
| 373 |
-> **확인받지 못한 가정**: `resolved` 플래그는 회신에 없던 항목이다. 대시보드 '미해결 RE' |
|
| 374 |
-> 숫자를 세려면 해결 여부를 구분할 수단이 필요해 완료 체크박스로 설계했다. |
|
| 375 |
-> 이 가정이 틀리면 RE 탭과 KPI 집계를 함께 손봐야 한다. 회신 요청 상태다. |
|
| 374 |
+> **확정(2026-07-30 회신)**: `resolved` 플래그는 회신에 없던 항목이라 완료 체크박스로 설계하고 |
|
| 375 |
+> 확인 요청했고, 「지금처럼 「해결」 버튼 두기」로 확정됐다. 현행 유지이므로 변경 없음. |
|
| 376 | 376 |
|
| 377 | 377 |
## 9. 테스트 |
| 378 | 378 |
|
... | ... | @@ -408,7 +408,23 @@ |
| 408 | 408 |
|
| 409 | 409 |
## 11. 미결 항목 |
| 410 | 410 |
|
| 411 |
-- RE 메모의 `resolved` 플래그 (§8) — 회신 대기 |
|
| 412 |
-- 요구사항 미응답 10건, 재질문 1건, 결정 대기 3건 — §4 제외 목록 |
|
| 413 |
-- 기관 100개 명부 엑셀 — 수령 대기 |
|
| 414 |
-- 주간·월간 보고 양식 — 수령 대기 |
|
| 411 |
+### 2026-07-30 회신으로 확정된 것 (모두 현행 유지 — 코드 변경 없음) |
|
| 412 |
+ |
|
| 413 |
+- 12(권리처리필요 자동체크) — 「지금처럼 자동으로 두기」 |
|
| 414 |
+- RE 메모의 `resolved` 플래그 (§8) — 「지금처럼 「해결」 버튼 두기」 |
|
| 415 |
+- 기관 엑셀의 공공누리 유형 값 — 「기관 자료는 임의 변경 불가, 양식 그대로 업로드」. |
|
| 416 |
+ 현행이 이미 무검증 원문 저장이므로 변경 없음 |
|
| 417 |
+- 저희 입력칸의 공공누리 유형 — 「0~4유형에서 선택만 가능하게」. 현행이 이미 코드표 기반 |
|
| 418 |
+ select/radio라 자유입력 불가. 변경 없음 |
|
| 419 |
+ |
|
| 420 |
+### 남은 것 |
|
| 421 |
+ |
|
| 422 |
+- 요구사항 미응답 10건, 결정 대기 3건 — §4 제외 목록 |
|
| 423 |
+- 기관 100개 명부 엑셀 — 수령 대기. 양식은 기존 `신유형 신청목록` 시트 그대로 사용 가능하고 |
|
| 424 |
+ `POST /api/seed` + `SeedUpload.tsx`로 요청자가 직접 올릴 수 있음을 회신함 |
|
| 425 |
+- 주간·월간 보고 양식 — 수령 대기 (시점 확인 요청 중) |
|
| 426 |
+- **2026-07-30 재질문 7건** — `ITN-HUB 요구사항 확인요청_재질문_260730.pptx` 회신 대기. |
|
| 427 |
+ 이 중 다음 3건은 답이 와야 코드를 손댈 수 있다: |
|
| 428 |
+ - 기관 연번(`org_no`) 체계 — 100곳 명부에서 재부여 시 기존 자료 마이그레이션 필요 |
|
| 429 |
+ - 코드표에 없는 값(`4`·`8`)의 통계 집계 방식 — 표시·집계 계층에서만 처리 예정 |
|
| 430 |
+ - 권리확인 화면의 「기존 공공누리 유형」 편집 허용 여부 — 현재 권리처리 화면과 불일치 |
--- frontend/src/components/Dashboard.tsx
+++ frontend/src/components/Dashboard.tsx
... | ... | @@ -374,7 +374,7 @@ |
| 374 | 374 |
sub={`${percent(s.processDone, s.processTotal)}%`}
|
| 375 | 375 |
accent |
| 376 | 376 |
/> |
| 377 |
- <KpiTile label="미해결 RE" value={String(s.unresolvedRe)} sub="데이터 준비 중" />
|
|
| 377 |
+ <KpiTile label="미해결 RE" value={String(s.unresolvedRe)} />
|
|
| 378 | 378 |
<KpiTile label="보고서 작성" value={String(s.reportWriting)} />
|
| 379 | 379 |
<KpiTile label="완료" value={String(s.completed)} />
|
| 380 | 380 |
</div> |
--- frontend/src/components/ReMemos.tsx
+++ frontend/src/components/ReMemos.tsx
... | ... | @@ -14,8 +14,8 @@ |
| 14 | 14 |
* 요구사항 [4]: 별도 양식 없이 메모장처럼 등록한다. 메모 1개가 RE 1개다. |
| 15 | 15 |
* 예) ooo 계약서 및 제안요청서 송부 요청, 장영익, 2026.07.08 |
| 16 | 16 |
* |
| 17 |
- * 완료 체크는 회신에 없던 항목이다. 대시보드 '미해결 RE' 숫자를 세려면 해결된 건과 아닌 건을 |
|
| 18 |
- * 가릴 수단이 필요해 한 칸 두었다. |
|
| 17 |
+ * 「해결」 체크는 회신에 없던 항목이라 한 칸 넣고 확인 요청했고, 2026-07-30 회신에서 |
|
| 18 |
+ * "지금처럼 「해결」 버튼 두기"로 확정됐다. 대시보드 '미해결 RE'는 이 값이 false인 건수다. |
|
| 19 | 19 |
*/ |
| 20 | 20 |
function today(): string {
|
| 21 | 21 |
const d = new Date() |
--- frontend/src/help/helpContent.ts
+++ frontend/src/help/helpContent.ts
... | ... | @@ -40,11 +40,12 @@ |
| 40 | 40 |
'신청 — 기관 명부에 등록된 전체 기관 수', |
| 41 | 41 |
'서류제출 — ②목록접수 단계 이상에 도달한 기관 수', |
| 42 | 42 |
'권리확인 / 권리처리 — 전 기관 건수 합계(완료 / 전체)와 진척률', |
| 43 |
+ '미해결 RE — 기관관리 RE 탭의 메모 중 「해결」로 처리되지 않은 건수의 전 기관 합계', |
|
| 43 | 44 |
'보고서 작성 — ⑫보고서 작성 단계에 도달한 기관 수', |
| 44 | 45 |
'완료 — ⑬보고서 제출 완료에 도달한 기관 수(최종 보고서가 올라온 기관만 센다)', |
| 45 | 46 |
], |
| 46 | 47 |
cautions: [ |
| 47 |
- '미해결 RE는 아직 데이터가 없어 항상 0으로 표시된다(자리만 잡아 둔 상태).', |
|
| 48 |
+ 'RE 메모를 「해결」로 바꾸면 이 숫자가 줄어든다. 삭제하지 않아도 집계에서 빠진다.', |
|
| 48 | 49 |
'권리확인·권리처리 진척률은 소수점을 버리고 정수로 반올림한다.', |
| 49 | 50 |
], |
| 50 | 51 |
}, |
--- src/main/java/kr/itn/itnhub/dashboard/DashboardOrgRow.java
+++ src/main/java/kr/itn/itnhub/dashboard/DashboardOrgRow.java
... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 |
* @param stageChangedAt 현재 단계로 넘어온 시각(epoch ms). 카드의 D+n 계산용. 이력이 없으면 null |
| 12 | 12 |
* @param lastChangedAt 기관 관련 마지막 변동 시각(epoch ms). 단계변경·권리확인/처리 수정· |
| 13 | 13 |
* 업무메모·배정 변경 중 가장 최근 것. "최근 진행 기관" 정렬 기준이다 |
| 14 |
- * @param reCount 미해결 RE 건수. RE 데이터 모델이 아직 없어 항상 0이다 |
|
| 14 |
+ * @param reCount 미해결 RE 건수. {@code re_memo} 중 {@code resolved = false}인 건수다
|
|
| 15 | 15 |
*/ |
| 16 | 16 |
public record DashboardOrgRow( |
| 17 | 17 |
Long id, |
--- src/main/java/kr/itn/itnhub/dashboard/DashboardSummary.java
+++ src/main/java/kr/itn/itnhub/dashboard/DashboardSummary.java
... | ... | @@ -9,7 +9,8 @@ |
| 9 | 9 |
* <ul> |
| 10 | 10 |
* <li>{@code docSubmitted}(서류제출) - 12단계 라벨에 없는 이름이라 ②목록접수 도달(stage >= 2)로 본다</li>
|
| 11 | 11 |
* <li>{@code completed}(완료) - ⑪법률검토 최종완료 도달(stage >= 11)</li>
|
| 12 |
- * <li>{@code unresolvedRe}(미해결 RE) - RE 테이블이 아직 없어 항상 0. 자리만 잡아 둔다</li>
|
|
| 12 |
+ * <li>{@code unresolvedRe}(미해결 RE) - {@code re_memo} 중 {@code resolved = false}인 건수의
|
|
| 13 |
+ * 전 기관 합계. 「해결」 버튼으로 세는 방식은 2026-07-30 회신에서 요청자가 확정했다</li> |
|
| 13 | 14 |
* </ul> |
| 14 | 15 |
*/ |
| 15 | 16 |
public record DashboardSummary( |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?