From 03466818b9198fbd13bc5b57cc777f93df7e87dd Mon Sep 17 00:00:00 2001
From: doom4ster <doom4ster@gmail.com>
Date: 星期四, 11 五月 2017 14:30:47 +0800
Subject: [PATCH] scan ocx ver2.0.1.13 修正 多餘的alert
---
CB_IMGPSScanImp.pas | 121 ++++++++++++++++++++++++++++++++++------
1 files changed, 103 insertions(+), 18 deletions(-)
diff --git a/CB_IMGPSScanImp.pas b/CB_IMGPSScanImp.pas
index 0393454..a18e5ee 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;
@@ -650,6 +652,7 @@
Procedure CreateIn_WH(CaseID:String); //產生In_WH.dat
Function CreateDocNo_Info(CaseID:String):String; //產生保管袋文件 DocNo[tab]份數[tab]總頁數[tab]是否異動[換行]DocNo[tab]份數[tab]總頁數[tab]是否異動
Function CreateCustDocNo_Info(CaseID:String):String; //產生自訂文件 DocName[tab]份數[tab]總頁數[tab]是否異動[#13#10]DocName[tab]份數[tab]總頁數[tab]是否異動
+ //Function CreateCustDocNo_Info(path,CaseID:String):String; overload
Function CreateAttach_Info(CaseID:String):String; //產生是否有Attach Y:有 N:沒有
Function CreateDocnoFrom_Info(CaseID:String):String; //產生被引進的保管袋文件資訊 Docno[tab]份數[tab]案件編號#13#10Docno[tab]份數[tab]案件編號
Function CreateCustDocNoFrom_Info(CaseID:String):String; //產生被引進的自定文件資訊 Docno[tab]份數[tab]案件編號#13#10Docno[tab]份數[tab]案件編號
@@ -826,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;
@@ -1554,7 +1558,7 @@
Cust_DocNoList.Free; //自行定義文件名稱
IN_WH_DocNoList.Free; //入庫的文件清單
GuideFormIDList.Free; //要當導引頁表單清單
-
+ DivPageFormIDList.Free; //要當分案頁表單清單
LastInitFormidList.Free;
LastAddFormidList.Free;
//********清單區********
@@ -2154,6 +2158,7 @@
TreeView1click(nil);
FirstDocDir := '';
NowGuideFormID := '';
+ NowDivPageFormID :='';
AddScanBtnclick(nil);
end;
end
@@ -2169,6 +2174,7 @@
ScanPath := '';
ScanCaseno := '';
NowGuideFormID := '';
+ NowDivPageFormID :='';
ClearView(1);
ContextList.Clear;
Try
@@ -2509,10 +2515,36 @@
procedure TCB_IMGPSScanX.PM103Click(Sender: TObject);
begin
if TreeView1.Selected = nil then Exit;
+
+ {if Treeview1.Selected = NewTreeNode then
+ begin
+ ShowMessage('AAAAA');
+ end;
+ if Treeview1.Selected = MyTreeNode1 then
+ begin
+ ShowMessage('BBBBB');
+ end;
+
+ if Treeview1.Selected = MyTreeNode2 then
+ begin
+ ShowMessage('CCCCC');
+ end;
+
+ if Treeview1.Selected = MyTreeNode3 then
+ begin
+ ShowMessage('DDDDD');
+ end;
+ }
if (Treeview1.Selected = NewTreeNode) {or (Treeview1.Selected = MyTreeNode1)} then
+ begin
+//ShowMessage('NewScanBtnClick');
NewScanBtnClick(self)
+ end
Else
+ begin
+//ShowMessage('AddScanBtnclick');
AddScanBtnclick(self);
+ end;
end;
procedure TCB_IMGPSScanX.PM104Click(Sender: TObject);
@@ -3612,7 +3644,7 @@
//Showmessage(CreateDocnoFrom_Info(NowCaseno));
//Showmessage(self.CreateCustDocNoFrom_Info(NowCaseno));
-
+ initkscan;
showmessage('FUrl='+FUrl+#10#13+
'FCaseID='+FCaseID+#10#13+
'FMode='+FMode+#10#13+
@@ -3992,17 +4024,25 @@
if FormID = '' then
begin
FormID := BarCode2FormID; //取出FormID
-
end;
- if (FormID <> '') and ISGuideFormID(FormID) then
- NowGuideFormID := FormID;
+ if (FormID <> '') and ISDivPageFormID(FormID) then
+ begin
+ NowDivPageFormID := FormID;
+ end;
+
+ if (FormID <> '') and ISGuideFormID(FormID) then
+ begin
+ NowGuideFormID := FormID;
+ end;
+//ShowMessage('NowGuideFormID='+NowGuideFormID);
if (not (FindDivFormCode(FormID))) and (NowGuideFormID <> '') {and (FormID = '')} then
FormID := NowGuideFormID;
DocNo := FormCode2DocNo(FormID);
-
- if (FormID <>'') and FindDivFormCode(FormID) Then //只找分案頁上的案件條碼
+//ShowMessage('FormID='+FormID);
+ if (FormID <>'') and FindDivFormCode(FormID) and (NowDivPageFormID <> '') Then //只找分案頁上的案件條碼
begin
+
ScanInfo.ImageCount := 0;
ClearView(1);
ContextList.Clear;
@@ -4010,6 +4050,8 @@
ClearCaseIndex; //清掉案件索引
ScanCaseno := BarCode2CaseID; //取出案件編號
NowGuideFormID := '';
+ NowDivPageFormID :='';
+//ShowMessage('NowGuideFormID='+NowGuideFormID+#10#13+'FormID='+FormID+#10#13+'ScanCaseno='+ScanCaseno);
end;
if ScanCaseno = '' then //一開始都沒找到
begin
@@ -4029,7 +4071,8 @@
Str2Dir(ScanPath);
ScanDocDir := FindLastestDocDir(ScanCaseno,DocNo);
- if DocNoNeedDiv(DocNo) then //要分份數
+
+ if DocNoNeedDiv(DocNo)then //要分份數
begin
//Showmessage(DocNo+#13+FormCode2Page(FormID)+#13+inttostr(GetDocDir_Page(ScanCaseno,ScanDocDir))+#13+ScanDocDir);
if ((FormCode2Page(FormID) = '01') and (GetDocDir_Page(ScanCaseno,ScanDocDir)>0)) or (ScanDocDir = '') then
@@ -4098,19 +4141,22 @@
begin
ScanSaveFilename := '';
FormID := BarCode2FormID; //取出FormID
- if (FormID <> '') and ISGuideFormID(FormID) then
+ if (FormID <> '') and ISGuideFormID(FormID) then //20170510 註解 因為DSCAN 會全擠在導引頁下
NowGuideFormID := FormID;
- //Showmessage('A:'+FormID+#13+'B:'+NowGuideFormID);
- if (NowGuideFormID <> '') {and (FormID = '')} then
+ if (NowGuideFormID <> '') {and (FormID = '')} then //20170510 註解 因為DSCAN 會全擠在導引頁下
FormID := NowGuideFormID;
DocNo := FormCode2DocNo(FormID);
ScanDocDir := FindLastestDocDir(ScanCaseno,DocNo);
- if DocNoNeedDiv(DocNo) then //要分份數
+//ShowMessage('ScanDocDir='+ScanDocDir);
+ if (DocNoNeedDiv(DocNo)) then //要分份數
begin
- if ((FormCode2Page(FormID) = '01') and (GetDocDir_Page(ScanCaseno,ScanDocDir)>0)) or (ScanDocDir = '') then
+ if TreeView1.Selected = MyTreeNode1 then //20170421 掃瞄插頁時選則在案號上才要分份數 選在FormID上就不分份數
begin
- ScanInfo.ImageCount := 0;
- ScanDocDir := DocNo2DocNoDir(ImageSavePath + ScanCaseno+'\',DocNo);
+ if ((FormCode2Page(FormID) = '01') and (GetDocDir_Page(ScanCaseno,ScanDocDir)>0)) or (ScanDocDir = '') then
+ begin
+ ScanInfo.ImageCount := 0;
+ ScanDocDir := DocNo2DocNoDir(ImageSavePath + ScanCaseno+'\',DocNo);
+ end;
end;
end
Else //不分份數
@@ -4647,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;
@@ -5485,6 +5536,7 @@
last_add_formidstr :string;
casepath:String;
filesizeInt:integer;
+ case_page:string;
begin
Result := True;
TransName := CaseID;
@@ -5496,7 +5548,9 @@
end;
if FileExists(Path+'CustomDocNo.dat') then
Cust_DocNoList.LoadFromFile(Path+'CustomDocNo.dat');
+
Pages := ContextList.Count;
+ case_page:=IntToStr(pages);
if (FMode = 'NSCAN') or (FMode = 'ESCAN') or (FMode = 'ASCAN') or (FMode = 'DSCAN') or (FMode = 'SSCAN') or (FMode = 'MSCAN') or (FMode = 'RI_SCAN') or (FMode = 'RSCAN') then
begin
//Showmessage('1');
@@ -5613,12 +5667,15 @@
+'&doc_data='+HTTPEncode(UTF8Encode(Doc_Data))
+'&doc_data1='+HTTPEncode(UTF8Encode(Doc_Data1))
+'&attach='+AttachYN
+ +'&case_page='+case_page
+'&file_size='+IntToStr(filesizeInt)
+'&must_formid='+must_formidStr //擁有的 formid
+'&last_add_formid='+last_add_formidstr //當次新加的 formid
+'&in_doc1='+HTTPEncode(UTF8Encode(In_Doc1))
+'&in_doc2='+HTTPEncode(UTF8Encode(In_Doc2));
//ShowMessage('SendData='+SendData);
+//ShowMessage(FData+#10#13+Doc_Data);
+
//exit;
if not upFile(HTTPSClient,FUrl,'service/imgpsc/IMGPSC02/caseupload',SendData,'file',Path+'Img.zip',FReWrite,Memo1,False) then
begin
@@ -9618,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;
@@ -11933,6 +12006,11 @@
for I := 0 to ContextList.Count - 1 do
begin
FileFormID := FileName2FormCode(ContextList.Strings[i]);
+
+ if DivPageFormIDList.IndexOf(FileFormID)<>-1 then //20170509 跳過分案頁的formid
+ begin
+ Continue;
+ end;
if FindDivFormCode(FileFormID) then
begin
Result := FileFormID;
@@ -12113,6 +12191,7 @@
Str := '';
if Not FileExists(ImageSavePath+CaseID+'\CaseDocNo.dat') then Exit;
DocDirList.LoadFromFile(ImageSavePath+CaseID+'\CaseDocNo.dat');
+//ShowMessage(DocDirList.Text);
while DocDirList.Count > 0 do
begin
iDocDir := DocDirList.Strings[0];
@@ -12656,9 +12735,11 @@
var
SendData : String;
begin
+//Memo1.Clear;
SendData := 'data='+HTTPEncode(UTF8Encode(FData))+'&verify='+FVerify+'&case_no='+CaseID+'&work_no='+FWork_no;
- if (FMode = 'NSCAN') then
+ if (FMode = 'NSCAN') or (FMode = 'DSCAN') then
begin
+//ShowMessage('JJJJJ');
If not ProcessServlet_Get(HTTPSClient,FURL+'service/imgpsc/IMGPSC05/isnew',SendData,FReWrite,Memo1,False) Then
begin
HttpErrStr := _Msg('錯誤代碼:')+inttostr(HttpError.HttpErrorCode)+','+HttpError.HttpReason;
@@ -12666,7 +12747,8 @@
Exit;
end;
end;
-
+//ShowMessage(SendData);
+//ShowMessage(Memo1.Lines.Text);
IF memo1.Lines.Strings[0] <> '0' Then
begin
HttpErrStr := _Msg('錯誤原因:')+memo1.Lines.Strings[1];
@@ -13040,6 +13122,7 @@
Cust_DocNoList := TStringlist.Create; //自行定義的文件名稱
IN_WH_DocNoList := TStringlist.Create; //入庫的文件清單
GuideFormIDList := TStringlist.Create; //要當導引頁表單清單
+ DivPageFormIDList := TStringList.Create; //要當分案頁表單清單
LastInitFormidList :=TStringList.Create;
LastAddFormidList := TStringList.Create;
//********清單區********
@@ -13264,6 +13347,8 @@
DataLoading(False,False);
//ShowMessage('初始話執行完成');
+//ShowMessage('GuideFormIDList='+GuideFormIDList.Text);
+//ShowMessage('DivPageFormIDList='+DivPageFormIDList.Text);
end;
procedure TCB_IMGPSScanX.Timer2Timer(Sender: TObject);
@@ -13346,7 +13431,7 @@
s.Free;
end;
end;}
- if (FMode = 'NSCAN') then
+ if (FMode = 'NSCAN') or (FMode = 'DSCAN') then //20170406 待掃瞄也要問一下
begin
/////訊問是否可上傳/////
CaseTrans := CaseAsk(CaseID);
--
Gitblit v1.8.0