김보곤
2b3cb3bb92
fix: [hr] 사원 등록/수정 에러 메시지 화면 표시 개선
...
- API 컨트롤러 store/update/destroy에 try-catch 추가
- debug 모드에서 상세 에러 메시지 포함 응답
- create/edit 뷰에 showToast 기반 에러 표시 추가
- 422 validation 에러 필드별 메시지 표시
- 500 서버 에러 시 사용자 친화적 메시지 표시
2026-02-26 18:40:01 +09:00
김보곤
56e4ce937a
feat: [hr] 직급/직책 인라인 추가 기능 구현
...
- Position 생성 API 엔드포인트 추가 (POST /admin/hr/positions)
- 직급/직책 select 옆 "+" 버튼으로 모달 열기
- 모달에서 이름 입력 → API 저장 → 드롭다운에 자동 추가 및 선택
- 중복 key 방지 (기존 값이면 그대로 반환)
- create/edit 뷰 모두 적용
2026-02-26 18:40:01 +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
김보곤
b3a2ced834
fix: [finance] 일일자금일보 입금 테이블 잔액 열 제거
2026-02-26 16:48:46 +09:00
김보곤
d7b8e866b2
fix: [holidays] 대량 등록 모달에 기존 등록 데이터 표시
...
- 해당 연도에 등록된 휴일이 있으면 기존 데이터를 텍스트 형식으로 표시
- 등록된 데이터가 없을 때만 기본 공휴일 예시 표시
2026-02-26 14:37:57 +09:00
김보곤
5793845def
feat: [business-cards] 처리완료 삭제 기능 추가 및 기본 매수 500매로 변경
...
- 관리자 화면 처리완료 카드에 삭제 버튼 추가
- processed 상태만 삭제 가능 (서비스 검증)
- 파트너 명함신청 기본 매수 100매 → 500매 변경
2026-02-26 14:06:36 +09:00
김보곤
b01d7a0ed6
fix: [equipment] 설비 사진 원본 비율 유지 + 클릭 시 모달 확대
2026-02-26 13:28:40 +09:00
김보곤
3084b3d219
feat: [equipment] 수리이력 등록에 목업 데이터 자동 입력 버튼 추가
...
- 번개 아이콘 클릭 시 전체 필드에 랜덤 목업 데이터 채움
- 설비/수리자는 기존 옵션에서 랜덤 선택
- 외주업체는 보전구분이 외주일 때만 입력
2026-02-26 13:28:40 +09:00
김보곤
c187a0fca3
feat: [equipment] 목록 필터 상태를 sessionStorage에 저장/복원
...
- 검색/필터 후 수정 페이지 이동 → 목록 복귀 시 필터 유지
- 페이지네이션, select 변경 시에도 자동 저장
2026-02-26 13:28:40 +09:00
김보곤
e228348deb
fix: [equipment] 사진 URL을 Signed URL로 변경 (비공개 GCS 버킷 대응)
...
- getPhotoUrls(): 공개 URL → GoogleCloudStorageService.getSignedUrl() 사용
- basic-info 탭: 동일하게 Signed URL로 변경
- URL 유효기간 120분
2026-02-26 13:28:40 +09:00
김보곤
dc40e3dc6b
fix: [equipment] Ctrl+V 붙여넣기 클립보드 이미지 추출 수정
...
- DataTransferItemList 전통적 for 루프로 변경 (for...of 호환성 문제)
- kind === 'file' 조건 추가로 이미지 파일만 정확히 필터링
2026-02-26 13:28:40 +09:00
김보곤
eca26d557f
feat: [equipment] 사진 업로드에 Ctrl+V 클립보드 붙여넣기 기능 추가
...
- create/edit 페이지에서 Ctrl+V로 클립보드 이미지 즉시 업로드
- 드롭존에 붙여넣기 안내 텍스트 추가
2026-02-26 13:28:40 +09:00
김보곤
0c9d2fd441
feat: [equipment] 사진 멀티 업로드(GCS) + 엑셀 Import 기능 추가
...
- EquipmentPhotoService: GCS 기반 사진 업로드/삭제/조회 (최대 10장)
- EquipmentImportService: 엑셀 파싱 → 설비 일괄 등록 (한글 헤더 자동 매핑)
- API: 사진 업로드/목록/삭제, Import 미리보기/실행 엔드포인트
- 뷰: create/edit에 드래그앤드롭 사진 업로드, show에 갤러리 표시
- import.blade.php: 3단계 Import UI (파일선택 → 미리보기 → 결과)
- phpoffice/phpspreadsheet 패키지 추가
2026-02-26 13:28:40 +09:00
김보곤
d9c9739de1
fix: [equipment] API URL 경로 /api 접두사 누락 수정
...
- 모든 HTMX hx-get 및 fetch() URL에 /api 접두사 추가
- /admin/equipment → /api/admin/equipment 일괄 변경
- 대상: index, create, edit, show, inspections, repairs 뷰 7개 파일
2026-02-26 13:28:18 +09:00
김보곤
11a7f89216
feat: [equipment] 설비관리 모듈 구현
...
- 모델 6개 (Equipment, InspectionTemplate, Inspection, InspectionDetail, Repair, Process)
- 서비스 3개 (Equipment, Inspection, Repair)
- API 컨트롤러 3개 + FormRequest 4개
- Blade 컨트롤러 + 라우트 등록
- 뷰: 대시보드, 등록대장(CRUD), 일상점검표(캘린더 그리드), 수리이력
2026-02-26 13:28:18 +09:00
김보곤
f0178d8928
fix: [vat] 부가세 관리에서 매출(종이세금계산서) 항목 삭제
...
- 요약 테이블 행 삭제
- 필터 드롭다운 옵션 삭제
- 컨트롤러 계산 로직 및 stats 응답 제거
- React state 초기값에서 관련 필드 제거
2026-02-26 13:24:39 +09:00
김보곤
405fbaf5da
fix: [sms] 발신번호 02-6347-0005로 수정
2026-02-26 12:40:49 +09:00
김보곤
bcf64dc95c
fix: [sms] API URL을 Blade route() 헬퍼로 변경 및 에러 상세 표시
...
- 하드코딩 URL → route() 기반으로 환경별 자동 대응
- 422 에러 시 validation 에러 메시지 상세 표시
2026-02-26 12:40:49 +09:00
김보곤
f12f0c34c9
feat: [sms] 번개 아이콘 클릭 시 테스트 데이터 자동 입력
2026-02-26 12:40:49 +09:00
김보곤
6d63c37371
fix: [sms] 발신번호를 고정 텍스트로 변경 (셀렉트박스 제거)
2026-02-26 12:40:49 +09:00
김보곤
964f0030dd
fix: [sms] 발신번호 기본값 02-0005-0006 설정
2026-02-26 12:40:49 +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
김보곤
59f68e272c
feat: [esign] OTP 인증코드 SMS 발송 기능 추가
...
- send_method가 alimtalk/both일 때 SMS로 OTP 발송
- 바로빌 sendATKakaotalkEx SMS 대체발송 기능 활용
- SMS 실패 시 이메일 폴백
- auth.blade.php UI 메시지 SMS/이메일 분기 표시
2026-02-26 09:14:16 +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
김보곤
36fdb75641
fix: [academy] 경정청구 페이지 이미지 hover 확대 효과 복원
2026-02-25 17:07:25 +09:00
김보곤
dc56468f6b
feat: [academy] 경정청구 페이지 UI/UX 개선
...
- CSS 애니메이션 시스템 추가 (fadeUp, popIn, float, drawLine 등 @keyframes)
- 히어로 배너 SVG 일러스트 업그레이드 (세금문서→SAM→환급 플로우)
- 섹션별 SVG 인포그래픽 5종 추가 (플로우차트, Before/After, 타임라인, 효익 아이콘, SAM 아키텍처)
- IntersectionObserver 기반 스크롤 애니메이션 (AOS)
- KPI 카운트업 애니메이션 (requestAnimationFrame easeOut)
- TOC 활성 섹션 하이라이트
- 프로세스 토글 CSS 트랜지션 적용
- 미사용 데드코드 제거 (lightbox, hover-preview DOM/CSS/JS)
2026-02-25 17:07:25 +09:00
김보곤
62cd1c0938
feat: [academy] 경정청구 메뉴 추가
...
- 아카데미 하위에 경정청구 페이지 신규 생성
- sales 경정청구 자료를 MNG 아카데미 패턴으로 변환
- SAM 제안 형태: 청년 판정, 권역 판정, 데이터 통합 자동화
- Chart.js 차트 4종 포함 (소요시간, 비용절감, 오류유형, 이용자추이)
- 학습 가이드 (용어 해설 + 퀴즈 5문항)
2026-02-25 17:07:25 +09:00
d1363336b3
Merge pull request '운영 배포: 전자계약 도장 기본값, 아카데미 Git 관리도구, 명함신청, 미수금/미지급금 이월잔액' ( #2 ) from develop into main
...
Reviewed-on: #2
2026-02-25 15:00:00 +09:00
김보곤
8b25140a81
fix: [esign] 서명 방법 기본값을 도장으로 변경
...
- signMode 기본값 signature → stamp 변경
- creator(본사)에서도 서명/도장 선택 UI 표시
2026-02-25 13:47:41 +09:00
883ec23ed9
fix:바로빌 페이지 Babel in-browser 경고 억제
...
React/Babel CDN 직접 로드를 partials.react-cdn으로 통일
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 13:35:59 +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
김보곤
f624ae65a2
fix: [academy] docker-commands @push('scripts')가 @endsection 밖으로 이동 및 @endpush 추가
2026-02-25 11:22:37 +09:00
김보곤
597c081571
fix: [academy] Docker 명령어 페이지 @endsection 중복 제거
2026-02-25 11:15:22 +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
김보곤
daf4b20fe8
fix: [system] MNG 개발서버 도메인 수정
...
- mng.dev.codebridge-x.com → admin.codebridge-x.com
- 도메인 스왑(48ef98e) 반영
2026-02-25 09:26:58 +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
김보곤
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
김보곤
62e926098a
feat: [ecard] 카드 금액 ↔ 분개 금액 불일치 감지 및 갱신 기능 추가
...
- 기존 분개 로드 시 카드 금액과 분개 차변 합계 비교
- 불일치 시 빨간색 경고 배너 표시 (카드 금액, 분개 금액, 차이)
- "카드 데이터로 갱신" 버튼으로 현재 카드 데이터 기준 분개 라인 재생성
- split 분개와 원본 분개 모두 지원
2026-02-24 20:57:06 +09:00
김보곤
6eff3e0d55
refactor: [ecard] 분리 항목별 개별 분개 생성 구조로 변경
...
- 기존 multi-split 번들 분개를 단일 split 개별 분개로 교체
- 원본 행 분개 열에 split별 집계 상태 표시 (N/M, 완료)
- 각 분리 행에 독립 분개 버튼 추가 (splitSourceKey 기반)
- handleOpenJournalModal에 singleSplit 파라미터 추가
- CardJournalModal 거래 정보에 개별 split 정보 표시
- 합계금액 열에 split 분개 진행률 표시
2026-02-24 19:53:46 +09:00
김보곤
c0b350fa22
fix: [ecard] 분리 거래의 분개 버튼을 라벨 버튼으로 변경
...
- 분리가 있는 거래: 작은 '+' 아이콘 대신 '분개' 라벨 버튼 표시
- 분리 없는 거래: 기존 '+' 아이콘 유지
2026-02-24 19:32:47 +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
김보곤
44e5c9c42e
feat: [esign] 계약 변수에 상대방 이름/전화번호 자동 입력 및 랜덤 데이터 버튼 추가
2026-02-24 17:51:48 +09:00
김보곤
1cd78585ae
feat: [ecard] 카드사용내역 분리/분개 열 분리
...
- 기존 '분개' 열을 '분리'(금액 나누기)와 '분개'(복식부기) 두 열로 분리
- SplitModal 텍스트를 '분개'에서 '분리'로 변경
- CSV 내보내기 텍스트도 '분리'로 통일
- 분리 열: 금액 분리 기능 (SplitModal)
- 분개 열: 복식부기 분개 기능 (CardJournalModal)
2026-02-24 17:49:30 +09:00
김보곤
aa107ca762
fix: [corporate-cards] 선결제 배분 로직 고도화 (한도초과 우선 차감)
...
- 1단계: 한도 초과 카드에 초과분만큼 우선 차감
- 2단계: 잔여 금액을 현재 사용액 비율로 배분
- 마지막 카드에 반올림 오차 보정
- 어떤 카드도 100% 초과하지 않도록 보장
2026-02-24 17:33:57 +09:00