Commit Graph

9 Commits

Author SHA1 Message Date
김보곤
2f739d0d55 feat: [hr] 입퇴사자 현황 페이지 구현
- EmployeeService에 근속기간 조회/통계/CSV 내보내기 메서드 추가
- API 컨트롤러에 tenure/tenureExport 엔드포인트 추가
- EmployeeTenureController 뷰 컨트롤러 생성
- 통계 카드 6개 (전체/재직/퇴직/평균근속/올해입사/올해퇴사)
- HTMX 테이블 (사원/부서/직책/상태/입사일/퇴사일/근속기간/근속일수)
- 필터: 이름검색, 부서, 상태, 입사기간 범위, 정렬
- CSV 엑셀 다운로드 기능
2026-02-27 09:04:07 +09:00
김보곤
2edce0d282 feat: [hr] 사원등록 기능 확장
- 기본정보에 주민등록번호 필드 추가
- 급여이체정보 섹션 추가 (이체은행, 예금주, 계좌번호)
- 부양가족 정보 섹션 추가 (동적 행 추가/삭제)
- 첨부파일 업로드/다운로드/삭제 기능 추가
- 은행 목록 config/banks.php 설정 파일 생성
- show 페이지 주민등록번호 뒷자리 마스킹 처리
2026-02-26 20:21:24 +09:00
김보곤
ce942e8999 feat: [employee] 사원관리 정렬 기능 추가 (입사일/퇴직일)
- 정렬 드롭다운 추가: 입사일 빠른순/최신순, 퇴직일 최신순/빠른순, 상태순
- 기본 정렬을 입사일 빠른순으로 설정
- JSON 컬럼(json_extra.hire_date, resign_date) 기반 정렬
2026-02-26 19:46:16 +09:00
김보곤
39061c244d refactor: [hr] 사번 필드 제거, 비밀번호 제거, 퇴직일 추가 2026-02-26 19:27:15 +09:00
김보곤
20fd449c39 feat: [hr] 사원 등록 - 기존 직원 불러오기 기능 추가
- 검색 API (GET /api/admin/hr/employees/search-users)
- 테넌트 소속 + 사원 미등록 사용자 검색
- 기존 사용자 선택 시 Employee만 생성 (User 생성 건너뜀)
- Alpine.js 검색 UI (포커스시 목록, debounce 검색, 선택/해제)
2026-02-26 18:40:01 +09:00
김보곤
51cc12b229 fix: [hr] 사원 등록 시 users 테이블 NOT NULL 제약 오류 수정
- email 미입력 시 임시 이메일 생성 (NOT NULL 제약 대응)
- user_id 자동 생성 및 중복 방지 로직 추가
- role 필드 'ops' 기본값 설정
- Hash::make 사용으로 통일 (기존 패턴 준수)
2026-02-26 18:40:01 +09:00
김보곤
56e4ce937a feat: [hr] 직급/직책 인라인 추가 기능 구현
- Position 생성 API 엔드포인트 추가 (POST /admin/hr/positions)
- 직급/직책 select 옆 "+" 버튼으로 모달 열기
- 모달에서 이름 입력 → API 저장 → 드롭다운에 자동 추가 및 선택
- 중복 key 방지 (기존 값이면 그대로 반환)
- create/edit 뷰 모두 적용
2026-02-26 18:40:01 +09:00
김보곤
3ce980a5f7 fix: [hr] 사원 등록 시 user_tenants pivot 연동 추가
- User 생성 후 tenants()->attach() 호출 (멀티테넌트 필수)
- user_id, must_change_password, created_by 필드 추가
- 기존 UserService 패턴과 동일하게 맞춤
2026-02-26 18:40:01 +09:00
김보곤
29ca022321 feat: [hr] 인사관리 사원관리 Phase 1 구현
- Employee, Position 모델 생성 (tenant_user_profiles, positions 테이블)
- EmployeeService 생성 (CRUD, 통계, 필터/검색/페이지네이션)
- 뷰 컨트롤러(HR/EmployeeController) + API 컨트롤러 생성
- Blade 뷰: index(통계카드+HTMX테이블), create, edit, show, partials/table
- 라우트: web.php(/hr/employees/*), api.php(/admin/hr/employees/*)
2026-02-26 18:40:01 +09:00