| | |
| | | FFileSizeLimit:integer;//匯入單一檔案大小限 依業務別決定 以KB為單位 預設5*1024kb |
| | | FCaseNoLength:integer;//案件編號長度檢查 依業務別決定 無預設 一定要傳入 |
| | | FImgDelete:string; // Y/N 有權限可在補件時刪除影像 |
| | | FIsExternal:string;//Y/N |
| | | FCheck_main_form:string; //Y/N |
| | | ////////傳入參數/////// |
| | | |
| | | //********Http參數******** |
| | |
| | | NowShowFileList : TStringlist; //目前顯示的影像清單 |
| | | NowSelectFileList : TStringlist; //目前被點選的影像清單 |
| | | GuideFormIDList : TStringlist; //要當導引頁表單清單 |
| | | LastInitFormidList:TStringList; |
| | | LastAddFormidList:TstringList; |
| | | //********清單區******** |
| | | |
| | | //********顯示區******** |
| | |
| | | procedure PaintEvent(Sender: TObject); |
| | | function GetCurrentVersionNo: String; |
| | | procedure initParameter; |
| | | procedure LastInitFormidListCreate(path:string); |
| | | protected |
| | | { Protected declarations } |
| | | procedure DefinePropertyPages(DefinePropertyPage: TDefinePropertyPage); override; |
| | |
| | | procedure Set_scancolor(const Value: WideString); safecall; |
| | | function Get_imgdelete: WideString; safecall; |
| | | procedure Set_imgdelete(const Value: WideString); safecall; |
| | | function Get_check_main_form: WideString; safecall; |
| | | function Get_isExternal: WideString; safecall; |
| | | procedure Set_check_main_form(const Value: WideString); safecall; |
| | | procedure Set_isExternal(const Value: WideString); safecall; |
| | | public |
| | | { Public declarations } |
| | | procedure Initialize; override; |
| | |
| | | Cust_DocNoList.Free; //自行定義文件名稱 |
| | | IN_WH_DocNoList.Free; //入庫的文件清單 |
| | | GuideFormIDList.Free; //要當導引頁表單清單 |
| | | |
| | | LastInitFormidList.Free; |
| | | LastAddFormidList.Free; |
| | | //********清單區******** |
| | | if FEvents <> nil then FEvents.OnDestroy; |
| | | end; |
| | |
| | | Showmessage(Format(_Msg('FormID:%s尚未註冊'),[SampleFormID])); |
| | | Panel1.Enabled := True; |
| | | Panel2.Enabled := True; |
| | | DataLoading(false,false); |
| | | Exit; |
| | | end; |
| | | SampleAnchorMode := FormID2Anchor(SampleFormID); |
| | | |
| | | Panel1.Enabled := False; |
| | | Panel2.Enabled := False; |
| | | |
| | | //ShowMessage('AAAAA'); |
| | | Try |
| | | StatrTwainScan; |
| | | Except |
| | |
| | | Doc_Data,Doc_Data1 : String; |
| | | In_Doc1,In_Doc2 : String; |
| | | AttachYN : String; //是否有附件 Y:有 N:沒有 |
| | | |
| | | ST1,ST2:TStringList; |
| | | str1,str2:String; |
| | | must_formidStr :string; |
| | | last_add_formidstr :string; |
| | | casepath:String; |
| | | begin |
| | | Result := True; |
| | | TransName := CaseID; |
| | |
| | | //ShowMessage('DDDDDDDDDD'); |
| | | //LoanDoc := 'Y'; |
| | | //產生遮罩影像 |
| | | if FWork_No = 'CW' then |
| | | HaveMask := Case2Mask(Path,MaskPath); |
| | | // if FWork_No = 'CW' then |
| | | // HaveMask := Case2Mask(Path,MaskPath); |
| | | //產生遮罩影像 |
| | | // S := S +#13+'5-->'+ Timetostr(now); |
| | | |
| | | ///////必要formid 20170315 start ////////////////////////////// |
| | | must_formidStr:=''; |
| | | last_add_formidstr:=''; |
| | | ST1:=TStringList.Create; |
| | | ST1.LoadFromFile(path+'FormCode_Name.dat'); |
| | | //ShowMessage(ST1.Text); |
| | | ST2:=TStringList.Create; |
| | | |
| | | //ShowMessage('壓縮前'); |
| | | for I := 0 to ST1.Count - 1 do |
| | | begin |
| | | if (Pos('_',St1.Strings[i])<>1) and (Pos('_',St1.Strings[i])<>-11) then |
| | | begin |
| | | str1:=Copy(ST1.Strings[i],1,Pos('_',St1.Strings[i])-1); |
| | | if ST2.IndexOf(str1) = -1 then |
| | | begin |
| | | ST2.Add(str1); |
| | | must_formidStr:= must_formidStr+str1+'@#,'; |
| | | end; |
| | | end; |
| | | end; |
| | | must_formidStr:=Copy(must_formidStr,1,Length(must_formidStr)-3) ; |
| | | for I := 0 to LastInitFormidList.Count - 1 do |
| | | begin |
| | | if ST2.IndexOf(LastInitFormidList.Strings[i]) <> -1 then |
| | | begin |
| | | ST2.Delete(ST2.IndexOf(LastInitFormidList.Strings[i])); |
| | | end; |
| | | end; |
| | | for I := 0 to ST2.Count - 1 do |
| | | begin |
| | | if i <> ST2.Count then |
| | | begin |
| | | last_add_formidstr:=last_add_formidstr+ST2.Strings[i]+'@#,'; |
| | | end |
| | | else |
| | | begin |
| | | last_add_formidstr:=last_add_formidstr+ST2.Strings[i] |
| | | end; |
| | | end; |
| | | ST1.Free; |
| | | ST2.Free; |
| | | ///////必要formid 20170315 end ////////////////////////// |
| | | |
| | | ///保留外部影像 start/////////////////////////////// |
| | | casepath:= Copy(Path,1,pos('Upload',path)-1); |
| | | //ShowMessage('casepath='+casepath); |
| | | //FIsExternal:='Y'; |
| | | if (FMode='ESCAN') and (FIsExternal='Y') then |
| | | begin |
| | | if FileExists(casepath+'Download\FirstImg.zip') then |
| | | begin |
| | | CopyFile(PWChar(casepath+'Download\FirstImg.zip'),PWChar(path+'FirstImg.zip'),false); |
| | | end |
| | | else |
| | | begin |
| | | CopyFile(PWChar(casepath+'Download\'+CaseID+'.zip'),PWChar(path+'FirstImg.zip'),false); |
| | | end; |
| | | end; |
| | | ///保留外部影像 end/////////////////////////////// |
| | | |
| | | //////壓檔///// |
| | | ZipMainFile(Path,Path,'Img.zip'); |
| | | if HaveMask then |
| | |
| | | +'&doc_data='+HTTPEncode(UTF8Encode(Doc_Data)) |
| | | +'&doc_data1='+HTTPEncode(UTF8Encode(Doc_Data1)) |
| | | +'&attach='+AttachYN |
| | | +'&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); |
| | | //exit; |
| | | if not upFile(HTTPSClient,FUrl,'service/imgpsc/IMGPSC02/caseupload',SendData,'file',Path+'Img.zip',FReWrite,Memo1,False) then |
| | | begin |
| | | Showmessage(Format(_Msg('傳送案件編號(%s)檔案時,網路發生錯誤!!'+_Msg('錯誤代碼:')),[CaseID])+Inttostr(HttpError.HttpErrorCode)+' '+HttpError.HttpReason); |
| | |
| | | EnCodeDateTime := En_DecryptionStr_Base64('E',ServerDate+GetBalance2Time(Balance),Mpskey); |
| | | ///service/slic/SLIC04/case?data=&verify=&case_no=&file= |
| | | SendData := 'data='+HTTPEncode(UTF8Encode(FData))+'&verify='+FVerify+'&case_no='+CaseID+'&file='; |
| | | ShowMessage(SendData); |
| | | //ShowMessage(SendData); |
| | | if not dnFile_Get(HTTPSClient,Furl,'service/imgpsc/IMGPSC04/case',SendData,Path+CaseID+'.zip',FReWrite,Memo1,False,DownImgStatus) then |
| | | begin |
| | | HttpErrStr := _Msg('錯誤代碼:')+Inttostr(HttpError.HttpErrorCode)+' '+HttpError.HttpReason; |
| | |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | ShowMessage('sssss'); |
| | | //ShowMessage('sssss'); |
| | | AttPath := Path + 'AttFile\'; |
| | | if FileExists(Path+CaseID+'.zip') then |
| | | begin |
| | |
| | | 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 |
| | |
| | | iDocNoList.Free; |
| | | OldCaseInfoForm.Free; |
| | | end; |
| | | end; |
| | | |
| | | procedure TCB_IMGPSScanX.LastInitFormidListCreate(path: string); |
| | | var |
| | | i:integer; |
| | | ST1:TStringList; |
| | | str1:string; |
| | | begin |
| | | //ShowMessage('path='+path); |
| | | ST1:=TStringList.Create; |
| | | ST1.LoadFromFile(path+'FormCode_Name.dat'); |
| | | for I := 0 to ST1.Count - 1 do |
| | | begin |
| | | if (Pos('_',St1.Strings[i])<>1) and (Pos('_',St1.Strings[i])<>-11) then |
| | | begin |
| | | str1:=Copy(ST1.Strings[i],1,Pos('_',St1.Strings[i])-1); |
| | | if LastInitFormidList.IndexOf(str1) = -1 then |
| | | begin |
| | | LastInitFormidList.Add(str1); |
| | | end; |
| | | end; |
| | | end; |
| | | |
| | | ST1.Free; |
| | | end; |
| | | |
| | | procedure TCB_IMGPSScanX.LoadImgFile; //載入新件及替換件 |
| | |
| | | begin |
| | | |
| | | end; |
| | | //ShowMessage('MainFormID='+MainFormID); |
| | | if MainFormID = ''then |
| | | begin |
| | | //20131203 yuu說不檢查這個,先拿掉 |
| | | {if FMode <> 'SSCAN' then //簽署章件會換主FormID,先跳過 |
| | | //20131203 yuu說不檢查這個,先拿掉 20170315 楷琳說未歸類要擋 |
| | | if FCheck_main_form='Y' then |
| | | begin |
| | | if (FMode <> 'SSCAN') and (Fmode <> 'ESCAN') then //簽署章件會換主FormID,先跳過 |
| | | begin |
| | | ErrStr:=_Msg('找不到分案文件'); //找不到主文件 |
| | | OMRErr2ini(CaseID,ErrStr,'','','','','','',False,False,True); |
| | | CaseOk := false; |
| | | end;} |
| | | end; |
| | | end; |
| | | |
| | | end |
| | | Else |
| | | begin |
| | |
| | | PageLVclear := True; |
| | | InitialOk := False; |
| | | |
| | | FMode := 'DSCAN' ; |
| | | //FMode := 'DSCAN' ; |
| | | //FIs_In_Wh := 'Y'; |
| | | if FIs_In_Wh = 'Y' then |
| | | AttName := 'Attach' //入庫附件 |
| | |
| | | Cust_DocNoList := TStringlist.Create; //自行定義的文件名稱 |
| | | IN_WH_DocNoList := TStringlist.Create; //入庫的文件清單 |
| | | GuideFormIDList := TStringlist.Create; //要當導引頁表單清單 |
| | | LastInitFormidList :=TStringList.Create; |
| | | LastAddFormidList := TStringList.Create; |
| | | //********清單區******** |
| | | |
| | | ShowText := _Msg('資料載入中,請稍候'); |
| | |
| | | // //LoadImgFile; |
| | | // end; |
| | | Create_Cust_DocDir(FCaseID); //產生外面傳入的文件 |
| | | LastInitFormidListCreate(ImageSavePath+FCaseID+'\Download\'); |
| | | end; |
| | | end; |
| | | |
| | |
| | | s.Free; |
| | | end; |
| | | end;} |
| | | |
| | | //*******DOC必要文件檢核應該寫在這邊 START 20170222 ************ |
| | | //DocDir.dat 會含有DOC列表 所以上傳前要給檢查 有沒有少必要的DOC |
| | | //並檢查 DOC 中 有沒有影像 |
| | | |
| | | //*******DOC必要文件檢核應該寫在這邊 END************ |
| | | if (FMode = 'NSCAN') then |
| | | begin |
| | | /////訊問是否可上傳///// |
| | |
| | | |
| | | LoadImgFile; |
| | | if (FMode = 'ESCAN') and (SuccessCount = 1) then |
| | | begin |
| | | if FEvents <> nil Then |
| | | begin |
| | | FEvents.OnClosePage; |
| | | end; |
| | | end; |
| | | if (FMode = 'DSCAN') and (SuccessCount = 1) then |
| | | begin |
| | | if FEvents <> nil Then |
| | | begin |
| | |
| | | |
| | | procedure TCB_IMGPSScanX.Set_imgdelete(const Value: WideString); |
| | | begin |
| | | FImgDelete:=Value; |
| | | end; |
| | | |
| | | function TCB_IMGPSScanX.Get_check_main_form: WideString; |
| | | begin |
| | | |
| | | end; |
| | | |
| | | function TCB_IMGPSScanX.Get_isExternal: WideString; |
| | | begin |
| | | |
| | | end; |
| | | |
| | | procedure TCB_IMGPSScanX.Set_check_main_form(const Value: WideString); |
| | | begin |
| | | FCheck_main_form := Value; |
| | | end; |
| | | |
| | | procedure TCB_IMGPSScanX.Set_isExternal(const Value: WideString); |
| | | begin |
| | | FIsExternal:=Value; |
| | | end; |
| | | |
| | | initialization |