Selaa lähdekoodia

云版,后台打开项目,未读取审核人信息问题

MaiXinRong 7 vuotta sitten
vanhempi
commit
5bc707760e
2 muutettua tiedostoa jossa 39 lisäystä ja 26 poistoa
  1. 1 1
      Forms/SignOnlineReportsFrm.pas
  2. 38 25
      Units/ProjectData.pas

+ 1 - 1
Forms/SignOnlineReportsFrm.pas

@@ -192,7 +192,7 @@ begin
   FSignPhase := ASignPhase;
   FSignPhase := ASignPhase;
 
 
   FProjectData := TProjectData.Create;
   FProjectData := TProjectData.Create;
-  FProjectData.OpenForSignOnline(GetMyProjectsFilePath + AProjNode.Rec.ValueByName('FileName').AsString, ASignPhase);
+  FProjectData.OpenForSignOnline(AProjNode.Rec, ASignPhase);
   FReportDataPrepare := TReportPrepare.Create(FProjectData);
   FReportDataPrepare := TReportPrepare.Create(FProjectData);
   FReportCon := TReportConnection.Create(FProjectData);
   FReportCon := TReportConnection.Create(FProjectData);
 
 

+ 38 - 25
Units/ProjectData.pas

@@ -90,6 +90,8 @@ type
 
 
     procedure InnerSave;
     procedure InnerSave;
 
 
+    procedure LoadCheckersData;
+
     function GetMainFileName: string;
     function GetMainFileName: string;
     procedure SetPhaseIndex(const Value: Integer);
     procedure SetPhaseIndex(const Value: Integer);
     function GetTempPath: string;
     function GetTempPath: string;
@@ -141,7 +143,7 @@ type
     {OpenForGather: BillsData, BillsMeasureTree, DealPaymentData, BGLData, PhaseData(根据PhaseIndex指定打开)}
     {OpenForGather: BillsData, BillsMeasureTree, DealPaymentData, BGLData, PhaseData(根据PhaseIndex指定打开)}
     procedure OpenForGather(const AFileName: string; APhaseIndex: Integer = -1);
     procedure OpenForGather(const AFileName: string; APhaseIndex: Integer = -1);
     {OpenForSignOnline: BillsData, BillsMeasureTree, PhaseData(根据PhaseIndex指定打开)}
     {OpenForSignOnline: BillsData, BillsMeasureTree, PhaseData(根据PhaseIndex指定打开)}
-    procedure OpenForSignOnline(const AFileName: string; APhaseIndex: Integer = -1);
+    procedure OpenForSignOnline(AProjRec: TsdDataRecord; APhaseIndex: Integer = -1);
     //-----------------------  End ---后台打开 ------------------------
     //-----------------------  End ---后台打开 ------------------------
 
 
     procedure SaveDebugFile(const AFileName: string);
     procedure SaveDebugFile(const AFileName: string);
@@ -266,7 +268,7 @@ implementation
 uses UtilMethods, Globals, ProjectCommands, sdIDTree, StageDm,
 uses UtilMethods, Globals, ProjectCommands, sdIDTree, StageDm,
   ZJJLDm, PHPWebDm, XMLDoc, XMLIntf, ConstUnit, PasswordInputFrm,
   ZJJLDm, PHPWebDm, XMLDoc, XMLIntf, ConstUnit, PasswordInputFrm,
   mProgressProFrm, mDataRecord, ConditionalDefines, DbTreeImport,
   mProgressProFrm, mDataRecord, ConditionalDefines, DbTreeImport,
-  StrUtils, sdProvider, CalcDecimal, Math;
+  StrUtils, sdProvider, CalcDecimal, Math, CslJson, OrderCheckerFme;
 
 
 { TProjectData }
 { TProjectData }
 
 
@@ -1987,7 +1989,10 @@ var
   sFileName: string;
   sFileName: string;
 begin
 begin
   sFileName := ExtractFileName(AFileName);
   sFileName := ExtractFileName(AFileName);
-  FConnection.SaveDebugFile(FDebugDir + '\' + sFileName);
+  if FDebugDir = '' then
+    FConnection.SaveDebugFile('E:\' + sFileName)
+  else
+    FConnection.SaveDebugFile(FDebugDir + '\' + sFileName);
 end;
 end;
 
 
 procedure TProjectData.SaveTempDataBaseFile(const AFileName: string);
 procedure TProjectData.SaveTempDataBaseFile(const AFileName: string);
@@ -2018,7 +2023,7 @@ begin
   FProjProperties.Open(FConnection.Connection);
   FProjProperties.Open(FConnection.Connection);
   UpdateOldData;
   UpdateOldData;
   FBillsData.Open(FConnection.Connection);
   FBillsData.Open(FConnection.Connection);
-  FBillsCompileData.Open;
+  FBillsMeasureData.Open;
   FDealPaymentData.Open(FConnection.Connection);
   FDealPaymentData.Open(FConnection.Connection);
   FBGLData.Open(FConnection.Connection);
   FBGLData.Open(FConnection.Connection);
   if ProjProperties.PhaseCount > 0 then
   if ProjProperties.PhaseCount > 0 then
@@ -2037,29 +2042,16 @@ begin
   Result := PhaseIndex < ProjProperties.PhaseCount;
   Result := PhaseIndex < ProjProperties.PhaseCount;
 end;
 end;
 
 
-procedure TProjectData.OpenForSignOnline(const AFileName: string;
+procedure TProjectData.OpenForSignOnline(AProjRec: TsdDataRecord;
   APhaseIndex: Integer);
   APhaseIndex: Integer);
 begin
 begin
-  FProjectID := -1;
-  UnZipFile(AFileName, TempPath);
-  FConnection.Open(MainFileName);
-  UpdateProjectDataBase;
-  FProjProperties.Open(FConnection.Connection);
-  UpdateOldData;
-  FBillsData.Open(FConnection.Connection);
-  FBillsMeasureData.Open;
-  FDealPaymentData.Open(FConnection.Connection);
-  FBGLData.Open(FConnection.Connection);
-  if ProjProperties.PhaseCount > 0 then
-  begin
-    if (APhaseIndex <= ProjProperties.PhaseCount) and (APhaseIndex > 0) then
-      FPhaseIndex := APhaseIndex
-    else
-      FPhaseIndex := ProjProperties.PhaseCount;
-    FPhaseData.SimpleOpen2(Format('%sPhase%d.dat', [TempPath, FPhaseIndex]));
-  end;
-  FBillsMeasureData.ResetTreeNodeStageRec;
-
+  FWebID := AProjRec.ValueByName('WebID').AsInteger;
+  FWebOwnerID := AProjRec.ValueByName('WebOwnerID').AsInteger;
+  FWebAuthorID := AProjRec.ValueByName('WebAuthorID').AsInteger;
+  
+  OpenForGather(GetMyProjectsFilePath + AProjRec.ValueByName('FileName').AsString, APhaseIndex);
+  if _IsCloud then
+    LoadCheckersData;
   CopyPhaseData(False);
   CopyPhaseData(False);
 end;
 end;
 
 
@@ -2197,4 +2189,25 @@ begin
   FIsGuest := Value;
   FIsGuest := Value;
 end;
 end;
 
 
+procedure TProjectData.LoadCheckersData;
+var
+  sURL: string;
+  vA: TOVArr;
+  i, iIndex: Integer;
+  vStatus: TCheckStatus;
+begin
+  Checkers.Clear;
+  sURL := Format('%suser/get/all/%d/%d/measure', [PHPWeb.MeasureURL, WebID, PhaseIndex]);
+  if PHPWeb.Search(sURL, [''], [''], vA) = 1 then
+  begin
+    for i := Low(vA) to High(vA) do
+    begin
+      vStatus :=  TCheckStatus(StrToInt(vA[i, 3])-1);
+      iIndex := Checkers.Add(StrToInt(vA[i, 4]), vA[i, 0], vA[i, 2], vA[i, 6], vA[i, 8]);
+      if vStatus in [csFinished, csNotPass] then
+        Checkers.LastChecker := Checkers.Item[iIndex];
+    end;
+  end
+end;
+
 end.
 end.