Commit Graph

2373 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
김보곤
c0721d549a fix: [payslip] PDF 생성 시 font_dir 명시적 지정 (config 캐시 무관)
- setOptions()로 font_dir, font_cache, enable_font_subsetting 직접 전달
- ensureKoreanFont()에서도 DomPDF 옵션을 명시적으로 설정
- 캐시 유효성 검증 강화: TTF + .ufm 메트릭 파일 모두 확인
- config 캐시 상태와 무관하게 storage/fonts/ 사용 보장
2026-03-11 11:18:06 +09:00
김보곤
d919ad378b fix: [payslip] ensureKoreanFont 캐시 유효성 검증 추가
- installed-fonts.json에 키만 있고 실제 폰트 파일이 없으면 재등록
- 배포 후 수동 캐시 초기화 불필요
2026-03-11 11:09:55 +09:00
김보곤
e17314ad0f fix: [payslip] 폰트를 프로젝트에 포함하여 서버 의존성 제거
- resources/fonts/에 NanumGothic TTF 포함 (Git으로 배포)
- ensureKoreanFont()가 시스템 경로 대신 resource_path() 사용
- fonts-nanum 패키지 미설치 서버에서도 한글 PDF 정상 생성
2026-03-11 11:00:45 +09:00
김보곤
07ce9b6db9 fix: [pdf] DomPDF 폰트 서브셋팅 활성화로 PDF 용량 경량화
- enable_font_subsetting: true (폰트 전체 임베딩 → 사용 글자만 포함)
- enable_javascript: false (PDF 내 JS 불필요)
- 기존 5MB → 수백KB 수준으로 축소 예상
2026-03-11 10:39:59 +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
김보곤
ca36e8e54d fix: [daily-fund] 일일자금일보 바로빌 데이터 자동 동기화 추가
- periodReport에서 데이터 조회 전 바로빌 API 자동 동기화 트리거
- BarobillBankSyncService 서비스 클래스 생성 (EaccountController 로직 분리)
- 현재 월 캐시 10분 만료, 과거 월 영구 캐시 정책 동일 적용
- 동기화 실패 시 기존 DB 캐시로 폴백 (서비스 중단 방지)
2026-03-11 09:55:50 +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
b677da4bce sync: main 배포 동기화 2026-03-11 2026-03-11 02:13:24 +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
d292c8eefc fix: [pm] 프로젝트 관리 HTMX 부분 로드 시 HX-Redirect 적용
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
5f5eb12094 fix: [users] 영구삭제 시 DB 커넥션 오류 수정
- sales_partners, sales_manager_documents 테이블 codebridge 커넥션으로 변경

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
김보곤
6d2720edf3 fix: [payroll] 전표 공제항목 동일 항목 병합 처리
- 기타공제 이름 정규화 (trim, 공백 통일)
- 동일 description + trading_partner 공제항목 합산 병합
- 중복 라인 제거하여 깔끔한 전표 생성
2026-03-10 16:34:19 +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
김보곤
17d86958ea fix: [payroll] 음수 공제항목 전표 처리 방식 수정
- 음수 공제(환급)를 차변 별도 라인 대신 대변 마이너스로 처리
- 차변은 총지급액(gross_salary) 단일 라인 고정
- 대변합계 = 양수공제 + 음수공제(마이너스 대변) + 실수령액 = 차변
2026-03-10 12:26:34 +09:00
김보곤
c24d5cc672 fix: [payroll] 전표 생성 음수 공제(환급) 처리 및 역산 제거
- 음수 공제항목을 차변 207 예수금으로 처리 (환급 = 예수금 감소)
- 역산 방식 제거, DB의 실제 net_salary 사용
- 공제항목 루프 처리로 코드 간결화
2026-03-10 11:42:38 +09:00
김보곤
129b383ed5 fix: [journal] 급여 전표 수정 허용 및 source_type 라벨 개선
- payroll source_type 전표 수정 허용 (기존: manual, bank_transaction만)
- source_type별 정확한 라벨 매핑 (카드사용내역, 홈택스 매출/매입)
- 프론트/백엔드 양쪽 수정
2026-03-10 11:37:45 +09:00
김보곤
764ae09615 fix: [payroll] 전표 미지급비용을 역산으로 차대 균형 보장
- net_salary를 DB 값 대신 (총지급액 - 공제 합계)로 역산
- DB 데이터 불일치 시에도 전표 차대 균형 보장
2026-03-10 11:33:02 +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
9ead940acd fix: [deploy] dompdf 폰트 캐시 shared 심링크 설정
- storage/fonts를 shared/storage/fonts로 심링크하여 배포 간 폰트 캐시 유지
- rsync exclude에 storage/fonts 추가
- www-data 쓰기 권한 문제 해결 (급여명세서 PDF 생성 오류)

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
김보곤
26d081d04e fix: [journal] 전표 거래처 검색 limit(50) 제거 — 전체 활성 거래처 로드 2026-03-10 09:53:48 +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