Commit Graph

886 Commits

Author SHA1 Message Date
김보곤
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
김보곤
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
김보곤
0001915cfb feat: [ai-config] Notion API 설정 UI 추가
- AI 설정 페이지에 Notion 섹션 추가 (추가/수정/삭제)
- AiConfig에 API_SERVICE_PROVIDERS 상수 분리
- Notion 전용 모달 (API 키, API 버전, 활성화)
2026-02-22 23:12:49 +09:00
김보곤
9dbb23f09c feat: [additional] RAG 검색 기능 추가
- RagSearchService: docs 폴더 키워드 검색 + Gemini API 컨텍스트 기반 답변
- RagSearchController: 검색 페이지 및 HTMX 비동기 검색 API
- 검색 UI: 통계 바, 예시 질문, Markdown 렌더링, 참조 문서 표시
- AiTokenHelper 연동으로 토큰 사용량 자동 추적
2026-02-22 23:05:55 +09:00
김보곤
aa3c9f4c3b feat: [additional] Notion 검색 기능 추가
- NotionService: Notion API 검색 + Gemini AI 답변
- AiConfig에 notion provider 추가
- 추가기능 > Notion 검색 채팅 UI
2026-02-22 23:04:16 +09:00
김보곤
a570fa9246 feat: [additional] 추가기능 > 키오스크 메뉴 및 페이지 골격 추가
- KioskController (index/showroom/factory) 생성
- 키오스크 메인 선택 페이지 (쇼룸/공장 카드 UI)
- 쇼룸 키오스크 골격 (제품 카탈로그, 견적 시뮬레이션, 시공 갤러리, 회사 소개)
- 공장 키오스크 골격 (생산 현황, 작업 지시, 생산 통계, 공지사항)
- /additional/kiosk 라우트 그룹 추가
2026-02-22 22:29:09 +09:00
김보곤
27b20e451f feat: [academy] 방화셔터 백과사전 페이지 구축
- AcademyController 신규 생성 (HX-Redirect 처리)
- /academy/fire-shutter 라우트 등록
- 방화셔터 백과사전 Blade 뷰 (개요/구성품/제조공정/설치/유지보수)
2026-02-22 19:42:23 +09:00
김보곤
6decf0a862 feat: [barobill] 설정 페이지에 바로빌 연동 섹션 추가
- 바로빌 로그인 정보 조건부 표시 (등록/미등록)
- 바로빌 로그인 정보 등록/수정 모달 추가
- 계좌 연동, 카드 연동, 공인인증서 등록 섹션 추가
- 미등록 시 연동 카드 비활성 처리
2026-02-21 14:19:29 +09:00
김보곤
df25fac5a8 fix: [barobill] 회원사 조회 시 암호화 복호화 실패 방어 처리
- show() 메서드의 has_password 체크에서 encrypted cast 복호화 실패 시 getRawOriginal()로 폴백
2026-02-21 14:03:06 +09:00
김보곤
b4d737948f fix: [barobill] 회원사 수정 시 바로빌 아이디 변경 가능하도록 개선
- 수정 모달에서 바로빌 아이디 필드 표시 (기존: hidden)
- 컨트롤러 update 메서드에 barobill_id 유효성 검증 추가
- 아이디/비밀번호 모두 '변경 시에만 입력' 힌트 표시
2026-02-21 13:54:08 +09:00
김보곤
e6f1d6ba46 feat: [dashboard] 주간 날씨 위젯 추가
- 기상청 공공데이터포털 API 연동 (단기+중기 7일 예보)
- WeatherService: 3시간 캐시, SKY/PTY 아이콘 매핑
- HTMX 비동기 로딩 + 스켈레톤 UI
- 오늘 카드 파란색 강조, 요일/날짜/아이콘/기온 표시
2026-02-21 13:10:54 +09:00
김보곤
13eab75da3 feat: [barobill] 회원사관리 페이지에서 미등록 테넌트 자동 생성
- 본사(tenant_id=1) 접근 시 barobill_members 레코드가 없는 테넌트에 기본 레코드 자동 생성
- 신규 생성 레코드는 status=pending, server_mode=test 기본값
- 테넌트의 사업자번호, 회사명, 대표자명을 자동 매핑
2026-02-21 11:21:24 +09:00
김보곤
1cf48f7c53 refactor: [barobill] chandj 레거시 DB 커넥션 및 동기화 기능 제거
- config/database.php에서 chandj 커넥션 정의 제거
- BarobillConfigController에서 syncCompanies(), getCompanies() 메서드 제거
- api.php에서 barobill/companies 동기화 라우트 제거
- 로컬/서버 .env에서 CHANDJ_DB_* 환경변수 제거
2026-02-21 10:47:51 +09:00
김보곤
06de27c570 feat: [barobill] 테넌트별 서버 모드 표시 통일 및 설정 페이지 제어 위젯 추가
- 공통 Blade 컴포넌트(barobill-tenant-header) 생성하여 중복 헤더 HTML 제거
- 설정 페이지에 서버 모드 확인/변경 위젯 추가 (본사만 변경 가능)
- 모든 바로빌 페이지(etax, hometax, eaccount, ecard, settings)에 서버 모드 배지 통일
- BarobillController의 settings(), bankAccount(), cardUsage()에 $isTestMode 전달 추가
2026-02-21 10:28:32 +09:00
김보곤
f85791611c fix: [etax] 공급받는자 검색 시 거래처 전체 정보 자동 입력
- API 응답에 대표자, 주소, 업태, 종목 필드 추가
- 거래처 선택 시 모든 필드 자동 매핑 (대표자, 주소, 업태, 종목)
- 검색 결과 목록에 대표자, 주소 정보 표시
2026-02-21 09:19:40 +09:00
김보곤
8dec2f7ec2 fix:법인카드 매월결제일 현재일자 기준 동적 계산 (결제일 지나면 익월로 자동 변경) 2026-02-20 19:56:06 +09:00
김보곤
9351e215e4 feat:통합정산 정산상세 승인취소 기능 추가 2026-02-20 19:26:42 +09:00
김보곤
40b2dd481f fix:계좌입출금내역 적요/내용에 상대계좌예금주명 중복 표시 수정
- parseTransactionLogs에서 TransRemark2를 summary에 합산하지 않도록 변경
- TransRemark2는 상대계좌예금주명(cast) 컬럼에서만 별도 표시
- 저장 후 재로드 시 remark2가 반복 합산되는 문제 해결

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 19:22:11 +09:00
df3feeade9 feat:품목관리 수식 산출 입력폼에 제품모델/설치타입/마감타입 추가
- 제품모델(KSS01~KDSS01), 설치타입(벽면형/측면형/혼합형), 마감타입(SUS/EGI) select 추가
- FG 코드 파싱으로 입력폼 자동 세팅 (FG-KQTS01-벽면형-SUS → 각 필드 매핑)
- calculateFormula() API 호출 시 새 파라미터 전송
- ItemManagementApiController에서 product_model/installation_type/finishing_type 수신 처리

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:41:14 +09:00
김보곤
0ac621bd49 fix:수당 정산 레코드 생성 시 파트너 타입별 요율 반영
- updateCommissionDate, updateReferrerCommission의 firstOrCreate에서
  partner_rate를 0 고정 → 파트너 타입(개인 20% / 단체 30%)에 따라 설정
- referrer_rate도 파트너 타입에 따라 설정 (개인 5% / 단체 3%)
- SalesCommissionService 상수 재사용

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:15:35 +09:00
김보곤
f2f10d2f15 feat:고객 상세 모달에 계약 상세정보 보기 기능 추가
- 계약 및 납입 정보 옆에 '정보보기' 토글 버튼 추가
- 계약 상품 내역 (카테고리, 상품명, 개발비, 구독료, 할인율) 테이블 표시
- 수당 정산 내역 (계약금/잔금별 입금액, 수당, 지급예정일 등) 카드 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:55:52 +09:00
김보곤
44f443966a fix:수당지급현황통계 필터 UI 개선 - 기간설정 체크박스, 파트너/매니저 드롭박스 제거, 높이 수정
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:18:07 +09:00
김보곤
fb47badb18 feat:정산관리 기간설정 체크박스 필터 추가 (시작~끝 년월 범위 조회)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:11:21 +09:00
김보곤
a945c63a83 Revert "feat:정산관리 기간설정 체크박스 필터 추가 (시작~끝 년월 범위 조회)"
This reverts commit 11c685bda7.
2026-02-20 14:08:01 +09:00
김보곤
1b36bdeb79 Revert "fix:정산관리 필터를 기간 범위 고정 방식으로 변경 (체크박스 제거, 컴팩트 1줄 레이아웃)"
This reverts commit 4d6081beb6.
2026-02-20 14:08:01 +09:00
김보곤
4d6081beb6 fix:정산관리 필터를 기간 범위 고정 방식으로 변경 (체크박스 제거, 컴팩트 1줄 레이아웃)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:04:21 +09:00
김보곤
11c685bda7 feat:정산관리 기간설정 체크박스 필터 추가 (시작~끝 년월 범위 조회)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:57:16 +09:00
김보곤
5a35e3fdfc fix:납입일 변경 시 통합정산 입금일(payment_date)도 함께 동기화
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:30:59 +09:00
김보곤
ef007a582a fix:납입일 변경 시 지급예정일(scheduled_payment_date)도 함께 재계산되도록 수정
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:24:37 +09:00
김보곤
95e7728ff5 feat:거래처 선택 시 상세정보(대표자/주소/업태/종목/이메일) 자동 입력
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:57:48 +09:00
김보곤
63dd9bd510 feat:홈택스 수동입력 모달에 거래처 상세정보 필드 추가 (종사업장번호, 성명, 주소, 업태, 종목, 이메일)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:51:34 +09:00
a2c8731937 feat:품목관리 수식 산출에 전원(단상/삼상) 선택 추가
- 수식 입력 패널에 전원 Select 추가 (단상 220V / 삼상 380V)
- calculateFormula()에서 MP 변수 수집 및 API 전송
- Controller에서 MP 파라미터 수신 후 FormulaApiService로 전달

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:50:24 +09:00
f271f8bdc3 feat:품목관리 3-Panel 페이지 신규 구현 + FormulaEvaluatorService 연동
- 품목관리 3-Panel 레이아웃 (좌:목록, 중:BOM/수식산출, 우:상세)
- FormulaApiService로 API 견적수식 엔진 연동
- FG 품목 선택 시 기본값(W:1000, H:1000, QTY:1) 자동 산출
- 수식 산출 결과 트리 렌더링 (그룹별/소계/합계)
- 중앙 패널 클릭 시 우측 상세만 변경 (skipCenterUpdate)
- API 인증 버튼 전역 헤더로 이동 (모든 페이지에서 사용 가능)
- FormulaApiService에 Bearer 토큰 지원 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:50:24 +09:00
김보곤
ed1a792d37 feat:법인카드 결제 기능 개선 (동적 항목 입력, 선불결제→결제 명칭 변경)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:32:58 +09:00
김보곤
7849c63507 fix:발송 방식 선택 UI 개선 - 이메일/알림톡 선택 가능, 이메일 기본값, 리마인더 발송 방식 모달 추가 2026-02-19 23:55:28 +09:00
김보곤
3724bc4475 fix:알림톡 미설정 시 에러 방지 - 기본 발송을 이메일로 변경, 알림톡 실패 시 이메일 자동 폴백 2026-02-19 23:50:37 +09:00