Skip to content

[Feature] 업무 목록/상세/생성 실제 API 연동 (Task) #153

Description

@BcKmini

배경

fowoco/server에 Task Workflow API가 실제로 구현·병합됐다 (#6). WorkListPage/CaseDetailPage/CreateWorkPage는 지금 정적 demo 데이터(workListData.ts, caseDetailData.ts)를 쓴다.

실제 서버 API

GET   /api/v1/workflow-catalogs
POST  /api/v1/tasks
GET   /api/v1/tasks
GET   /api/v1/tasks/{taskId}
PATCH /api/v1/tasks/{taskId}
PATCH /api/v1/tasks/{taskId}/checklist-items/{itemId}
POST  /api/v1/tasks/{taskId}/cancel

TaskStatus: DRAFT, NEEDS_INFO, READY_FOR_REVIEW, APPROVED, WAITING_WORKER, WAITING_EXTERNAL, COMPLETED, CANCELLED

주의할 점

  • 상태값 매핑 설계가 먼저 필요하다. 지금 WorkListPage(WORK_TABS: 전체/내 업무/내가 승인할 업무/후속조치)와 CaseDetailPage(현재 단계/체크리스트/문서/소통/활동이력 탭, 진행 단계 UI)는 서버의 8개 TaskStatus와 1:1로 대응하지 않는다. 연동 전에 상태값→화면 표시 매핑표를 먼저 정리해야 한다.
  • PATCHexpected_version 필요 (낙관적 잠금), 오래된 값이면 409 CONCURRENT_MODIFICATION.
  • 필수 slot이 부족하면 서버가 자동으로 NEEDS_INFO, 충분하면 DRAFT로 생성한다 — CreateWorkPage의 "부족한 정보" 표시(ReviewWorkPage)와 연결 지점.
  • 승인된 값(날짜·금액 등 핵심 필드) 수정 시 서버가 기존 승인을 자동 무효화하고 재승인 상태로 전환한다 — content_revision으로 판단.
  • business_data는 자유 형식 Map<String, Object> — Workflow별 필드 스키마는 fowoco/knowledge가 소유하므로, 화면에 렌더링할 필드 목록은 별도 확인 필요.

완료 조건

  • WorkListPageGET /api/v1/tasks로 실제 목록을 불러옴
  • CreateWorkPagePOST /api/v1/tasks로 실제 생성 (workflow_id/catalog_version 포함)
  • CaseDetailPageGET/PATCH /api/v1/tasks/{id}로 실제 상세·수정
  • 체크리스트 토글이 실제 PATCH .../checklist-items/{itemId} 호출
  • "취소" 메뉴 항목이 실제 POST .../cancel 호출
  • TaskStatus → 화면 표시 매핑표 문서화 (Wiki)
  • 테스트 작성

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions