Commit Graph

31 Commits

Author SHA1 Message Date
김보곤
2a1e72a15e feat: [approval] 연차사용촉진 통지서 1차/2차 양식 추가
- 1차 통지서: 직원 선택, 연차 현황(발생/사용/잔여), 제출기한, 법적 문구
- 2차 통지서: 직원 선택, 잔여연차, 회사 지정 휴가일(다건), 법적 문구
- create/edit/show 통합 완료
- 미리보기/인쇄 기능 포함
2026-03-07 00:28:58 +09:00
김보곤
77c1012d23 feat: [approval] 공문서 양식 추가
- 공문서 전용 폼/조회 파셜 추가
- create/edit/show 페이지에 공문서 통합
- 문서번호, 수신, 참조, 제목, 본문, 붙임 입력
- 발신자 정보 테넌트에서 자동 로드
- 미리보기/인쇄 기능 (공문서 형식)
2026-03-06 23:38:55 +09:00
김보곤
7ab410e454 feat: [approval] 견적서 양식 추가
- 견적서 전용 폼/조회 파셜 추가
- create/edit/show 페이지에 견적서 통합
- Alpine.js 동적 품목 테이블 (자동 세액 계산)
- 공급자 정보 테넌트에서 자동 로드
- 미리보기/인쇄 기능
2026-03-06 23:21:49 +09:00
김보곤
9f4c79b5d2 feat: [approval] 이사회의사록 양식 추가
- 이사회의사록 전용 폼(_board-minutes-form.blade.php) 생성
- 이사회의사록 읽기전용 뷰(_board-minutes-show.blade.php) 생성
- Alpine.js 의안/서명란 동적 추가/삭제 기능
- 테넌트 정보에서 회사명/대표자 자동 채움
- create/edit/show 페이지 통합
- 미리보기/인쇄 기능 포함
- 인사/근태 카테고리에 배치
2026-03-06 23:00:22 +09:00
김보곤
1ccf97ce6b feat: [approval] 위임장 양식 추가
- 위임장 전용 폼(_delegation-form.blade.php) 생성
- 위임장 읽기전용 뷰(_delegation-show.blade.php) 생성
- create/edit/show 페이지에 위임장 통합
- 미리보기/인쇄 기능 포함
- 인사/근태 카테고리에 배치
2026-03-06 22:25:00 +09:00
김보곤
466aafdb01 feat: [approvals] 결재선/참조선 2영역 분리 UI
- 결재선 에디터를 결재선(결재/합의)과 참조선으로 분리
- 좌측 인원 목록에 '결재' / '참조' 두 버튼 제공
- 결재선: 드래그 정렬, 결재/합의 유형 선택
- 참조선: 칩(태그) 형태로 표시, 상신 즉시 열람 가능
- show 페이지에 참조자 목록 표시 추가
- getStepsData()에서 결재선+참조선 합산하여 기존 API 호환 유지
2026-03-06 21:18:36 +09:00
김보곤
2e4cccc19e fix: [approvals] 사용인감계 미리보기를 인감비교 형식으로 통일
- edit/show 페이지의 buildSealUsagePreviewHtml을 법인인감|사용인감 비교 레이아웃으로 교체
- 구 테이블 형식(인감종류/비고 필드) 제거
- create 페이지와 동일한 확약문구, 일자 포맷, 회사정보 레이아웃 적용
2026-03-06 21:03:15 +09:00
김보곤
c850172f5b feat: [approvals] 사용인감계 양식 추가
- 증명서 카테고리에 사용인감계(seal_usage) 양식 등록
- 입력 폼: 사용일자, 인감종류, 용도, 제출처, 비고
- 회사 정보 자동 로드 (테넌트 정보 기반)
- 미리보기/인쇄 기능 (원본 DOCX 유사 레이아웃)
- create/edit/show 3개 페이지 모두 지원
2026-03-06 20:48:01 +09:00
김보곤
b35b352f19 feat: [approvals] 품의서 5종 분리 (지출/계약체결/구매/출장/비용정산)
- 기존 단일 품의서(purchase_request)를 5가지 전문 양식으로 분리
- pr_expense: 지출품의서 (항목/금액/비고)
- pr_contract: 계약체결품의서 (계약상대방/기간/금액/조건)
- pr_purchase: 구매품의서 (품목/수량/단가/납품정보)
- pr_trip: 출장품의서 (일정표/경비내역)
- pr_settlement: 비용정산품의서 (사용일자/항목/지급방법)
- Alpine.js 단일 컴포넌트로 5종 동적 전환
- show/create/edit 모두 pr_ prefix 코드 자동 감지
2026-03-06 11:40:50 +09:00
김보곤
befba7e2ae feat: [approvals] 품의서 양식 추가
- 품의서(purchase_request) 전용 폼/뷰 partial 추가
- 지출결의서 기반, 지출방법(카드/계좌) 제거, 구매목적 필드 추가
- 테이블: 품명/수량/단가/금액/업체명/비고 (수량×단가 자동계산)
- 희망 납기일, 요청부서/요청자, 첨부파일 지원
- create/edit/show 모두 분기 처리
2026-03-06 11:28:15 +09:00
김보곤
2d327a8300 fix: [approvals] 위촉증명서 테이블 2열 행 텍스트 넘침 수정
- table-layout:fixed + colgroup(18%/32%/18%/32%)로 열 너비 고정
- td에 white-space:nowrap 추가하여 텍스트 줄바꿈 방지
- th width 고정값 제거 → colgroup 비율로 제어
- "위촉(재직)기간" → "위촉기간"으로 라벨 축소
- padding 18px→14px, font 16px→15px로 미세 조정
2026-03-06 10:56:07 +09:00
김보곤
6ebaa756a6 fix: [approvals] 사직서 레이아웃 개선 - A4 용지 내 안정된 수직 배분
- HTML: @page A4 설정, cert-page wrapper(padding 100px), th/td 16px 18px, font 16px
- PDF: 상단여백 40mm+Ln20, rowHeight 8→12, 본문 10→12pt, 문구 12→14pt, 회사 14→16pt
- 섹션 간격 대폭 확대 (테이블↔문구 30mm, 신청인↔회사 30mm)
- create/show 동일 적용
2026-03-06 10:40:30 +09:00
김보곤
74b37a287e fix: [approvals] 경력증명서 증명문구 재직/퇴직 분기 처리
- 퇴직일 있음: "위 사람은 당사에 재직(근무) 하였음을 증명합니다."
- 퇴직일 없음(현재 재직): "위 사람은 당사에서 재직(근무) 하고 있음을 증명합니다."
- HTML 미리보기(create/show) + PDF 모두 적용
2026-03-06 10:35:42 +09:00
김보곤
4b478b4e05 fix: [approvals] 재직증명서 레이아웃 개선 - A4 용지 내 수직 배분 조정
- HTML 미리보기: @page A4 설정, cert-page wrapper, padding/font-size 증가
- PDF(TCPDF): 상단여백 추가, 섹션간격 확대, rowHeight 8→10, 본문 10→11pt
- 증명문구/날짜 12→14pt, 회사명 14→16pt
- create/show 동일 적용
2026-03-06 10:25:55 +09:00
김보곤
71fce456b5 fix: [approvals] 위촉증명서 레이아웃 개선 - 테이블 행 높이/글자크기 증가
- HTML 미리보기: th/td padding 16px 18px, font-size 16px, th width 140px
- PDF(TCPDF): rowHeight 8→12, 본문 폰트 10→12, 증명문구/날짜 12→14, 회사명 14→16
- create/show 동일하게 적용
2026-03-06 10:19:04 +09:00
김보곤
27790861c2 fix: [approvals] 위촉증명서 인쇄/PDF A4 레이아웃 수직 배분 개선
- 인쇄 CSS: @page A4 적용, 상단 padding 100px로 확대
- HTML 미리보기: 제목/테이블/증명문구/날짜/서명 간격 확대
- PDF: 상단 여백 및 섹션 간 Ln 값 증가 (A4 수직 균등 배분)
2026-03-06 10:08:55 +09:00
김보곤
a34d23fd59 fix: [approvals] 재직증명서 양식에 대표자명/회사주소 누락 수정
- 재직증명서 폼/제출/미리보기/PDF에 ceo_name, company_address 추가
- tenants 테이블에서 가져온 회사 정보를 모든 기안 양식에 통일 적용
- 경력/위촉/사직서는 이미 정상 처리, 재직증명서만 누락되어 있었음
2026-03-06 09:19:32 +09:00
김보곤
7ffa8952fe feat: [approval] 사직서 양식 추가
- ResignationService 생성 (정보 조회 + PDF 생성)
- 사직서 전용 폼/조회 파셜 추가
- create/show 블레이드에 사직서 JS 로직 통합
- 컨트롤러 resignationInfo/resignationPdf 메서드 추가
- API 라우트 resignation-info, resignation-pdf 등록
2026-03-06 00:13:17 +09:00
김보곤
0445748b32 feat: [approval] 위촉증명서 기안/조회/PDF 기능 추가
- AppointmentCertService: 사원 위촉정보 조회 + TCPDF PDF 생성
- 기안 작성 폼: 사원 선택, 인적/위촉/발급 정보, 미리보기
- 상세 조회: 읽기전용 렌더링 + 미리보기/PDF 다운로드
- API: appointment-cert-info, appointment-cert-pdf 엔드포인트
2026-03-05 23:57:42 +09:00
김보곤
2bf13cc886 feat: [approval] 경력증명서 기안/조회/PDF 기능 추가
- CareerCertService: 사원 경력정보 조회 + TCPDF PDF 생성
- 기안 작성 폼: 사원 선택, 인적/경력/발급 정보, 미리보기
- 상세 조회: 읽기전용 렌더링 + 미리보기/PDF 다운로드
- API: career-cert-info, career-cert-pdf 엔드포인트
2026-03-05 23:41:20 +09:00
김보곤
3f6dfd7251 feat: [approval] 재직증명서 미리보기 및 인쇄 기능 추가
- create/edit: 미리보기 버튼 + 모달 (실제 증명서 양식 레이아웃)
- show: 증명서 미리보기 버튼 + 모달 (content 데이터 기반)
- 인쇄 버튼으로 새 창에서 바로 인쇄 가능
2026-03-05 19:13:54 +09:00
김보곤
956f57d5d6 feat: [approval] 재직증명서 기안 기능 추가
- EmploymentCertService: 사원 정보 조회, DOCX 생성, 파일 레코드 생성
- API 엔드포인트: cert-info/{userId}, generate-cert-docx
- _certificate-form: 인적사항/재직사항/발급정보 입력 폼
- _certificate-show: 재직증명서 읽기전용 표시 파셜
- create/edit/show에 employment_cert 양식 분기 처리
- phpoffice/phpword 패키지 추가
2026-03-05 18:53:42 +09:00
김보곤
3464787a4c feat: [approval] 반려 이력 관리 기능 추가
- rejection_history JSON 컬럼으로 반려 이력 누적 저장
- 재상신 시 반려자, 사유, 일시를 이력에 기록
- 상세 페이지에 반려 이력 섹션 표시 (빨간 테두리)
- 수정 페이지에 이전 반려 이력 표시 (주황 배경)
2026-03-05 13:50:45 +09:00
김보곤
d48a38eaf6 feat: [approval] 완료함 미읽음 알림 뱃지 기능 추가
- approvals 테이블에 drafter_read_at 컬럼 추가 (API 마이그레이션)
- 승인/반려/전결 완료 시 drafter_read_at = null 설정
- getBadgeCounts()에 completed_unread 카운트 추가
- 사이드메뉴 완료함에 미읽음 뱃지 표시 (주황색)
- 완료함 페이지 진입 시 일괄 읽음 처리
- 상세 페이지 열람 시 개별 읽음 처리
2026-03-05 11:36:58 +09:00
김보곤
24f8bfeb94 feat: [approval] 결재서명란 테이블 추가 (전통 결재 양식)
- 문서 상세 우측 상단에 결재서명란 테이블 배치
- 작성자 + 결재자 컬럼, 직급/이름/서명/날짜 표시
- 승인/반려/보류/전결 상태별 도장 아이콘
- 기존 원형 타임라인 결재 진행 제거, 결재 의견만 유지
2026-03-05 11:23:32 +09:00
김보곤
e3efc4f2ee feat: [approval] 지출결의서 전용 폼 UI 추가
- Alpine.js 기반 지출결의서 전용 폼 컴포넌트 (_expense-form.blade.php)
- 지출형식/세금계산서 라디오, 내역 테이블(동적 행 추가/삭제), 금액 자동합계
- 양식 code === 'expense' 시 Quill 대신 전용 폼 표시 (create/edit)
- content JSON 구조화 저장, show 페이지 읽기전용 테이블 렌더링
- 기존 Quill 방식 하위 호환 유지
2026-03-04 15:14:18 +09:00
김보곤
3c37050b30 feat: [approval] 결재관리 삭제 권한 기능 추가
- 관리자/슈퍼관리자 모든 상태 결재 문서 삭제 가능
- 일반 사용자는 기존대로 draft + 본인 기안만 삭제
- 진행 중 문서 삭제 시 휴가 연동 취소 처리
- 삭제 API 403 권한 검증 추가
- 상세 페이지 삭제 버튼 + 2중 확인 다이얼로그
2026-03-03 07:35:59 +09:00
김보곤
c20670f165 fix: [approvals] 결재 상세 메타 정보 열 구분선 추가 (가독성 개선) 2026-02-28 14:26:58 +09:00
김보곤
e9277c695f feat: [approvals] 기안 본문 Quill.js 편집기 토글 기능 추가
- create/edit: 본문 라벨 옆 편집기 체크박스 + Quill.js v2 WYSIWYG 에디터
- edit: 기존 HTML body 자동 감지 → 편집기 자동 활성화
- show: HTML body 안전 렌더링 (strip_tags), plain text는 기존 방식 유지
- textarea ↔ Quill 토글 시 내용 상호 이관
2026-02-28 14:18:16 +09:00
김보곤
f87f1afde0 feat: [approval] Phase 2 결재관리 고급 기능 구현
- 보류/해제: 현재 결재자가 문서를 보류하고 해제
- 전결: 이후 모든 결재를 건너뛰고 최종 승인
- 회수 강화: 회수 사유 입력, 첫 결재자 미처리 시에만 허용
- 복사 재기안: 완료/반려/회수 문서를 복사하여 새 draft 생성
- 참조 열람 추적: 미열람/열람 필터, mark-read API
- ApprovalDelegation 모델 생성 (Phase 3 위임 대결 준비)
- 뱃지 카운트에 reference_unread 추가
2026-02-27 23:41:49 +09:00
김보곤
1aa0c50c6d feat: [approval] 결재관리 Phase 1 MVP 구현
- 모델 4개: Approval, ApprovalStep, ApprovalForm, ApprovalLine
- ApprovalService: 목록/CRUD/워크플로우(상신/승인/반려/회수) 비즈니스 로직
- ApprovalApiController: JSON API 엔드포인트 (기안함/결재함/완료함/참조함)
- ApprovalController: Blade 뷰 컨트롤러 (HX-Redirect 처리)
- 뷰 8개: drafts, pending, completed, references, create, edit, show
- partials: _status-badge, _step-progress, _approval-line-editor
- api.php/web.php 라우트 등록
2026-02-27 23:17:17 +09:00