Commit Graph

2395 Commits

Author SHA1 Message Date
김보곤
8a2a569403 fix: [fire-shutter] ① 마감재를 ② 바깥으로 이동 (감싸는 구조)
- ① 수평면 시작점: bx → bx-t1 (② 백월 바깥, 방화벽쪽 이동)
- overlap 제거: ①과 ② 사이 겹침 없음 (①이 ② 바깥에 위치)
- 측면탭 위치 조정: ② 백월 좌측을 따라 배치
2026-03-11 16:21:45 +09:00
김보곤
58991e352e feat: [esign] 근로계약서 사원 불러오기 시 주소, 생년월일, 계약일 자동 반영
- 주민등록번호에서 출생년도/월/일 분리 (세기 자동 판별)
- 입사일 기반 계약일, 근로계약시작일, 연봉계약시작일 자동 반영
- 연봉계약종료일은 입사일 + 1년으로 계산
- 사원 주소, 계약자 이름 자동 매핑 추가
2026-03-11 16:18:37 +09:00
김보곤
0fe46e3b1a fix: [fire-shutter] ④ D형 개구부 방향 좌측으로 변경 (③과 마주보는 형태)
- ③ C형: 우측(②쪽) 열림 (기존 유지)
- ④ D형: 좌측(벽쪽) 열림 (기존 우측→좌측 반전)
- 참조 도면 KSS01 기준: ③④ 열린면이 서로 마주봄
2026-03-11 16:11:10 +09:00
김보곤
6aea43a992 fix: [fire-shutter] 가이드레일 원숫자 위치를 참조 도면 기준으로 수정
- ① 마감재: 도면 상단→우측 랩/플랜지 영역(상하 2개, 참조 도면 동일)
- ③ C형: 위쪽 치우침→몸체(45mm) 수직 중심
- ④ D형: 아래쪽 치우침→몸체(40mm) 수직 중심
2026-03-11 16:04:14 +09:00
김보곤
cbde2d0efb fix: [fire-shutter] 가이드레일 부재 번호를 KSS01 참조 도면 기준으로 변경
- ①마감재 ②가이드레일 ③C형 ④D형 (기존 ①본체 ③벽C ④벽D ⑤마감재)
- hasTrim 조건 분기 제거 (KSS01에 마감재 있음)
- 모든 치수선 라벨, 범례 텍스트, SVG 주석 번호 통일
2026-03-11 15:53:08 +09:00
김보곤
2d3f915a30 fix: [barobill] 은행거래 동기화 시 중복 키 에러 수정
- summary 포함 WHERE와 DB unique index 불일치로 발생하는 duplicate entry 에러
- insert를 insertOrIgnore로 변경하여 중복 시 무시
2026-03-11 15:48:33 +09:00
김보곤
1009850160 fix: [fire-shutter] KSS01 모델에서 마감재(⑤) 조건부 렌더링
- KSS01은 마감재(⑤) 없음 → hasTrim 조건으로 분기
- ⑤ SVG, 치수선 라벨, 범례 텍스트 조건부 처리
- 모델 변경 시 가이드레일 재렌더링 추가
2026-03-11 15:32:45 +09:00
김보곤
0be1fe7a87 fix: [journal] 거래처 드롭다운 클릭 시 즉시 닫히는 버그 수정
- onFocus에서 열린 경우 onClick 토글을 건너뛰도록 justFocusedRef 플래그 추가
- 다른 요소에서 포커스 이동 후 클릭 시 정상 동작
2026-03-11 15:32:45 +09:00
김보곤
a97396df99 fix: [journal] 전표 적요 수정 시 자금일보에 반영되도록 동기화
- 은행거래 출처 전표의 적요 수정 시 BankTransactionOverride에 저장
- 기존 modified_cast 오버라이드 값 보존
2026-03-11 15:27:50 +09:00
김보곤
9093c5607a fix: [fire-shutter] 가이드레일 평면도 원숫자 크기 3배 확대 2026-03-11 15:27:06 +09:00
김보곤
4f0331729c fix: [esign] 체크박스 필드를 단순화 - 변수 연결 대신 위치에 체크 표시 렌더링
- 체크박스는 변수 연결 불필요, 배치한 위치에 무조건 ☑ 표시
- PDF 오버레이에서 체크박스 필드는 ☑ 아이콘으로 표시
- 커스텀 변수에서 체크박스 타입 옵션 제거 (불필요)
2026-03-11 15:16:28 +09:00
김보곤
f11b1238ef feat: [esign] 템플릿 체크박스 필드에 변수 연결 기능 추가
- 체크박스 필드 속성에서 변수 연결 UI 노출
- 커스텀 변수 생성 시 텍스트/체크박스 타입 선택 지원
- 체크박스 변수는 체크박스 필드에만, 텍스트 변수는 텍스트/날짜 필드에만 표시
2026-03-11 15:03:19 +09:00
김보곤
bb3ffc6085 feat: [esign] 사원 불러오기 기능 추가 및 랜덤 데이터 품질 개선
- 근로계약서 시 '사원 불러오기' 버튼으로 직원 검색/선택 기능
- fillRandomVariables 스마트 기본값 생성 (테스트_ 접두사 제거)
- searchEmployees API 엔드포인트 추가
2026-03-11 14:27:32 +09:00
김보곤
b007fdbcb0 feat: [esign] 근로계약서 번개 아이콘 클릭 시 랜덤 테스트 데이터 자동 입력
- 직원주소, 직종구분, 업무내용, 업무기간, 출생년도, 급여, 계약자이름 등 매핑
- 라벨 부분 매칭(정규식)으로 유연하게 처리
- 매칭 안 되는 변수는 '테스트_라벨명'으로 기본값 입력
- 기존 영업파트너/고객 계약서 매핑 유지
2026-03-11 14:17:50 +09:00
김보곤
2a19c7108c fix: [finance] 적요 컬럼 텍스트 잘림 해제
- max-w-[220px] + truncate 제거로 긴 적요 전체 표시
- 은행거래 탭의 적요 컬럼도 동일 적용
2026-03-11 14:14:22 +09:00
김보곤
084e0f1ff6 fix: [esign] PDF 한글 폰트 깨짐 수정 — K_PATH_FONTS 의존 제거
- K_PATH_FONTS 상수가 TCPDF vendor 경로로 선점되면 pretendard 폰트를 못 찾는 문제
- AddFont()으로 storage/fonts/tcpdf/ 경로를 직접 지정하여 확실하게 로드
- 폴백: resources/fonts/Pretendard-Regular.ttf → helvetica
2026-03-11 14:05:59 +09:00
ee981d27d5 fix: [hr] 급여명세서 한글 폰트 — storage_path 기반으로 변경하여 배포 간 안정성 확보
- chroot에 storage_path('fonts') 추가 (symlink→shared 경로 허용)
- 폰트를 resources→storage로 복사 후 storage 경로로 등록 (릴리스 불변)
- 배포마다 .ufm 메트릭 재생성 방지

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:47:49 +09:00
김보곤
2af680934f fix: [fire-shutter] ⑤ 위치를 ①백월 기준으로 복원, 벽쪽 'ㄱ' 측면탭 복원
- trimL5를 bx(①백월)로 변경하여 ①이 ⑤ 범위 안에 완전히 포함되도록
- 벽쪽 측면탭(11mm) SVG 복원 → ①백월을 따라 'ㄱ' 형상 표현
- 코킹립(10mm)은 Z방향 절곡으로 평면도에서 생략 유지
2026-03-11 13:41:06 +09:00
8afd78c111 fix: [hr] DomPDF setOptions 제거 — chroot 덮어쓰기로 인한 폰트 등록 실패 수정
- setOptions()가 config의 chroot(base_path)를 new Options()로 전체 교체 → vendor 기본값으로 리셋
- resource_path 폰트 경로가 chroot 밖으로 판정되어 registerFont() false 반환
- setOptions 제거 → config/dompdf.php 설정(font_dir, font_cache, chroot) 그대로 사용
- storage 수동 복사도 제거 → DomPDF가 내부적으로 font_dir에 복사 + .ufm 생성

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:37:11 +09:00
김보곤
9282c289c1 fix: [finance] 전표 수정 후 리스트에 수정된 적요가 반영되지 않는 문제 수정
- 은행/카드거래 행에서 원본 거래 적요 대신 전표 적요를 우선 표시
- 분개가 존재하면 journal_entries.description을 사용
2026-03-11 13:23:57 +09:00
5a6cd34a63 fix: [hr] DomPDF 인스턴스 불일치 해결 — 급여명세서 한글 폰트 깨짐 수정
- 기존: app()으로 별도 DomPDF 인스턴스에 폰트 등록 → Pdf::loadView()의 인스턴스에는 미적용
- 수정: $pdf->getDomPDF()로 동일 인스턴스에 폰트 등록 후 output() 호출
- Pretendard 폰트 사용, resources/fonts/에서 storage/fonts/로 복사 후 등록

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:19:05 +09:00
김보곤
a41597ca3c fix: [finance] 거래처 필드 Tab키 자동 검색 열기
- TradingPartnerSelect에 onFocus 핸들러 추가
- Tab으로 포커스 시 드롭다운이 자동 열려 바로 검색 가능
- 선택 후 재포커스 시 중복 열림 방지 (skipAutoOpenRef)
2026-03-11 13:07:53 +09:00
김보곤
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