Commit Graph

199 Commits

Author SHA1 Message Date
pro
6b7b339d66 feat:영업관리 대시보드 수익 및 테넌트 관리 섹션 추가
- tenantStats 데이터 추가 (관리 테넌트, 총 가입비 실적, 누적 가입비 수당, 확정 가입비 수당)
- 실적 데이터 없음 안내 섹션 추가
- 수익 및 테넌트 관리 통계 카드 4개 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 19:14:29 +09:00
pro
7fbd04f4ee fix:영업관리 대시보드 기간 설정 기능 추가 2026-01-27 19:06:36 +09:00
pro
d1fb001e28 feat:영업관리 대시보드 화면 추가
- SalesDashboardController 생성
- 대시보드 뷰 생성 (/sales/salesmanagement/dashboard)
- 전체 누적 실적, 기간별 조회, 역할별 수당 상세 섹션

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 18:59:45 +09:00
pro
20d1266953 merge: 원격 변경사항 병합 (MngMenuSeeder 삭제 수락) 2026-01-27 16:56:28 +09:00
pro
331253a5f7 feat:이메일 및 아이디 로그인 지원
- 이메일 또는 아이디로 로그인 가능
- 아이디 로그인은 본사(HQ) 소속 직원만 허용
- LoginRequest에 isEmail(), getLoginField(), getCredentials() 메서드 추가
- AuthService.login()에 loginField 파라미터 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 16:49:15 +09:00
pro
d036be1ec3 feat:바로빌 과금 정책 DB 관리 기능 추가
- BarobillPricingPolicy 모델 추가
- BarobillPricingPolicySeeder 추가 (초기 정책 데이터)
- 과금관리 페이지에 정책 관리 탭 추가 (본사 전용)
- 정책 수정 모달 및 API 엔드포인트 추가
- BarobillUsageService에서 DB 정책 사용하도록 수정

정책 항목:
- 법인카드 등록: 기본 3장, 추가 1장당 5,000원
- 계산서 발행: 기본 100건, 추가 50건당 5,000원
- 계좌조회 수집: 기본 1계좌, 추가 1계좌당 10,000원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 15:17:25 +09:00
pro
39161d1203 feat:바로빌 과금관리 시스템 구현
- 모델: BarobillSubscription, BarobillBillingRecord, BarobillMonthlySummary
- 서비스: BarobillBillingService (구독/과금 처리 로직)
- API 컨트롤러: BarobillBillingController (구독/과금 CRUD)
- 뷰: 과금 현황 탭, 구독 관리 탭, 통계 카드, 상세 모달
- 라우트: 웹/API 라우트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 15:03:44 +09:00
pro
aadd6d5e07 feat:사용량조회 화면에 테넌트 요약 카드 추가
- 바로빌 설정 화면과 동일한 스타일의 보라색 그라데이션 카드
- 테넌트 ID, 회사명, 사업자번호, 대표자, 담당자, 바로빌 ID 표시
- 파트너사(테넌트 1) 배지 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 14:25:05 +09:00
pro
a759001670 feat:바로빌 사용량조회 화면 구현
- BarobillUsageService: 사용량 집계 로직 (계좌/카드/세금계산서/홈텍스)
- BarobillUsageController: API 엔드포인트 (목록/통계/상세/엑셀)
- HTMX 기반 UI: 기간필터, 통계카드, 테이블, 상세모달
- 서비스별 단가 적용 (세금계산서 100원, 그 외 10원)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 14:21:38 +09:00
3f320bbc90 feat:문서양식관리 기능 추가 및 권한 토글 개선
- 문서양식관리 CRUD 기능 구현 (생산관리 > 문서양식관리)
- 결재라인, 섹션, 컬럼 동적 관리 (Vanilla JS)
- 섹션별 이미지 업로드 기능
- SortableJS 드래그앤드롭 순서 변경
- 문서 미리보기 모달
- document_type 글로벌 코드 추가 (품질, 생산, 영업, 구매, 일반, 기타)
- 역할/부서 권한 토글 시 페이지 새로고침 방지 (hx-swap="none")

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 11:31:02 +09:00
pro
542506a89e fix:HometaxController 진단에서 GetLoginURL을 GetBalanceCostAmount로 교체
- GetLoginURL은 CORPSTATE.asmx 서비스 메서드라 TI.asmx에서 호출 불가
- 잔액 조회(GetBalanceCostAmount)로 기본 연결 및 인증 테스트

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 21:57:06 +09:00
831cdb8332 feat:공통코드 글로벌→테넌트 체크박스 선택 및 일괄 복사 기능 2026-01-26 20:52:44 +09:00
pro
752afa7ca9 Merge branch 'develop' of http://114.203.209.83:3000/SamProject/sam-manage into develop 2026-01-26 20:26:50 +09:00
pro
c2f798e457 fix:EtaxController SoapClient SSL 컨텍스트 및 캐시 설정 추가
- SSL verify_peer, verify_peer_name 비활성화
- WSDL 캐시 비활성화 (WSDL_CACHE_NONE)
- 오류 -11102 "CERTKEY가 유효하지 않습니다" 해결

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 20:21:21 +09:00
pro
b57c6a14ba fix:HometaxController SoapClient 방식으로 변경 (HTTP 방식 인증 문제 해결) 2026-01-26 20:18:22 +09:00
f06ea8cc7e feat:테넌트설정, 공통코드관리, 메뉴동기화 기능 추가
- 테넌트 설정 페이지 (재고관리 품목유형 등)
- 공통코드 관리 페이지 (글로벌/테넌트별 코드 관리)
- 메뉴 동기화 기능 (로컬↔개발↔운영 환경간 메뉴 Push/Pull)
2026-01-26 20:16:05 +09:00
347d5c4586 Merge remote-tracking branch 'origin/develop' into develop 2026-01-26 13:04:07 +09:00
0eee22e0f5 feat:감사 로그 뷰어 추가 (시스템 설정 > 감사 로그)
- AuditLogController: 목록/상세 조회, 필터링(액션/테넌트/날짜/검색)
- AuditLog 모델: 재고 변동 액션 및 참조 타입 상수 정의
- Blade 뷰: 통계 카드, 필터, 아코디언(Before/After JSON), 상세 페이지
- 메뉴 DB 등록: 시스템 설정 하위에 감사 로그, 삭제된 데이터 백업 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 12:41:00 +09:00
pro
d39028d92a feat:영업관리 모듈 (salesmanagement) Laravel 마이그레이션
레거시 sales 시스템에서 MNG로 마이그레이션:
- 마이그레이션: sales_managers, sales_prospects, sales_records 등 6개 테이블
- 모델: SalesManager, SalesProspect, SalesRecord 등 6개 모델
- 컨트롤러: SalesManagerController, SalesProspectController, SalesRecordController
- 뷰: managers, prospects, records CRUD 화면
- 라우트: /sales/* 경로 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 11:09:42 +09:00
pro
1ecb71c24d fix:홈택스 API 에러 코드 -26012 메시지 추가
- 홈택스 스크래핑 서비스 미신청 에러 메시지 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:58:56 +09:00
pro
4b05c6f627 fix:홈택스 페이지에 테넌트 ID 명확히 표시
- 테넌트 ID를 항상 표시 (currentTenant가 없어도)
- 배지 크기 및 스타일 개선
- 테넌트 정보 없을 때 안내 메시지 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:40:57 +09:00
pro
55a6e81528 fix:홈택스 API CorpNum을 파트너사 사업자번호로 복원
- CorpNum은 파트너사 인증용 (CERTKEY와 매칭)
- UserID만 테넌트별 바로빌 ID 사용
- 카드 API와 동일한 구조로 통일

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:23:25 +09:00
pro
338ccdb680 fix:홈택스 API 호출 시 테넌트 사업자번호 사용
- CorpNum을 파트너사 사업자번호 대신 테넌트 사업자번호로 변경
- 바로빌 회원사 정보 없을 때 명확한 에러 메시지 반환
- 에러 메시지 개선 (-10008, -60001 등)
- 진단 기능에서 파트너사/테넌트 사업자번호 구분 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:16:20 +09:00
pro
fecd01e917 feat:홈택스 API 진단 및 스크래핑 기능 추가
- HometaxController에 서비스 진단 메소드 추가 (diagnose)
- 홈택스 스크래핑 URL 조회 메소드 추가 (getScrapRequestUrl)
- 홈택스 스크래핑 갱신 요청 메소드 추가 (refreshScrap)
- 뷰에 서비스 진단 모달 UI 추가
- 라우트: scrap-url, refresh-scrap, diagnose 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 18:03:41 +09:00
pro
f632d5b9b4 debug:SOAP 요청 파라미터 로깅 추가 2026-01-23 17:43:16 +09:00
pro
1cabec2366 fix:에러 코드 -10008, -11010 메시지 추가 2026-01-23 17:41:28 +09:00
pro
921a41107a fix:에러 코드 -24005, -24006 메시지 추가 2026-01-23 17:36:24 +09:00
pro
7fe2849c3f fix:SOAP 네임스페이스 및 SOAPAction URL 수정
- SOAPAction: http://ws.baroservice.com/ 사용
- XML 네임스페이스: http://ws.baroservice.com/ 사용
2026-01-23 17:35:41 +09:00
pro
bd45eb52a2 fix:GetPeriodTaxInvoiceSalesList/PurchaseList 메서드 사용
- TaxType, DateType 필수 파라미터 추가
- SimpleTaxInvoiceEx 응답 구조에 맞게 파싱 수정
- AmountTotal, TaxTotal, TotalAmount 필드 사용
- 과세유형/영수청구 코드 정수형 처리 추가
2026-01-23 17:33:26 +09:00
pro
5ccb31a99c fix:SoapClient 대신 HTTP 직접 요청 방식으로 변경
- Laravel Http 파사드로 SOAP 요청 전송
- buildSoapRequest()로 XML 요청 생성
- parseSoapResponse()로 응답 XML 파싱
- SOAP 인코딩 오류 우회
2026-01-23 17:28:38 +09:00
pro
b480f8e406 fix:SOAP 인코딩 오류 시 Raw XML 파싱 fallback 추가
- callSoap에서 Encoding 오류 감지 시 parseRawXmlResponse 호출
- __getLastResponse()로 Raw XML 가져와 SimpleXML 파싱
- xmlToObject 헬퍼로 stdClass 변환
2026-01-23 17:26:32 +09:00
pro
05d2114726 fix:SOAP 객체 속성 안전 접근 헬퍼 추가
- getProperty() 헬퍼로 property_exists 체크
- TaxType/TaxKind 등 필드명 fallback 처리
- WriteDate/IssueDate 대체 필드 지원
2026-01-23 17:23:51 +09:00
pro
57180c2de2 fix:홈택스 SOAP 메서드명 수정 (TI.asmx 호환)
- GetHomeTaxTIBySalesEx → GetTaxInvoiceSalesListEx
- GetHomeTaxTIByPurchaseEx → GetTaxInvoicePurchaseListEx
- parseInvoices() 응답 구조 수정
- 홈택스 수집 기능 별도 구독 필요 안내 추가
2026-01-23 17:19:40 +09:00
pro
a61133375c fix:홈택스 API SOAP URL 수정 (TI.asmx 사용)
- HOMETAX.asmx는 존재하지 않음 (404)
- 홈택스 API는 TI.asmx (세금계산서 서비스)에 포함됨

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:15:51 +09:00
pro
cd913bf173 feat:홈택스 매입/매출 조회 기능 구현
- HometaxController 생성 (HOMETAX.asmx SOAP API 연동)
- 매출 세금계산서 목록 조회 (GetHomeTaxTIBySalesEx)
- 매입 세금계산서 목록 조회 (GetHomeTaxTIByPurchaseEx)
- 홈택스 수집 요청 및 상태 조회 기능
- React 기반 UI (매출/매입 탭 전환, 통계 대시보드)
- CSV 엑셀 다운로드 기능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:12:03 +09:00
pro
a2ec79943e fix:카드 사용내역 승인/취소 통계 오류 수정
- API에서 ApprovalType이 "승인"/"취소" 한글 텍스트로 반환되는 문제 해결
- 기존: '1', '0', '' 만 승인으로 처리 (한글 "승인" 누락)
- 수정: '2', '취소'가 아닌 경우 모두 승인으로 처리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:23:37 +09:00
pro
86994e10eb fix:ApprovalType 판단 로직 개선
- 빈값(''), '0', '1' 모두 승인으로 처리
- '2'만 취소로 처리
- 통계 및 표시 모두 동일한 isApproval 변수 사용
- 디버깅 로그에 amount 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:18:41 +09:00
pro
b567226ba2 fix:카드 사용내역 통계 ApprovalType 비교 오류 수정
- ApprovalType을 문자열로 캐스팅하여 비교
- 숫자(1)와 문자열('1') 비교 불일치 문제 해결
- 디버깅용 로그 추가 (첫 번째 로그의 ApprovalType 값 확인)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:16:40 +09:00
pro
b934bc2e12 fix:엑셀 내보내기를 현재 화면 데이터 기반으로 변경
- GET → POST 방식으로 변경
- 저장된 DB 데이터 대신 현재 화면에 표시된 데이터 내보내기
- 프론트엔드에서 logs, splits 데이터를 JSON으로 전송
- Blob 다운로드 방식으로 파일 저장
- 금액 필드에 콤마 포맷팅 적용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:13:16 +09:00
pro
c8a8708131 feat:엑셀 내보내기에 분개 데이터 포함
- CSV 헤더에 공제여부, 증빙/판매자상호, 내역, 메모 열 추가
- 구분 열 추가: 일반/원본/분개 구분 표시
- 분개된 거래: 원본 행 + 각 분개 행으로 출력
- 분개 행: └ 분개 #N 형식으로 표시
- 분개별 공제여부, 금액, 계정과목 개별 출력

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:07:30 +09:00
pro
7ad8b00a47 feat:카드 사용내역 공제/증빙/내역 필드 수정 기능 추가
- 공제 필드: 공제/불공 선택 가능 (불공은 적색 표시)
- 증빙/판매자상호 필드: 텍스트 입력으로 수정 가능
- 내역 필드: 텍스트 입력으로 수정 가능
- CardTransaction 모델에 deduction_type, evidence_name, description 필드 추가
- 마이그레이션 추가
- 컨트롤러에서 새 필드 저장/로드 처리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:16:17 +09:00
pro
d868e8d0e9 feat:카드 사용내역 분개 기능 추가
- CardTransactionSplit 모델 및 마이그레이션 추가
- EcardController에 splits, saveSplits, deleteSplits API 추가
- 분개 라우트 추가 (GET/POST/DELETE /barobill/ecard/splits)
- 프론트엔드 SplitModal 컴포넌트 추가
- 각 거래 행에 +/- 버튼으로 분개 추가/삭제
- 분개 행 시각적 구분 (들여쓰기, 배경색)
- 분개 금액 합계 검증
- 고유키(cardNum|useDt|approvalNum|amount)로 원본 데이터 연결

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 14:08:44 +09:00
pro
4167fe1c8d fix:isset() 표현식 오류 수정
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 13:47:05 +09:00
pro
a8e81354fc debug:카드 사용내역 조회 디버그 로그 추가
- API 호출 파라미터 로깅
- SOAP 응답 데이터 구조 로깅
- 에러 코드 및 파싱 결과 로깅

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 13:39:38 +09:00
pro
0d724df48e fix:카드 사용내역 응답 파싱 프로퍼티명 수정
- CardApprovalLogList → CardLogList (레거시와 동일)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 13:12:31 +09:00
pro
90042f3781 fix:카드 사용내역 에러 코드 수정 (-25xxx → -24xxx)
- 레거시와 동일한 에러 코드 사용
- -24005: 조회 데이터 없음
- -24001: 등록된 카드 없음

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 13:12:07 +09:00
pro
2c1b97c20a fix:카드 목록 조회 API GetCardEx → GetCardEx2 변경
- GetCardEx2 사용으로 레거시 코드와 동일하게 수정
- CardEx 배열 파싱 로직 수정
- 카드 상태 이름 변환 함수 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:53:41 +09:00
pro
7ae66ae7ac feat:카드 사용내역 메뉴 추가 (바로빌 API 연동)
- EcardController: 카드 목록/사용내역 조회, 계정과목 저장, 엑셀 내보내기
- CardTransaction 모델: 카드 사용내역 저장 및 고유키 매칭
- 마이그레이션: barobill_card_transactions 테이블 생성
- React 기반 UI: 카드 선택, 기간 조회, 계정과목 검색/선택 기능
- MngMenuSeeder 메뉴 URL 업데이트

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:46:31 +09:00
pro
453d689ab0 feat:계정과목 설정 기능 추가 (더존 표준 계정과목)
- account_codes 테이블 및 모델 생성
- 더존 표준 계정과목 163개 시더 추가
- 계정과목 CRUD API 추가 (추가/수정/삭제/조회)
- 계정과목 설정 모달 UI 구현
- 분류별 필터링 및 검색 기능
- 사용/미사용 토글 기능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:31:10 +09:00
pro
f05ab4413a feat:입출금내역 취급점 열 추가 및 상대계좌예금주명 직접입력
- 취급점(수단) 열 추가 (바로빌 transOffice 필드)
- 상대계좌예금주명 직접 입력 가능하도록 input 필드로 변경
- 저장된 상대계좌예금주명 값 로드 시 병합
- 엑셀 내보내기에 취급점 열 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:20:07 +09:00