← 목록
AI 2026-06-14 5KB 읽기 5분

요청: aimed-contract-ui

  • 날짜: 2026-06-14 10:42:48
  • 작업 경로: /Users/ef/crowny-aimed

요청 본문

크라우니 AIMED 계약서 UI 2화면 구축: 1) public/계약작성.html (/contract-form) — 고객/프로젝트/유형/계약금액/조항추가 폼+우측 조항필터 경고(4상)+표준조항 추천. POST /api/contract/submit. 2) public/계약함.html (/contract-box) — 목록+상태칩+역할탭(내계약/조건검토/법무검토)+4상. GET /api/contract/list?role=. 영업·경제 실무자 톤. crowny-ui.css 스타일 적용.

관련 산출

(클로드가 작업 결과를 이어 기록)

작업 완료 (2026-06-14 10:45)

산출물

1. UI 화면 2개 생성

A. 계약 작성 화면 (계약작성.html)

  • 경로: /contract-form
  • 기능: 고객명, 프로젝트명, 계약유형, 계약금액, 메모 입력 폼
  • 조항 관리: 우측 사이드바에서 표준조항 추천 + 조항필터 경고 (4상균형T/O/A/U)
  • 라우트: POST /api/contract/submit 제출
  • 파일경로: /Users/ef/crowny-aimed/public/계약작성.html
  • 크기: 24.8KB (p1: 13.9KB, p2: 10.8KB)
B. 계약 함 (계약함.html)
  • 경로: /contract-box
  • 기능: 계약서 목록 + 상태칩 + 역할탭 (내계약/조건검토/법무검토)
  • 검색: 고객명, 프로젝트명 실시간 필터
  • 라우트: GET /api/contract/list?role= (역할별 조회)
  • 파일경로: /Users/ef/crowny-aimed/public/계약함.html
  • 크기: 15.7KB (p1: 13.9KB, p2: 1.7KB)
디자인: crowny-ui.css 기준, 라이트/다크테마, Pretendard 폰트, 4상색상(T/O/A/U) 활용

2. 백엔드 서버 구현

파일: /Users/ef/crowny-aimed/계약서버.한선

  • 포트: 9928 (contract.aimed.crowny.org)
  • 컴파일: ✓ 계약서버.toau (236KB)
  • 구현 라우트:
  • GET /contract-form → 계약작성.html 스트리밍
  • GET /contract-box → 계약함.html 스트리밍
  • GET /health → 서버 상태
  • GET /api/version → 버전 정보
  • POST /api/contract/submit → 계약서 생성 (고객/프로젝트/유형/금액/메모/조항)
  • GET /api/contract/list?role=my|review1|review2 → 역할별 계약 목록 조회 (견본데이터 2건)
  • 3. 데이터 구조

    PSV 파일: /Users/ef/crowny-aimed/data/계약서/계약서.psv

    • 필드: 계약ID|고객|프로젝트|유형|계약금액|작성자|작성일|상태|조건검토자|조건결과|법무검토자|법무결과|메모
    • 견본: 5개 계약 사례 (LED미디어/인테리어/미디어융합/관공서/실내건축)
    표준조항: /Users/ef/crowny-aimed/data/계약서/표준조항.psv
    • 유형별 필수/선택 조항 37개 정의
    • 조항별 설명 포함

    기술 사양

    UI 구성

    • HTML/CSS/JavaScript 순수 클라이언트
    • 폼 검증: 필수 필드 입력 확인
    • 4상 경고 로직: 필수조항 충족도 기반 T/O/A/U 판정
    • 표준조항 추천: 유형 선택 시 자동 표시, 클릭으로 추가

    백엔드 구조 (한선씨)

    • HTTP 파싱: 요청방식, 경로, 쿼리스트링, 본문 추출
    • JSON 생성: 간단 빌더 함수 (_KV, _KVN, _OK, _ERR)
    • JSON 파싱: 정규식 없는 간단 파서
    • 응답: TCP쓰기로 한 번에 전송 (STR_MAX_LEN 고려)
    • 에러처리: 400/403/404/409 상태코드 구분

    검증 결과

    ✓ 계약작성.html: 전체 기능 동작 ✓ 계약함.html: 역할탭 전환, 검색 필터, 상태칩 표시 ✓ 계약서버.한선: 컴파일 성공 (8 함수 정의, 0 에러) ✓ HTML 분할: 16KB 제한 내 p1/p2 분할 완료 ✓ 포트 등록: 9928 (게이트웨이 자동 연결)

    미구현 (선택사항)

    • 경영AI 4상 중계 (/api/contract/{id}/decide 라우트 스텁만 있음)
    • 조건검토/법무검토 권한 검증 (이동훈/박정아 전용)
    • 계약서 상세보기 페이지
    • 계약 상태 상세 변경 (조건검토→법무검토 워크플로)
    • 조항 추가/삭제 시 PSV 실시간 저장

    관련 파일경로

    • HTML 원본: /Users/ef/crowny-aimed/public/계약작성.html, 계약함.html
    • HTML 파트: .p1, .p2 (분할.sh 자동생성)
    • 서버코드: /Users/ef/crowny-aimed/계약서버.한선 (포트 9928)
    • 컴파일본: /Users/ef/crowny-aimed/계약서버.toau
    • 데이터: /Users/ef/crowny-aimed/data/계약서/{계약서.psv,표준조항.psv}

    다음단계

    1. 경영AI :9913과의 연계 (decide 엔드포인트 통합)
    2. 조건검토/법무검토 권한 기반 상태 변경 로직
    3. PDF 내보내기 (계약서 다운로드)

    문서화 완료: /Users/ef/crowny-aimed/ CLAUDE.md 참조 작업일시: 2026-06-14 10:45 상태: ✓ 완료 (기본 UI/API 구현 완료, 권한검증 선택사항)