From cff1162ad64495adbb4ae17f086efe47cc95ea97 Mon Sep 17 00:00:00 2001
From: doom4ster <doom4ster@gmail.com>
Date: 星期四, 12 十月 2017 11:30:35 +0800
Subject: [PATCH] ver2.0.1.48 修改因縮放導致的MD5值不存在原有影像列表問題

---
 CB_IMGPSScanImp.dfm |    4 ++
 CB_IMGPSScanImp.dcu |    0 
 CB_IMGPSScan.ocx    |    0 
 CB_IMGPSScan.dproj  |    4 +-
 CB_IMGPSScan.res    |    0 
 CB_IMGPSScanImp.pas |   62 +++++++++++++++++++++++++++++--
 6 files changed, 64 insertions(+), 6 deletions(-)

diff --git a/CB_IMGPSScan.dproj b/CB_IMGPSScan.dproj
index a0354e9..1caf01c 100644
--- a/CB_IMGPSScan.dproj
+++ b/CB_IMGPSScan.dproj
@@ -95,7 +95,7 @@
 						<VersionInfo Name="MajorVer">2</VersionInfo>
 						<VersionInfo Name="MinorVer">0</VersionInfo>
 						<VersionInfo Name="Release">1</VersionInfo>
-						<VersionInfo Name="Build">46</VersionInfo>
+						<VersionInfo Name="Build">48</VersionInfo>
 						<VersionInfo Name="Debug">False</VersionInfo>
 						<VersionInfo Name="PreRelease">False</VersionInfo>
 						<VersionInfo Name="Special">False</VersionInfo>
@@ -107,7 +107,7 @@
 					<VersionInfoKeys>
 						<VersionInfoKeys Name="CompanyName"/>
 						<VersionInfoKeys Name="FileDescription"/>
-						<VersionInfoKeys Name="FileVersion">2.0.1.46</VersionInfoKeys>
+						<VersionInfoKeys Name="FileVersion">2.0.1.48</VersionInfoKeys>
 						<VersionInfoKeys Name="InternalName"/>
 						<VersionInfoKeys Name="LegalCopyright"/>
 						<VersionInfoKeys Name="LegalTrademarks"/>
diff --git a/CB_IMGPSScan.ocx b/CB_IMGPSScan.ocx
index 13e071a..45fef98 100644
--- a/CB_IMGPSScan.ocx
+++ b/CB_IMGPSScan.ocx
Binary files differ
diff --git a/CB_IMGPSScan.res b/CB_IMGPSScan.res
index 1398ec2..dc719aa 100644
--- a/CB_IMGPSScan.res
+++ b/CB_IMGPSScan.res
Binary files differ
diff --git a/CB_IMGPSScanImp.dcu b/CB_IMGPSScanImp.dcu
index 38d6f39..454e33b 100644
--- a/CB_IMGPSScanImp.dcu
+++ b/CB_IMGPSScanImp.dcu
Binary files differ
diff --git a/CB_IMGPSScanImp.dfm b/CB_IMGPSScanImp.dfm
index 2d14c11..47ec0ed 100644
--- a/CB_IMGPSScanImp.dfm
+++ b/CB_IMGPSScanImp.dfm
@@ -9574,4 +9574,8 @@
     Left = 144
     Top = 304
   end
+  object LogFile1: TLogFile
+    Left = 464
+    Top = 296
+  end
 end
diff --git a/CB_IMGPSScanImp.pas b/CB_IMGPSScanImp.pas
index d964a67..668c4bf 100644
--- a/CB_IMGPSScanImp.pas
+++ b/CB_IMGPSScanImp.pas
@@ -14,7 +14,7 @@
   ExtCtrls, ComCtrls, Menus, StdCtrls, Gauges, EnImgScr, PJMenuSpeedButtons,
   Buttons, ImgList, SBSimpleSSL, SBHTTPSClient, SBWinCertStorage, SBX509,
   SBCustomCertStorage, SBUtils,mpsBarco,BarcodesFinder,HTTPApp,ErrList,
-  Xmltool,inifiles,printers,IdHashMessageDigest, idHash;
+  Xmltool,inifiles,printers,IdHashMessageDigest, idHash, LogFile;
 
 var
   Ch_WriteNote : Boolean;
@@ -256,6 +256,7 @@
     N2: TMenuItem;
     ISB1: TImageScrollBox;
     Label3: TLabel;
+    LogFile1: TLogFile;
     procedure ActiveFormCreate(Sender: TObject);
     procedure Panel9Resize(Sender: TObject);
     procedure ISB1Click(Sender: TObject);
@@ -488,6 +489,7 @@
     LastAddFormidList:TstringList;
     SampleFormIDList:TStringList; //20170627 已存在範本的formid
     ExistImgList:TStringList;  //20170724  已經存在的影像list for ESCAN  //Img的完整路徑
+    reSizeExistImgList:TstringList; //20171012被縮放的舊圖MD5存入
     //********清單區********
 
     //********顯示區********
@@ -843,6 +845,8 @@
     function CheckCaseAttach_OK: Boolean;
     function DeleteDocNoFileForESCAN(Path, DocNo: String): Boolean;     //2017 確認是否有未歸類文件
     function CheckRequiredColumnValues(workno,caseno:String) :Boolean;  //20171003  此大類下此案是否檢核必填
+    function logTimeString :String;
+    procedure ReduceLogFile ;
   protected
     { Protected declarations }
     procedure DefinePropertyPages(DefinePropertyPage: TDefinePropertyPage); override;
@@ -1640,6 +1644,7 @@
   LastAddFormidList.Free;
   SampleFormIDList.Free;
   ExistImgList.Free;
+  reSizeExistImgList.Free;
   //********清單區********
   if FEvents <> nil then FEvents.OnDestroy;
 end;
@@ -5821,6 +5826,7 @@
         end;
         FormCode := FileName2FormCode(S.Strings[n]);
 //Showmessage('1:'+version+','+FormCode2Version(FormCode)+','+DocNo+','+FormCode2DocNo(FormCode)+','+iPage+','+FormCode2Page(FormCode));
+LogFile1.LogToFile(logTimeString+'caseno='+CaseID+','+version+','+FormCode2Version(FormCode)+','+DocNo+','+FormCode2DocNo(FormCode)+','+iPage+','+FormCode2Page(FormCode));
         if (version = FormCode2Version(FormCode)) and (DocNo = FormCode2DocNo(FormCode)) and (ipage = FormCode2Page(FormCode)) then
         begin
 //Showmessage(version+','+DocNo+',iPage='+iPage);
@@ -5910,7 +5916,9 @@
   SizeStr : String;
   S : TStringlist;
   v,v1:Integer;
+  IsRecordMD5:Boolean;
 begin
+  IsRecordMD5:=False;
   FormID := FileName2FormCode(FileName);
   if FormID = '' then Exit;
 
@@ -5938,8 +5946,15 @@
       IF (SizeStr <> '') and (Copy(SizeStr,1,v) <> 'ERROR') then
       begin
 //ShowMessage('CCCCC');
-
+        if (ISExistImg(ImageSavePath+CaseID+'\Upload\'+FileName)) and (reSizeExistImgList.IndexOf(LoadFileGetMD5(ImageSavePath+CaseID+'\Upload\'+FileName))=-1) then
+        begin
+          IsRecordMD5:=True;
+        end;
         ImageScrollBox1.SaveToFile(ImageSavePath+CaseID+'\Upload\'+FileName);
+        if IsRecordMD5 then
+        begin
+          reSizeExistImgList.add(LoadFileGetMD5(ImageSavePath+CaseID+'\Upload\'+FileName));
+        end;
 //showmessage(ImageSavePath+CaseID+'\Upload\'+FileName);
         S := TStringlist.Create;                     ///20110422拿掉 換成上傳才做
         if FileExists(ImageSavePath+CaseID+'\Upload\ReSize.dat') then
@@ -6747,7 +6762,7 @@
     begin
       if FWH_category='N' then
       begin
-        if ISExistImg(Path+S.Strings[i]) then
+        if (ISExistImg(Path+S.Strings[i])) or (reSizeExistImgList.IndexOf(LoadFileGetMD5(Path+S.Strings[i]))<>-1)  then
         begin
           Continue;
         end;
@@ -7585,6 +7600,27 @@
 
 end;
 
+
+procedure TCB_IMGPSScanX.ReduceLogFile; //20171011 必免log檔掌太大
+var
+  ST1:TStringlist;
+  I:integer;
+begin
+  ST1:=TStringList.Create;
+  if FileExists(LngPath+'IMGPSCheck.log') then
+  begin
+    ST1.LoadFromFile(LngPath+'IMGPSCheck.log');
+    if ST1.count>100000 then
+    begin
+      for I := 0 to 10000 do
+      begin
+        ST1.Delete(0);
+      end;
+      ST1.SaveToFile(LngPath+'IMGPSCheck.log');
+    end;
+  end;
+  ST1.Free;
+end;
 
 Procedure TCB_IMGPSScanX.ClearCaseIndex;
 begin
@@ -9026,6 +9062,11 @@
     v := Pos('-',NewTreeNode.Text);
     NewTreeNode.Text := Format(_Msg('%s-共%d筆共%d頁'),[Copy(NewTreeNode.Text,1,v-1),CaseCount,PageCount]);
   end;
+end;
+
+function TCB_IMGPSScanX.logTimeString: String;
+begin
+Result:=FormatDateTime('yyyymmdd hh:mm:ss',now) +'  '
 end;
 
 Function TCB_IMGPSScanX.FindDivFormCode(FormCode:String):Boolean; //找有沒有分案的條碼
@@ -11296,6 +11337,7 @@
 
         end;
 //ShowMessage('MainFormID='+MainFormID);
+LogFile1.LogToFile(logTimeString+' '+CaseID+' '+'MainFormID='+MainFormID);
         if MainFormID = ''then
         begin
           //20131203 yuu說不檢查這個,先拿掉   20170315 楷琳說未歸類要擋  20170726 因此有檢查必要FormID  所以 可以拿掉
@@ -11316,6 +11358,8 @@
           //////主要非主要文件//////
           DistinctDocinCase(ImageSavePath+CaseID+'\upload\');
 //ShowMessage(DocNo_VerinCase.Text);
+//DocNo_VerinCase.Add('31A00101_1706A');
+LogFile1.LogToFile(logTimeString+' '+CaseID+' '+'DocNo_VerinCase.Text='+DocNo_VerinCase.Text);
           if ModeNeedCheck(OMRErrInfo[1].Mode,FMode) then //是否要檢核
           begin
             for i := 0 to DocNo_VerinCase.Count - 1 do
@@ -11326,6 +11370,7 @@
               MainVersion :=Copy(DocNo_VerinCase.Strings[i],v+1,v1-v); //FormCode2Version(MainFormID);
               MainFormPage := GetDataDocNoPage(MainDocNo,MainVersion); //資料庫記錄主文件頁數
               CaseFormPage := CheckCaseDocNoPage(CaseID,MainDocNo,MainVersion,MainFormPage); //案件主文件的頁數
+LogFile1.LogToFile(logTimeString+CaseID+',MainDocNo='+MainDocNo+',MainVersion='+MainVersion+',MainFormPage='+IntToStr(MainFormPage)+',CaseFormPage='+IntToStr(CaseFormPage));
               IF (MainFormPage > 0) and (MainFormPage <> CaseFormPage) then
               begin
                 ErrStr:=MainDocNo+Format(OMRErrInfo[1].Info,[Inttostr(MainFormPage),Inttostr(CaseFormPage)]); //主要文件需有XX頁僅附XX頁
@@ -11437,13 +11482,16 @@
     end;
     //if AllCheck then
     //begin
-      //////最大頁數/////
+      //////最大頁數///
+LogFile1.LogToFile(logTimeString+'最大頁數A段 '+CaseID+' '+'OMRFileList.Text='+OMRFileList.Text);
       DistinctFormCode(CaseID);
       if ModeNeedCheck(OMRErrInfo[10].Mode,FMode) then //是否要檢核
       begin
 //ShowMessage('AAA'+OMRFileList.Text);
+LogFile1.LogToFile(logTimeString+'最大頁數B段 '+CaseID+' '+'OMRFileList.Text='+OMRFileList.Text);
         For i := 0 to OMRFileList.Count - 1 do
         begin
+
           if FWH_category='N' then
           begin
             if ISExistImg(ImageSavePath+CaseID+'\upload\'+OMRFileList.Strings[i]) then
@@ -11474,6 +11522,7 @@
       ValueXT := TXmltool.Create;
       Try
 //ShowMessage('必填'+OMRFileList.Text);
+LogFile1.LogToFile(logTimeString+'必填 '+CaseID+' '+'OMRFileList.Text='+OMRFileList.Text);
         For i := 0 to OMRFileList.Count - 1 do
         begin
           if CheckRequiredColumnValues(FWork_NO,CaseID) then Continue;
@@ -11493,6 +11542,7 @@
           ImageReSize_FormID(CaseID,OMRFile);
           ////依十字定位點縮放///
 //Display1.Lines.Add('OMRFile='+OMRFile+',OMRFormCode='+OMRFormCode+',OMRFormName='+OMRFormName);
+LogFile1.LogToFile(logTimeString+'OMRFile='+OMRFile+',OMRFormCode='+OMRFormCode+',OMRFormName='+OMRFormName);
           if not FileExists(CheckXmlPath+OMRFormCode+'.xml') then  //沒有Xml就不用檢核
             Continue;
 
@@ -13845,6 +13895,7 @@
   PageLVclear := True;
   InitialOk := False;
 
+
   //FMode := 'DSCAN' ;
   //FIs_In_Wh := 'Y';
   if FIs_In_Wh = 'Y' then
@@ -13951,6 +14002,7 @@
   LastAddFormidList := TStringList.Create;
   SampleFormIDList := TStringList.Create;//20170627 加入
   ExistImgList := TStringList.Create;  //20170724 新增
+  reSizeExistImgList :=TStringList.Create; //20171012 新增
   //********清單區********
 
   ShowText := _Msg('資料載入中,請稍候');
@@ -14069,7 +14121,9 @@
   Del_Sub_NothingPath(ImagePath);  //清掉案件目錄是空的
 
 
+  LogFile1.LogFile:=LngPath+'IMGPSCheck.log';
 
+  ReduceLogFile;
 
   ShowText := _Msg('資料載入中,請稍候');
   DataLoading(True,True);

--
Gitblit v1.8.0