Commit Graph

528 Commits

Author SHA1 Message Date
김보곤
0657932bbd feat:거래처 관리 목업 데이터를 실제 DB CRUD로 전환
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 22:13:31 +09:00
b041d9d722 Merge remote-tracking branch 'origin/develop' into develop 2026-02-04 20:26:01 +09:00
김보곤
f6f3c4bc45 fix:카드 사용내역 공제/불공제 통계를 전체 페이지 기준으로 계산
- 백엔드에서 페이지네이션 전 전체 데이터로 공제/불공제/부가세 통계 산출
- parseTransactionLogs에 deductibleAmount/Count, nonDeductibleAmount/Count, totalTax 추가
- getAllCardsTransactions summary에 공제/불공제 통계 포함
- 프론트엔드에서 logs 기반 계산 제거, summary 데이터 사용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 19:27:36 +09:00
김보곤
90e8b3ea76 feat:전자세금계산서 품목별 거래일자(월/일) 입력 기능 추가
- 품목 데이터 구조에 month, day 필드 추가
- 품목 테이블에 월/일 입력 컬럼 추가
- 바로빌 API PurchaseExpiry 필드에 YYYYMMDD 형식 거래일자 전달
- 상세 모달에 월/일 표시 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 18:02:20 +09:00
김보곤
1519673b34 feat:영업파트너 고객관리 진행완료 필터 및 날짜입력 비활성화
- 진행완료(두 시나리오 모두 100%) 필터 버튼 추가 (보라색)
- 진행률 미달 시 수당 날짜 input 5개 disabled 처리
- 통계에 progress_complete 건수 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 16:24:00 +09:00
김보곤
ec9d80e3dc fix:납입대기를 입금대기로 용어 수정
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 13:38:18 +09:00
김보곤
be28b76872 fix:테넌트 자동선택 개선 - 전체 보기 제거, HQ 테넌트 자동선택
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 13:13:17 +09:00
김보곤
95df5cb669 feat:전자세금계산서 공급자 기초정보 설정 모달 구현
- EtaxController에 getSupplier/updateSupplier 메서드 추가
- etax 라우트 그룹에 GET/POST /supplier 라우트 추가
- SupplierSettingsModal React 컴포넌트 구현 (톱니바퀴 아이콘)
- IssueForm이 supplier state를 props로 참조하도록 변경
- manager_phone → manager_hp 필드명 버그 수정
- FIXED_SUPPLIER → INITIAL_SUPPLIER 상수 리네이밍

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 11:22:20 +09:00
김보곤
72c18269c9 feat:유치 파트너 현황 1차/2차 수당 지급 현황 테이블 추가
- 컨트롤러에 매니저 수당 1차/2차 분할 데이터 추가
- 요약 카드를 5개 카드 + 1차/2차 테이블로 개선
- 내 활동 탭과 동일한 UI 패턴 적용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 09:39:28 +09:00
김보곤
9f4d899361 feat:매니저 지정 시 동적 UI 업데이트 구현
- 가망고객 행을 별도 partial(prospect-row.blade.php)로 분리
- 매니저 드롭다운에서 선택 시 HTMX로 해당 행만 새로고침
- 컨트롤러에 getProspectRow 메서드 추가
- 라우트 추가: salesmanagement/dashboard/prospect/{id}/row

이제 매니저 지정 후 새로고침 없이 화면이 동적으로 업데이트됩니다.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 09:26:18 +09:00
김보곤
01b92edaaa fix:영업 대시보드 역할별 수당 금액 불일치 수정
역할별 수당 상세 모달에서 판매자 수당과 예상 수당 합계가
일치하지 않던 문제를 수정했습니다.

- 기존: 판매자 수당이 SalesCommission 테이블 기준으로 계산
- 변경: 예상 수당(개발 진행 중 + 인계 완료 미지급) 기준으로 표시
- 1차/2차 수당 합계와 역할별 수당 합계가 일치하도록 수정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 09:19:15 +09:00
cb097ad523 feat:검사 기준서 동적화 + 소스 테이블 통합 검색
- 동적 필드/연결 모델 추가 (SectionField, Link, LinkValue, Preset)
- 통합 검색 API (SourceTableSearchController) - items/processes/lots/users
- 템플릿 편집 UI: 소스 테이블 드롭다운 + datalist 검색/선택
- 문서 작성/인쇄/상세 뷰: getFieldValue() 기반 동적 렌더링
- DocumentTemplateApiController: source_table 기반 저장/복제
- DocumentController: sectionFields/links eager loading 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 08:38:00 +09:00
김보곤
7ee27d7c2a feat:차량일지 기능 구현
- VehicleLogController: CRUD 및 통계 API 추가
- VehicleLog 모델: 구분/분류 코드 정의 추가
- vehicle-logs.blade.php: React 기반 운행기록부 UI
- routes/web.php: vehicles, summary 엔드포인트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 20:01:51 +09:00
김보곤
fe15cecbdb feat:차량정비이력 실제 DB 연동 구현 2026-02-03 19:56:44 +09:00
김보곤
ac66e36294 feat:홈택스 세금계산서 로컬 저장 및 동기화 기능 구현
- HometaxInvoice 모델 생성 (로컬 DB 조회/저장)
- HometaxSyncService 서비스 생성 (API 데이터 동기화)
- HometaxController에 로컬 조회/동기화 메서드 추가
- 라우트 추가: local-sales, local-purchases, sync, update-memo, toggle-checked
- UI: 데이터소스 선택 (로컬 DB/바로빌 API), 동기화 버튼 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 17:13:18 +09:00
김보곤
5f7a323839 feat:홈택스 검색 UI 바로빌 스타일로 개선
- 작성일자/발급일자 선택 드롭다운 추가
- 분기(1~4분기), 반기(1기/2기), 1년 버튼 추가
- 거래처 검색 필드 추가 (사업자번호/사업자명)
- 컨트롤러 dateType 파라미터 지원 (1:작성일자, 2:발급일자, 3:전송일자)
- 한국 시간대(Asia/Seoul) 기준 날짜 계산

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 16:49:23 +09:00
김보곤
5a7bfc2f46 fix:지급대상 개발비 계산 및 명칭 변경
- "총 개발비" → "지급대상 개발비"로 명칭 변경
- 지급대상 개발비 = 개발 진행 중 + 인계완료 중 지급 미완료
- 지급 완료된 건의 개발비는 제외
- $stats['target_development_fee'] 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 16:31:07 +09:00
김보곤
12c6175470 refactor:용어 변경 - 가입비 → 개발비
영업 관련 코드 및 문서 전체에서 "가입비"를 "개발비"로 변경
- 컨트롤러, 서비스, 모델
- 뷰 템플릿 (blade 파일)
- 가이드북 문서 (마크다운)
- 설정 파일

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 16:20:09 +09:00
김보곤
4c5a80b456 fix:예상 수당 계산 로직 개선
- 개발 진행 중인 건 (hq_status가 review~int_test)의 예상 수당 포함
- 인계 완료 중 지급 미완료 건의 예상 수당 포함
- 지급 완료된 금액은 예상 수당에서 제외
- calculateExpectedCommissionSummary() 메서드 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 16:17:39 +09:00
김보곤
95eaff1c39 fix:수당 없어도 1차/2차 수당현황 UI 표시
- calculateCommissionSummaryFromCollection()에서 빈 배열 체크 제거
- 수당 레코드가 없어도 0원으로 UI 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 14:50:05 +09:00
김보곤
f66a111335 fix:영업대시보드 1차/2차 수당현황 데이터 전달 수정
- getDashboardData()에서 직접 commissionSummary 계산
- calculateCommissionSummaryFromCollection() 메서드 추가
- calculateStageCommissionFromCollection() 메서드 추가
- index()에서 commissionSummary 덮어쓰기 방지

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 14:44:09 +09:00
0f02acf39d Merge remote-tracking branch 'origin/develop' into develop 2026-02-03 14:10:36 +09:00
5dd580623e feat:통계 대시보드 페이지 신규 구현 (/stats/dashboard)
- 모델 7개: StatSalesDaily, StatFinanceDaily, StatProductionDaily,
  StatInventoryDaily, StatSystemDaily, StatSalesMonthly, StatFinanceMonthly
- DashboardStatService: 요약카드, 7일 추이차트, 알림, 월간요약 데이터
- StatDashboardController: HX-Redirect 패턴 적용
- 뷰: 요약카드 6개 + Chart.js 4개 차트 + 알림/월간요약 하단섹션
- 기존 대시보드 "통계 및 리포트" 바로가기 링크 연결
- 헤더 테넌트 선택 기준 전체/개별 테넌트 필터링 지원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 14:03:58 +09:00
김보곤
35a205c48f fix:차량일지 목록 정렬 순서를 일자 내림차순으로 변경 2026-02-03 13:38:55 +09:00
김보곤
35d0260732 feat:차량일지 구분 유형 확장 및 라벨 수정
- 구분 유형 추가: 출퇴근용(왕복), 업무용(왕복), 비업무용(왕복)
- 비업무 라벨을 '비업무용(개인)'으로 변경
- 출발지/도착지 장소명 라벨 수정 (장소명 → 출발지명/도착지명)
- 새 유형별 색상 추가

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-03 13:27:56 +09:00
김보곤
cf37e29659 fix:차량일지 기간 선택 UI 개선 (시작일~종료일, 이번달/지난달 버튼, 조회건수) 2026-02-03 12:33:14 +09:00
김보곤
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