Commit Graph

2135 Commits

Author SHA1 Message Date
김보곤
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
김보곤
e7e0f55a27 feat: [rd] 중대재해처벌법 실무 점검 대시보드 추가
- 6개 카테고리 34개 점검항목 인터랙티브 체크리스트
- Chart.js 도넛/막대 차트 실시간 통계
- React 기반 SPA 대시보드
2026-03-05 21:57:21 +09:00
김보곤
53a851740a feat: [juil] 업무 Workflow 분기형 UI 구현
- 입찰 참여 기업 / 수의계약 기업 두 경로로 분기
- A경로: 영업 → 견적서 작성 → 입찰 참여 → 수주/계약
- B경로: 영업 → 견적서 작성 → 수주/계약 (입찰 생략)
- 분기/합류 시각적 연결선으로 표현
- 수주/계약 이후 공통 프로세스로 합류
2026-03-05 21:28:07 +09:00
김보곤
106e654cbd fix: [juil] 업무 Workflow 프로세스 순서 수정
- 영업/수주 → 영업 (수주는 견적 이후로 이동)
- 순서 변경: 영업 → 입찰 참여 → 견적서 작성 → 수주/계약
- 입찰 참여를 선택적 단계로 변경 (소규모/수의계약 시 생략 가능)
- 분기 표시: 대형/공공 vs 소규모/수의계약 경로 안내
2026-03-05 21:18:56 +09:00