| | |
| | | NowDivPageFormID:String; |
| | | |
| | | FirstDocDir : String; |
| | | FMaxUploadSize:String;// 上傳zip大小限制 |
| | | |
| | | Draging : Boolean; |
| | | |
| | |
| | | iGraphic_sec := TTiffGraphic.Create; |
| | | |
| | | iGraphic_First.Assign(ISB.Graphic); |
| | | //ShowMessage(IntToStr(iGraphic_First.Palette.palNumEntries)); //彩色 會為0 黑白 為2 |
| | | |
| | | MpsGetBarcode(ISB.Graphic, MpsBarcodeinf); //判斷A3 有用FormID 所以要先辨條碼 |
| | | //有必要的話先把影像轉正 再開始切圖 |
| | | If CheckNeedCrop(iGraphic_First) Then |
| | |
| | | End; |
| | | End; |
| | | |
| | | if iGraphic.Palette.palNumEntries = 0 then //20171130 彩色 會為0 黑白 為2 |
| | | begin |
| | | iGraphic.Compression:=tcJPEG; |
| | | iGraphic.JpegQuality:=70; |
| | | end; |
| | | |
| | | If LowerCase(ExtractFileExt(SavePath + SaveFilename)) = '.tif' Then |
| | | Begin |
| | | If FileExists(SavePath + SaveFilename) Then |
| | |
| | | End; |
| | | End; |
| | | // Rotate(ISB.Graphic,MpsBarcodeinf.r180[n]); //20170705 加入有條碼就轉正 |
| | | if iGraphic.Palette.palNumEntries = 0 then //20171130 彩色 會為0 黑白 為2 |
| | | begin |
| | | iGraphic.Compression:=tcJPEG; |
| | | iGraphic.JpegQuality:=70; |
| | | end; |
| | | |
| | | If LowerCase(ExtractFileExt(SavePath + SaveFilename)) = '.tif' Then |
| | | Begin |
| | |
| | | //CreateFormID_FormName(DisplayPath); //產生FormID_FormName.dat |
| | | //CreateDocNo_DocName(DisplayPath); //產生DocNo_Name.dat |
| | | //Showmessage(CreateDocNo_Info(DisplayPath)); //產生 Docno,份數,頁數;Docno,份數,頁數 的回傳字串 |
| | | lb1.Caption:='AAAAAAAAAAA'; |
| | | //lb1.Caption:='AAAAAAAAAAA'; |
| | | //Showmessage(CreateDocnoFrom_Info(NowCaseno)); |
| | | //Showmessage(self.CreateCustDocNoFrom_Info(NowCaseno)); |
| | | |
| | | ShowMessage('FMaxUploadSize='+FMaxUploadSize); |
| | | initkscan; |
| | | showmessage('FUrl='+FUrl+#10#13+ |
| | | 'FCaseID='+FCaseID+#10#13+ |
| | |
| | | Try |
| | | Scanner.OpenSource; |
| | | Scanner.Duplex := ScanDuplex; //雙面 |
| | | |
| | | if FMode='SAMPLESCAN' then |
| | | Scanner.Duplex:=False; |
| | | |
| | | //Scanner.FEEDERENABLED := not ScanFlatCB.Checked; // 先拿掉平台 |
| | | If ScanImgSetUse Then |
| | | begin |
| | |
| | | begin |
| | | PARA_CONTENT := GetSQLData(WORK_INF_List,'PARA_CONTENT',i); |
| | | DivPageFormIDList.CommaText := PARA_CONTENT; |
| | | end |
| | | Else if UpperCase(GetSQLData(WORK_INF_List,'PARA_NO',i)) = 'MAX_UPLOAD_SIZE' Then //取得 上傳大小的限制(MB) |
| | | begin |
| | | PARA_CONTENT := GetSQLData(WORK_INF_List,'PARA_CONTENT',i); |
| | | FMaxUploadSize := PARA_CONTENT; |
| | | end; |
| | | end; |
| | | ScanDuplex := Def_ScanDuplex; |
| | |
| | | casepath:String; |
| | | filesizeInt:integer; |
| | | case_page:string; |
| | | Fname:String; |
| | | FileRec:TSearchrec; |
| | | begin |
| | | Result := True; |
| | | TransName := CaseID; |
| | |
| | | |
| | | for I := 0 to ST1.Count - 1 do |
| | | begin |
| | | if (Pos('_',St1.Strings[i])<>1) and (Pos('_',St1.Strings[i])<>-11) then |
| | | if (Pos('_',St1.Strings[i])<>1) and (Pos('_',St1.Strings[i])<>-1) then |
| | | begin |
| | | str1:=Copy(ST1.Strings[i],1,Pos('_',St1.Strings[i])-1); |
| | | ST2.Add(str1); |
| | |
| | | if HaveMask then |
| | | ZipMaskFile(Path,MaskPath,Path,'MaskImg.zip'); //有遮罩設定的才產生 |
| | | /////壓檔//// |
| | | |
| | | ///檢查上傳的zip大小//// |
| | | FName :=Path+ 'Img.zip'; |
| | | |
| | | FindFirst(FName, faAnyfile, FileRec); |
| | | |
| | | //FMaxUploadSize |
| | | //ShowMessage(IntToStr(FileRec.Size)); |
| | | //Result:=False; |
| | | //exit; |
| | | If FileRec.Size > StrtoInt(FMaxUploadSize) * 1048576 Then // 檢查檔案大小 |
| | | Begin |
| | | ShowMessage(Format('%.3f', [FileRec.Size / 1048576]) + |
| | | ' MB,超過上傳限制大小 '+FMaxUploadSize+' MB'); |
| | | FindClose(FileRec); |
| | | Result := False; |
| | | Exit; |
| | | End; |
| | | FindClose(FileRec); |
| | | ///檢查上傳的zip大小//// |
| | | //ShowMessage('last_add_formidstr='+last_add_formidstr); |
| | | ////上傳///// |
| | | SendData:='data='+HTTPEncode(UTF8Encode(FData)) |
| | | +'&verify='+FVerify |
| | |
| | | end; |
| | | CaseHelpBtn.Visible := False; |
| | | LoadImgFile; |
| | | Showmessage(NowCaseNo+_Msg('傳送完成')); |
| | | if (FMode='NSCAN') or (FMode='DSCAN') then |
| | | begin |
| | | Showmessage(NowCaseNo+_Msg('影像上傳完成。此案已進入下一流程。')); |
| | | end; |
| | | |
| | | if FMode='ESCAN' then |
| | | begin |
| | | Showmessage(NowCaseNo+_Msg('影像已補件完成。')); |
| | | end; |
| | | |
| | | DataLoading(False,False); |
| | | end |
| | | Else |
| | |
| | | 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 |
| | | if (Pos('_',St1.Strings[i])<>1) and (Pos('_',St1.Strings[i])<>-1) then |
| | | begin |
| | | str1:=Copy(ST1.Strings[i],1,Pos('_',St1.Strings[i])-1); |
| | | LastInitFormidList.Add(str1); |
| | |
| | | end; |
| | | end; |
| | | //////主要非主要文件///// |
| | | //showmessage(MainFormID); |
| | | //showmessage(MainFormID); |
| | | MainDocNo := FormCode2DocNo(MainFormID); |
| | | MainVersion := FormCode2Version(MainFormID); |
| | | if FindSQLData(DM_FORM_INF_List,'DEPE_FORM_ID,MUTEX_FORM_ID','MAIN_FORM_ID,DOC_VERSION',MainDocNo+','+MainVersion,0,FindResult) then |
| | |
| | | end; |
| | | end; |
| | | //////互斥文件///// |
| | | end; |
| | | end; //MainFormID結束 |
| | | //end; |
| | | List.LoadFromFile(ImageSavePath + CaseID+'\upload\Context.dat'); |
| | | for i := 0 to List.Count - 1 do |
| | |
| | | LogFile1.LogToFile(logTimeString+'必填 '+CaseID+' '+'OMRFileList.Text='+OMRFileList.Text); |
| | | For i := 0 to OMRFileList.Count - 1 do |
| | | begin |
| | | //ShowMessage('OMRFileList.Strings['+IntToStr(i)+']'+OMRFileList.Strings[i]); |
| | | if CheckRequiredColumnValues(FWork_NO,CaseID) then Continue; |
| | | |
| | | // if FWH_category='N' then |
| | | // begin |
| | | // if ISExistImg(ImageSavePath+CaseID+'\upload\'+OMRFileList.Strings[i]) then |
| | | // begin |
| | | // Continue; |
| | | // end; |
| | | // end; |
| | | OMRFile := OMRFileList.Strings[i]; |
| | | OMRFormCode := FileName2FormCode(OMRFileList.Strings[i]); |
| | | OMRFormName := FormCode2FormName(CaseID,OMRFormCode); |
| | |
| | | ////依十字定位點縮放/// |
| | | //Display1.Lines.Add('OMRFile='+OMRFile+',OMRFormCode='+OMRFormCode+',OMRFormName='+OMRFormName); |
| | | LogFile1.LogToFile(logTimeString+'OMRFile='+OMRFile+',OMRFormCode='+OMRFormCode+',OMRFormName='+OMRFormName); |
| | | //ShowMessage('KKKKK'); |
| | | if not FileExists(CheckXmlPath+OMRFormCode+'.xml') then //沒有Xml就不用檢核 |
| | | Continue; |
| | | |
| | | |
| | | //ShowMessage('11638 OMRFileList.Strings['+IntToStr(i)+']'+OMRFileList.Strings[i]); |
| | | XT := TXmltool.Create(CheckXmlPath+OMRFormCode+'.xml'); |
| | | RelaXT := TXmltool.Create; |
| | | //ShowMessage('ModeNeedCheck='+BoolToStr(ModeNeedCheck(OMRErrInfo[4].Mode,FMode),true)); |
| | |
| | | Until not XT.SubNodes['/form/settype1/'].Next ; |
| | | end; |
| | | //*******必填******** |
| | | |
| | | //ShowMessage('11692 OMRFileList.Strings['+IntToStr(i)+']'+OMRFileList.Strings[i]); |
| | | //if AllCheck then |
| | | //begin |
| | | //*******有值相關文件的欄位也要有值******* |
| | |
| | | Anchor1 := FormID2Anchor(RelaFormCode); |
| | | RelaXT.LoadFromFile(CheckXmlPath+RelaFormCode+'.xml'); |
| | | Display1.Lines.Add(RelaFile+','+RelaFormName); |
| | | ISB8.LoadFromFile(ImageSavePath+CaseID+'\upload\'+RelaFile,1); //20170815 |
| | | ISB8W:= ISB8.Graphic.Width; |
| | | ISB8H:= ISB8.Graphic.Height; |
| | | FindPoint(ISB8.Graphic,UpLPoint,UpRPoint,DownLPoint,ISB8W,ISB8H,ANCHOR); //20170815 抓相關然欄位所在圖檔的定位 |
| | | //ShowMessage(RelaFile); |
| | | //ShowMessage(ImageSavePath+CaseID+'\upload\'+RelaFile); |
| | | if RelaFile<>'' then |
| | | begin |
| | | ISB8.LoadFromFile(ImageSavePath+CaseID+'\upload\'+RelaFile,1); //20170815 |
| | | ISB8W:= ISB8.Graphic.Width; |
| | | ISB8H:= ISB8.Graphic.Height; |
| | | FindPoint(ISB8.Graphic,UpLPoint,UpRPoint,DownLPoint,ISB8W,ISB8H,ANCHOR); //20170815 抓相關然欄位所在圖檔的定位 |
| | | end; |
| | | |
| | | OMROK := False; |
| | | //OMROK := False; |
| | | //if RelaXT.SubNodes['/form/settype2/'].First then |
| | |
| | | Until not XT.SubNodes['/form/settype3/'].Next ; |
| | | end; |
| | | //*******有值相關文件的欄位也要有值******* |
| | | //ShowMessage('11788 OMRFileList.Strings['+IntToStr(i)+']'+OMRFileList.Strings[i]); |
| | | |
| | | //*******有值相關文件的欄位不能有值******* |
| | | if ModeNeedCheck(OMRErrInfo[11].Mode,FMode) then //是否要檢核 |
| | |
| | | RelaFormName := FormCode2FormName(CaseID,RelaFormCode); |
| | | Anchor1 := FormID2Anchor(RelaFormCode); |
| | | RelaXT.LoadFromFile(CheckXmlPath+RelaFormCode+'.xml'); |
| | | ISB8.LoadFromFile(ImageSavePath+CaseID+'\upload\'+RelaFile,1); //20170815 |
| | | ISB8W:= ISB8.Graphic.Width; |
| | | ISB8H:= ISB8.Graphic.Height; |
| | | FindPoint(ISB8.Graphic,UpLPoint,UpRPoint,DownLPoint,ISB8W,ISB8H,ANCHOR); //20170815 抓相關然欄位所在圖檔的定位 |
| | | |
| | | if RelaFile<>'' then |
| | | begin |
| | | ISB8.LoadFromFile(ImageSavePath+CaseID+'\upload\'+RelaFile,1); //20170815 |
| | | ISB8W:= ISB8.Graphic.Width; |
| | | ISB8H:= ISB8.Graphic.Height; |
| | | FindPoint(ISB8.Graphic,UpLPoint,UpRPoint,DownLPoint,ISB8W,ISB8H,ANCHOR); //20170815 抓相關然欄位所在圖檔的定位 |
| | | end; |
| | | |
| | | OMROK := False; |
| | | //OMROK := False; |
| | | //if RelaXT.SubNodes['/form/settype2/'].First then |
| | |
| | | end; |
| | | //*******有值相關文件的欄位不能有值******* |
| | | |
| | | |
| | | //ShowMessage('11889 OMRFileList.Strings['+IntToStr(i)+']'+OMRFileList.Strings[i]); |
| | | |
| | | //*******有值相依文件******* |
| | | if ModeNeedCheck(OMRErrInfo[5].Mode,FMode) then //是否要檢核 |
| | |
| | | RelaXT.Free; |
| | | end; |
| | | end; |
| | | //必填迴圈結束 |
| | | Finally |
| | | ValueXT.Free; |
| | | end; |
| | |
| | | PageLVclear := True; |
| | | InitialOk := False; |
| | | |
| | | |
| | | FMaxUploadSize:='10'; |
| | | //FMode := 'DSCAN' ; |
| | | //FIs_In_Wh := 'Y'; |
| | | if FIs_In_Wh = 'Y' then |
| | |
| | | AreaStr : String; |
| | | S : TStringlist; |
| | | CheckStr : String; |
| | | uploadMsg:String;//20171122 新增 配合不同mode下要秀不能上傳訊息 |
| | | begin |
| | | IF not InitialOk Then |
| | | begin |
| | |
| | | DisplayPath := ''; |
| | | ClearCaseIndex; |
| | | RejectCase := False; |
| | | |
| | | uploadMsg:=''; |
| | | if not CheckCaseID_OK then //檢查是否有未配號的案件 |
| | | begin |
| | | Showmessage(_Msg('尚有未配號案件,無法上傳')); |
| | |
| | | if CheckErrCount > 0 then |
| | | TransMsg := TransMsg + #13#10 + Format(_Msg('檢核失敗件%d件'),[CheckErrCount]); |
| | | |
| | | Showmessage(_Msg('傳送完成')+#13#10+TransMsg); |
| | | |
| | | if (FMode = 'DSCAN') and (SuccessCount = 1) then |
| | | begin |
| | | uploadMsg:=NowCaseNo+_Msg('影像上傳完成。此案已進入下一流程。'); |
| | | end; |
| | | if (FMode='ESCAN') and (FModeName='補件掃描') and (SuccessCount = 1) then |
| | | begin |
| | | uploadMsg:=NowCaseNo+_Msg('影像已補件完成。'); |
| | | end; |
| | | //ShowMessage('uploadMsg='+uploadMsg); |
| | | if uploadMsg<>'' then |
| | | begin |
| | | ShowMessage(uploadMsg); |
| | | end |
| | | else |
| | | begin |
| | | Showmessage(_Msg('傳送完成')+#13#10+TransMsg); |
| | | end; |
| | | |
| | | LoadImgFile; |
| | | if (FMode = 'ESCAN') and (SuccessCount = 1) then |