Bläddra i källkod

Task #1200 最后一个审核人错误

MaiXinRong 9 år sedan
förälder
incheckning
516af9e861
4 ändrade filer med 17 tillägg och 11 borttagningar
  1. 4 2
      Frames/CheckerFme.pas
  2. 2 0
      Units/Checker.pas
  3. 7 0
      Units/ConditionalDefines.pas
  4. 4 9
      Units/ProjectData.pas

+ 4 - 2
Frames/CheckerFme.pas

@@ -126,7 +126,7 @@ end;
 
 procedure TCheckerFrame.Init;
 var
-  i: Integer;
+  i, iIndex: Integer;
   vA: TOVArr;
   sURL, sPicPath, sID, sErrors: string;
   vProj: TProjectData;
@@ -185,7 +185,9 @@ begin
           vA[i, 0], vA[i, 2], vA[i, 1], sPicPath, vA[i, 6], vStatus, vA[i, 8], StrToInt(vA[i, 7]));
 
       vCM := TChecker.Create;
-      vProj.Checkers.Add(StrToInt(vA[i, 4]), vA[i, 0], vA[i, 2], vA[i, 6], vA[i, 8]);
+      iIndex := vProj.Checkers.Add(StrToInt(vA[i, 4]), vA[i, 0], vA[i, 2], vA[i, 6], vA[i, 8]);
+      if vStatus in [csFinished, csNotPass] then
+        vProj.Checkers.LastChecker := vProj.Checkers.Item[iIndex];
     end;
     RepairOrder;
   end

+ 2 - 0
Units/Checker.pas

@@ -42,6 +42,7 @@ type
   TCheckers = class(TObject)			// ÉóºËÈ˹ÜÀíÀà
   private
     FList: TList;
+    FLastChecker: TChecker;
     function GetItem(Index: Integer): TChecker;
     function GetCount: Integer;
   public
@@ -56,6 +57,7 @@ type
     function FindByID(AID: Integer): TChecker;
     property Item[Index: Integer]: TChecker read GetItem; default;
     property Count: Integer read GetCount;
+    property LastChecker: TChecker read FLastChecker write FLastChecker;
   end;
 
 implementation

+ 7 - 0
Units/ConditionalDefines.pas

@@ -30,6 +30,13 @@ var
     _IsDebugView: Boolean = False;
   {$ENDIF}
 
+  // 使用G_IsCloud变量总是出现编译问题
+  {$IFDEF _mCloud}
+    _IsCloud: Boolean = True;
+  {$ELSE}
+    _IsCloud: Boolean = False;
+  {$ENDIF}
+
 implementation
 
 end.

+ 4 - 9
Units/ProjectData.pas

@@ -1065,14 +1065,9 @@ procedure TProjectData.CopyPhaseData;
       ExecuteSql(sSql);
     end;
     // ÉóºËͨ¹ýµÄ×îºóÒ»ÈË
-    if ProjProperties.AuditStatus <> 0 then
-    begin
-      if ProjProperties.AuditStatus = -1 then
-        vChecker := Checkers.Item[Checkers.Count -1]
-      else
-        vChecker := Checkers.Item[ProjProperties.AuditStatus-1];
-      sSql := Format(sInsertSql, [vChecker.No, vChecker.Name, vChecker.Role, vChecker.Memo, vChecker.CheckedDateTime, 1]);
-    end
+    vChecker := Checkers.LastChecker;
+    if Assigned(vChecker) then
+      sSql := Format(sInsertSql, [vChecker.No, vChecker.Name, vChecker.Role, vChecker.Memo, vChecker.CheckedDateTime, 1])
     else
       sSql := Format(sInsertSql, [-1, '', '', '', '', 1]);
     ExecuteSql(sSql);
@@ -1091,7 +1086,7 @@ begin
     CopyCurPhaseData;
   FDealPaymentData.UpdateLinkSerialNo;
   //CopyHistoryCompleteData;
-  if G_IsCloud then
+  if _IsCloud then
     SaveCloudInfo;
   if _IsDebugView then
     SaveDebugFile('Report.dat');