Commit Graph

905 Commits

Author SHA1 Message Date
02e8b36a7a fix: [sync] config:cache 환경에서 동기화 API 401 오류 수정
menu_sync_api_key를 config/app.php에 등록하여 config:cache 후에도
env() 값이 정상 반환되도록 수정. 컨트롤러에서 env() 직접 호출 제거.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 17:58:39 +09:00
김보곤
62cd1c0938 feat: [academy] 경정청구 메뉴 추가
- 아카데미 하위에 경정청구 페이지 신규 생성
- sales 경정청구 자료를 MNG 아카데미 패턴으로 변환
- SAM 제안 형태: 청년 판정, 권역 판정, 데이터 통합 자동화
- Chart.js 차트 4종 포함 (소요시간, 비용절감, 오류유형, 이용자추이)
- 학습 가이드 (용어 해설 + 퀴즈 5문항)
2026-02-25 17:07:25 +09:00
김보곤
9a7c548246 style: Pint 포맷팅 적용 2026-02-25 11:45:01 +09:00
김보곤
68b1622a4e feat: [academy] Git 관리도구 페이지 추가
- 라우트, 컨트롤러 메서드 추가
- git-tools.blade.php 뷰 생성 (violet 테마, 8개 섹션)
- 용어집 git-tools 도메인 20개 용어 추가
2026-02-25 11:44:56 +09:00
김보곤
c81166b571 feat: [academy] Docker 명령어 페이지 추가
- Docker 기본 확인/컨테이너 제어/진입&실행/로그/Compose/볼륨&네트워크/트러블슈팅/위험명령어 8개 섹션
- SAM 전용 docker exec 패턴 표 포함
- 용어집 23개 항목 추가
2026-02-25 10:33:43 +09:00
김보곤
9c21ff9720 feat: [receivables] 미수금 이월잔액 반영
- summary() 메서드: 거래처별 이월잔액(priorBalance) 계산 추가
- ledger() 메서드: 원장 누적잔액이 이월잔액부터 시작하도록 변경
- 프론트엔드: LedgerTab 이월잔액 통계카드 추가 (조건부 표시)
- 프론트엔드: SummaryTab 이월잔액 컬럼 추가, 라벨 당기발생/당기회수로 변경
- CSV 다운로드에 이월잔액 포함
2026-02-25 09:35:51 +09:00
김보곤
6075995ecd fix: [payables] 미지급금관리 이월잔액 반영
- startDate 이전 누적 데이터로 이월잔액(priorBalance) 계산 추가
- 잔액 공식 변경: 이월잔액 + 당기발생 - 당기상계
- 이월잔액만 있고 당기 거래 없는 거래처도 목록에 포함
- 통계 카드에 이월잔액 표시 추가
- 거래처 테이블에 이월잔액 열 추가
2026-02-25 09:04:57 +09:00
김보곤
36524d22a6 feat: [system] 운영서버 Git 동작원리 페이지 추가
- SystemGuideController 생성 (HX-Redirect 패턴)
- git-deploy-flow.blade.php 뷰 생성 (아카데미 형식 참고)
- 라우트: /system/git-deploy-flow
2026-02-25 08:55:18 +09:00
김보곤
85c7a55d00 feat: [business-card] 3단계 워크플로우 구현 (요청→제작의뢰→처리완료)
- 모델: STATUS_ORDERED 추가, markAsOrdered() 헬퍼
- 서비스: order(), getOrderedRequests() 추가
- 컨트롤러: order() 액션 추가
- 관리자 뷰: 좌측 신규요청 + 우측 제작중 + 하단 처리완료
- 파트너 뷰: 제작중(파란) 상태 뱃지 추가
- 라우트: POST business-cards/{id}/order 추가
2026-02-25 05:41:34 +09:00
김보곤
51e2525b6f refactor: [business-card] 메뉴 2개로 분리 (파트너 명함신청 / 명함신청 처리)
- 파트너 명함신청 (/sales/business-cards): 모든 사용자 (신청폼+이력)
- 명함신청 처리 (/sales/business-cards/manage): 관리자 전용 (2분할)
- 뱃지를 manage 라우트에 연동
2026-02-25 05:36:32 +09:00
김보곤
089a60231d feat: [business-card] 명함신청 기능 구현
- 모델: BusinessCardRequest (pending/processed 상태 관리)
- 서비스: 신청/처리/통계/뱃지 카운트
- 컨트롤러: 관리자 2분할 뷰, 파트너 신청폼+이력
- 뷰: admin-index (대기/처리완료 2분할), partner-index (신청폼+이력)
- 라우트: GET/POST /sales/business-cards, POST /{id}/process
- 뱃지: ViewServiceProvider에 대기 건수 연동
2026-02-24 21:45:08 +09:00
김보곤
5f437d493f feat: [ecard] 분리 데이터 기반 분개 자동 생성 기능 추가
- handleOpenJournalModal에 splits 데이터 전달
- getDefaultLines()에서 splits 기반 차변 라인 자동 생성
- 공제 항목: 비용계정 + 부가세대급금 분리, 불공제: 합산
- 분개 모달에 분리 데이터 기반 인디케이터 배지 표시
- storeJournal의 splits 자동삭제 코드 제거 (분리+분개 공존)
2026-02-24 19:25:49 +09:00
김보곤
13567217a7 feat: [esign] 로그인 페이지에 전자계약 서명 바로가기 추가
- 알림톡 버튼 클릭 시 전화번호 입력으로 서명 페이지 이동
- 바로빌 템플릿 URL 변경 전 임시 우회 방법
2026-02-24 19:03:24 +09:00
김보곤
504f59dc99 fix: [esign] 알림톡 버튼 URL을 등록된 템플릿 URL 그대로 사용 (동적 URL 템플릿 불일치 수정) 2026-02-24 18:41:55 +09:00
김보곤
7cf1f20fdb fix: [esign] 알림톡 발송 상세 로깅 추가 및 전달 결과 확인, SMS 폴백 제거 2026-02-24 18:33:37 +09:00
김보곤
cd339ca17a fix: [esign] 법인도장 GCS 미설정 시 로컬 스토리지 폴백 추가 2026-02-24 17:57:14 +09:00
김보곤
1cd78585ae feat: [ecard] 카드사용내역 분리/분개 열 분리
- 기존 '분개' 열을 '분리'(금액 나누기)와 '분개'(복식부기) 두 열로 분리
- SplitModal 텍스트를 '분개'에서 '분리'로 변경
- CSV 내보내기 텍스트도 '분리'로 통일
- 분리 열: 금액 분리 기능 (SplitModal)
- 분개 열: 복식부기 분개 기능 (CardJournalModal)
2026-02-24 17:49:30 +09:00
김보곤
f62f0baeac fix: [barobill] SMS 발신번호 없을 때 SmsReply를 N으로 설정 (-31325 오류 수정) 2026-02-24 17:47:10 +09:00
김보곤
dab62f79cc fix: [corporate-cards] 결제 내역 수정 시 year_month 불일치 수정
- updatePrepayment에서 Carbon::now() 대신 결제일 기준 year_month 사용
- summary 조회와 동일한 로직으로 getBillingYearMonth() 메서드 추출
- 결제일이 지난 경우 다음 달 기준으로 저장되도록 수정
2026-02-24 17:13:20 +09:00
김보곤
da06425efd feat: [ecard] 분개 모달에 거래처 선택 드롭다운 추가
- TradingPartnerSelect 컴포넌트 추가 (거래처 검색/선택)
- CardJournalModal 테이블에 거래처 컬럼 추가
- 분개 라인별 trading_partner_id/name 저장/조회 지원
- EcardController storeJournal/getJournal에 거래처 필드 추가
2026-02-24 16:00:30 +09:00
김보곤
7954c24aa4 feat: [ecard] 카드사용내역 복식부기 분개 시스템 추가
- EcardController에 storeJournal/getJournal/deleteJournal/getJournalStatuses 4개 메서드 추가
- journal_entries + journal_entry_lines 통합 (source_type='ecard_transaction')
- CardJournalModal 차변/대변 복식부기 UI 추가
- 거래 테이블에 분개완료/구버전/미분개 3단계 상태 표시
- 기존 splits 데이터 자동 전환 지원
2026-02-24 13:08:33 +09:00
김보곤
e12d0d1607 fix: [barobill] 알림톡 발송 파라미터 구조 전면 수정
- SenderID: 바로빌 계정 ID (barobill_id) 사용
- YellowId: 카카오톡 채널 ID 필수 전달 (기존에 빈값)
- SmsReply: 'N' (대체문자 미발송) 또는 'S' (발송) 명시
- 템플릿 본문: API에서 조회 후 변수 치환 (정확한 포맷 유지)
- getKakaotalkSenderId → getKakaotalkChannelId 이름 변경
- EsignPublicController: 잘못된 필드명(corp_num, is_test_mode) 수정
2026-02-24 10:04:54 +09:00
김보곤
2ae07d40af feat: [esign] 전자계약 이메일 발신주소를 CONTACT_MAIL_FROM_ADDRESS로 분리
- EsignRequestMail, EsignOtpMail, EsignCompletedMail에 from 주소 명시
- config/mail.php에 contact_from_address 설정 추가
- .env의 CONTACT_MAIL_FROM_ADDRESS(contact@codebridge-x.com) 사용
2026-02-24 09:21:52 +09:00
김보곤
36486795f2 feat: [academy] PM2 가이드 라우트 및 컨트롤러 추가 2026-02-24 08:01:47 +09:00
김보곤
66be684d40 fix: [barobill] 카카오톡 알림톡 SOAP 파라미터 구조 수정
- WSDL 스펙에 맞게 KakaotalkMessage 중첩 구조로 변경
- ReceiverName, ReceiverNum 등을 최상위에서 KakaotalkMessage 내부로 이동
- ReserveDT → SendDT로 파라미터명 수정
- SendATKakaotalkEx에 YellowId 파라미터 추가
- 버튼 배열을 KakaotalkButton 래핑 구조로 변경
- sendATKakaotalks 대량 발송도 WSDL 구조에 맞게 수정
- esign 알림톡 메시지 본문을 등록 템플릿에 맞게 조정
2026-02-24 01:21:08 +09:00
김보곤
6e043b9539 fix: [esign] 알림톡 발신프로필 키(SenderID) 조회 로직 추가
- senderId를 빈 문자열로 보내던 것을 바로빌 채널 목록에서 ChannelId 조회 후 전달
- 바로빌 API 오류 -24005 해결
2026-02-24 00:55:32 +09:00
김보곤
748a9d1807 fix: [esign] 알림톡 발송 실패 수정 (corp_num → biz_no)
- BarobillMember의 실제 컬럼명은 biz_no인데 corp_num으로 접근하여 항상 null
- is_test_mode → server_mode로 수정
- kakaotalk_sender_id → 빈 문자열 (기본 발신프로필 사용)
2026-02-24 00:46:29 +09:00
김보곤
3a8d28e21d fix: [settlement] 수당지급현황통계 파트너별 결산 개별 건 표시
- 파트너별 GROUP BY 요약 → 개별 commission 레코드 표시로 변경
- 1차/2차수당 계산에 매니저/유치 수당 포함하여 합계 불일치 해소
- 파트너 헤더행 + 개별 건 행 + 합계행 구조로 테이블 재구성
2026-02-23 22:42:13 +09:00
김보곤
3c17e44262 fix: [hometax] 자동동기화 dateType을 전송일자(3)로 변경하여 신규 전송건 누락 방지
- autoSync dateType: 1(작성일자) → 3(전송일자, 바로빌 권장)
- autoSync 증분 범위: -1일 → -3일로 확대 (안전 마진)
- 수집 요청 후 자동 동기화 추가 (스크래핑만 요청 → 동기화까지 수행)
2026-02-23 21:49:02 +09:00
김보곤
c44b31c328 fix: [journal] 계좌입출금 중복제거 groupBy에 balance, summary 추가
- 같은 시간/계좌/금액이라도 잔액·적요가 다른 거래가 하나로 합쳐지는 문제 수정
- uniqueKey 구성(6필드)과 groupBy(4필드) 불일치 해소
2026-02-23 21:00:56 +09:00
김보곤
bf90f91d7c feat: [academy] 리눅스 & 서버 명령어 아카데미 페이지 추가
- 10개 섹션: 터미널 기초, 파일 탐색, 파일 조작, 권한 관리, 검색, 모니터링, 프로세스, 네트워크, 텍스트 편집, 위험 명령어
- git-policy 페이지와 동일한 레이아웃 (히어로 배너, 좌측 TOC, 도움말 풍선)
- 초보자 친화적 비유와 실무 팁 포함
2026-02-23 17:36:23 +09:00
김보곤
005020f5ec fix: [bank-transaction] uniqueKey에 적요(summary) 추가하여 동일 금액·시간 거래 구분
- BankTransaction 모델: getUniqueKeyAttribute, generateUniqueKey에 summary 추가
- EaccountController: API 응답 및 DB upsert 시 summary 포함 매칭
- JournalEntry, JournalEntryController: 레거시(5필드) 키 호환 처리
- BankTransactionOverride: 레거시 키 호환 조회
2026-02-23 16:02:36 +09:00
김보곤
8cfab74e1f feat: [receivables] 미분개 홈택스 매출세금계산서도 외상매출금 원장에 표시 2026-02-23 15:43:21 +09:00
김보곤
f23255192d feat: [receivables] 외상매출금 원장/거래처별 요약 연동
- 홈택스 분개(hometax_invoice_journals)와 일반전표(journal_entry_lines)에서 계정코드 108(외상매출금) 데이터 집계
- ledger() API: 날짜순 정렬, 누적잔액 계산, 출처/거래처/기간 필터
- summary() API: 거래처별 발생액/회수액/잔액 요약
- UI 3탭 구조로 개편: 외상매출금 원장 / 거래처별 요약 / 수동관리(기존)
- 거래처별 요약에서 행 클릭 시 해당 거래처 원장으로 이동
2026-02-23 14:49:46 +09:00
김보곤
a7aef552c3 feat: [esign] 고객(counterpart) 도장 업로드/선택 기능 추가
- 백엔드: submitSignature에 stamp_image(base64) 파라미터 처리 추가
- 프론트: counterpart 역할에 도장 선택 UI 항상 표시
- 프론트: 도장 이미지 업로드(PNG/JPG, 5MB 제한) 및 미리보기 기능
- 기존 Creator 법인도장 흐름은 변경 없음
2026-02-23 14:48:30 +09:00
김보곤
3e294f4a1f feat: [finance] 미지급금관리 홈택스/일반전표 데이터 통합 조회
- 홈택스 매입세금계산서 미지급금/미지급비용 대변 데이터 연동
- 일반전표 미지급금/미지급비용 차변 상계 데이터 연동
- 거래처별 잔액 자동 계산 (발생-상계)
- 통합잔액/홈택스발생/일반전표상계/수동관리 4탭 구조
2026-02-23 14:45:32 +09:00
김보곤
3f1785206b feat: [academy] Git 정책 백과사전 추가
- 10개 섹션: 버전관리/기초/원격/브랜치/커밋/협업/충돌/SAM정책/.gitignore/배포
- teal 테마, SVG 일러스트 10개, 도움말 풍선
- 전문용어 툴팁 30개 (git-policy 도메인)
2026-02-23 13:09:57 +09:00
김보곤
993101938b feat: [academy] .env 관리 정책 교육 페이지 추가
- 7개 섹션 교육 콘텐츠 (열쇠 고리 비유, 프로젝트별 구조, Docker Override, 동기화 필수 변수, 로컬/서버 비교, 변경 후 할 일, 주의사항)
- SVG 이미지 9종 (에메랄드 다크 테마)
- 용어 사전 15개 (env-management 도메인)
- 실제 .env.example, docker-compose.yml, production-env-sync.md 기반 콘텐츠
2026-02-23 12:44:05 +09:00
김보곤
10eaf82bb7 feat: [academy] 웹 기초지식 백과사전 페이지 추가
- 퍼플 테마 6대 섹션 22소 섹션 Blade 뷰 작성
- SVG 이미지 12장 생성 (인터넷, URL, HTTP, 에러코드 등)
- AcademyController webBasics() 메서드 및 라우트 등록
- academy-glossary 컴포넌트에 web-basics 도메인 추가
- 이미지 생성 프롬프트 문서 작성
2026-02-23 11:17:49 +09:00
김보곤
72d699ea18 feat: [academy] Docker 환경이해 교육 페이지 추가
- AcademyController에 dockerEnvironment() 메서드 추가
- academy 라우트 그룹에 docker-environment 라우트 추가
- 6개 섹션 Blade 뷰 작성 (Docker 소개, 아키텍처, 서비스 상세, 볼륨, .env, 명령어)
- academy-glossary에 docker-environment 도메인 용어 25개 추가
2026-02-23 10:49:23 +09:00
김보곤
aa9d9aef49 feat: [academy] 프론트엔드 개발 백과사전 추가
- 10개 섹션: HTML/CSS/JS, 프레임워크, 반응형, 브라우저, API, 도구, 성능
- purple 테마, 기존 아카데미 패턴 동일 적용
- 전문용어 툴팁 26개 추가 (frontend-dev 도메인)
2026-02-23 10:31:41 +09:00
김보곤
52b26c7216 refactor: [ai-config] 모든 API 키를 DB(ai_configs)에서 .env로 전환
- AiConfig::getActiveGemini() → config('services.gemini') 기반
- AiConfig::getActiveGcs() → config('services.google') 기반
- AiConfig::getActiveClaude() → config('services.claude') 기반
- AiConfig::getActiveNotion() → config('services.notion') 기반
- GoogleCloudStorageService: DB 우선 로직 제거, .env만 사용
- 8개 서비스 파일은 수정 없이 동작 (AiConfig 인터페이스 유지)
2026-02-23 09:55:07 +09:00
김보곤
1b73fd1cf2 refactor: [notion] API 키를 DB(ai_configs)에서 .env로 전환
- NotionService: AiConfig::getActiveNotion() → config('services.notion')
- config/services.php에 notion 섹션 추가
- .env에 NOTION_API_KEY, NOTION_VERSION 추가
2026-02-23 09:48:40 +09:00
김보곤
0d8d5aa8ef feat: [academy] 서버지식 백과사전 페이지 추가
- AcademyController에 serverKnowledge() 메서드 추가
- /academy/server-knowledge 라우트 등록
- 그린 테마 Blade 뷰 (5대 섹션, 18소 섹션)
- SVG 이미지 12장 생성
- 이미지 생성 프롬프트 문서 작성
2026-02-23 09:43:43 +09:00
김보곤
92a11e139c feat: [academy] IT기획 백과사전 추가
- 5개 섹션: 개요, 기획 프로세스, 산출물, 도구, 방법론
- 방화셔터와 동일한 백과사전 UI 패턴 (블루 테마)
- AI 이미지 생성 프롬프트 문서 포함
2026-02-23 09:05:17 +09:00
김보곤
c9495b160d feat: [additional] DOCX 관리 페이지 추가
- 파일시스템 스캔 기반 DOCX 목록 조회/다운로드
- 카테고리별 필터, 파일명 검색 기능
- 경로 트래버설 방지 보안 검증
2026-02-23 08:37:38 +09:00
김보곤
afce5a2f70 feat: [additional] PPTX 관리에 영업(sales) 폴더 스캔 경로 추가 2026-02-23 08:08:31 +09:00
김보곤
1bb2ac32f9 feat: [additional] PPTX 관리 페이지 추가
- 파일시스템 스캔 기반 PPTX 목록 조회/다운로드
- 카테고리별 필터, 파일명 검색 기능
- 경로 트래버설 방지 보안 검증
2026-02-23 07:57:39 +09:00
김보곤
576b1d9f6b feat: [additional] RAG 검색에 토큰 비용 안내 및 사용량 표시 추가
- 검색 전 비용 안내 문구 (건당 약 3~10원, AI 토큰 사용량 기록 안내)
- 검색 결과에 토큰 사용량 바 표시 (입력/출력/합계/비용)
- AiTokenHelper + AiPricingConfig 연동으로 정확한 비용 계산
2026-02-22 23:33:15 +09:00
김보곤
5810b15940 feat: [additional] Notion 검색 토큰 사용량 기록 및 비용 안내
- 검색어 정제/AI 답변 시 AiTokenHelper로 토큰 사용량 저장
- 상단 안내에 Gemini API 2회 호출 및 토큰 기록 안내 추가
2026-02-22 23:26:33 +09:00