From 660c7888d885badab7af3e96f9c16bd0172ad0f1 Mon Sep 17 00:00:00 2001
From: joonhoekim <26rote@gmail.com>
Date: Tue, 15 Jul 2025 06:34:09 +0000
Subject: (김준회) 돌체 Send to SHI 버튼 활성화를 위한 환경변수 추가 & 오류
 수정
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../ship/enhanced-doc-table-toolbar-actions.tsx    | 34 ++++++++++++++++++----
 1 file changed, 28 insertions(+), 6 deletions(-)

(limited to 'lib/vendor-document-list/ship/enhanced-doc-table-toolbar-actions.tsx')

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>
-- 
cgit v1.2.3

