Commit Graph

360 Commits

Author SHA1 Message Date
김보곤
0d111bc8ba feat:차량일지(운행기록부) 기능 구현
- VehicleLog 모델 생성
- VehicleLogController (CRUD, 엑셀 다운로드)
- 차량일지 라우트 추가 (/finance/vehicle-logs/*)
- React 기반 UI (vehicle-logs.blade.php)
- VehicleLogMenuSeeder (법인차량관리 > 차량일지 메뉴)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 11:32:42 +09:00
3443e57b67 Merge remote-tracking branch 'origin/develop' into develop 2026-02-03 11:23:58 +09:00
430e59b241 feat:문서양식 기본정보 + 결재라인 기능 개선
- 회사명: 생성 시 테넌트 company_name 자동입력
- 분류: select 변경 (수입검사/중간검사/품질검사 + 커스텀)
- 수입검사 → 품목 다중선택 (RM, SM 필터)
- 품질검사 → 공정 선택
- 결재라인 단계명: text → select (작성/검토/승인/참조)
- 작성 단계: (작성자) 표시, user_id=null
- 검토/승인/참조: 테넌트 사용자 검색/선택, user_id 저장
- 공정 검색 API, 테넌트 사용자 검색 API 신규 추가
- ItemApiController에 item_type, ids 파라미터 지원 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 10:33:48 +09:00
5653d2f88e fix:세션 만료 시 자동 재인증 및 UX 개선
- Remember Me 항상 활성화 (로그인 체크박스 제거 → hidden input)
- 419 CSRF 만료 시 자동 페이지 새로고침 처리
- 401 세션 갱신 성공 시 페이지 새로고침으로 CSRF 토큰도 함께 갱신
- 세션 갱신 실패 시 Tailwind 스타일 SweetAlert 팝업 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 10:33:45 +09:00
김보곤
83a438a030 fix:계정과목을 글로벌 데이터로 변경 (테넌트 무관) 2026-02-03 09:56:30 +09:00
김보곤
692be5c51b feat:홈택스 마지막 수집 시간 기록 및 표시 기능
- BarobillMember 모델에 last_sales_fetch_at, last_purchases_fetch_at 추가
- 매출/매입 조회 시 마지막 수집 시간 DB에 저장
- collectStatus API에서 저장된 시간 조회하여 반환
- 조회 성공 후 화면의 마지막 수집 시간 자동 갱신

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:12:42 +09:00
김보곤
f5ec680118 fix:applyMemberServerMode에서 is_active 조건 제거
- 기존: environment + is_active=true 조건으로 config 조회
  → 운영 모드 config의 is_active가 false라 certKey 적용 안됨
- 수정: environment만으로 조회하여 테넌트별 서버 모드 지원
- 운영/테스트 모드 전환 시 올바른 CERTKEY 적용됨
- 4개 컨트롤러 모두 동일 패턴 적용 및 로깅 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:06:02 +09:00
김보곤
0b2b0b20aa fix:바로빌 API 메서드에 테넌트별 서버 모드 적용
- 각 API 메서드(cards, transactions, accounts, issue 등)에서
  테넌트의 server_mode 설정에 따라 SOAP 클라이언트 재초기화
- 기존에는 index()에서만 적용되어 별도 HTTP 요청인 API 호출 시
  기본 설정으로 돌아가는 버그 수정
- EcardController, EaccountController, EtaxController, HometaxController 모두 적용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:00:06 +09:00
김보곤
83b2c1d16c fix:바로빌 컨트롤러 테넌트별 서버 모드 적용
- EtaxController, EaccountController, EcardController, HometaxController에
  테넌트별 서버 모드(server_mode) 적용 로직 추가
- applyMemberServerMode() 메서드로 회원사별 테스트/운영 서버 전환
- 기존 전역 BarobillConfig 대신 BarobillMember.server_mode 우선 적용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 07:53:36 +09:00
김보곤
425e0e79d6 refactor:바로빌 서버 모드를 회원사별 개별 설정으로 변경
기존 전역 세션 기반 서버 모드 → 회원사별 개별 설정 방식으로 변경

주요 변경사항:
- BarobillMember 모델: server_mode 필드 및 accessor 추가
- BarobillService: switchServerMode() 메서드 추가 (동적 서버 전환)
- BarobillMemberController: 회원사별 서버 모드 변경 API 추가
- 회원사 목록 테이블: 서버 모드 컬럼 추가 (클릭 시 변경 모달)
- 서버 변경 확인 모달: 요금 부과 경고 및 동의 체크박스 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 07:48:13 +09:00
김보곤
56aa538b3b feat:바로빌 테스트/운영 서버 선택 기능 추가
- 회원사 관리 페이지에 서버 선택 토글 UI 추가
- 서버 모드 전환 API 추가 (GET/POST /api/admin/barobill/members/server-mode)
- BarobillService에서 세션 기반 서버 모드 읽기 지원
- 선택한 서버 설정이 바로빌 API 호출에 적용됨

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 07:40:35 +09:00
김보곤
f82b34a596 feat:법인차량관리 API 연동 및 CRUD 구현
- CorporateVehicle 모델 추가
- CorporateVehicleController 추가 (목록/등록/수정/삭제)
- 목업 데이터 제거, 실제 DB 연동
- 불필요한 필드(보험만료일, 검사만료일) 제거
- 렌트/리스 차량 전용 필드 지원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:48:01 +09:00
김보곤
2aba74df54 revert:바로빌 카드 체크카드 표시 기능 롤백
재무관리 기능만 유지, 바로빌 관련 변경 취소

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:23:19 +09:00
김보곤
eaf1a2e472 feat:재무 기능 개선 (8가지 요청사항)
- 자금계획일정: 금액 소수점 제거 및 세자리 콤마 표시
- 자금계획일정: 관련계좌 → 출금계좌 명칭 변경
- 협력사관리: 거래처등록 계좌번호 입력란 추가
- 채무관리: 미지급금 등록 메모란 추가
- 환불관리: 환불/해지 수정 메모란 추가 (거절사유 입력용)
- 법인카드관리: 카드 사용현황에 체크카드 표시
- 법인차량관리: 차량등록 구분 추가 (법인/렌트/리스)
- 법인차량관리: 렌트/리스 전용 필드 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:21:40 +09:00
김보곤
26e007c6a0 feat:바로빌 서비스 설정 체크박스 즉시 저장 기능 추가 2026-02-02 20:57:44 +09:00
623d6992f4 feat:검사주기(n/c값) 및 검사기준(standard_criteria) 기능 추가
- 검사주기 입력을 n값, c값, 텍스트 3개로 분리
- standard_criteria JSON으로 구조화된 비교기준 저장 (min/max + 이상/초과/이하/미만)
- 미리보기 측정치 셀 수를 frequency_n 기반 동적 렌더링
- 그룹 항목 미리보기에서 측정치/검사방식/주기/판정 행별 개별 표시
- ID 비교 === → == 수정 (문자열/숫자 타입 불일치 버그)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:37:06 +09:00
김보곤
b93ceaadd0 feat:수당 날짜 기록/수정/삭제 기능 추가 2026-02-02 20:16:13 +09:00
김보곤
a5c5d8c1c9 feat:영업파트너 고객관리에 수당 지급 현황 컬럼 추가
- 1차 납입완료, 1차 수당지급 컬럼 추가
- 2차 납입완료, 2차 수당지급 컬럼 추가
- 매니저 수당지급 컬럼 추가
- 컨트롤러에서 commission 정보 로드

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:09:15 +09:00
202183d621 fix:미리보기 테이블 렌더링 개선 - 그룹항목 rowspan, 측정치 colspan 설정별 적용, 테넌트 필터 수정
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 18:04:37 +09:00
김보곤
6b966725be debug:매니저 검색 SQL 디버깅 로그 추가 2026-02-02 17:47:36 +09:00
김보곤
9dd5cda345 refactor:매니저 검색 디버그 로깅 코드 제거
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 17:33:19 +09:00
김보곤
92640e9237 debug:매니저 검색 로그 추가 (임시) 2026-02-02 17:28:04 +09:00
김보곤
b6daff8c6e fix:상담매니저 검색 시 tenant_id 조건 제거
- 파트너 관리 페이지와 동일한 방식으로 역할 확인
- userRoles.role 관계를 통해 manager 역할 검색
- 영업파트너가 누구든 상담매니저 역할을 가진 모든 사용자 검색 가능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 17:20:02 +09:00
김보곤
646cd7d6ef feat:인계 완료 항목 영업/매니저 기록 조회 기능 추가
- 인계 완료 섹션에 영업/매니저 기록 조회 버튼 추가
- readonly 모드로 열어 수정 불가, 조회만 가능
- prospectManagerScenario에 readonly 파라미터 지원 추가
- 단계 이동 시 readonly 파라미터 유지
- 마지막 단계 버튼 텍스트 조건부 표시 (완료/닫기)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 17:15:19 +09:00
김보곤
87e3e9d75a feat:상담매니저 선택 UI 실시간 검색으로 개선
- 드롭다운 선택 방식에서 실시간 검색 UI로 변경
- getAllManagerUsers() 메서드 추가 (manager 역할 사용자 조회)
- searchManagers() API 추가 (이름/이메일 검색)
- 자신이 유치한 파트너뿐만 아니라 모든 상담매니저 역할 사용자 선택 가능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 17:08:24 +09:00
김보곤
8303f6fd40 fix:영업권 삭제 권한을 admin으로 제한
- 뷰에서 삭제 버튼 admin만 표시
- 컨트롤러에서 삭제 권한 체크 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 16:58:30 +09:00
김보곤
ced9110f3b refactor:영업파트너 역할 2개로 단순화 (recruiter 제거)
- 역할: sales(영업파트너), manager(상담매니저) 2개만 유지
- recruiter(유치담당) 역할 완전 제거
- 역할 레이블 변경: 영업→영업파트너, 매니저→상담매니저
- 통계, 필터, 역할관리 UI 모두 업데이트

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 16:43:02 +09:00
0ec0f8071b feat:검사기준서 탭 개선 - 공차/범위, 검사방식 드롭다운, 측정유형 추가
- 검사기준서 테이블 7컬럼→9컬럼 (공차/범위, 검사방식, 측정유형)
- 검사방식 select: common_codes inspection_method 그룹에서 동적 로드
- 검사방식 변경 시 측정유형 자동매핑 (수동 변경 가능)
- saveRelations, duplicate, prepareTemplateData에 새 필드 반영
- 공통코드 JSON API 엔드포인트 추가 (/api/admin/common-codes/{group})

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 16:29:45 +09:00
김보곤
e67a0c969b fix:SalesScenarioChecklist use 문 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 15:13:35 +09:00
김보곤
0dd50d6b36 fix:매니저 참여 건 조회에 tenant 기반도 포함
- getManagerOnlyProspects에서 tenant_id만 있는 경우도 조회
- prospect 기반과 tenant 기반 구분하여 UI 표시
- tenant 기반은 "계약 고객" 배지와 계약 완료 상태 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 15:09:28 +09:00
김보곤
d472d10439 feat:매니저 대시보드에 매니저 참여 건 섹션 추가
- 내 활동 탭에 "매니저로 참여 중인 건" 섹션 추가
- 영업 시나리오: 읽기 전용 모드(참조용) 지원
- 매니저 시나리오: 체크 가능
- 시나리오 모달에 readonly 파라미터 처리
- 읽기 전용 시 체크박스 비활성화 및 "참조용" 배지 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 15:03:00 +09:00
김보곤
7e47f086e9 fix:tenant 기반 매니저 지정도 유치 파트너 현황에 표시
- prospect_id가 NULL이고 tenant_id만 있는 매니저 지정도 조회
- type 필드로 prospect/tenant 기반 구분
- tenant 기반은 "계약 고객" 배지로 표시
- 진행률 대신 계약 완료 상태 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 14:46:53 +09:00
김보곤
1c02874982 feat:유치 파트너 현황에 매니저 진행 건 표시
- 파트너가 매니저로 지정된 가망고객 조회 로직 추가
- 파트너 헤더에 매니저 진행 건수 표시
- 펼침 영역에 "매니저로 진행 중" 섹션 추가
- 등록 영업권이 없어도 매니저 진행 건이 있으면 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 14:42:05 +09:00
김보곤
27572611f9 feat:유치 파트너 현황에 매니저 참여 건 표시
- 다른 영업파트너가 등록하고 내가 매니저로 지정된 건 조회
- '매니저로 참여 중인 건' 섹션 추가
- 매니저만 진행 배지 표시
- 영업 진행률은 흐리게, 매니저 진행률만 강조

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 14:36:24 +09:00
김보곤
3688e76bb8 feat:영업파트너 고객관리 페이지 내부 새로고침 기능 추가
- 헤더에 새로고침 버튼 추가
- HTMX로 콘텐츠 영역만 새로고침 (페이지 전체 리로드 없음)
- 컨트롤러에 refresh 메서드 및 getIndexData 공통 메서드 추가
- content.blade.php partial 분리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:59:58 +09:00
김보곤
3bd5550bb1 feat:영업/매니저 시나리오 100% 완료 시 계약완료 자동 전환
- SalesScenarioChecklist에 checkAndConvertProspectStatus() 메서드 추가
- toggleByProspect()에서 체크 완료 시 자동 전환 로직 호출
- AdminProspectController에서 목록 조회 시 기존 100% 데이터 자동 전환
- API 응답에 상태 변경 정보 포함

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:46:53 +09:00
김보곤
2f02390262 feat:영업파트너 고객관리 개발 상태 변경 기능 추가
- 8단계 개발 상태(HQ Status) 드롭다운 추가
- updateHqStatus API 엔드포인트 및 컨트롤러 메서드 추가
- JavaScript AJAX 함수로 상태 변경 처리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:03:08 +09:00
김보곤
3384214db3 fix:AdminProspectController Laravel 12 호환성 수정
- 컨트롤러 생성자에서 middleware() 호출 제거
- checkAdminAccess() 메서드로 권한 체크

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 11:57:31 +09:00
김보곤
11bacef55c feat:영업파트너 고객관리 메뉴 추가 (관리자 전용)
- AdminProspectController 생성 (관리자/슈퍼관리자만 접근)
- 전체 영업파트너의 고객 현황을 한눈에 파악
- 영업파트너별 필터, 상태별 필터 제공
- 영업/매니저 진행률 및 개발 상태 표시
- 상세 모달에서 담당자 정보 및 진행 현황 확인
- AdminProspectMenuSeeder 생성 (메뉴 추가용)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 11:54:37 +09:00
김보곤
3bded18129 feat:가망고객에 매니저 지정 기능 추가 및 수당 구조 변경
- 영업 진행중(가망고객)에도 매니저 드롭다운 추가
- 가망고객용 assign-manager API 라우트 추가
- 매니저 수당: 5% → 1개월 구독료 (고정 금액)
- 역할별 수당 표시에서 관리자 "1개월 구독료" 라벨 추가
- 유치 파트너 현황 예상 수당도 구독료 기준으로 변경

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 11:45:57 +09:00
김보곤
a03c01f97a fix:유치 파트너 현황 총 계약 건수를 가입비 기준으로 계산
- 계약 성사(STATUS_CONVERTED) 기준 대신 가입비(registration_fee > 0) 기준으로 변경
- 예상 수당이 표시되면 총 계약 건수도 함께 표시되도록 수정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 11:29:02 +09:00
김보곤
3ab9d20376 feat:유치 파트너 예상수당 계산 개선
- 가입비 설정 시: 가입비 × 5% 예상수당 표시
- 가입비 미설정 시: "계약전" 표시
- 요약 통계 및 파트너별 예상수당 모두 적용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 09:49:28 +09:00
김보곤
c75fddd18c fix:내 계약 현황에서 하위 파트너 등록 건 제외
- 내 활동 탭: 본인이 직접 등록한 건만 표시
- 하위 파트너 등록 건은 유치 파트너 현황 탭에서만 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 09:45:18 +09:00
김보곤
7b069d6197 fix:영업파트너 삭제 권한 체크 추가 - 최고관리자만 삭제 가능
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 09:21:37 +09:00
4b13786075 Merge remote-tracking branch 'origin/develop' into develop 2026-02-01 20:37:47 +09:00
5e193e9f8e feat:성적서 인쇄뷰 + 문서 편집 버그 수정
- 성적서 인쇄뷰(print.blade.php) 추가: 동적 검사 테이블 렌더링
- DocumentController: print() 메서드, create/edit HTMX HX-Redirect 추가
- 기본필드 field_key: Str::slug→bf_{id} (한글 빈문자열 버그 수정)
- show.blade.php: 성적서 버튼 추가
- 양식 편집 UI 개선 + 복제 기능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 20:37:01 +09:00
김보곤
0e4c6da5b1 feat:유치 파트너 현황 UI/UX 개선
- 파트너별 카드 레이아웃으로 변경
- 클릭 시 가망고객 목록 펼침
- 각 가망고객의 영업/매니저 진행률 프로그레스 바 표시
- 개발 진행 상태 8단계 표시 (100% 완료 시)
- 인계 완료 목록 별도 섹션으로 구분

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:41:42 +09:00
김보곤
9221752265 feat:인계 완료 목록을 내 계약 현황에 표시
- 인계 완료된 가망고객을 별도 섹션으로 표시
- 완료된 계약의 가입비, 월 구독료, 예상 수당 표시
- 인계일 표시로 히스토리 관리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:32:49 +09:00
김보곤
8c9df47932 fix:prospect_id를 tenant_prospect_id로 수정 2026-01-31 21:29:37 +09:00
김보곤
820171df61 feat:인계 완료 시 수당 및 통계 자동 계산
- hq_status가 handover인 경우 계약 금액 기반 수당 계산
- 판매자 수당: 가입비 × 10% (기준금액 50% × 20%)
- 관리자 수당: 가입비 × 2.5% (기준금액 50% × 5%)
- 관리 테넌트 수에 인계 완료 가망고객 포함
- 총 가입비, 확정 수당 통계에 반영

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:28:28 +09:00