diff options
| author | joonhoekim <26rote@gmail.com> | 2025-07-15 06:34:09 +0000 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-07-15 06:34:09 +0000 |
| commit | 660c7888d885badab7af3e96f9c16bd0172ad0f1 (patch) | |
| tree | fc09add76987ebed72e451ad20c0954e4ec7a61f /lib/vendor-document-list/ship | |
| parent | 0f96e213037141808c9a6236691d0436fc79a66f (diff) | |
(김준회) 돌체 Send to SHI 버튼 활성화를 위한 환경변수 추가 & 오류 수정
Diffstat (limited to 'lib/vendor-document-list/ship')
| -rw-r--r-- | lib/vendor-document-list/ship/enhanced-doc-table-toolbar-actions.tsx | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/lib/vendor-document-list/ship/enhanced-doc-table-toolbar-actions.tsx b/lib/vendor-document-list/ship/enhanced-doc-table-toolbar-actions.tsx index 508d8c91..c3b7251c 100644 --- a/lib/vendor-document-list/ship/enhanced-doc-table-toolbar-actions.tsx +++ b/lib/vendor-document-list/ship/enhanced-doc-table-toolbar-actions.tsx @@ -13,16 +13,37 @@ import { ImportFromDOLCEButton } from "./import-from-dolce-button" interface EnhancedDocTableToolbarActionsProps { table: Table<SimplifiedDocumentsView> projectType: "ship" | "plant" + contractId?: number } export function EnhancedDocTableToolbarActions({ table, projectType, + contractId, }: EnhancedDocTableToolbarActionsProps) { const [bulkUploadDialogOpen, setBulkUploadDialogOpen] = React.useState(false) // 현재 테이블의 모든 데이터 (필터링된 상태) const allDocuments = table.getFilteredRowModel().rows.map(row => row.original) + + // 모든 문서에서 고유한 contractId들 추출 + const contractIds = React.useMemo(() => { + const ids = new Set(allDocuments.map(doc => doc.contractId)) + return Array.from(ids) + }, [allDocuments]) + + // 주요 contractId (가장 많은 문서가 속한 계약) + const primaryContractId = React.useMemo(() => { + if (contractId) return contractId + if (contractIds.length === 0) return undefined + + const contractCounts = contractIds.map(id => ({ + id, + count: allDocuments.filter(doc => doc.contractId === id).length + })) + + return contractCounts.sort((a, b) => b.count - a.count)[0].id + }, [contractId, contractIds, allDocuments]) const handleSyncComplete = () => { // 동기화 완료 후 테이블 새로고침 @@ -77,12 +98,13 @@ export function EnhancedDocTableToolbarActions({ </Button> {/* Send to SHI 버튼 (공통) - 내부 → 외부로 보내기 */} - {/* <SendToSHIButton - contractId={selectedPackageId} - documents={allDocuments} - onSyncComplete={handleSyncComplete} - projectType={projectType} - /> */} + {primaryContractId && ( + <SendToSHIButton + contractId={primaryContractId} + onSyncComplete={handleSyncComplete} + projectType={projectType} + /> + )} </div> |
