API LIST

💡 프론트엔드 개발 팁

  1. 엑셀 업로드 시 (multipart/form-data)

    const formData = new FormData();
    formData.append("excel", fileInput.files[0]); // 파일
    formData.append("companyId", 1);              // 회사 ID 필수!
    
    await axios.post("/api/templates/upload", formData);
    
  2. 계약서 다운로드 시 (Blob)

    // responseType: 'blob' 설정이 반드시 필요합니다!
    const res = await axios.post("/api/contracts/create", data, { 
      responseType: 'blob' 
    });
    
    // 다운로드 링크 생성 트릭
    const url = window.URL.createObjectURL(new Blob([res.data]));
    const link = document.createElement('a');
    link.href = url;
    link.setAttribute('download', `${data.name}_근로계약서.xlsx`);
    document.body.appendChild(link);
    link.click();
    

네, 지금까지 개발된 **"본사-현장 간 근로계약 및 인사정보 통합 관리 시스템(BTMS)"**의 내용을 바탕으로 정리한 최신 문서입니다.


1. 기획안 (Project Proposal)

1.1. 프로젝트 개요

1.2. 주요 프로세스

  1. 본사(Admin): 현장 계정 생성 및 현장에 적용될 "직무/급여 템플릿(엑셀)"을 업로드하여 세팅.
  2. 현장(Company): 부여받은 계정으로 로그인 후, 신규 입사자 정보를 입력(직무 템플릿 선택).
  3. 자동화: 시스템이 템플릿의 급여 로직과 입사자 정보를 결합하여 DB에 저장.
  4. 출력: 본사는 언제든 "전체 입사자 명부(엑셀)"와 "근로계약서(ZIP)"를 일괄 다운로드.