From 0756bf12d10cf1b7f78c571de0a9ad69cbaeb7ca Mon Sep 17 00:00:00 2001
From: curtis <curtis@i-mps.com>
Date: 星期一, 30 三月 2026 14:24:17 +0800
Subject: [PATCH] fix: 更新內部引用方法參照

---
 reassemble/transp/payloadArchiver.pas |  130 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 130 insertions(+), 0 deletions(-)

diff --git a/reassemble/transp/payloadArchiver.pas b/reassemble/transp/payloadArchiver.pas
new file mode 100644
index 0000000..e8dacd9
--- /dev/null
+++ b/reassemble/transp/payloadArchiver.pas
@@ -0,0 +1,130 @@
+{ ==============================================================================
+  方法名稱:ZipMainFile
+  引用相依:FileExists, LoadFromFile
+  方法描述:將案件的主要圖檔與所有中繼資料檔案打包壓縮為 ZIP。流程如下:
+            1. 遍歷影像清單 (ContextList) 與附件清單 (AttContextList) 加入實體圖
+            檔。
+            2. 自動偵測並加入多種系統紀錄檔,包含索引檔 (Context.dat)、掃瞄清單 (s
+            canlist.dat)、縮放紀錄 (ReSize.dat)、案件分類資訊 (CaseDocNo_Copies.da
+            t) 及跨案引用設定 (UseCase.ini) 等。
+            3. 檢查是否存在特殊壓縮檔 (FirstImg.zip) 並併入。
+            4. 呼叫 ExeCuteZip 執行壓縮作業,確保上傳時案件資料的完整性。
+============================================================================== }
+Procedure TCB_IMGPSScanX.ZipMainFile(SoPath,DePath,ZipName:String);
+var
+  ZipFileList : TStringlist;
+  n : Integer;
+begin
+  ZipFileList := TStringlist.Create;
+  try
+    if fileExists(DePath+ZipName) then
+      DeleteFile(DePath+ZipName);
+    {if FileExists(SoPath+'ReSize.dat') then
+      DeleteFile(SoPath+'ReSize.dat');}
+    //Showmessage(SoPath+#13+ContextList.Text);
+    for n := 0 to ContextList.Count - 1 do
+    begin
+      {WriteResize(SoPath+ContextList.Strings[n],SoPath+'ReSize.dat');}
+      ZipFileList.Add(SoPath+ContextList.Strings[n]);
+      if FileExists(SoPath+'@'+ContextList.Strings[n]) then
+        ZipFileList.Add(SoPath+'@'+ContextList.Strings[n]);
+    end;
+    if FileExists(SoPath+'Context.dat') then
+      ZipFileList.Add(SoPath+'Context.dat');
+
+    AttContextList.Clear;
+    if FileExists(SoPath+'ATTContext.dat') then
+      AttContextList.LoadFromFile(SoPath+'ATTContext.dat');
+    for n := 0 to AttContextList.Count - 1 do
+    begin
+      ZipFileList.Add(SoPath+AttContextList.Strings[n]);
+    end;
+    if FileExists(SoPath+'ATTContext.dat') then
+      ZipFileList.Add(SoPath+'ATTContext.dat');
+
+
+    if FileExists(SoPath+'Context_DocNo.dat') then
+      ZipFileList.Add(SoPath+'Context_DocNo.dat');
+    if FileExists(SoPath+'scanlist.dat') then
+      ZipFileList.Add(SoPath+'scanlist.dat');
+    if FileExists(SoPath+'FormCode_Name.dat') then
+      ZipfileList.Add(SoPath+'FormCode_Name.dat');
+    if FileExists(SoPath+'DocNo_Name.dat') then
+      ZipfileList.Add(SoPath+'DocNo_Name.dat');
+    if FileExists(SoPath+'ReSize.dat') then
+      ZipfileList.Add(SoPath+'ReSize.dat');
+    if FileExists(SoPath+'FormIDReplace.dat') then
+      ZipfileList.Add(SoPath+'FormIDReplace.dat');
+    if FileExists(SoPath+'AnchorError.dat') then
+      ZipfileList.Add(SoPath+'AnchorError.dat');
+    if FileExists(SoPath+'CaseDocNo.dat') then
+      ZipfileList.Add(SoPath+'CaseDocNo.dat');
+    if FileExists(SoPath+'CaseDocNo_Copies.dat') then
+      ZipfileList.Add(SoPath+'CaseDocNo_Copies.dat');
+    if FileExists(SoPath+'CustomDocNo.ini') then
+      ZipfileList.Add(SoPath+'CustomDocNo.ini');
+    if FileExists(SoPath+'DocDir.dat') then
+      ZipfileList.Add(SoPath+'DocDir.dat');
+    if FileExists(SoPath+'In_Wh.dat') then
+      ZipfileList.Add(SoPath+'In_Wh.dat');
+    if FileExists(SoPath+'UseCase.ini') then
+      ZipfileList.Add(SoPath+'UseCase.ini');
+
+    if FileExists(SoPath+'FirstImg.zip') then//20170315 加的
+    begin
+      ZipfileList.Add(SoPath+'FirstImg.zip');
+    end;
+
+
+    ExeCuteZip(DePath+ZipName,SoPath,ZipFileList,False,False);
+    //Showmessage('111');
+  finally
+  ZipFileList.Free;
+  end;
+end;
+
+
+{ ==============================================================================
+  方法名稱:ZipMaskFile
+  引用相依:FileExists
+  方法描述:壓縮遮罩影像檔及其相關設定檔。此方法會從指定遮罩路徑 (MarkPath) 收集
+            與影像索引 (ContextList) 對應的遮罩圖檔,同時併入基本的案件資訊檔(如 
+            Context.dat, scanlist.dat, DocNo_Name.dat)以及系統預設的錯誤與授權圖
+            檔(Err.jpg, auth.jpg)。最後將這些檔案統一壓縮至目標路徑,供後續遮罩影
+            像的上傳作業使用。
+============================================================================== }
+Procedure TCB_IMGPSScanX.ZipMaskFile(SoPath,MarkPath,DePath,ZipName:String); //壓縮遮罩影像檔
+var
+  ZipFileList : TStringlist;
+  n : Integer;
+begin
+  ZipFileList := TStringlist.Create;
+  try
+    if fileExists(DePath+ZipName) then
+      DeleteFile(DePath+ZipName);
+
+    for n := 0 to ContextList.Count - 1 do
+    begin
+      ZipFileList.Add(MarkPath+ContextList.Strings[n]);
+    end;
+    if FileExists(SoPath+'Context.dat') then
+      ZipFileList.Add(SoPath+'Context.dat');
+    if FileExists(SoPath+'scanlist.dat') then
+      ZipFileList.Add(SoPath+'scanlist.dat');
+    if FileExists(SoPath+'FormCode_Name.dat') then
+      ZipfileList.Add(SoPath+'FormCode_Name.dat');
+    if FileExists(SoPath+'DocNo_Name.dat') then
+      ZipfileList.Add(SoPath+'DocNo_Name.dat');
+    if FileExists(SoPath+'ReSize.dat') then
+      ZipfileList.Add(SoPath+'ReSize.dat');
+    if FileExists(SoPath+'Err.jpg') then
+      ZipfileList.Add(SoPath+'Err.jpg');
+    if FileExists(SoPath+'auth.jpg') then
+      ZipfileList.Add(SoPath+'auth.jpg');
+    ExeCuteZip(DePath+ZipName,SoPath,ZipFileList,False,False);
+  finally
+  ZipFileList.Free;
+  end;
+end;
+
+

--
Gitblit v1.8.0