Commit Graph

1766 Commits

Author SHA1 Message Date
김보곤
ea4e16bbd0 feat: [esign] 계약 수정 화면에 서명 필드 값 편집 기능 추가
- 수정 화면에서 text/date/checkbox 필드 값 인라인 편집
- 필드별 서명자 구분(작성자/상대방), 페이지 번호 표시
- update API에서 필드 값 일괄 업데이트 처리
2026-03-11 13:05:36 +09:00
김보곤
edc69040ab feat: [esign] 전자계약 수정 기능 추가
- draft 상태 계약의 제목, 설명, 서명자 정보, 파일 수정 가능
- 계약 상세 페이지에 '계약 정보 수정' 버튼 추가
- create.blade.php를 생성/수정 겸용으로 확장
2026-03-11 11:55:46 +09:00
김보곤
d7428e1785 fix: [payroll] PDF 한글 폰트 NanumGothic → Pretendard 전환
- 운영서버 NanumGothic 메트릭 생성 실패 문제 해결
- Pretendard Regular/Bold TTF를 resources/fonts/에 번들링
- ensureKoreanFont()에서 Pretendard 등록으로 변경
- payslip.blade.php font-family를 Pretendard로 변경
- PDF 크기: 18KB (서브셋팅 적용)
2026-03-11 11:49:20 +09:00
김보곤
8b8c544628 feat: [esign] 계약 제목에 '근로계약서' 옵션 추가 2026-03-11 11:46:11 +09:00
김보곤
44e9700358 fix: [fire-shutter] ⑤마감재 방화벽 밀착 및 코킹립/탭 평면도 제거
- trimL5를 wallRight(방화벽 면)로 변경하여 ⑤가 벽에 맞닿도록 수정
- Z방향 절곡인 코킹립(10mm)·측면탭(11mm) SVG 요소 제거 (평면도에서 불가시)
2026-03-11 11:26:50 +09:00
김보곤
79366f878b fix: [fire-shutter] ③ 브라켓 몸체를 방화벽에 직접 맞닿도록 벽-③ 간 갭(10px) 제거 2026-03-11 11:20:12 +09:00
김보곤
e17314ad0f fix: [payslip] 폰트를 프로젝트에 포함하여 서버 의존성 제거
- resources/fonts/에 NanumGothic TTF 포함 (Git으로 배포)
- ensureKoreanFont()가 시스템 경로 대신 resource_path() 사용
- fonts-nanum 패키지 미설치 서버에서도 한글 PDF 정상 생성
2026-03-11 11:00:45 +09:00
김보곤
9f3f016f1f fix: [fire-shutter] ① 본체 개구부측 'ㄱ' 형태 수정 — 립(10mm)이 바깥Y에서 먼저 우측 연장 후 플랜지(26mm) 아래로 절곡 2026-03-11 10:35:26 +09:00
김보곤
ad0055f071 fix: [payslip] PDF 급여명세서 font-weight 800 → bold 수정
- DomPDF에 NanumGothic bold(700)까지만 등록되어 weight 800 한글이 깨짐
- h1, .net-row의 font-weight: 800 → bold로 변경
2026-03-11 10:35:11 +09:00
김보곤
8ed717f554 fix: [fire-shutter] ① 본체 개구부측 절곡을 'ㄱ' 형태로 수정 (플랜지→립 순서) 2026-03-11 10:23:10 +09:00
김보곤
b88f8edfe2 fix: [fire-shutter] ⑤ 마감재 수평면 시작위치를 ① 백월(bx)로 수정하여 ①이 ⑤ 안쪽에 위치하도록 변경 2026-03-11 10:15:27 +09:00
김보곤
afa6428097 fix: [hometax] 분개 기본 계정과목 코드 수정
- 매입: 135(미존재)→117(부가세대급금), 251(장기차입금)→201(외상매입금)
- 매출: 255(장기미지급금)→208(부가세예수금)
- 매입 501 account_name '상품매입'→'상품매출원가' (DB 일치)
- DB: 비표준 5자리/1-2자리 중복 코드 2386개 비활성화 (163개→163개 유지)
- DB: 기존 분개 코드 135→117 4건 수정
2026-03-11 10:07:54 +09:00
김보곤
06dae8d9cc fix: [fire-shutter] ① 본체 EGI 립/플랜지 절곡 방향 수정 (KSS01) 2026-03-11 10:01:51 +09:00
김보곤
be1c984de0 fix: [hr] 급여명세서 PDF 한글 폰트 깨짐 수정
- NanumGothic 폰트 자동 등록 로직 추가 (ensureKoreanFont)
- storage/fonts/에 폰트 복사 후 DomPDF에 등록 (최초 1회)
- payslip.blade.php font-family를 NanumGothic으로 변경
- 서버 배포 시 수동 폰트 등록 불필요
2026-03-11 09:49:55 +09:00
김보곤
f90b317e63 fix: [hr] 급여명세서 PDF 구글 폰트 외부 로드 제거
- payslip.blade.php: @import 구글 폰트 URL 삭제, 시스템 기본 폰트 사용
- PayrollService.php: isRemoteEnabled 옵션 제거
- 운영서버 배포 시 폰트 캐시 권한 오류 근본 해결
2026-03-11 09:41:28 +09:00
김보곤
067621dddc fix: [rd] 클코→슬랙 변환기 2패널로 단순화
- 슬랙 전송용 텍스트 패널 제거
- 미리보기 리치텍스트 복사로 변경 (서식 보존)
- Selection API로 복사하여 슬랙 붙여넣기 시 형태 유지
2026-03-11 09:31:29 +09:00
김보곤
64b0325d75 feat: [rd] 클코 → 슬랙 변환기 추가
- Claude Code CLI 출력을 슬랙 mrkdwn 형식으로 자동 변환
- 마크다운 → 슬랙 문법 변환 (볼드, 코드블록, 링크 등)
- 슬랙 스타일 실시간 미리보기
- 클립보드 복사/붙여넣기 지원
2026-03-11 09:20:22 +09:00
김보곤
e65e2f3dc8 feat: [payroll] 슈퍼관리자 급여 수정/지급취소 권한 추가
- 지급완료/확정 상태에서도 슈퍼관리자는 급여 수정 가능
- 지급취소(unpay) 기능 추가: paid → draft 상태 되돌리기
- 테이블에 슈퍼관리자 전용 수정/지급취소 버튼 표시
2026-03-11 06:52:03 +09:00
a55ec09cd9 fix: [admin] 테이블 컬럼 정렬 및 뱃지 버튼 UI 통일
- departments, roles, tenants, fcm/tokens 테이블 정렬 통일
- th 가운데 정렬, td 텍스트 컬럼 좌측, 단일값 컬럼 가운데
- fcm 토큰 행 뱃지 스타일 버튼 적용

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 01:18:05 +09:00
9af64d7368 feat: [users] SAM접속 기능 개선 - 도메인 매핑 및 텍스트 변경
- LoginToken: APP_ENV 기반 도메인 매핑 (local→dev.*, production→stage.sam.it.kr)
- DEV접속 → SAM접속 텍스트 변경
- 사용자 테이블: 이메일 컬럼 제거, 이름 아래 이메일 표시, 뱃지 버튼 UI

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 01:18:05 +09:00
d7c4283b66 feat: [admin] 일괄 작업 및 작업 버튼 뱃지 UI 적용
- 사용자/부서/역할 페이지에 체크박스 선택 + 일괄 삭제/복원/영구삭제
- 사용자 테이블: 이메일을 이름 아래로 이동, 이메일 컬럼 제거
- 사용자/부서/테넌트 작업 버튼 뱃지 스타일로 변경

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 01:18:05 +09:00
afa8cd8293 feat: [menus] 메뉴 트리 상태 유지 및 활성 상태 연쇄 토글
- localStorage로 접힌 메뉴 상태 저장, HTMX 리로드 후 복원
- 상위 메뉴 활성/비활성 시 하위 메뉴 연쇄 적용 (백엔드+프론트)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 01:18:05 +09:00
김보곤
020677c321 fix: [journal] CurrencyInput 컴포넌트 음수 입력 개선
- 포커스 시 쉼표 제거하여 순수 숫자 편집 모드
- 타이핑 중 포맷팅 제거하여 커서 점프 방지
- 블러 시에만 천단위 쉼표 포맷 적용
- minus + 숫자만 허용하는 단순 필터링
2026-03-10 16:28:01 +09:00
김보곤
44d6daf3cd fix: [journal] 전표 금액 입력에서 음수(-) 입력 지원
- CurrencyInput 컴포넌트 도입하여 로컬 상태로 중간 입력('-') 보존
- 3개 모달(수동전표, 카드분개, 계좌분개) 6개 금액 입력 필드 모두 교체
- onBlur 시 포맷팅, onChange 시 즉시 파싱으로 실시간 합계 반영
2026-03-10 12:50:00 +09:00
김보곤
3f3b843f36 fix: [payroll] 전표 기타공제 항목별 분리 및 음수 금액 처리
- 기타공제를 합산 단일 라인에서 항목별(연말정산소득세, 연말정산지방소득세 등) 분리
- formatInputCurrency/parseInputCurrency 음수 부호 처리 추가
- JournalEntryController validation에서 min:0 제거하여 음수 credit_amount 허용
2026-03-10 12:44:09 +09:00
김보곤
129b383ed5 fix: [journal] 급여 전표 수정 허용 및 source_type 라벨 개선
- payroll source_type 전표 수정 허용 (기존: manual, bank_transaction만)
- source_type별 정확한 라벨 매핑 (카드사용내역, 홈택스 매출/매입)
- 프론트/백엔드 양쪽 수정
2026-03-10 11:37:45 +09:00
김보곤
c53b3d8bc3 fix: [payroll] 전표 생성 시 기타공제 누락 수정 및 에러 모달 추가
- 기타공제(deductions JSON) 항목을 대변 207 예수금에 반영
- 차대 불균형 시 상세 분개 내역을 에러 모달로 표시
- toast 대신 복사 가능한 모달로 에러 메시지 표시
2026-03-10 11:30:27 +09:00
3ed5f53b93 fix: [documents] 제품검사 요청서 MNG 상세 페이지 렌더링 오류 수정
- basicFields: raw field_key(manager, site_name 등) fallback 추가
- 폼형 섹션(건축공사장/시공자/감리자 정보): 키-값 형태로 렌더링
- 독립 테이블 데이터(검사대상 목록): 별도 테이블로 렌더링

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 11:05:02 +09:00
김보곤
550fba5cb2 fix: [payroll] 급여명세서 이메일 발송 시 개인 이메일 우선 참조
- 개인 이메일이 있으면 개인 이메일로 발송
- 개인 이메일이 없으면 업무용 이메일로 폴백
- 목록의 이메일 모달에서도 동일 로직 적용
2026-03-10 10:57:46 +09:00
김보곤
1dc3ae8df4 feat: [employee] 사원 상세페이지에 개인 이메일 항목 추가
- 이메일 → 업무용 이메일로 라벨 변경
- 개인 이메일 항목 추가
2026-03-10 10:38:07 +09:00
김보곤
50275b0500 feat: [employee] 사원관리 개인 이메일 필드 추가
- 사원 수정 폼에 개인 이메일 입력 필드 추가
- 레이아웃 2x2 배열로 변경 (업무용 이메일|개인 이메일 / 주민등록번호|연락처)
- Employee 모델에 personalEmail accessor 추가
- 컨트롤러 validation, 서비스 jsonExtraKeys에 personal_email 반영
2026-03-10 10:04:24 +09:00
김보곤
16b9b6cce2 fix: [payroll] 이메일 발송 버튼을 확정 상태에서만 표시 2026-03-10 09:42:58 +09:00
김보곤
8df2cf0a4d fix: [payroll] PDF 급여명세서 레이아웃 수정
- 사원정보 테이블 colgroup으로 너비 고정 (오버플로우 해결)
- footer를 table 기반으로 변경 (dompdf float 미지원)
- 회사명 문자 인코딩 수정
2026-03-10 09:24:00 +09:00
김보곤
13ee95270e feat: [payroll] 급여명세서 이메일을 PDF 첨부파일로 변경
- 이메일 본문에 급여 내역 직접 노출 → PDF 첨부파일로 전환 (보안 강화)
- barryvdh/laravel-dompdf 패키지 추가
- 이메일 본문은 간단한 안내 메시지로 변경
- dompdf에서 한글 렌더링을 위해 Noto Sans KR 폰트 적용
2026-03-10 09:11:46 +09:00
김보곤
7c6e165d38 fix: [fire-shutter] ⑤마감재 좌측 벽측 리턴 추가 + 우측 A각 깊이 보정 2026-03-10 08:59:41 +09:00
김보곤
b670ca444c fix: [rd] trimX1 미정의 오류 수정 — trimL/trimR로 변경 2026-03-10 08:50:53 +09:00
김보곤
9fbb078a96 fix: [rd] ⑤마감재를 외곽 프레임 형태로 단순화 — 벽측 세부/우측 겹침 해소 2026-03-10 08:49:38 +09:00
김보곤
965d90e11b fix: [rd] ③④ 벽연형 브라켓 배치 수정 + ⑤ 우측 A각 리턴 추가
- ③ C개구부가 본체(우측) 방향으로 변경, 몸체가 벽쪽
- ④ ③ 내부에 완전히 포함되도록 위치 수정
- ④ 립을 안쪽/중앙 방향 절곡으로 변경
- ⑤ A각 30mm 리턴(본체 안쪽 방향) 추가
2026-03-10 08:46:46 +09:00
김보곤
dad2601f47 fix: [rd] ⑤마감재 평면도에서 A각 이후 절곡(30-15-15-15) 제거 — 위에서 안 보이는 부분 2026-03-10 08:33:15 +09:00
김보곤
e2869d9af3 fix: [rd] 스크린 가이드레일 ⑤마감재를 polyline stroke로 변경 (겹침 해소) 2026-03-10 08:28:43 +09:00
김보곤
bf7fb13ba7 feat: [rd] 스크린 가이드레일 평면도 5부재 조립구조로 전면 재작성
- ② 본체 flange 30→26mm 수정 (실제 절곡치수 반영)
- ③ 벽연형-C (30-45-30) 개별 부재로 분리 표현
- ④ 벽연형-D (11-23-40-23-11) 신규 추가
- ⑤ 마감재 SUS 1.2T (10-11-110-30-15-15-15) 신규 추가
- 각 부재별 색상 구분 및 번호 라벨 표시
2026-03-10 08:18:55 +09:00
김보곤
318d985dbc fix: [rd] 가이드레일 높이 오픈H+150 → 오픈H+100으로 변경 2026-03-10 07:32:55 +09:00
김보곤
40c47362d5 fix: [rd] 스크린 가이드레일 립 절곡방향 수정 (안쪽→개구부 방향)
- 2D 평면도: 사이드월 길이 분리(swLen=bodyD-lp), 립이 개구부 방향으로 절곡
- 3D 렌더링: bodyShape/hole의 립 Y좌표 반전(-lp, 벽쪽→개구부쪽)
- 치수선, 씰, 슬랫, 클립 위치 업데이트
2026-03-10 01:40:54 +09:00
김보곤
e6c82e4847 fix: [rd] 방화셔터 가이드레일 높이 계산 수정 (오픈H + 150mm)
- 기존: 표준 재고길이(3305mm) 선택 방식 → 오픈H + 305mm 표시
- 수정: 오픈H + 150mm 계산 (실제 가이드레일 높이)
- 3D 렌더링 레일 높이도 +100 → +150 수정
2026-03-10 01:28:07 +09:00
김보곤
d948366c2a feat: [payroll] 이메일 발송 후 '발송' 라벨 표시 기능
- payrolls 테이블 options JSON에 email_sent_at/email_sent_to 저장
- 이메일 아이콘 아래 '발송' 텍스트 표시 (서버 렌더링 + JS 즉시 반영)
- Payroll 모델에 options 컬럼 추가
2026-03-10 01:20:25 +09:00
김보곤
c3a868a89b fix: [payroll] 급여명세서 이메일 버튼 Blade 파싱 오류 수정
- @json() 내부 (int) 캐스팅이 Blade 파서 괄호 매칭 혼란 유발
- @php 블록에서 데이터를 미리 준비하고 @json($var)로 전달
2026-03-10 01:11:56 +09:00
김보곤
ca0473d541 feat: [payroll] 급여명세서 이메일 발송 기능 추가
- PayslipMail Mailable 클래스 생성 (admin@codebridge-x.com 발송)
- 급여명세서 이메일 템플릿 (전통 한국식 양식)
- 이메일 발송 API 엔드포인트 추가 (POST /payrolls/{id}/send-payslip)
- 목록 테이블에 이메일 발송 아이콘 버튼 추가
- 급여명세서 미리보기 모달 + 인쇄 기능
2026-03-10 01:06:21 +09:00
김보곤
fd5aca24ab fix: [leave-promotions] 단일 상태열 제거, 1차/2차 통지열에 결재상태 뱃지 통합 2026-03-10 00:50:56 +09:00
김보곤
55019fdf1e feat: [leave-promotions] 통지서 미리보기 모달 기능 추가
- 1차/2차 통지 눈 아이콘 클릭 시 통지서 문서 모달 팝업
- 결재 상태 뱃지, 발송일시, 인쇄, 결재문서 링크 포함
2026-03-10 00:44:32 +09:00
김보곤
60669ffdd5 feat: [hr] 연차촉진 관리에 1차/2차 촉진기간 컬럼 추가
- 근로기준법 제61조 기준 입사일 기반 촉진기간 자동 계산
- 1차 촉진기간: 연차만료 6개월 전 ~ +10일
- 2차 촉진기간 마감: 연차만료 2개월 전
- 잔여일수 다음에 촉진기간 표시
2026-03-10 00:37:10 +09:00