From 0fcc8a7144882a529ee0670404774484cbe2f5b6 Mon Sep 17 00:00:00 2001
From: doom4ster <doom4ster@gmail.com>
Date: 星期三, 10 五月 2017 18:06:47 +0800
Subject: [PATCH] scan ocx Ver2.0.1.12 根據分案頁與導引頁坐分案與歸類

---
 CB_IMGPSScanImp.pas |   55 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 45 insertions(+), 10 deletions(-)

diff --git a/CB_IMGPSScanImp.pas b/CB_IMGPSScanImp.pas
index ab8d4aa..e2ac744 100644
--- a/CB_IMGPSScanImp.pas
+++ b/CB_IMGPSScanImp.pas
@@ -481,6 +481,7 @@
     NowShowFileList : TStringlist;  //目前顯示的影像清單
     NowSelectFileList : TStringlist; //目前被點選的影像清單
     GuideFormIDList : TStringlist; //要當導引頁表單清單
+    DivPageFormIDList:TStringlist; //要當分案頁表單清單
     LastInitFormidList:TStringList;
     LastAddFormidList:TstringList;
     //********清單區********
@@ -554,6 +555,7 @@
     Has_Authorize :String; //是否有授權書影像
     AttName : String; //未歸類目錄名稱
     NowGuideFormID : String;
+    NowDivPageFormID:String;
 
     FirstDocDir : String;
 
@@ -827,6 +829,7 @@
     procedure initParameter;
     procedure LastInitFormidListCreate(path:string);
     function checkFormCodeIsCustom(path,formcode:string):boolean;
+    function ISDivPageFormID(FormID: String): Boolean;
   protected
     { Protected declarations }
     procedure DefinePropertyPages(DefinePropertyPage: TDefinePropertyPage); override;
@@ -1555,7 +1558,7 @@
   Cust_DocNoList.Free; //自行定義文件名稱
   IN_WH_DocNoList.Free; //入庫的文件清單
   GuideFormIDList.Free; //要當導引頁表單清單
-
+  DivPageFormIDList.Free; //要當分案頁表單清單
   LastInitFormidList.Free;
   LastAddFormidList.Free;
   //********清單區********
@@ -2155,6 +2158,7 @@
       TreeView1click(nil);
       FirstDocDir := '';
       NowGuideFormID := '';
+      NowDivPageFormID :='';
       AddScanBtnclick(nil);
     end;
   end
@@ -2170,6 +2174,7 @@
     ScanPath := '';
     ScanCaseno := '';
     NowGuideFormID := '';
+    NowDivPageFormID :='';
     ClearView(1);
     ContextList.Clear;
     Try
@@ -4019,8 +4024,13 @@
           if FormID = '' then
           begin
             FormID := BarCode2FormID; //取出FormID
-
           end;
+
+          if (FormID <> '') and ISDivPageFormID(FormID) then
+          begin
+            NowDivPageFormID := FormID;
+          end;
+
           if (FormID <> '') and ISGuideFormID(FormID) then
           begin
             NowGuideFormID := FormID;
@@ -4030,7 +4040,7 @@
             FormID := NowGuideFormID;
           DocNo := FormCode2DocNo(FormID);
 //ShowMessage('FormID='+FormID);
-          if (FormID <>'') and FindDivFormCode(FormID) and (NowGuideFormID <> '')  Then  //只找分案頁上的案件條碼
+          if (FormID <>'') and FindDivFormCode(FormID) and (NowDivPageFormID <> '')  Then  //只找分案頁上的案件條碼
           begin
 
             ScanInfo.ImageCount := 0;
@@ -4040,6 +4050,7 @@
             ClearCaseIndex;                //清掉案件索引
             ScanCaseno := BarCode2CaseID; //取出案件編號
             NowGuideFormID := '';
+            NowDivPageFormID :='';
 //ShowMessage('NowGuideFormID='+NowGuideFormID+#10#13+'FormID='+FormID+#10#13+'ScanCaseno='+ScanCaseno);
           end;
           if ScanCaseno = '' then //一開始都沒找到
@@ -4130,10 +4141,10 @@
       begin
         ScanSaveFilename := '';
         FormID := BarCode2FormID; //取出FormID
-//        if (FormID <> '') and ISGuideFormID(FormID) then   //20170510 註解 因為DSCAN 會全擠在導引頁下
-//          NowGuideFormID := FormID;
-//        if (NowGuideFormID <> '') {and (FormID = '')} then  //20170510 註解  因為DSCAN 會全擠在導引頁下
-//          FormID := NowGuideFormID;
+        if (FormID <> '') and ISGuideFormID(FormID) then   //20170510 註解 因為DSCAN 會全擠在導引頁下
+          NowGuideFormID := FormID;
+        if (NowGuideFormID <> '') {and (FormID = '')} then  //20170510 註解  因為DSCAN 會全擠在導引頁下
+          FormID := NowGuideFormID;
         DocNo := FormCode2DocNo(FormID);
         ScanDocDir := FindLastestDocDir(ScanCaseno,DocNo);
 //ShowMessage('ScanDocDir='+ScanDocDir);
@@ -4682,6 +4693,11 @@
     begin
       PARA_CONTENT := GetSQLData(WORK_INF_List,'PARA_CONTENT',i);
       GuideFormIDList.CommaText := PARA_CONTENT;
+    end
+    Else if UpperCase(GetSQLData(WORK_INF_List,'PARA_NO',i)) = 'DIVPAGEFORMID' Then     //當分案頁的表單
+    begin
+      PARA_CONTENT := GetSQLData(WORK_INF_List,'PARA_CONTENT',i);
+      DivPageFormIDList.CommaText := PARA_CONTENT;
     end;
   end;
   ScanDuplex := Def_ScanDuplex;
@@ -9659,6 +9675,22 @@
   end;
 end;
 
+Function TCB_IMGPSScanX.ISDivPageFormID(FormID:String):Boolean;
+var
+  i : Integer;
+begin
+  Result := False;
+
+  for i := 0 to DivPageFormIDList.Count - 1 do
+  begin
+    if FormID = DivPageFormIDList.Strings[i] then
+    begin
+      Result := True;
+      Break;
+    end;
+  end;
+end;
+
 Function TCB_IMGPSScanX.CaseDelete_Enable(CaseID:String):Boolean;  //案件可否被刪除
 var
   i : Integer;
@@ -10553,7 +10585,7 @@
         begin
 
         end;
-//ShowMessage('MainFormID='+MainFormID);
+ShowMessage('MainFormID='+MainFormID);
         if MainFormID = ''then
         begin
           //20131203 yuu說不檢查這個,先拿掉   20170315 楷琳說未歸類要擋
@@ -11974,7 +12006,8 @@
   for I := 0 to ContextList.Count - 1 do
   begin
     FileFormID := FileName2FormCode(ContextList.Strings[i]);
-    if FileFormID=GuideFormIDList.Strings[0] then //20170509 跳過導引頁的formid
+
+    if DivPageFormIDList.IndexOf(FileFormID)<>-1 then //20170509 跳過分案頁的formid
     begin
       Continue;
     end;
@@ -13089,6 +13122,7 @@
   Cust_DocNoList := TStringlist.Create; //自行定義的文件名稱
   IN_WH_DocNoList := TStringlist.Create; //入庫的文件清單
   GuideFormIDList := TStringlist.Create; //要當導引頁表單清單
+  DivPageFormIDList := TStringList.Create; //要當分案頁表單清單
   LastInitFormidList :=TStringList.Create;
   LastAddFormidList := TStringList.Create;
   //********清單區********
@@ -13313,7 +13347,8 @@
 
   DataLoading(False,False);
 //ShowMessage('初始話執行完成');
-//ShowMessage(GuideFormIDList.Text);
+//ShowMessage('GuideFormIDList='+GuideFormIDList.Text);
+//ShowMessage('DivPageFormIDList='+DivPageFormIDList.Text);
 end;
 
 procedure TCB_IMGPSScanX.Timer2Timer(Sender: TObject);

--
Gitblit v1.8.0