Explorar o código

Bug #1420 新增一期计量前,应保存项目属性数据

MaiXinRong %!s(int64=8) %!d(string=hai) anos
pai
achega
dffc08dfac
Modificáronse 1 ficheiros con 28 adicións e 3 borrados
  1. 28 3
      Units/ProjectData.pas

+ 28 - 3
Units/ProjectData.pas

@@ -133,10 +133,10 @@ type
     procedure OpenForReport3(const AFileName: string);
     {OpenForGather: BillsData, BillsMeasureTree, DealPaymentData, BGLData, PhaseData(根据PhaseIndex指定打开)}
     procedure OpenForGather(const AFileName: string; APhaseIndex: Integer = -1);
+    {OpenForSignOnline: BillsData, BillsMeasureTree, PhaseData(根据PhaseIndex指定打开)}
+    procedure OpenForSignOnline(const AFileName: string; APhaseIndex: Integer = -1);
     //-----------------------  End ---后台打开 ------------------------
 
-    // 
-
     procedure SaveDebugFile(const AFileName: string);
     procedure SaveTempDataBaseFile(const AFileName: string);
 
@@ -310,7 +310,8 @@ end;
 procedure TProjectData.CreateNewPhase;
 var
   sPhaseFileName: string;
-begin
+begin                       
+  FProjProperties.Save;
   FBillsData.LockedBaseData;
   FProjProperties.PhaseCount := FProjProperties.PhaseCount + 1;
   FProjProperties.AuditStatus := 0;
@@ -2063,4 +2064,28 @@ begin
   Result := PhaseIndex < ProjProperties.PhaseCount;
 end;
 
+procedure TProjectData.OpenForSignOnline(const AFileName: string;
+  APhaseIndex: Integer);
+begin
+  FProjectID := -1;
+  UnZipFile(AFileName, TempPath);
+  FConnection.Open(MainFileName);
+  UpdateProjectDataBase;
+  FProjProperties.Open(FConnection.Connection);
+  UpdateOldData;
+  FBillsData.Open(FConnection.Connection);
+  FBillsCompileData.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;
+end;
+
 end.