# 종량제 개발 작업 관리 > 이 파일은 개발 작업의 진행 상황을 추적합니다. > 작업 시작/완료/중단 시 반드시 이 파일을 업데이트합니다. --- ## 현재 작업 > 현재 진행 중인 작업이 없습니다. --- ## 대기 작업 (Backlog) ### Phase 2 — 기본정보관리 완성 | ID | 작업 | 우선순위 | 의존성 | 상태 | |----|------|---------|--------|------| | P2-01 | 기본코드 종류 관리 (CRUD) | 높음 | — | **완료** | | P2-02 | 기본코드 하위 세부코드 관리 (CRUD) | 높음 | P2-01 | **완료** | | P2-03 | 지자체별 봉투 단가 관리 + 이력 | 높음 | P2-01 | **완료** | | P2-04 | 지자체별 봉투 단가 조회 (기간별) | 중간 | P2-03 | **완료** | | P2-05 | 포장 단위 관리 (박스/팩/낱장) | 높음 | P2-01 | **완료** | | P2-06 | 포장 단위 조회 (기간별) | 중간 | P2-05 | **완료** | | P2-07 | 판매 대행소 관리 + 지자체 연결 | 중간 | — | **완료** | | P2-08 | 판매 대행소 조회 | 낮음 | P2-07 | **완료** | | P2-09 | 담당자 관리 (소속별 CRUD) | 중간 | — | **완료** | | P2-10 | 담당자 조회 / 인쇄 | 낮음 | P2-09 | **완료** | | P2-11 | 업체 관리 (협회/제작업체/회수업체) | 중간 | — | **완료** | | P2-12 | 업체 조회 / 인쇄 | 낮음 | P2-11 | **완료** | | P2-13 | 무료용 대상자 관리 (CRUD) | 중간 | — | **완료** | | P2-14 | 무료용 대상자 조회 / 인쇄 | 낮음 | P2-13 | **완료** | | P2-15 | 지정판매소 다조건 조회 + 엑셀 + 인쇄 | 중간 | — | **완료** | | P2-16 | 지정판매소 바코드 출력 | 낮음 | P2-15 | Phase 6+ | | P2-17 | 지정판매소 지도 표시 | 낮음 | — | **완료** | | P2-18 | 지정판매소 현황 (신규/취소) | 낮음 | — | **완료** | | P2-19 | 지자체 수정/삭제 기능 | 중간 | — | **완료** | | P2-20 | PASSWORD 변경 기능 | 중간 | — | **완료** | | P2-21 | 로그인 5회 실패 lock | 중간 | — | **완료** | | P2-22 | 카카오 주소 검색 API 연동 | 중간 | — | Phase 3+ | ### Phase 3 — 발주/입고/재고 | ID | 작업 | 우선순위 | 의존성 | 상태 | |----|------|---------|--------|------| | P3-01 | 발주 등록 (UUID + SHA-256 + LOT) | 높음 | P2-03, P2-05 | **완료** | | P3-02 | LOT 번호 생성 | 높음 | P3-01 | **완료** | | P3-03 | 발주 취소 (상태 변경) | 높음 | P3-01 | **완료** | | P3-04 | 발주 삭제 (상태 변경) | 중간 | P3-01 | **완료** | | P3-05 | 발주 현황 (기간/상태 필터) | 중간 | P3-01 | **완료** | | P3-06 | 입고 처리 (일괄) | 높음 | P3-01 | **완료** | | P3-07 | 입고 현황 (기간 필터) | 중간 | P3-06 | **완료** | | P3-08 | 재고 현황 조회 | 높음 | P3-06 | **완료** | | P3-09 | 바코드 스캐너 연동 | 중간 | P3-06 | Phase 6+ | | P3-10 | PDF417 바코드 생성 | 중간 | P3-01 | Phase 6+ | | P3-11 | 실사 선별 / 등록 / 조회 | 중간 | P3-08 | Phase 6+ | ### Phase 4 — 주문/판매/불출 | ID | 작업 | 우선순위 | 의존성 | 상태 | |----|------|---------|--------|------| | P4-01 | 주문 접수 (판매소 선택, 품목) | 높음 | P2-05, P3-08 | **완료** | | P4-02 | 주문 접수 관리 (목록/필터) | 높음 | P4-01 | **완료** | | P4-03 | 주문 취소 | 중간 | P4-01 | **완료** | | P4-04 | 지정판매소 판매 | 높음 | P3-08 | **완료** | | P4-05 | 지정판매소 반품 | 중간 | P4-04 | **완료** | | P4-06 | 판매/반품 목록 (기간/유형 필터) | 중간 | P4-04 | **완료** | | P4-07 | 바코드 스캔 판매 | 낮음 | P4-04 | Phase 6+ | | P4-08 | 무료용 불출 현황 (기간 필터) | 중간 | P3-08 | **완료** | | P4-09 | 무료용 불출 처리 + 재고 감산 | 높음 | P3-08 | **완료** | | P4-10 | 무료용 불출 취소 + 재고 복원 | 중간 | P4-09 | **완료** | ### Phase 5 — 현황/리포트/수불 | ID | 작업 | 우선순위 | 의존성 | 상태 | |----|------|---------|--------|------| | P5-01 | 판매 대장 (일자별/기간별) | 높음 | P4-04 | **완료** | | P5-02 | 일계표 (일계 + 월간 누계) | 높음 | P4-04 | **완료** | | P5-03 | 기간별 판매현황 | 중간 | P4-04 | **완료** | | P5-04 | 년 판매 현황 (월별/분기별) | 중간 | P4-04 | **완료** | | P5-05 | 지정판매소별 판매현황 (수량/금액) | 중간 | P4-04 | **완료** | | P5-06 | 홈택스 세금계산서 엑셀 생성 | 높음 | P4-04 | **완료** | | P5-07 | 봉투 수불 현황 (재고/입고/판매/불출) | 높음 | P3-08, P4-04 | **완료** | | P5-08 | 반품/파기 현황 | 중간 | P4-06 | **완료** | | P5-09 | 봉투 수급 계획 | 낮음 | P5-07 | Phase 6+ | | P5-10 | LOT 수불 조회 | 중간 | P3-02 | **완료** | | P5-11 | 기타 입출고 | 낮음 | P3-08 | **완료** | | P5-12 | 봉투 스캔 현황 (횟수/위치) | 낮음 | — | Phase 6+ | ### Phase 6 — 모바일앱 | ID | 작업 | 우선순위 | 의존성 | 상태 | |----|------|---------|--------|------| | P6-01 | 앱 공통 (로그인, 2차인증, PII) | 높음 | P2-21 | 대기 | | P6-02 | 발주 입고 (PDF417 카메라 스캔) | 높음 | P3-07 | 대기 | | P6-03 | 불출 관리 (카메라 스캔) | 중간 | P4-09 | 대기 | | P6-04 | 판매/반품 처리 (카메라 스캔) | 중간 | P4-04 | 대기 | | P6-05 | 봉투 주문 / 수정 / 취소 | 중간 | P4-01 | 대기 | | P6-06 | 봉투 정품 인증 | 높음 | P3-02 | 대기 | ### 공통 기술 과제 | ID | 작업 | 우선순위 | 상태 | |----|------|---------|------| | CT-01 | 페이지네이션 공통 구현 | 높음 | **완료** | | CT-02 | 엑셀 저장 공통 컴포넌트 | 높음 | **완료** | | CT-03 | 인쇄 공통 컴포넌트 (결재란 포함) | 높음 | **완료** | | CT-04 | 바코드 스캐너 연동 (Electron + serialport) | 중간 | Phase 6+ | | CT-05 | CRUD 로깅 (전체 데이터 변경 이력) | 중간 | **완료** | | CT-06 | 대시보드 실 데이터 연동 | 낮음 | **완료** | | CT-07 | 2차 인증 적용 | 중간 | **완료** | --- ## 완료 작업 | ID | 작업 | 완료일 | 커밋 | |----|------|--------|------| | INIT-01 | 프로젝트 초기 세팅 (CI4, DB 스크립트) | 2026-01 | `4e557d4` | | INIT-02 | 로그인/로그아웃 + 세션 관리 | 2026-01 | `4e557d4` | | INIT-03 | 회원가입 + 승인 워크플로우 | 2026-01 | `4e557d4` | | INIT-04 | 회원 관리 CRUD (Admin) | 2026-01 | `4e557d4` | | INIT-05 | 로그인 이력 조회 | 2026-01 | `4e557d4` | | INIT-06 | 역할 기반 접근 제어 (RBAC 4단계) | 2026-01 | `4e557d4` | | INIT-07 | 멀티테넌시 (지자체 선택) | 2026-01 | `4e557d4` | | INIT-08 | 메뉴 관리 (트리 CRUD + 역할별 노출) | 2026-01 | `4e557d4` | | INIT-09 | 지정판매소 관리 CRUD | 2026-01 | `4e557d4` | | INIT-10 | PII 암호화 (이메일/전화번호) | 2026-01 | `4e557d4` | | DOC-01 | README 개발현황 정리 + CLAUDE.md | 2026-03-25 | `c07261a` | | TEST-01 | Playwright E2E 테스트 환경 + 테스터 계정 + 23개 테스트 | 2026-03-25 | — | --- ## 작업 로그 > 최신 항목이 위에 옵니다. ### 2026-03-25 - **P5** Phase 5 판매대장/일계표/기간별현황/수불현황 리포트 (`f451f0f`) - **P4** Phase 4 주문접수/판매/반품/불출 관리 (`6e8bd84`) - **P3** Phase 3 발주/입고/재고 관리 (`d9d3ef4`) - **P2-19~21** 지자체 수정/삭제, 비밀번호 변경, 로그인 lock (`c2840a9`) - **P2-07~14** 판매대행소/담당자/업체/무료대상자 CRUD (`da132f0`) - **P2-05/06** 포장 단위 관리 CRUD + 이력 + 기간별 조회 (`acc9e47`) - **P2-03/04** 봉투 단가 관리 CRUD + 이력 + 기간별 조회 (`6949227`) - **P2-01/02** 기본코드 종류/세부코드 관리 CRUD (`41442c2`) - **FIX** DB 한글 이중인코딩 수정 (`34cecad`) - **DOC-02** 스크린샷 22개 + docs/SCREENSHOTS.md + Notion 진행상황 업데이트 + README 연동 - **TEST-01** Playwright E2E 테스트 환경 구성 (Chromium) - **TEST-01** 테스터 계정 4개 생성 (admin/local/shop/user, 비밀번호: test1234!) - **TEST-01** E2E 테스트 23개 작성 및 전체 통과 (auth 9, admin 10, public 4) - **DOC-01** README.md 개발현황 상세 정리 (63개 웹 + 15개 앱 항목별 분석) - **DOC-01** CLAUDE.md 생성 (Claude Code 프로젝트 가이드) - **DOC-01** jobs.md 생성 (작업 관리 파일) --- ## 사용법 ### 작업 시작 시 1. "현재 작업" 섹션에 작업 정보 기록 2. 해당 Backlog 항목 상태를 `진행중`으로 변경 3. 작업 로그에 시작 기록 추가 ### 작업 완료 시 1. **테스트 작성 및 실행** (`vendor/bin/phpunit`) — 테스트 통과 확인 필수 2. "현재 작업" 섹션 비우기 3. "완료 작업" 테이블에 추가 4. Backlog 항목 상태를 `완료`로 변경 5. 작업 로그에 완료 기록 추가 ### 작업 중단 시 (오류/컨텍스트 유실 등) 1. "현재 작업"에 **중단 사유**와 **이어서 할 것** 반드시 기록 2. 수정한 파일 목록과 현재 브랜치 명시 3. Backlog 항목 상태를 `중단`으로 변경 4. 작업 로그에 중단 사유 기록 ### 새 세션에서 이어서 작업 시 1. "현재 작업" 섹션 확인 → 중단된 작업이 있으면 이어서 진행 2. 없으면 Backlog에서 우선순위 높은 대기 작업 선택