Commit Graph

1599 Commits

Author SHA1 Message Date
29713f05c5 chore: 작업현황 정리
- 이전 작업 이력 정리, 최근 커밋 참고용으로 축약

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 04:19:48 +09:00
a4531e8d90 fix:품목관리 FG 수식 산출 401 오류 수정
- FormulaApiService의 Bearer token 조회를 session('api_explorer_token')에서
  ApiTokenService 기반으로 변경
- resolveApiToken() 메서드 추가: 세션 토큰 확인 → 만료시 HMAC 토큰 교환
- DocumentTemplateApiController와 동일한 인증 패턴 적용

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 04:19:48 +09:00
c6ff4d639d feat:문서 미리보기 다단계 헤더 및 플레이스홀더 개선
- group_name "/" 구분자로 다단계(4단) 헤더 지원
- sub_label 이름 기반 셀 의미 구분 (기준값/입력/POINT)
- check 컬럼 커스텀 체크박스 라벨 (양호/불량 등) 지원
- maxN 제거, 각 컬럼 자체 sub_labels.length 기반 colspan
- 기존 템플릿 하위 호환성 유지
2026-02-22 04:19:48 +09:00
김보곤
f4879de9ba feat: [video] 3-pass 크롭 검증 추가
- 2-pass 보정 후 각 step의 좌표 영역을 원본에서 크롭하여 Gemini 검증
- 크롭에 패딩 확장 (30% 또는 최소 80px) + 최소 크롭 200x150px 보장
- 빨간 사각형으로 타겟 영역 표시하여 false positive 방지
- 재추정 실패 시 그리드 오버레이 이미지로 3차 재시도
- _verification 메타데이터에 crop_verified, crop_corrected 추가
- PASS율: 37.5% → 100% (FAIL 5 → 0)
2026-02-21 18:30:57 +09:00
김보곤
7991f3e6d4 feat: [video] 좌표 검증 및 영상 메타데이터를 analysis_data에 저장
- 각 step별 검증 결과 저장 (accurate/corrected + 원본 좌표)
- 스크린 단위 검증 통계 저장 (정확/보정 수, 검증 시각)
- 영상 완료 시 _output 메타데이터 저장 (경로, GCS, 비용, 슬라이드수, 총 재생시간)
2026-02-21 16:37:08 +09:00
김보곤
cf6525c8f3 feat: [video] 좌표 검증 루프(Coordinate Verification Loop) 추가
- Gemini 2-pass 자기 검증 메커니즘 구현
- runCoordinateVerification: 검증 오케스트레이터
- createVerificationImage: 색상별 스포트라이트 렌더링
- verifyCoordinates: Gemini에게 좌표 정확도 확인 요청
- applyVerifiedCoordinates: 보정 좌표 적용
2026-02-21 16:02:10 +09:00
김보곤
b0685a8886 fix: [video] MNG Job 큐 분리 (API 워커 충돌 방지)
- TutorialVideoJob, VideoGenerationJob에 onQueue('mng') 지정
- API 워커가 MNG Job을 가져가 __PHP_Incomplete_Class 에러 발생 방지
2026-02-21 15:42:53 +09:00
김보곤
1c9879b989 refactor: [video] 튜토리얼 영상 좌표 정교화 개선
- Phase 1: 그리드 오버레이를 비율 보존 레터박스 배치로 변경 (annotateSlideWithSpotlight과 동일)
- Phase 2: 그리드 밀도 10x10 → 20x12 향상, 주요 그리드선/좌표 라벨 추가
- Phase 3: 좌표 정규화 경계 클램핑 개선, 편향 패딩 구현, 디버깅 로그 추가
2026-02-21 15:30:37 +09:00
김보곤
4428a1707b fix: [barobill] 설정 페이지 디버그 정보 제거 2026-02-21 14:46:55 +09:00
김보곤
d26c3b9cc1 debug: [barobill] 설정 페이지 디버그 정보 표시 2026-02-21 14:30:29 +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
김보곤
c5f4c53a50 feat: [dashboard] 날씨 위젯에 강수확률 표시 추가
- 단기예보 POP (하루 최대값) + 중기예보 rnSt 병합
- 우산 아이콘 + 퍼센트 표시 (50% 이상 진한 파랑 강조)
- 강수확률 0%일 때는 표시하지 않음
2026-02-21 13:40:28 +09:00
김보곤
9a9922739d fix: [dashboard] 날씨 위젯 단기+중기 데이터 병합 로직 개선
- 단기예보 기온 없는 날 중기예보 기온으로 보충
- 데이터 없는 날 '준비 중' 표시
2026-02-21 13:38:02 +09:00
김보곤
48e8289c3d fix: [dashboard] 날씨 위젯 API 호출 수정 및 UI/UX 개선
- serviceKey 이중 인코딩 방지 (withOptions 사용)
- 오늘부터 7일간 표시 (데이터 없는 날은 '준비 중')
- 기온 바 그래프 추가 (파랑→빨강 그라데이션)
- 날씨 텍스트 표시, 강수일 강조
2026-02-21 13:30:42 +09:00
김보곤
e6f1d6ba46 feat: [dashboard] 주간 날씨 위젯 추가
- 기상청 공공데이터포털 API 연동 (단기+중기 7일 예보)
- WeatherService: 3시간 캐시, SKY/PTY 아이콘 매핑
- HTMX 비동기 로딩 + 스켈레톤 UI
- 오늘 카드 파란색 강조, 요일/날짜/아이콘/기온 표시
2026-02-21 13:10:54 +09:00
김보곤
f50e98b802 docs: [CLAUDE.md] Tailwind CSS 레이아웃 규칙 추가
- 반응형 클래스 대신 inline style 사용 규칙
- flex 레이아웃 패턴 정리
- w-full 금지 규칙 (flex 컨테이너 자식)
2026-02-21 12:50:31 +09:00
김보곤
e5fc19681c style: [barobill] 필터 영역 한 줄 레이아웃 수정
- w-full 제거하여 flex-wrap 시 불필요한 줄바꿈 방지
- 검색창: flex 1 1 250px + max-width 400px로 자연스러운 크기
- 상태/버튼: shrink-0으로 축소 방지
2026-02-21 12:47:59 +09:00
김보곤
f93b03b85f style: [barobill] 검색창 너비를 컨테이너의 1/3로 축소 2026-02-21 11:50:29 +09:00
김보곤
b38e934863 style: [barobill] 검색창이 화면 비율에 맞게 자연스럽게 채워지도록 수정
- sm:max-w-sm 제한 제거, flex-1로 남은 공간을 자연스럽게 채움
2026-02-21 11:35:09 +09:00
김보곤
fc6c3ee24e style: [barobill] 회원사관리 필터 영역 PC에서 한 줄 배치
- form에 sm:flex-nowrap 추가하여 PC에서 줄바꿈 방지
- 검색창 sm:flex-1 + sm:max-w-sm으로 자연스러운 너비 유지
- 모바일에서는 기존처럼 flex-wrap 유지
2026-02-21 11:33:40 +09:00
김보곤
2e2ae3037d style: [barobill] 회원사관리 검색창 너비를 자연스럽게 조정
- flex-1(가로 꽉채움) → sm:w-80(320px 고정)으로 변경
- 모바일에서는 w-full 유지
2026-02-21 11:31:25 +09:00
김보곤
13eab75da3 feat: [barobill] 회원사관리 페이지에서 미등록 테넌트 자동 생성
- 본사(tenant_id=1) 접근 시 barobill_members 레코드가 없는 테넌트에 기본 레코드 자동 생성
- 신규 생성 레코드는 status=pending, server_mode=test 기본값
- 테넌트의 사업자번호, 회사명, 대표자명을 자동 매핑
2026-02-21 11:21:24 +09:00
김보곤
feb8cbe995 refactor: [barobill] 바로빌설정 페이지에서 테넌트 동기화 카드 및 관련 JS 제거 2026-02-21 11:06:14 +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
김보곤
04bb49d3f0 fix:내보내기 CSV rowspan 처리 로직 추가 (열 불일치 해결)
- rowspan이 적용된 셀(테넌트/계약일)이 2차 행에서 누락되어 열이 밀리던 문제 수정
- 논리 열 인덱스 기반으로 rowspan 추적하여 정확한 열 매핑
- 체크박스/액션 컬럼 제외 로직도 인덱스 기반으로 개선

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 20:19:11 +09:00
김보곤
d7eaa1dd76 fix:내보내기 Alpine.js v3 호환성 수정 (__x.$data → DOM 가시성 기반 탭 감지)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 20:15:18 +09:00
김보곤
b183ddfd36 fix:정산관리 입금등록 버튼 제거 및 내보내기 엑셀 기능 구현
- 입금 등록 버튼 및 모달 제거
- 내보내기 버튼을 모든 탭에서 동작하도록 변경
- 현재 활성 탭(수당관리/고객사정산/구독관리)의 테이블을 CSV로 내보내기
- UTF-8 BOM 포함하여 엑셀에서 한글 정상 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 20:13:31 +09:00
김보곤
8dec2f7ec2 fix:법인카드 매월결제일 현재일자 기준 동적 계산 (결제일 지나면 익월로 자동 변경) 2026-02-20 19:56:06 +09:00
김보곤
3be9e22654 fix:통합정산 고객사 하단 상태 라벨(잠재고객/가망 등) 제거 2026-02-20 19:48:42 +09:00
김보곤
9f0f49b38c fix:실제 사용되는 정산상세 모달에 승인취소 버튼 추가 2026-02-20 19:40:44 +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
김보곤
15f83d0367 fix:거래처 목록에서 전화번호와 이메일 모두 표시되도록 수정
- 기존: contact || email (둘 중 하나만 표시)
- 수정: 전화번호(1줄) + 이메일(2줄) 각각 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:36:24 +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
김보곤
50b1e61d55 fix:모달 내 정보보기 버튼 JS 함수 미정의 오류 수정
AJAX 로드 모달에서 script 태그가 실행되지 않는 문제 해결
- 별도 함수 대신 onclick 인라인으로 토글 로직 직접 처리

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:10:24 +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
김보곤
8a397b1bc6 fix:수당지급현황통계 필터 UI 개선 (헤더+필터 통합, 컴팩트 1줄 레이아웃, 토글 제거)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:13:58 +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