김보곤
5f1a211722
feat: [approval] 견적서 양식 추가
...
- 견적서 전용 폼/조회 파셜 추가
- create/edit/show 페이지에 견적서 통합
- Alpine.js 동적 품목 테이블 (자동 세액 계산)
- 공급자 정보 테넌트에서 자동 로드
- 미리보기/인쇄 기능
2026-03-06 23:22:21 +09:00
김보곤
05321c8839
feat: [approval] 이사회의사록 양식 추가
...
- 이사회의사록 전용 폼(_board-minutes-form.blade.php) 생성
- 이사회의사록 읽기전용 뷰(_board-minutes-show.blade.php) 생성
- Alpine.js 의안/서명란 동적 추가/삭제 기능
- 테넌트 정보에서 회사명/대표자 자동 채움
- create/edit/show 페이지 통합
- 미리보기/인쇄 기능 포함
- 인사/근태 카테고리에 배치
2026-03-06 23:00:39 +09:00
김보곤
f149a987c9
feat: [approval] 위임장 양식 추가
...
- 위임장 전용 폼(_delegation-form.blade.php) 생성
- 위임장 읽기전용 뷰(_delegation-show.blade.php) 생성
- create/edit/show 페이지에 위임장 통합
- 미리보기/인쇄 기능 포함
- 인사/근태 카테고리에 배치
2026-03-06 22:25:17 +09:00
김보곤
33f02379e4
feat: [finance] 경조사비 관리 페이지 추가
...
- 거래처 경조사비 관리대장 CRUD (등록/수정/삭제)
- 축의/부조 구분, 부조금(현금/계좌이체/카드), 선물(종류/금액) 관리
- 연도별 필터, 구분별 필터, 거래처/내역 검색
- 통계 카드 (총건수, 총금액, 부조금 합계, 선물 합계, 축의/부조 비율)
- CSV 내보내기
- 라우트: /finance/condolence-expenses
2026-03-06 21:39:19 +09:00
김보곤
bf802d6af3
feat: [approvals] 결재선/참조선 2영역 분리 UI
...
- 결재선 에디터를 결재선(결재/합의)과 참조선으로 분리
- 좌측 인원 목록에 '결재' / '참조' 두 버튼 제공
- 결재선: 드래그 정렬, 결재/합의 유형 선택
- 참조선: 칩(태그) 형태로 표시, 상신 즉시 열람 가능
- show 페이지에 참조자 목록 표시 추가
- getStepsData()에서 결재선+참조선 합산하여 기존 API 호환 유지
2026-03-06 21:18:48 +09:00
김보곤
20c4e9d879
fix: [approvals] 사용인감계 create 폼/미리보기 인감비교 형식 반영
...
- create.blade.php: buildSealUsagePreviewHtml 인감비교 레이아웃 적용
- create.blade.php: saveApproval formContent에서 seal_type/remarks 제거, attachment_desc 추가
- _seal-usage-form.blade.php: 인감비교 2열 레이아웃 + 용도/제출처/첨부서류 필드
- _seal-usage-show.blade.php: 읽기전용 인감비교 레이아웃
2026-03-06 21:09:42 +09:00
김보곤
ae367e733e
fix: [approvals] 사용인감계 미리보기를 인감비교 형식으로 통일
...
- edit/show 페이지의 buildSealUsagePreviewHtml을 법인인감|사용인감 비교 레이아웃으로 교체
- 구 테이블 형식(인감종류/비고 필드) 제거
- create 페이지와 동일한 확약문구, 일자 포맷, 회사정보 레이아웃 적용
2026-03-06 21:03:31 +09:00
김보곤
c96a92bcb5
feat: [approvals] 사용인감계 양식 추가
...
- 증명서 카테고리에 사용인감계(seal_usage) 양식 등록
- 입력 폼: 사용일자, 인감종류, 용도, 제출처, 비고
- 회사 정보 자동 로드 (테넌트 정보 기반)
- 미리보기/인쇄 기능 (원본 DOCX 유사 레이아웃)
- create/edit/show 3개 페이지 모두 지원
2026-03-06 20:48:19 +09:00
김보곤
da20e3552f
feat: [org-chart] 부서 숨기기 상태 DB 저장
...
- departments.options JSON 컬럼에 orgchart_hidden 플래그 저장
- 숨기기/복원 시 API 호출하여 영구 저장
- 페이지 로드 시 DB에서 숨김 상태 복원
2026-03-06 20:28:25 +09:00
김보곤
eeb56ae206
fix: [org-chart] 대표이사 미배치 제외 및 숨긴 부서 연결선 제거
...
- 대표이사/사장/회장 등 임원직 미배치 목록에서 제외
- ceoName과 일치하는 직원도 미배치에서 제외
- 숨긴 부서의 상위 연결선(vertical connector) 제거
- rootDepts getter에서도 숨긴 부서 필터링
2026-03-06 20:20:29 +09:00
김보곤
3e47402d3e
feat: [org-chart] 부서 숨기기 기능 추가
...
- 부서 헤더 더블클릭 시 숨기기 버튼 표시
- 숨긴 부서와 하위 부서 트리에서 제거, 연결선 자동 조정
- 숨겨진 부서 패널에서 눈 아이콘 클릭으로 복원
2026-03-06 20:16:11 +09:00
김보곤
3ace66065e
fix: [org-chart] 연결선 'ㄱ'자 형상 수정 및 드롭존 숨김 처리
...
- 수평 연결선 위치: top:12px → top:0 (수직선과 정확히 접합)
- 하위 부서 드롭존: 기본 숨김, 드래그 시에만 표시
2026-03-06 20:10:09 +09:00
김보곤
48a41e535b
fix: [org-chart] 부서 드래그 정렬 버그 수정 및 계층 이동, 직책 표시 개선
...
- SortableJS+Alpine 충돌 해결: 수동 DOM 렌더링으로 전환
- 부서 드래그로 다른 부서 하위로 이동 가능 (parent_id 변경)
- 순환 참조 방지 (자기 자신/하위로 이동 불가)
- 재귀 렌더링으로 무제한 depth 지원
- 직책이 이름 앞에 표시 ("사원 김보곤")
- 빈 하위 드롭존: 드래그 시에만 표시
2026-03-06 20:05:48 +09:00
김보곤
8111910d6c
feat: [org-chart] 조직도 최상단 노드 색상 수정 및 부서 드래그 정렬 기능 추가
...
- 최상단 회사 노드: Tailwind gradient → inline style로 변경 (글씨 안보이는 문제 수정)
- 부서 카드 드래그 앤 드롭 정렬: SortableJS handle 기반
- 1단계/2단계 부서 모두 드래그 정렬 가능
- sort_order 변경 즉시 서버 저장 (reorder-depts API)
- 부서 헤더에 드래그 아이콘 추가
2026-03-06 19:51:01 +09:00
김보곤
11d5fb57a7
feat: [rd] 조직도 클래식 하향식 트리 형태로 개편
...
- 회사(대표이사) → 1단계 부서 → 2단계 → 3단계 하향식 트리 구조
- 부서 간 수직/수평 연결선으로 계층 시각화
- 미배치 직원 패널을 상단 접이식으로 변경
- 부서 카드 클릭 시 하위 부서 펼침/접기
- drag & drop 배치 기능 유지
2026-03-06 19:42:37 +09:00
김보곤
a164410791
fix: [rd] 조직도 Blade 템플릿 ParseError 수정
...
- @json 내 화살표 함수를 컨트롤러로 이동
- Blade 컴파일러와 배열 구문 충돌 해결
2026-03-06 19:37:22 +09:00
김보곤
3fccd7414c
feat: [rd] 조직도 관리 화면 추가
...
- SortableJS 기반 drag & drop 부서 배치 UI
- 미배치 직원 패널 + 부서 트리 (3단계 계층 지원)
- 직원 배치/해제 API 엔드포인트
- 실시간 저장 및 인원수 표시
2026-03-06 19:35:06 +09:00
김보곤
08bf255480
fix: [approvals] 근태신청 기간 표시에서 T 제거 (2026-03-12T14:00 → 2026-03-12 14:00)
2026-03-06 17:59:13 +09:00
김보곤
c8223a63b5
fix: [approvals] 사직서 주민번호 마스킹 제거
2026-03-06 17:48:51 +09:00
김보곤
a474c26675
fix: [approvals] 근태신청 종료일도 종료일시(datetime-local)로 변경
2026-03-06 17:46:52 +09:00
김보곤
47fcaaa3a3
feat: [approvals] 근태신청 시작일에 시간 선택 기능 추가
...
- 근태신청(attendance_request) 선택 시 시작일 input을 datetime-local로 전환
- 라벨도 '시작일' → '시작일시'로 변경
- 휴가/사유서는 기존 date 유지
2026-03-06 17:44:41 +09:00
김보곤
43862e26c6
fix: [approvals] 위촉증명서 PDF 상단 여백 축소 (전체 위치 상향)
2026-03-06 17:41:08 +09:00
김보곤
eb47351af1
fix: [approvals] 위촉증명서 주민번호 마스킹 제거
2026-03-06 17:35:58 +09:00
김보곤
0649802ffd
fix: [approvals] 재직/경력증명서 주민번호 전체 표시 (마스킹 제거)
...
- 재직증명서: 주민번호 뒷자리 ****** 마스킹 제거, 전체 표시
- 경력증명서: 주민등록번호 필드 추가 (폼/조회/미리보기/PDF)
- EmploymentCertService: maskedResident 로직 제거
- CareerCertService: resident_number 반환 추가, PDF 행 추가
2026-03-06 15:59:05 +09:00
김보곤
017e2882a9
feat: [approvals] 구매품의서에 지급방법(법인카드/계좌이체) 선택 추가
2026-03-06 15:39:03 +09:00
김보곤
fa96b8e013
feat: [approvals] 비용정산품의서 지급방법을 각 행별 선택으로 변경
...
- 하단 일괄 radio 제거, 각 내역행에 지급방법 select 추가
- tfoot에 법인카드/개인선지출 합계표 추가
- 조회 화면에도 지급방법 컬럼 및 합계표 반영
2026-03-06 15:28:34 +09:00
김보곤
520406a06c
fix: [sidebar] 즐겨찾기 섹션에 메뉴 뱃지 표시 동기화
2026-03-06 15:22:04 +09:00
김보곤
2906825c33
feat: [sidebar] 사이드바 메뉴 즐겨찾기 기능 추가
...
- MenuFavorite 모델 생성 (menu_favorites 테이블)
- SidebarMenuService에 즐겨찾기 CRUD 메서드 추가
- MenuFavoriteController 생성 (toggle/reorder API)
- 사이드바 상단에 즐겨찾기 섹션 표시
- 메뉴 아이템에 별 아이콘 추가 (hover 시 표시, 토글)
- 최대 10개 제한, 리프 메뉴만 대상
2026-03-06 14:34:46 +09:00
김보곤
53fb5103ac
fix: [approval] 결재선 인원 목록에서 퇴사자 제외
...
- tenant_user_profiles.employee_status = 'resigned' 필터 추가
- search(), list() 두 엔드포인트 모두 적용
2026-03-06 14:32:08 +09:00
김보곤
033e8b12cc
fix: [approvals] 지출품의서 '사용일자' → '지출일자' 라벨 변경
2026-03-06 13:43:03 +09:00
김보곤
bf3ec57095
feat: [approvals] 양식 선택 2단계 구조 (분류 → 양식)
...
- 1단계: 분류 선택 (일반/인사·근태/증명서/품의/재무)
- 2단계: 해당 분류 내 양식만 필터링하여 표시
- 분류별 아이콘 표시 (📄 📜 📋 💰 👤 )
- edit 화면에서 기존 양식의 분류 자동 선택
2026-03-06 13:18:58 +09:00
김보곤
7679c2b99b
feat: [approvals] 전체 양식 설명 카드 추가
...
- 업무기안서, 휴가신청, 근태신청, 사유서 등 8개 양식 설명 추가
- 재직/경력/위촉증명서, 사직서 포함 전체 14종 양식 설명 완비
- 양식별 고유 아이콘/색상으로 시각적 구분
2026-03-06 13:08:22 +09:00
김보곤
12239866db
feat: [approvals] 양식 선택 시 설명 카드 표시
...
- 지출결의서/품의서 5종 선택 시 우측에 설명 카드 노출
- 드롭다운 30% + 설명 카드 70% 레이아웃
- 양식별 아이콘/색상/설명 텍스트 (사전승인 vs 사후보고 등)
- create/edit 동일 적용
2026-03-06 12:55:07 +09:00
김보곤
406d47bc93
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:41:08 +09:00
김보곤
cba91713ee
feat: [approvals] 품의서 양식 추가
...
- 품의서(purchase_request) 전용 폼/뷰 partial 추가
- 지출결의서 기반, 지출방법(카드/계좌) 제거, 구매목적 필드 추가
- 테이블: 품명/수량/단가/금액/업체명/비고 (수량×단가 자동계산)
- 희망 납기일, 요청부서/요청자, 첨부파일 지원
- create/edit/show 모두 분기 처리
2026-03-06 11:28:28 +09:00
김보곤
e02f1daf0a
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:24 +09:00
김보곤
36fa02132c
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:41 +09:00
김보곤
f7bb375bea
fix: [approvals] 경력증명서 증명문구 재직/퇴직 분기 처리
...
- 퇴직일 있음: "위 사람은 당사에 재직(근무) 하였음을 증명합니다."
- 퇴직일 없음(현재 재직): "위 사람은 당사에서 재직(근무) 하고 있음을 증명합니다."
- HTML 미리보기(create/show) + PDF 모두 적용
2026-03-06 10:35:54 +09:00
김보곤
f83986aec3
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:26:11 +09:00
김보곤
f00eee7f12
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:21 +09:00
김보곤
b60f2109af
feat: [document] 양식 디자이너(Block Builder) Phase 2 - 블록 런타임 렌더러
...
- BlockRendererService: view/edit/print 3모드 렌더링 지원
- edit 모드: 폼 필드(input/select/textarea/checkbox) 생성
- view 모드: 읽기 전용 데이터 표시
- print 모드: 인쇄 최적화 레이아웃
- 데이터 바인딩: block.binding → document_data.field_key 매핑
- 체크박스 그룹: 콤마 구분 값으로 저장/복원
- 테이블 셀 편집: tbl_{blockId}_r{row}_c{col} 키로 EAV 저장
- edit.blade.php: 블록 빌더 서식 분기 (blockFormContainer)
- show.blade.php: 블록 빌더 조회 모드 분기
- DocumentController: renderBlockHtml() 메서드 추가
2026-03-06 10:16:50 +09:00
김보곤
10b3490d9c
fix: [approvals] 위촉증명서 인쇄/PDF A4 레이아웃 수직 배분 개선
...
- 인쇄 CSS: @page A4 적용, 상단 padding 100px로 확대
- HTML 미리보기: 제목/테이블/증명문구/날짜/서명 간격 확대
- PDF: 상단 여백 및 섹션 간 Ln 값 증가 (A4 수직 균등 배분)
2026-03-06 10:09:15 +09:00
김보곤
b05daffedb
fix: [approvals] 재직증명서 양식에 대표자명/회사주소 누락 수정
...
- 재직증명서 폼/제출/미리보기/PDF에 ceo_name, company_address 추가
- tenants 테이블에서 가져온 회사 정보를 모든 기안 양식에 통일 적용
- 경력/위촉/사직서는 이미 정상 처리, 재직증명서만 누락되어 있었음
2026-03-06 09:19:57 +09:00
김보곤
d9c905ca9a
feat: [approval] 사직서 양식 추가
...
- ResignationService 생성 (정보 조회 + PDF 생성)
- 사직서 전용 폼/조회 파셜 추가
- create/show 블레이드에 사직서 JS 로직 통합
- 컨트롤러 resignationInfo/resignationPdf 메서드 추가
- API 라우트 resignation-info, resignation-pdf 등록
2026-03-06 00:13:38 +09:00
김보곤
2dc559d190
feat: [approval] 위촉증명서 기안/조회/PDF 기능 추가
...
- AppointmentCertService: 사원 위촉정보 조회 + TCPDF PDF 생성
- 기안 작성 폼: 사원 선택, 인적/위촉/발급 정보, 미리보기
- 상세 조회: 읽기전용 렌더링 + 미리보기/PDF 다운로드
- API: appointment-cert-info, appointment-cert-pdf 엔드포인트
2026-03-05 23:58:07 +09:00
김보곤
7c03aba203
fix: [approval] 전용 폼 선택 시 제목을 항상 양식명으로 설정
2026-03-05 23:46:53 +09:00
김보곤
4daca61007
feat: [approval] 경력증명서 기안/조회/PDF 기능 추가
...
- CareerCertService: 사원 경력정보 조회 + TCPDF PDF 생성
- 기안 작성 폼: 사원 선택, 인적/경력/발급 정보, 미리보기
- 상세 조회: 읽기전용 렌더링 + 미리보기/PDF 다운로드
- API: career-cert-info, career-cert-pdf 엔드포인트
2026-03-05 23:41:45 +09:00
김보곤
8cdedae07e
feat: [corporate-card] 카드분리 기능 추가
...
- 결제 내역 수정 모달에 카드분리 버튼 추가
- 카드별 배분금액 직접 입력 UI
- 균등 배분 / 비율 배분 / 해제 버튼
- 배분 합계 검증 (일치해야 저장 가능)
- card_splits 데이터 JSON 저장 (기존 items 확장)
- cardDeductions 로직: card_splits 우선 적용, 없으면 기존 비율 배분
2026-03-05 23:19:41 +09:00
김보곤
dab120eacd
fix: [sidebar] 메뉴 검색 결과 텍스트 색상 가독성 개선
2026-03-05 22:11:45 +09:00
김보곤
cb88c02ae5
fix: [rd] 중대재해처벌법 진단 개요 너비 20% 확대 및 체크리스트 전체 너비 사용
2026-03-05 22:08:39 +09:00