Commit Graph

1787 Commits

Author SHA1 Message Date
김보곤
4bbabde383 fix: [sms] 발신번호 02-6347-0005로 수정 2026-02-26 11:04:58 +09:00
김보곤
b137e637a1 fix: [sms] API URL을 Blade route() 헬퍼로 변경 및 에러 상세 표시
- 하드코딩 URL → route() 기반으로 환경별 자동 대응
- 422 에러 시 validation 에러 메시지 상세 표시
2026-02-26 10:46:33 +09:00
김보곤
8e2b3ffbc8 feat: [sms] 번개 아이콘 클릭 시 테스트 데이터 자동 입력 2026-02-26 10:44:15 +09:00
김보곤
7b5235f2aa fix: [sms] 발신번호를 고정 텍스트로 변경 (셀렉트박스 제거) 2026-02-26 10:42:20 +09:00
김보곤
7404aa68cb fix: [sms] 발신번호 기본값 02-0005-0006 설정 2026-02-26 10:38:43 +09:00
김보곤
b5da40c051 feat: [sms] SMS 발송 테스트 메뉴 추가
- SmsController (WEB): 카카오톡 패턴 동일한 HX-Redirect 처리
- BarobillSmsController (API): 발송, 발신번호 조회/확인, 전송상태 조회
- SMS 발송 테스트 블레이드 뷰: 발신번호 목록, 바이트 카운터, 발송 결과 표시
- web.php: barobill/sms/send 라우트 추가
- api.php: barobill/sms API 라우트 4개 추가
2026-02-26 10:29:44 +09:00
김보곤
394dd258cd feat: [barobill] 독립 SMS API 연동 및 OTP 발송 전환
- BarobillService에 SMS WSDL 엔드포인트 추가
- sendSMSMessage, checkSMSFromNumber, getSMSFromNumbers 메서드 추가
- sendOtpViaSms를 알림톡 대체발송 → 독립 SMS API(SendSMSMessage)로 전환
2026-02-26 10:20:35 +09:00
김보곤
7044030ba8 fix: [esign] 본사(tenant_id=1) OTP는 항상 이메일 발송
- 본사는 알림톡 방식 선택 시에도 OTP를 이메일로 처리
- getContract 응답에서도 본사는 send_method를 email로 반환
2026-02-26 09:11:00 +09:00
김보곤
524aaab115 feat: [esign] OTP 인증코드 SMS 발송 기능 추가
- send_method가 alimtalk/both일 때 SMS로 OTP 발송
- 바로빌 sendATKakaotalkEx SMS 대체발송 기능 활용
- SMS 실패 시 이메일 폴백
- auth.blade.php UI 메시지 SMS/이메일 분기 표시
2026-02-26 09:06:36 +09:00
김보곤
76c60f6a92 fix: [esign] 알림톡 버튼 URL 도메인 치환 제거 (카카오 템플릿 검증 불일치 방지) 2026-02-26 08:37:15 +09:00
김보곤
370d001818 fix: [esign] 알림톡 버튼 URL 도메인을 APP_URL로 치환 (개발/운영 환경 대응) 2026-02-26 08:30:57 +09:00
김보곤
5a299ad20f fix: [esign] 알림톡 버튼 URL의 #{토큰} 변수를 실제 access_token으로 치환 2026-02-26 07:45:24 +09:00
김보곤
2f6e796e3f feat: [esign] 알림톡 템플릿 선택 기능 추가
- 바로빌 승인된 알림톡 템플릿 목록 조회 API 추가
- 서명 요청 발송 시 템플릿 선택 드롭다운 UI 추가
- 템플릿 미리보기 (본문 + 버튼) 표시
- send()에 template_name 파라미터 전달 지원
- 미선택 시 기존 하드코딩 폴백 유지
2026-02-25 22:42:29 +09:00
김보곤
38d7e137de feat: [equipment] 설비관리 도움말 페이지 추가
- /equipment/guide 라우트 및 컨트롤러 메서드 추가
- guide.blade.php 신규 생성 (히어로+TOC+5섹션+FAQ)
- academy-glossary에 equipment 도메인 용어 20개 추가
- 품질인정심사(ISO 9001) 대응 가이드, 보전 기초지식 포함
2026-02-25 22:02:33 +09:00
김보곤
d46f6d8b19 fix: [equipment] 설비 사진 원본 비율 유지 + 클릭 시 모달 확대 2026-02-25 21:46:04 +09:00
김보곤
d9261e7969 feat: [equipment] 수리이력 등록에 목업 데이터 자동 입력 버튼 추가
- 번개 아이콘 클릭 시 전체 필드에 랜덤 목업 데이터 채움
- 설비/수리자는 기존 옵션에서 랜덤 선택
- 외주업체는 보전구분이 외주일 때만 입력
2026-02-25 21:30:16 +09:00
김보곤
0b3ab8d07b feat: [equipment] 목록 필터 상태를 sessionStorage에 저장/복원
- 검색/필터 후 수정 페이지 이동 → 목록 복귀 시 필터 유지
- 페이지네이션, select 변경 시에도 자동 저장
2026-02-25 21:20:14 +09:00
김보곤
b62521213a fix: [equipment] 사진 URL을 Signed URL로 변경 (비공개 GCS 버킷 대응)
- getPhotoUrls(): 공개 URL → GoogleCloudStorageService.getSignedUrl() 사용
- basic-info 탭: 동일하게 Signed URL로 변경
- URL 유효기간 120분
2026-02-25 21:13:30 +09:00
김보곤
bd8176b426 fix: [equipment] 사진 업로드 시 stored_name 누락 오류 수정
- files 테이블 stored_name 컬럼이 NOT NULL인데 INSERT에서 누락
- uploadPhotos(), uploadPhotoFromPath() 모두 stored_name 추가
2026-02-25 21:07:56 +09:00
김보곤
651ee2ef61 fix: [equipment] Ctrl+V 붙여넣기 클립보드 이미지 추출 수정
- DataTransferItemList 전통적 for 루프로 변경 (for...of 호환성 문제)
- kind === 'file' 조건 추가로 이미지 파일만 정확히 필터링
2026-02-25 20:58:32 +09:00
김보곤
58af12f08d feat: [equipment] 사진 업로드에 Ctrl+V 클립보드 붙여넣기 기능 추가
- create/edit 페이지에서 Ctrl+V로 클립보드 이미지 즉시 업로드
- 드롭존에 붙여넣기 안내 텍스트 추가
2026-02-25 20:56:11 +09:00
김보곤
308462dd69 feat: [equipment] 엑셀 Import 시 설비 사진 추출/업로드 기능 추가
- EquipmentPhotoService: uploadPhotoFromPath() 추가, 압축 메서드 public 전환
- EquipmentImportService: Drawing 추출/임시파일 저장/사진 업로드 통합
- EquipmentController: Import 응답 메시지에 사진 업로드 결과 포함
2026-02-25 20:49:58 +09:00
김보곤
e291b29bd7 feat: [equipment] 설비 사진 업로드 시 이미지 압축 (1MB 이하)
- GD 라이브러리로 업로드 전 이미지 압축 처리
- 장축 2048px 초과 시 리사이즈 (비율 유지)
- JPEG 품질 85→40 점진적 감소로 1MB 이하 보장
- PNG(투명 없음)/GIF/BMP → JPEG 자동 변환
- PNG(투명 있음) → PNG 유지 (압축 레벨 9)
- 임시파일 자동 정리 (finally 블록)
2026-02-25 20:38:37 +09:00
김보곤
7f1327bfea feat: [equipment] 사진 멀티 업로드(GCS) + 엑셀 Import 기능 추가
- EquipmentPhotoService: GCS 기반 사진 업로드/삭제/조회 (최대 10장)
- EquipmentImportService: 엑셀 파싱 → 설비 일괄 등록 (한글 헤더 자동 매핑)
- API: 사진 업로드/목록/삭제, Import 미리보기/실행 엔드포인트
- 뷰: create/edit에 드래그앤드롭 사진 업로드, show에 갤러리 표시
- import.blade.php: 3단계 Import UI (파일선택 → 미리보기 → 결과)
- phpoffice/phpspreadsheet 패키지 추가
2026-02-25 20:15:06 +09:00
김보곤
a3668354d9 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-25 19:46:12 +09:00
김보곤
4115bbd7db feat: [equipment] 설비관리 모듈 구현
- 모델 6개 (Equipment, InspectionTemplate, Inspection, InspectionDetail, Repair, Process)
- 서비스 3개 (Equipment, Inspection, Repair)
- API 컨트롤러 3개 + FormRequest 4개
- Blade 컨트롤러 + 라우트 등록
- 뷰: 대시보드, 등록대장(CRUD), 일상점검표(캘린더 그리드), 수리이력
2026-02-25 19:39:59 +09:00
31246e3317 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:57:04 +09:00
김보곤
5e1a093476 fix: [academy] 경정청구 페이지 이미지 hover 확대 효과 복원 2026-02-25 16:46:41 +09:00
김보곤
70e63edfa8 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 16:45:07 +09:00
김보곤
1416b4600c feat: [academy] 경정청구 메뉴 추가
- 아카데미 하위에 경정청구 페이지 신규 생성
- sales 경정청구 자료를 MNG 아카데미 패턴으로 변환
- SAM 제안 형태: 청년 판정, 권역 판정, 데이터 통합 자동화
- Chart.js 차트 4종 포함 (소요시간, 비용절감, 오류유형, 이용자추이)
- 학습 가이드 (용어 해설 + 퀴즈 5문항)
2026-02-25 16:20:29 +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
b081c17e97 chore: Slack 알림에 커밋 메시지 추가
- Checkout 단계에서 GIT_COMMIT_MSG 캡처 (git log -1 --pretty=format:'%s')
- checkout scm을 slackSend 이전으로 이동 (커밋 정보 먼저 획득)
- 빌드 시작, 성공, 실패 모든 Slack 메시지에 커밋 제목 포함

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 12:52:18 +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
e5742e09ad ci:Jenkinsfile 동시 빌드 방지 옵션 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 11:24:41 +09:00
c74dc9ba57 fix:배포 시 storage/logs 권한 설정 추가
PHP-FPM(www-data)이 로그 파일을 쓸 수 있도록
mkdir 직후 chown 명령 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 11:23:34 +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
41e51e8c0d Merge branch 'develop' 2026-02-25 11:05:29 +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
김보곤
51e2525b6f refactor: [business-card] 메뉴 2개로 분리 (파트너 명함신청 / 명함신청 처리)
- 파트너 명함신청 (/sales/business-cards): 모든 사용자 (신청폼+이력)
- 명함신청 처리 (/sales/business-cards/manage): 관리자 전용 (2분할)
- 뱃지를 manage 라우트에 연동
2026-02-25 05:36:32 +09:00
c7850f89f0 ci: Jenkinsfile tokenCredentialId 추가 및 배포 디렉토리 생성
- slackSend 3곳에 tokenCredentialId: 'slack-token' 추가
- Deploy: mkdir -p bootstrap/cache storage/framework 추가
- tokenCredentialId 누락 시 Slack Bot Token 인증 실패 방지

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:53:51 +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