Commit Graph

2042 Commits

Author SHA1 Message Date
김보곤
ed2ac18518 feat: [china-tech] 중국의 기술도약 > 5대 신흥빅테크 페이지 추가
- BigTechController 생성 (HX-Redirect 패턴 적용)
- 5개 탭 UI 구현 (첫 번째 탭: 천텐스, 캄브리콘 AI 반도체 분석)
- Chart.js 차트 3개 (주가, 매출 비중, 성능 레이더)
2026-03-04 09:31:08 +09:00
김보곤
9f45a82940 feat: [hr] 슈퍼관리자 근태/신청 삭제 및 영구삭제 기능 추가
- AttendanceService: forceDeleteAttendance 메서드 추가
- LeaveService: deleteLeave(모든 상태), forceDeleteLeave 메서드 추가
- Controller: force 파라미터 + 슈퍼관리자 권한 분기
- 근태 테이블: 슈퍼관리자에게 삭제/영구삭제 버튼 표시
- 신청 테이블: 슈퍼관리자에게 삭제/영구삭제 버튼 표시
2026-03-04 00:15:56 +09:00
김보곤
6b7eb29ebe fix: [hr] 통합 근태관리 탭2/3 컨테이너 HTML 추가 및 정렬 지원 2026-03-04 00:06:18 +09:00
김보곤
092bcbd66c fix: [hr] 통합 근태관리 JS API URL에 /api 접두사 추가 2026-03-04 00:02:58 +09:00
김보곤
36add4d889 feat: [hr] 근태등록 + 휴가관리 통합 시스템 구현
- Leave 모델 확장: 6개 유형 추가 (출장/재택/외근/조퇴/지각사유서/결근사유서)
- LeaveService: 유형별 결재양식 자동 선택, 유형별 Attendance 반영 분기
- ApprovalService: 콜백 3개 결재양식코드로 확장
- AttendanceIntegratedController: 통합 화면 컨트롤러
- 통합 UI: 근태현황/신청결재/연차잔여 3탭 + 신규 신청 드롭다운
- AttendanceRequest 모델/서비스/컨트롤러/뷰 삭제 (Leave로 일원화)
- AttendanceService: deductLeaveBalance 제거 (Leave 시스템으로 일원화)
2026-03-03 23:52:41 +09:00
김보곤
6674df1b64 fix: [attendance] 근태관리 승인 탭 제거
- 결재관리에서 처리하므로 승인 탭 불필요
- 탭 네비게이션, 승인 탭 콘텐츠, 승인 신청 모달 제거
- 승인/반려 JS 함수 및 탭 전환 로직 제거
2026-03-03 23:04:54 +09:00
김보곤
e8ea3375ad feat: [leave] 결재선 없을 때 빠른 생성 기능 추가
- 결재선 0개 시 경고 메시지 + '결재선 바로 생성' 버튼 표시
- 결재선 있을 때 '새 결재선 추가' 링크 표시
- 빠른 결재선 생성 모달 (z-[60]): 인원 목록 / 결재선 편집 2단 레이아웃
- 부서별 펼침/접기, 이름 검색, SortableJS 드래그 순서 변경
- 저장 후 드롭다운 동적 갱신 + 새 결재선 자동 선택
2026-03-03 22:50:51 +09:00
김보곤
511bfa3ec5 feat: [leave] 휴가 신청 시 결재선 선택 기능 추가
- 휴가 신청 모달에 결재선 드롭다운 + 미리보기 UI 추가
- 선택된 결재선으로 결재 생성 (미선택 시 기본결재선 fallback)
- 휴가 목록에 결재진행 컬럼 추가 (원형 아이콘: ✓승인/✗반려/숫자대기/파랑현재)
- approval.steps.approver eager load 추가
2026-03-03 22:36:30 +09:00
김보곤
81b64f25aa feat: [hr] 사원관리 퇴직자 영구삭제 기능 추가
- 슈퍼관리자만 퇴직 상태 사원을 영구삭제 가능
- 관련 첨부파일도 함께 삭제
- DELETE /admin/hr/employees/{id}/force 엔드포인트 추가
2026-03-03 21:46:56 +09:00
김보곤
614cbaef15 fix: [eaccount] 계좌 입출금내역 적요 중복 표시 수정
- BankTransaction::cleanSummary() 메서드 추가: 상대계좌예금주명(cast) 중복 제거
- parseTransactionLogs: 적요 표시 시 remark2 중복 제거 적용
- cacheApiTransactions: DB 저장 시에도 중복 제거 적용
- 기존 DB 데이터 45건 정리 완료
2026-03-03 21:11:52 +09:00
김보곤
9b36052a8f fix: [user] 사용자 영구삭제 시 FK 제약 위반 500 에러 수정
- users.id를 참조하는 모든 FK를 information_schema에서 동적 조회
- NULLABLE FK → NULL 설정, NOT NULL FK → 관련 행 삭제
- 기존 5개 테이블만 처리하던 것을 전체 FK 대응으로 확장
2026-03-03 19:58:07 +09:00
김보곤
8762882b54 fix: [hr] 사업소득자 임금대장 행 삭제 후 일괄저장 실패 수정
- 모든 행 삭제 시 "저장할 데이터가 없습니다" 오류 → 확인 후 서버 전송으로 변경
- 백엔드 validation: required|array → present|array (빈 배열 허용)
- 서버의 orphan draft 자동 삭제 로직이 정상 동작하도록 수정
2026-03-03 19:30:41 +09:00
김보곤
60291e08f1 fix: [sidebar] 메뉴 검색 시 대분류 그룹도 검색 대상에 포함
- 그룹 헤더(대분류/서브그룹)도 검색어 매칭 대상으로 추가
- 그룹 헤더 매칭 시 하위 전체 메뉴 표시 + 하이라이트 적용
2026-03-03 16:08:20 +09:00
김보곤
25795f8612 feat: [ai-quotation] 제조 견적서 자동 생성 기능 추가
- AI 2단계 분석: 고객 인터뷰 → 요구사항 추출 → 견적 산출
- 모델 확장: AiQuotation(모드/견적번호), AiQuotationItem(규격/단가/금액)
- AiQuotePriceTable 모델 신규 생성
- Create 페이지: 모듈/제조 모드 탭, 제품 카테고리, 고객 정보 입력
- Show 페이지: 제조 모드 분기 렌더링 (품목/금액/고객정보)
- Edit 페이지: 품목 인라인 편집, 할인/부가세/조건 입력
- Document: 한국 표준 제조업 견적서 양식 템플릿
- Controller/Route: update 엔드포인트, edit 라우트 추가
2026-03-03 15:58:16 +09:00
김보곤
3962d4b35c fix: [journal] 카드거래 수정 금액이 일반전표에 미반영되는 문제 수정
- 통합 목록 출금액: approvalAmount(원본) → supplyAmount+taxAmount(수정값) 사용
- 카드 분개 모달: 동일하게 수정된 금액 사용
- 외국결제 수수료 포함 금액 등 사용자 수정값이 정상 반영됨
2026-03-03 15:13:20 +09:00
김보곤
6a5976cc5d feat: [journal] 카드/은행 출처 전표 읽기 전용 적용
- update() 메서드에 source_type 가드 추가 (403 반환)
- 통합 목록에서 카드/은행 분개완료 행에 잠금 아이콘 표시
- handleEditEntry에 출처 전표 방어 가드 추가
- show() 응답에 source_type 필드 추가
2026-03-03 14:54:49 +09:00
김보곤
2ac4c188d5 feat: [hr] 사업소득자 임금대장 동적 행 입력 리디자인
- earner 고정 행 → 동적 행 추가/삭제 구조로 변경
- 상호/성명 datalist 콤보박스 (드롭다운 선택 + 직접 입력)
- display_name/business_reg_number 컬럼 직접 저장
- bulkSave: payment_id 기반 upsert + 미제출 draft 자동 삭제
- confirmed/paid 행 수정/삭제 불가 유지
- 엑셀 내보내기 display_name 직접 사용으로 단순화
2026-03-03 14:21:06 +09:00
김보곤
e431ab1fbd fix: [payroll] 급여목록 정렬 기준을 입사일 오름차순으로 변경 2026-03-03 11:35:41 +09:00
68a96e32a7 fix: [deploy] Google Storage credentials 심링크 추가
- 배포 시 shared/storage/credentials → storage/credentials 심링크 생성
- Google Cloud 서비스 계정 JSON 파일 접근 보장

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 10:21:10 +09:00
9281bb64b9 fix: [deploy] 배포 시 .env 권한 640 보장 추가
- Production 배포 스크립트에 chmod 640 추가
- vi 편집으로 인한 .env 권한 변경(600) 방지
- 2026-03-03 장애 재발 방지 (PHP-FPM이 .env 읽기 실패 → 500)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 10:21:10 +09:00
김보곤
099d08e49e chore: [ai] Gemini 모델 gemini-2.0-flash → gemini-2.5-flash 마이그레이션
- config/services.php fallback 기본값 변경
- AiConfig DEFAULT_MODELS 상수 + getActiveGemini() fallback 변경
- NotionService fallback 변경
- AI 설정 관리 UI placeholder/기본값 변경
- Google Cloud AI 가이드 서비스 현황 모델명 변경
- 환경변수 관리 아카데미 예시 변경
2026-03-03 08:09:28 +09:00
김보곤
3216bb98bc feat: [approval] 결재관리 삭제 권한 기능 추가
- 관리자/슈퍼관리자 모든 상태 결재 문서 삭제 가능
- 일반 사용자는 기존대로 draft + 본인 기안만 삭제
- 진행 중 문서 삭제 시 휴가 연동 취소 처리
- 삭제 API 403 권한 검증 추가
- 상세 페이지 삭제 버튼 + 2중 확인 다이얼로그
2026-03-03 07:36:24 +09:00
김보곤
420b80e45a feat: [ai-quotation] 견적서 5종 템플릿 선택 시스템 추가
- classic(클래식), modern(모던), blue(블루), dark(다크), colorful(컬러풀) 5종
- 문서 상단 미리보기 카드 클릭으로 즉시 디자인 전환
- URL 쿼리 파라미터 ?template=xxx 방식, 기본값 classic
- 인쇄/PDF 시 선택 UI 자동 숨김 (no-print)
- 기존 디자인은 classic 템플릿으로 100% 보존
2026-03-02 19:28:01 +09:00
김보곤
1fa2e0ca34 fix: [ai-quotation] 견적서 대표이사명 수정 (이의찬) 2026-03-02 19:14:17 +09:00
김보곤
a26e66bb8e feat: [ai-quotation] 제조업 표준 견적서 문서 뷰 추가
- 인쇄 전용 standalone 레이아웃 (layouts/document.blade.php) 생성
- 한국 제조업 표준 견적서 양식 문서 뷰 생성 (A4 인쇄/PDF 최적화)
- RdController에 documentQuotation 메서드 추가
- /rd/ai-quotation/{id}/document 라우트 등록
- 상세 페이지에 "견적서 보기" 버튼 추가 (완료 상태만 표시)
- 한글 금액 변환, VAT 자동 계산, 비고란 포함
2026-03-02 19:11:53 +09:00
김보곤
2e3dc556d1 feat: [credit] 신용평가 개발문서 페이지 추가
- 쿠콘(KooCon) API 연동 가이드 10개 섹션 구성
- 라우트, 컨트롤러, Blade 뷰 추가
2026-03-02 18:40:08 +09:00
김보곤
d17b46fe80 feat: [rd] AI 견적 생성 폼에 샘플 인터뷰 자동입력 버튼 추가
- 번개 아이콘 버튼 클릭 시 제목 + 인터뷰 내용 샘플 자동 입력
- 데모/설명용 기능
2026-03-02 18:16:00 +09:00
김보곤
dda94f4db8 fix: [rd] API 호출 URL /admin → /api/admin 수정
- index, create, show 뷰의 fetch URL을 /api/admin/rd/... 로 수정
- api.php 라우트는 api/ prefix가 자동 적용됨
2026-03-02 18:16:00 +09:00
김보곤
44f139f757 feat: [rd] AI 견적 엔진 Phase 1 구현
- 모델 3개: AiQuotationModule, AiQuotation, AiQuotationItem
- AiQuotationService: Gemini/Claude 2단계 AI 파이프라인
- RdController: R&D 대시보드 + AI 견적 Blade 화면
- AiQuotationController: AI 견적 API (생성/목록/상세/재분석)
- Blade 뷰: 대시보드, 목록, 생성, 상세, HTMX 테이블
- 라우트: /rd/* (web), /admin/rd/* (api)
2026-03-02 18:16:00 +09:00
김보곤
85ec94f07f feat: [barobill] 회원사 필수 설정 가이드 섹션 추가
- 파트너사/회원사 구조 설명 (코드브릿지엑스 → 회원사)
- 6단계 설정 가이드: 회원사등록, 공동인증서, 계좌, 카드, 서비스활성화, 충전
- 회원사가 바로빌 사이트에서 직접 수행해야 할 작업 명시
- 체크리스트 포함, 기존 섹션 번호 2~10 → 3~11로 조정
2026-03-02 17:52:44 +09:00
김보곤
6b411f173e feat: [barobill] 바로빌 개발문서 페이지 추가
- 라우트, 컨트롤러, Blade 뷰 생성
- 10개 섹션: 서비스 소개, 과금 구조, 시스템 구조, 트러블슈팅 등
- 기존 카카오톡 가이드 스타일 준용
2026-03-02 17:40:11 +09:00
김보곤
d2cde3d1a7 fix: [menu-sync] 대분류 메뉴 push 시 null URL validation 오류 수정
- import validation에서 url 필드를 required → nullable로 변경
- push/getChildrenData에서 null URL을 빈 문자열로 대체
- importMenu에서 빈 URL을 null로 저장
- push 에러 응답에 원격 서버 에러 메시지 포함
2026-03-02 16:35:37 +09:00
김보곤
ea14de3814 fix: [roadmap] 로드맵 문서 마크다운 렌더링 스타일 개선
- Tailwind prose 클래스 → 커스텀 .markdown-body CSS로 변경
- 테이블 보더, 코드 블록, 제목 계층, 인용문 스타일 추가
2026-03-02 16:19:35 +09:00
김보곤
626d634767 feat: [roadmap] AI 견적서 자동생성 엔진 개발 계획 문서 추가 2026-03-02 16:14:39 +09:00
김보곤
f94213fb39 feat: [roadmap] 로드맵 문서 페이지 추가
- sam/docs 중장기 계획 문서를 렌더링하는 전용 페이지
- 비전&전략, 프로젝트 런칭, 제품 설계, 시스템 개요 4개 카테고리
- Markdown → HTML 변환 (Str::markdown)
- /roadmap/documents 목록 + /roadmap/documents/{slug} 상세
2026-03-02 16:03:08 +09:00
김보곤
f7a9575655 feat: [roadmap] 중장기 계획 메뉴 및 전용 페이지 개발
- 모델: AdminRoadmapPlan, AdminRoadmapMilestone
- 서비스: RoadmapPlanService, RoadmapMilestoneService
- FormRequest: Store/Update Plan/Milestone 4개
- 컨트롤러: Blade(RoadmapController), API(Plan/Milestone) 3개
- 라우트: web.php, api.php에 roadmap 라우트 추가
- Blade 뷰: 대시보드, 목록, 생성, 수정, 상세, 파셜 테이블 6개
- HTMX 기반 필터링/페이지네이션, 마일스톤 인라인 추가/토글
2026-03-02 15:50:43 +09:00
김보곤
84befa546d feat: [google-cloud] AI 활용 가이드 PPTX 다운로드 기능 추가
- AiGuideController에 download() 메서드 추가
- AI 활용 가이드 PPTX 다운로드 라우트 추가
- 뷰에 PPTX 다운로드 버튼 추가
- 7장 슬라이드 HTML → PPTX 변환 파일 포함
2026-03-02 15:15:29 +09:00
김보곤
9fdbee5f0f feat: [google-cloud] AI 활용 가이드 페이지 추가
- AiGuideController 생성 (HX-Redirect 패턴)
- STT, Speaker Diarization, 회의록, 음성녹음, Gemini, GCS, AI Config 정보 페이지
- Google Cloud 메뉴 하위에 라우트 등록
2026-03-02 14:48:58 +09:00
김보곤
71d1c6dd85 fix: [menu] 메뉴 관리 페이지 기본 행 표시 개수를 500으로 변경 2026-03-02 14:31:12 +09:00
김보곤
5bdf133194 feat: [google-cloud] Gemini 2.0 모델 2026.06.01 중단 안내 추가
- 모델 테이블에 중단 예정 뱃지 및 취소선 표시
- 마이그레이션 가이드 경고 박스 추가 (2.0→2.5 권장)
- 바 차트에서 중단 모델 흐림(opacity) 처리
2026-03-02 14:15:08 +09:00
김보곤
1d9725c666 feat: [google-cloud] Google Cloud 메뉴 섹션 추가
- Workspace 정책: 계정관리, 2단계인증, 감사로그, 데이터보존
- Workspace 요금: 4티어 비교, 기능비교, 예상비용, 인상히스토리
- Cloud API 요금: Gemini 모델 단가, 추가기능, Storage, 비용시뮬레이션
- 컨트롤러 3개 + 뷰 3개 + 라우트 그룹 추가
2026-03-02 14:07:38 +09:00
김보곤
31e9b5d605 feat: [claude-code] 활용방안 PPTX 다운로드 기능 추가
- UsagePlanController에 download 메서드 추가
- 라우트에 /usage-plan/download 추가
- 뷰 헤더에 PPTX 다운로드 버튼 추가
- 7장 슬라이드 PPTX 파일 배치
2026-03-02 13:24:58 +09:00
김보곤
fce349392d feat: [claude-code] SAM 활용방안 페이지 추가
- 컨트롤러, 뷰, 라우트 생성
- 7개 섹션: 핵심요약, Before/After, 프로세스플로우, 80%공통화론, 멀티테넌시, AI자동화, 로드맵
- HX-Redirect 패턴 적용
2026-03-02 12:33:10 +09:00
김보곤
143418dc71 feat: [claude-code] Cowork 소개 페이지 추가
- Claude Code vs Cowork 핵심 차이 비교 테이블
- SAM 직무별 활용 시나리오 (영업/관리/생산)
- 업무 유형별 도구 선택 가이드
- Cowork 시작 3단계 안내
2026-03-02 11:40:23 +09:00
김보곤
e1289e0f82 feat: [claude-code] 요금정책 PPTX 다운로드 기능 추가
- 7페이지 상세 PPTX 생성 (표지/API단가/비용비교/팀비용/상세비교/전환가이드/결론)
- PricingController download 메서드 추가
- 페이지 헤더에 PPTX 다운로드 버튼 추가
- .gitignore에 public/downloads/*.pptx 예외 추가
2026-03-02 11:25:43 +09:00
김보곤
d9cd5d3526 feat: [claude-code] 요금정책 비교 분석 페이지 추가
- API 토큰 단가 테이블 (Sonnet/Opus/Haiku)
- 사용 강도별 Max 20x vs Max 5x+API 비용 비교 (시각적 바 차트)
- 5인 팀 기준 총 비용 비교 (현재/Max/Team Premium)
- 최종 결론: Team Premium 연간 결제 추천
2026-03-02 11:08:04 +09:00
김보곤
da334f0ee7 fix: [claude-code] body_html_ko 미존재 시 fallback 처리 2026-03-02 10:57:17 +09:00
김보곤
bec0df29e1 feat: [claude-code] 뉴스 페이지 한/영 토글 기능 추가
- Google Translate API 연동으로 릴리즈 노트 한국어 자동 번역
- 코드 블록 보호 처리 (번역 대상에서 제외)
- 긴 텍스트 단락 분할 번역 지원
- Alpine.js 한국어/English 토글 버튼 (localStorage 저장)
- 기본값: 한국어
2026-03-02 10:55:46 +09:00
김보곤
ab042cb132 feat: [claude-code] Claude Code 뉴스 페이지 추가
- GitHub Releases API 연동 서비스 (1시간 캐싱)
- 뉴스 컨트롤러 + Blade 뷰 (릴리즈 카드 목록)
- /claude-code/news 라우트 그룹 등록
2026-03-02 10:42:18 +09:00
김보곤
511fe69593 fix: [interview] 대분류 하위 '+ 중분류 추가' 버튼 개선
- 기존 '+' 단일문자 → '+ 중분류 추가' 텍스트 버튼으로 변경
- children 목록 하단에 항상 표시되도록 위치 이동
2026-02-28 21:34:04 +09:00