Files
sam-docs/system/erp-analysis/07-master-data.md
권혁성 d4e5f62413 docs: [종합정비] Phase 1 시스템 현황 문서 14개 작성
- system/overview.md: 전체 아키텍처 개요
- system/api-structure.md: API 구조 (220 모델, 1027 엔드포인트, 18 라우트 도메인)
- system/react-structure.md: React 구조 (249 페이지, 612 컴포넌트)
- system/mng-structure.md: MNG 구조 (171 컨트롤러, 436 Blade 뷰)
- system/docker-setup.md: Docker 7 컨테이너 구성
- system/database/README.md + 9개 도메인 스키마 (270+ 테이블)
  - core, hr, sales, production, finance, boards, files, system, erp-analysis

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 18:03:13 +09:00

9.5 KiB

기준정보 (슬라이드 92-104)

1. 개요

기준정보 모듈은 직급, 직책, 권한, 근무, 출퇴근, 휴가, 카드, 계좌, 팝업, 게시판, 일반설정, 알림설정을 관리합니다.

2. 직급관리 (슬라이드 93, 95)

2.1 직급 인풋박스

  • 직급 입력 후 추가 버튼 클릭

2.2 추가 버튼

  • 클릭: (2-1) 직급 목록 최하단에 표시

2.3 직급 목록

  • 디폴트: 사원, 대리, 과장, 차장, 부장, 이사, 상무, 전무, 부사장, 사장

2.4 순서 변경 버튼

  • 드래그&드랍: 해당 위치로 순서 변경

2.5 수정 버튼

  • 클릭: 직급 수정 팝업 표시

2.6 삭제 버튼

  • 클릭:
    1. 해당 직급으로 사원 설정된 경우: "'직급명'을 사용하고 있는 사원이 있습니다. 다 변경 후 삭제가 가능합니다." 알림 Alert 표시
    2. 해당 직급으로 사원 미설정된 경우: "정말 삭제하시겠습니까?" 확인 Alert 표시, 확인 클릭 시 "삭제가 완료되었습니다." 알림 Alert 표시

2.7 직급 수정 팝업

  • 직급명 인풋박스: 기존 직급명 표시, 수정 가능

3. 직책관리 (슬라이드 94-95)

3.1 기능

  • 직급관리와 동일한 구조

3.2 디폴트 직책

  • (없음)

3.3 직책 수정 팝업

  • 직책명 인풋박스: 기존 직책명 표시, 수정 가능

4. 권한관리 (슬라이드 96)

4.1 관리자

  • 디폴트: 모든 메뉴 권한 설정
  • 수정 불가, 삭제 불가

4.2 일반

  • 디폴트: 대시보드 제외 모든 메뉴 접근 불가

4.3 추가 버튼

  • 클릭: 권한 추가 팝업 표시

4.4 삭제 버튼

  • 클릭:
    1. 해당 권한으로 사원 설정된 경우: "'권한명'을 사용하고 있는 사원이 있습니다. 다 변경 후 삭제가 가능합니다." 알림 Alert 표시
    2. 해당 권한으로 사원 미설정된 경우: "정말 삭제하시겠습니까?" 확인 Alert 표시

4.5 체크박스

  • 클릭: 체크 설정/해제 토글
  • 디폴트: 체크 해제 상태

4.6 관리

  • 읽기 및 수정 권한

4.7 읽기

  • 읽기만 권한

5. 근무관리 (슬라이드 97)

5.1 근무 정보

필드명 설명
근무 유형 종류: 고정형, 변형, 맞춤형
기본 소정 근로 시간 주 00시간
연장 근로 시간 주 00시간
연장 근로 한도 52시간 미만
근무 요일 설정 클릭: 설정된 체크 활성/비활성 토글, 디폴트: 월~금 활성

5.2 출근 시간

  • 09:00

5.3 퇴근 시간

  • 18:00

5.4 휴게 시간

필드명 설명
총 휴게 시간 1시간
휴게 시간 12:00 ~ 13:00

6. 출퇴근관리 (슬라이드 99)

6.1 출퇴근 설정

필드명 설명
GPS 출퇴근 토글: 기준 좌표로 정해진 거리 기준 이내에 있을 때만 출근/퇴근 등록 가능
허용 반경 주 00m

6.2 본사 위치 정보

필드명 설명
본사 주소 우편번호 찾기 + 상세주소
경도
위도

6.3 현장 목록

  • 추가 버튼: 현장 등록 팝업 표시
  • 현장명, 주소, 삭제 버튼

7. 휴가관리 (슬라이드 100)

7.1 기준 셀렉트 박스

  • 종류: 회계연도, 입사일
  • 디폴트: 회계연도
  • 입사일 선택 시 (2) 영역 비활성화
  • 회계연도 기준: 회사의 회계연도를 기준으로 휴가를 부여하고 조회할 수 있습니다.
  • 입사일 기준: 사원의 입사일 회계연도 기준으로 휴가를 부여하고 조회할 수 있습니다.

7.2 기준일 월/일 설정 영역

  • 회계연도 기준 시에만 활성화

7.3 기본 연차 설정

  • 1년간 출근율 80% 이상이면 15일
  • 3년 이상 근속 시 2년에 1일 추가 (최대 25일)
  • 1년 미만 또는 출근율 80% 이하인 경우 1일
    • 입사일~회계연도 기준일 사정: 회년도 출근율로 판정 80% 이상이면 15일
    • (3-1) 연차+1년+1일 시작, 이후 2년에 1일 추가
    • 입사일~회계연도 기준으로 전환할 때는 취업규칙 변경, 노사 의견수렴, 전환 시 충북 연차 정산(입사일 기준 vs 회계연도 기준 비교 후 부족분 보전)을 반드시 검토 필요

8. 카드관리 (슬라이드 101-102)

8.1 카드 목록

필드명 설명
카드사
카드번호 앞4자리, 끝4자리 표시
카드명
상태
사용자 부서명 / 이름 / 직책
작업 상세 버튼

8.2 필터

  • 종류: 전체, 사용, 정지
  • 디폴트: 전체

8.3 카드 상세

필드명 필수 설명
카드사 Y 카드사명 선택
카드번호 Y 1234-1234-1234-1234
유효기간 Y MM/YY
카드 비밀번호 앞 2자리 Y 입력 시 마스킹 처리
카드명 Y
상태 Y 종류: 사용, 정지. 정지 시 해당 카드의 자동 조회 중단
사용자 N 부서명 / 이름 / 직책. 선택 시 해당 카드의 사용자로 설정

9. 계좌관리 (슬라이드 103-104)

9.1 계좌 목록

필드명 설명
은행
계좌번호
예금주
상태
사용자 부서명 / 이름 / 직책
작업 상세 버튼

9.2 필터

  • 종류: 전체, 사용, 정지
  • 디폴트: 전체

9.3 계좌 상세

필드명 필수 설명
은행 Y 은행 선택
계좌번호 Y
예금주 Y
계좌명 Y
상태 Y 종류: 사용, 정지. 정지 시 해당 계좌의 자동 조회 중단
사용자 N 부서명 / 이름 / 직책. 선택 시 해당 계좌의 사용자로 설정

데이터 모델

Position (직급)

- id: bigint
- tenant_id: bigint (FK)
- name: string
- order: int
- created_at: timestamp

JobTitle (직책)

- id: bigint
- tenant_id: bigint (FK)
- name: string
- order: int
- created_at: timestamp

Role (권한)

- id: bigint
- tenant_id: bigint (FK)
- name: string
- is_system: boolean # 시스템 기본 권한 여부
- permissions: json # 메뉴별 권한 설정
- created_at: timestamp

WorkSetting (근무 설정)

- id: bigint
- tenant_id: bigint (FK)
- work_type: enum('fixed', 'flexible', 'custom')
- standard_hours: int # 주당 소정 근로 시간
- overtime_hours: int # 주당 연장 근로 시간
- overtime_limit: int # 연장 근로 한도
- work_days: json # ['mon', 'tue', 'wed', 'thu', 'fri']
- start_time: time
- end_time: time
- break_hours: int
- break_start: time
- break_end: time

AttendanceSetting (출퇴근 설정)

- id: bigint
- tenant_id: bigint (FK)
- use_gps: boolean
- allowed_radius: int # 허용 반경 (m)
- headquarters_address: string
- headquarters_latitude: decimal(10,8)
- headquarters_longitude: decimal(11,8)

LeaveSetting (휴가 설정)

- id: bigint
- tenant_id: bigint (FK)
- base_type: enum('fiscal_year', 'hire_date')
- fiscal_start_month: int
- fiscal_start_day: int

Card (카드)

- id: bigint
- tenant_id: bigint (FK)
- card_company: string
- card_number: string (encrypted)
- expiry_date: string
- card_password: string (encrypted)
- card_name: string
- status: enum('active', 'inactive')
- user_id: bigint (FK, nullable)
- created_at: timestamp

BankAccount (계좌)

- id: bigint
- tenant_id: bigint (FK)
- bank_code: string
- account_number: string
- account_holder: string
- account_name: string
- status: enum('active', 'inactive')
- user_id: bigint (FK, nullable)
- created_at: timestamp

API 도출

직급/직책 API

GET    /api/positions                    # 직급 목록
POST   /api/positions                    # 직급 추가
PUT    /api/positions/{id}               # 직급 수정
DELETE /api/positions/{id}               # 직급 삭제
PUT    /api/positions/reorder            # 직급 순서 변경

GET    /api/job-titles                   # 직책 목록
POST   /api/job-titles                   # 직책 추가
PUT    /api/job-titles/{id}              # 직책 수정
DELETE /api/job-titles/{id}              # 직책 삭제
PUT    /api/job-titles/reorder           # 직책 순서 변경

권한 API

GET    /api/roles                        # 권한 목록
POST   /api/roles                        # 권한 추가
GET    /api/roles/{id}                   # 권한 상세
PUT    /api/roles/{id}                   # 권한 수정
DELETE /api/roles/{id}                   # 권한 삭제
GET    /api/menus                        # 메뉴 목록 (권한 설정용)

설정 API

GET    /api/settings/work                # 근무 설정 조회
PUT    /api/settings/work                # 근무 설정 수정
GET    /api/settings/attendance          # 출퇴근 설정 조회
PUT    /api/settings/attendance          # 출퇴근 설정 수정
GET    /api/settings/leave               # 휴가 설정 조회
PUT    /api/settings/leave               # 휴가 설정 수정

카드/계좌 API

GET    /api/cards                        # 카드 목록
POST   /api/cards                        # 카드 등록
GET    /api/cards/{id}                   # 카드 상세
PUT    /api/cards/{id}                   # 카드 수정
DELETE /api/cards/{id}                   # 카드 삭제

GET    /api/bank-accounts                # 계좌 목록
POST   /api/bank-accounts                # 계좌 등록
GET    /api/bank-accounts/{id}           # 계좌 상세
PUT    /api/bank-accounts/{id}           # 계좌 수정
DELETE /api/bank-accounts/{id}           # 계좌 삭제