|
@@ -469,42 +469,46 @@ end;
|
|
|
|
|
|
procedure TProjectData.Save;
|
|
|
begin
|
|
|
- UpdateSysProgress(5, '正在保存数据');
|
|
|
- SaveLastestPhaseMainData;
|
|
|
- UpdateSysProgress(10, '正在保存数据');
|
|
|
- if FPhaseData.Active then
|
|
|
- FPhaseData.Save;
|
|
|
- UpdateSysProgress(40, '正在保存数据');
|
|
|
- FMainListData.Save;
|
|
|
- FDealPaymentData.Save;
|
|
|
- UpdateSysProgress(50, '正在保存数据');
|
|
|
- FStaffData.Save;
|
|
|
- UpdateSysProgress(60, '正在保存数据');
|
|
|
- FBGLData.Save;
|
|
|
- UpdateSysProgress(70, '正在保存数据');
|
|
|
- FDealBillsData.Save;
|
|
|
- UpdateSysProgress(80, '正在保存数据');
|
|
|
-
|
|
|
- FProjectGLData.Save;
|
|
|
- FDetailGLData.Save;
|
|
|
- UpdateSysProgress(100, '正在保存数据');
|
|
|
-
|
|
|
- FBillsCompileData.ReLockBaseData;
|
|
|
- UpdateSysProgress(110, '正在保存数据');
|
|
|
- FBillsData.Save;
|
|
|
- UpdateSysProgress(170, '正在保存数据');
|
|
|
-
|
|
|
- FProjProperties.AuditCompany := FStaffData.FinalStaffCompany;
|
|
|
- FProjProperties.Save;
|
|
|
- UpdateSysProgress(180, '正在保存数据');
|
|
|
- FConnection.Save;
|
|
|
- UpdateSysProgress(190, '正在保存数据');
|
|
|
-
|
|
|
- ZipFolder(FTempFolder, FileName);
|
|
|
- SaveInfoToManager;
|
|
|
- UpdateSysProgress(200, '就绪');
|
|
|
-
|
|
|
- ProjectManager.AddSaveTenderBackup(FProjectID);
|
|
|
+ try
|
|
|
+ UpdateSysProgress(5, '正在保存数据');
|
|
|
+ SaveLastestPhaseMainData;
|
|
|
+ UpdateSysProgress(10, '正在保存数据');
|
|
|
+ if (FPhaseData.Active) and (FPhaseIndex = ProjProperties.PhaseCount) then
|
|
|
+ FPhaseData.Save;
|
|
|
+ UpdateSysProgress(40, '正在保存数据');
|
|
|
+ FMainListData.Save;
|
|
|
+ FDealPaymentData.Save;
|
|
|
+ UpdateSysProgress(50, '正在保存数据');
|
|
|
+ FStaffData.Save;
|
|
|
+ UpdateSysProgress(60, '正在保存数据');
|
|
|
+ FBGLData.Save;
|
|
|
+ UpdateSysProgress(70, '正在保存数据');
|
|
|
+ FDealBillsData.Save;
|
|
|
+ UpdateSysProgress(80, '正在保存数据');
|
|
|
+
|
|
|
+ FProjectGLData.Save;
|
|
|
+ FDetailGLData.Save;
|
|
|
+ UpdateSysProgress(100, '正在保存数据');
|
|
|
+
|
|
|
+ FBillsCompileData.ReLockBaseData;
|
|
|
+ UpdateSysProgress(110, '正在保存数据');
|
|
|
+ FBillsData.Save;
|
|
|
+ UpdateSysProgress(170, '正在保存数据');
|
|
|
+
|
|
|
+ FProjProperties.AuditCompany := FStaffData.FinalStaffCompany;
|
|
|
+ FProjProperties.Save;
|
|
|
+ UpdateSysProgress(180, '正在保存数据');
|
|
|
+ FConnection.Save;
|
|
|
+ UpdateSysProgress(190, '正在保存数据');
|
|
|
+
|
|
|
+ ZipFolder(FTempFolder, FileName);
|
|
|
+ SaveInfoToManager;
|
|
|
+ UpdateSysProgress(200, '就绪');
|
|
|
+
|
|
|
+ ProjectManager.AddSaveTenderBackup(FProjectID);
|
|
|
+ except
|
|
|
+ ErrorMessage('保存数据出错。请重试,或联系纵横客服:企业QQ:800003850 客服热线:(0756)3850888');
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
procedure TProjectData.SaveInfoToManager;
|
|
@@ -534,20 +538,23 @@ procedure TProjectData.SetPhaseIndex(const Value: Integer);
|
|
|
Result := Format('%s\Phase%d.dat', [TempPath, FPhaseIndex]);
|
|
|
end;
|
|
|
|
|
|
- procedure ReCreatePhaseData;
|
|
|
+ procedure ReCreatePhaseData(AOrgPhaseIndex: Integer);
|
|
|
begin
|
|
|
- if FPhaseData.Active then
|
|
|
+ if (FPhaseData.Active) and (AOrgPhaseIndex = ProjProperties.PhaseCount) then
|
|
|
FPhaseData.Save;
|
|
|
FPhaseData.Free;
|
|
|
FPhaseData := TPhaseData.Create(Self);
|
|
|
end;
|
|
|
|
|
|
+var
|
|
|
+ iOrgPhaseIndex: Integer;
|
|
|
begin
|
|
|
SaveLastestPhaseMainData;
|
|
|
FProjectGLData.Save;
|
|
|
+ iOrgPhaseIndex := FPhaseIndex;
|
|
|
FPhaseIndex := Value;
|
|
|
ProjProperties.PhaseIndex := FPhaseIndex;
|
|
|
- ReCreatePhaseData;
|
|
|
+ ReCreatePhaseData(iOrgPhaseIndex);
|
|
|
FPhaseData.Open(GetPhaseFileName);
|
|
|
ResetPhaseDataLink;
|
|
|
// 须保存项目工料数据,重新加载当期的项目工料数据
|