Commit Graph

278 Commits

Author SHA1 Message Date
김보곤
5283487f7e feat: [attendance] 근태현황/근태관리 메뉴 분리
- 근태현황(/hr/attendances): 조회 전용 (목록/캘린더/요약)
- 근태관리(/hr/attendances/manage): CRUD + 승인 관리
- table-manage.blade.php: 관리용 테이블 (체크박스/수정/삭제)
- table.blade.php: 조회용 테이블 (GPS 포함, CRUD 제거)
- API 컨트롤러 view 파라미터로 테이블 분기
2026-02-27 09:10:43 +09:00
김보곤
8c4b6a2786 feat: [leave] 휴가관리 Phase 1 구현
- Leave, LeavePolicy, LeaveGrant 모델 생성
- LeaveBalance 헬퍼 메서드 추가 (useLeave, restoreLeave, canUse)
- LeaveService 핵심 로직 (신청, 승인, 반려, 취소, 잔여연차, 통계)
- API 컨트롤러 (목록, 등록, 승인/반려/취소, 잔여연차, 통계, CSV 내보내기)
- 뷰 컨트롤러 + 라우트 등록 (web, api)
- Blade 뷰 (index + 3개 탭 partials: table, balance, stats)
2026-02-27 09:06:52 +09:00
김보곤
2f739d0d55 feat: [hr] 입퇴사자 현황 페이지 구현
- EmployeeService에 근속기간 조회/통계/CSV 내보내기 메서드 추가
- API 컨트롤러에 tenure/tenureExport 엔드포인트 추가
- EmployeeTenureController 뷰 컨트롤러 생성
- 통계 카드 6개 (전체/재직/퇴직/평균근속/올해입사/올해퇴사)
- HTMX 테이블 (사원/부서/직책/상태/입사일/퇴사일/근속기간/근속일수)
- 필터: 이름검색, 부서, 상태, 입사기간 범위, 정렬
- CSV 엑셀 다운로드 기능
2026-02-27 09:04:07 +09:00
김보곤
607593ff3f feat: [hr] 근태현황 MNG 프론트엔드 구현
- Attendance 모델 (attendances 테이블, 상태/색상 매핑, check_in/check_out accessor)
- AttendanceService (목록/월간통계/CRUD, 부서/사원 드롭다운)
- API 컨트롤러 (HTMX+JSON 이중 응답, stats/index/store/update/destroy)
- 페이지 컨트롤러 (index 페이지 렌더링)
- 웹/API 라우트 등록 (hr/attendances, api/admin/hr/attendances)
- index.blade.php (통계카드+필터+등록/수정 모달)
- partials/table.blade.php (HTMX 부분 로드 테이블)
2026-02-26 21:29:25 +09:00
김보곤
d2c3ce678a feat: [journal] 일반전표입력에 카드사용내역 분개 기능 추가
- JournalEntryController에 cardTransactions/storeFromCard/cardJournals/deleteCardJournal 메서드 추가
- 카드거래 분개 라우트 4개 추가 (card-transactions, store-from-card, card-journals, delete-card-journal)
- JournalEntryList에 카드거래 탭/필터/통계 통합
- CardJournalEntryModal 컴포넌트 추가 (공제/불공제에 따른 기본 분개 라인 자동 생성)
- source_type=ecard_transaction 호환 (기존 ecard 페이지 분개와 동일 키)
2026-02-26 21:18:08 +09:00
김보곤
29ca022321 feat: [hr] 인사관리 사원관리 Phase 1 구현
- Employee, Position 모델 생성 (tenant_user_profiles, positions 테이블)
- EmployeeService 생성 (CRUD, 통계, 필터/검색/페이지네이션)
- 뷰 컨트롤러(HR/EmployeeController) + API 컨트롤러 생성
- Blade 뷰: index(통계카드+HTMX테이블), create, edit, show, partials/table
- 라우트: web.php(/hr/employees/*), api.php(/admin/hr/employees/*)
2026-02-26 18:40:01 +09:00
김보곤
5793845def feat: [business-cards] 처리완료 삭제 기능 추가 및 기본 매수 500매로 변경
- 관리자 화면 처리완료 카드에 삭제 버튼 추가
- processed 상태만 삭제 가능 (서비스 검증)
- 파트너 명함신청 기본 매수 100매 → 500매 변경
2026-02-26 14:06:36 +09:00
김보곤
401ac649ae feat: [sms] SMS 발송 테스트 메뉴 추가
- SmsController (WEB): 카카오톡 패턴 동일한 HX-Redirect 처리
- BarobillSmsController (API): 발송, 발신번호 조회/확인, 전송상태 조회
- SMS 발송 테스트 블레이드 뷰: 발신번호 목록, 바이트 카운터, 발송 결과 표시
- web.php: barobill/sms/send 라우트 추가
- api.php: barobill/sms API 라우트 4개 추가
2026-02-26 12:40:49 +09:00
김보곤
e9325ff74d feat: [esign] 알림톡 템플릿 선택 기능 추가
- 바로빌 승인된 알림톡 템플릿 목록 조회 API 추가
- 서명 요청 발송 시 템플릿 선택 드롭다운 UI 추가
- 템플릿 미리보기 (본문 + 버튼) 표시
- send()에 template_name 파라미터 전달 지원
- 미선택 시 기존 하드코딩 폴백 유지
2026-02-26 08:27:02 +09:00
김보곤
8c24b0ae24 feat: [equipment] 설비관리 도움말 페이지 추가
- /equipment/guide 라우트 및 컨트롤러 메서드 추가
- guide.blade.php 신규 생성 (히어로+TOC+5섹션+FAQ)
- academy-glossary에 equipment 도메인 용어 20개 추가
- 품질인정심사(ISO 9001) 대응 가이드, 보전 기초지식 포함
2026-02-25 22:15:15 +09:00
김보곤
62cd1c0938 feat: [academy] 경정청구 메뉴 추가
- 아카데미 하위에 경정청구 페이지 신규 생성
- sales 경정청구 자료를 MNG 아카데미 패턴으로 변환
- SAM 제안 형태: 청년 판정, 권역 판정, 데이터 통합 자동화
- Chart.js 차트 4종 포함 (소요시간, 비용절감, 오류유형, 이용자추이)
- 학습 가이드 (용어 해설 + 퀴즈 5문항)
2026-02-25 17:07:25 +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
김보곤
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
김보곤
13567217a7 feat: [esign] 로그인 페이지에 전자계약 서명 바로가기 추가
- 알림톡 버튼 클릭 시 전화번호 입력으로 서명 페이지 이동
- 바로빌 템플릿 URL 변경 전 임시 우회 방법
2026-02-24 19:03:24 +09:00
김보곤
cd339ca17a fix: [esign] 법인도장 GCS 미설정 시 로컬 스토리지 폴백 추가 2026-02-24 17:57:14 +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
김보곤
36486795f2 feat: [academy] PM2 가이드 라우트 및 컨트롤러 추가 2026-02-24 08:01:47 +09:00
김보곤
bf90f91d7c feat: [academy] 리눅스 & 서버 명령어 아카데미 페이지 추가
- 10개 섹션: 터미널 기초, 파일 탐색, 파일 조작, 권한 관리, 검색, 모니터링, 프로세스, 네트워크, 텍스트 편집, 위험 명령어
- git-policy 페이지와 동일한 레이아웃 (히어로 배너, 좌측 TOC, 도움말 풍선)
- 초보자 친화적 비유와 실무 팁 포함
2026-02-23 17:36:23 +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
김보곤
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
김보곤
1bb2ac32f9 feat: [additional] PPTX 관리 페이지 추가
- 파일시스템 스캔 기반 PPTX 목록 조회/다운로드
- 카테고리별 필터, 파일명 검색 기능
- 경로 트래버설 방지 보안 검증
2026-02-23 07:57:39 +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
김보곤
e6f1d6ba46 feat: [dashboard] 주간 날씨 위젯 추가
- 기상청 공공데이터포털 API 연동 (단기+중기 7일 예보)
- WeatherService: 3시간 캐시, SKY/PTY 아이콘 매핑
- HTMX 비동기 로딩 + 스켈레톤 UI
- 오늘 카드 파란색 강조, 요일/날짜/아이콘/기온 표시
2026-02-21 13:10:54 +09:00
김보곤
9351e215e4 feat:통합정산 정산상세 승인취소 기능 추가 2026-02-20 19:26:42 +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
김보곤
bcc95ffafa feat:고객 서비스이용 계약서 - 고객 불러오기/계약번호 자동채번/기본값
- 테넌트(고객) 검색 API 추가 (searchTenants)
- 계약번호 자동 채번 API 추가 (CONTRACT-YYYYMMDD-N 형식)
- 고객 서비스이용 계약서 선택 시 "고객 불러오기" 버튼 표시
- 고객 선택 시 상호/사업자등록번호/주소/전화번호 자동 채움
- 총개발비 기본값 20,000,000 / 월구독료 기본값 500,000 자동 세팅
- TenantSearchModal 컴포넌트 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 23:23:06 +09:00
김보곤
072268a1cf feat:계좌 입출금내역 거래처코드 검색 기능 추가
- Client 모델 생성 (거래처 검색용)
- EaccountController에 searchClients API 추가
- save/parseTransactionLogs/convertManualToLogs/convertDbToRawLog에 client_code/client_name 필드 추가
- ClientCodeSelect 컴포넌트 추가 (서버 검색 기반 debounce 드롭다운)
- 테이블에 거래처코드 컬럼 추가
- BankTransaction 모델 fillable에 client_code/client_name 추가
- 라우트에 clients/search 엔드포인트 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 21:18:31 +09:00
김보곤
6a846a1c0d feat:계약일 date input 입력 가능하게 변경
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 16:34:07 +09:00
김보곤
6a7a8d00d0 feat:영업파트너 고객관리 인계일 컬럼 동적 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 16:27:12 +09:00
김보곤
4ddc1efa34 refactor:영업파트너 고객관리 테이블 정리 + 정산관리에 수당지급일 관리 이동
- 고객관리 테이블: 1차수당/2차수당/매니저수당/협업지원금/등록일 열 제거, 계약일 열 추가 (16열→12열)
- 정산관리 수당정산 테이블: 수당지급일/매니저지급일/협업지원금 인라인 편집 컬럼 추가
- SalesCommissionController에 updateCommissionDate 메서드 추가
- 불필요한 JS 함수 제거 (saveReferrerCommission, checkHandoverStatus)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 16:20:42 +09:00
김보곤
e63b6f1512 feat:영업파트너 고객관리에 협업지원금 수동 입력 기능 추가
- 개인 파트너: 협업지원금 금액 수정 가능한 number input 추가
- 단체 파트너: "-" 표시 (자동계산 3% 고정, 수동 수정 불가)
- AdminProspectController에 updateReferrerCommission 메서드 추가
- firstOrCreate에 referrer_rate, referrer_commission 필드 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 13:14:36 +09:00
9eeb62f819 feat: 트리거 감사로그 operation 단위 일괄 롤백 기능
- operation 상세 페이지 및 일괄 롤백 실행 기능 추가
- TriggerAuditLog에 scopeForOperation 스코프 추가
- 트리거 INSERT/UPDATE/DELETE에 operation_id 컬럼 포함
- 감사로그 목록에 작업 단위 링크 컬럼 추가
- 라우트: operation/{id}, batch-rollback 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 11:22:09 +09:00
김보곤
981c3c68d4 feat:수당 지급 탭 + 수당지급현황통계 페이지 추가
- 정산관리에 수당 지급 탭 추가 (파트너별 그룹핑 지급 대기 목록)
- 파트너별 상세 건 목록 HTMX 확장 기능
- 수당지급현황통계 페이지 (Chart.js 4개 차트 + 월별 요약 테이블)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 10:39:52 +09:00
김보곤
7bc412d9a1 feat:통합 정산관리 페이지 구현 (5개 탭 기반)
- SettlementController 신규 생성 (통합 정산관리 메인 + 탭별 HTMX)
- 5개 탭: 수당정산, 파트너별현황(NEW), 컨설팅비용, 고객사정산, 구독관리
- 수당정산 탭: 기존 영업수수료정산 이관 + 유치수당 컬럼/수당유형 필터 추가
- 파트너별 현황 탭: SalesPartner 수당 집계 + 필터/페이지네이션
- 컨설팅/고객사/구독 탭: React → Blade+Alpine.js 전환 (기존 API 재사용)
- 통합 통계카드 (미지급수당/승인대기/이번달예정/누적지급)
- 기존 4개 URL → 통합 페이지 리다이렉트
- SalesPartner 모델에 commissions 관계 추가
- SalesCommissionService에 commission_type 필터 + referrerPartner eager load 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 09:53:13 +09:00
김보곤
3c8f7c9f66 feat:튜토리얼 이력 새로고침 버튼 + 행 클릭 스크립트 상세보기
- TutorialVideoController에 detail/{id} 엔드포인트 추가 (analysis_data 반환)
- HistoryTable에 새로고침 버튼 추가 (스피너 애니메이션)
- 행 클릭 시 스크립트 상세정보 (화면별 단계, 나레이션, 소요시간) 펼침 표시
- 상세 데이터는 캐시하여 재클릭 시 재요청 없음

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 17:29:27 +09:00