콘텐츠로 이동

2025-05-04 공사구분 필수 해제 및 접수 플로우 수정

2025-05-04 공사구분 필수 해제 및 접수 플로우 수정

섹션 제목: “2025-05-04 공사구분 필수 해제 및 접수 플로우 수정”

[!note] 수정이력 | 2025-05-04 03:38, 분홍 (hermes)

  • 공사 등록 시 공사구분(project_type) 필수 선택 → 선택 해제
  • 접수 단계에서 공사구분 없이도 등록 가능하도록 백엔드 + 프론트 수정
  • DB 제약 변경: projects.project_type_id NOT NULL → NULL 허용
  • 파일: backend/app/api/v1/projects.py
  • 변경: ProjectCreate.project_type_idOptional[str] = None으로 변경 (기존 str 필수)
  • 파일: backend/app/api/v1/projects.py 함수 create_project()
  • 변경: data.project_type_id가 있을 때만 ProjectType 조회 및 first stage 설정. 없으면 current_stage="발생", current_step="접수" 기본값 유지
  • 명령: ALTER TABLE projects ALTER COLUMN project_type_id DROP NOT NULL
  • 이유: SQLAlchemy 모델은 이미 nullable=True였으나, 실제 DB 테이블에는 여전히 NOT NULL 제약이 남아 있었음 (기존 마이그레이션 미반영)
  • 파일: frontend/src/views/projects/ProjectCreateView.vue
  • 변경:
    • :rules="[v => !!v || ...]"clearable (필수 해제)
    • label "공사 유형""공사 구분"
시나리오결과
project_type_id 없이 POST /api/v1/projectsHTTP 200, project_type_id=null, file_path=TEMP_260503_55cd6271
project_type_id 포함 POSTHTTP 200, project_type_id=“4149…316” 정상
NAS 10개 하위폴더 생성/mnt/y/…/TEMP_…/ 아래 10개 폴더 확인 완료
  • 공사관리 상단 단계/승인상태 UI 수정 (사용자 요청 보류 중)
  • 실사자료등록 화면 노출 플로우 설계 (접수→실사 단계)