|
@@ -755,7 +755,7 @@ begin
|
|
|
if ProjectData.PhaseIndex < ProjectData.ProjProperties.PhaseCount then
|
|
|
btnPass.Enabled := False
|
|
|
else
|
|
|
- btnPass.Enabled := CheckerFrame.Me.IsChecking;
|
|
|
+ btnPass.Enabled := CheckerFrame.Me.IsChecking;
|
|
|
|
|
|
btnNotPass.Enabled := btnPass.Enabled;
|
|
|
btnPass.Left := jcbAudit.Left + jcbAudit.Width + 5;
|
|
@@ -779,8 +779,11 @@ var sURL, sAppFile, sJsonFile_Bills, sJsonFile_Common, sAppFile_UnLock,
|
|
|
bSubmit: Boolean;
|
|
|
vExportor: TTenderExport;
|
|
|
vCF: TCheckerMemoForm;
|
|
|
+ bNeedFreeEarlier: Boolean;
|
|
|
+ iFile: Integer;
|
|
|
begin
|
|
|
bSubmit := False;
|
|
|
+ bNeedFreeEarlier := False;
|
|
|
sAppFile := PHPWeb.UserPath + 'ProjectFile.rmf';
|
|
|
// 只有编制人才真正需要该文件存在
|
|
|
sAppFile_UnLock := PHPWeb.UserPath + 'ProjectFile_UnLock';
|
|
@@ -828,8 +831,15 @@ begin
|
|
|
vExportor.Free;
|
|
|
end;
|
|
|
ProgressProRun('生成无锁文件。OK');
|
|
|
- ProjectData.SubmitProject(sAppFile);
|
|
|
- ProgressProRun('生成待审核文件。OK');
|
|
|
+ ProgressProRun('生成并检验待审核文件...', 0);
|
|
|
+ if not ProjectData.SubmitProject(sAppFile) then
|
|
|
+ if not ProjectData.SubmitProject(sAppFile) then
|
|
|
+ begin
|
|
|
+ bNeedFreeEarlier := True;
|
|
|
+ Application.MessageBox('Sorry!待审核文件连续2次生成失败!如果重试后仍不能解决该问题,请联系纵横客服。', '提示', MB_OK + MB_ICONWARNING);
|
|
|
+ Exit;
|
|
|
+ end;
|
|
|
+ ProgressProRun('生成并检验待审核文件。OK', 10, pmtEdit);
|
|
|
end
|
|
|
else if ProjectData.CurUserIsChecker then
|
|
|
begin
|
|
@@ -856,8 +866,15 @@ begin
|
|
|
ProgressProCreate(100, '本地数据文件上传到云端');
|
|
|
ProjectData.Save;
|
|
|
ProgressProRun('保存本地数据。OK');
|
|
|
- ProjectData.SubmitProject(sAppFile);
|
|
|
- ProgressProRun('生成待审核文件。OK');
|
|
|
+ ProgressProRun('生成并检验待审核文件...', 0);
|
|
|
+ if not ProjectData.SubmitProject(sAppFile) then
|
|
|
+ if not ProjectData.SubmitProject(sAppFile) then
|
|
|
+ begin
|
|
|
+ bNeedFreeEarlier := True;
|
|
|
+ Application.MessageBox('Sorry!待审核文件连续2次生成失败!如果重试后仍不能解决该问题,请联系纵横客服。', '提示', MB_OK + MB_ICONWARNING);
|
|
|
+ Exit;
|
|
|
+ end;
|
|
|
+ ProgressProRun('生成并检验待审核文件。OK', 10, pmtEdit);
|
|
|
end
|
|
|
else if ProjectData.CurUserIsOwner then
|
|
|
begin
|
|
@@ -884,11 +901,20 @@ begin
|
|
|
ProgressProCreate(100, '本地数据文件上传到云端');
|
|
|
ProjectData.Save;
|
|
|
ProgressProRun('保存本地数据。OK');
|
|
|
- ProjectData.ReplyProject(sAppFile);
|
|
|
- ProgressProRun('生成批复文件。OK');
|
|
|
+ ProgressProRun('生成并检验待批复文件...', 0);
|
|
|
+ if not ProjectData.ReplyProject(sAppFile) then
|
|
|
+ if not ProjectData.ReplyProject(sAppFile) then
|
|
|
+ begin
|
|
|
+ bNeedFreeEarlier := True;
|
|
|
+ Application.MessageBox('Sorry!批复文件连续2次生成失败!如果重试后仍不能解决该问题,请联系纵横客服。', '提示', MB_OK + MB_ICONWARNING);
|
|
|
+ Exit;
|
|
|
+ end;
|
|
|
+ ProgressProRun('生成并检验待批复文件。OK', 10, pmtEdit);
|
|
|
end;
|
|
|
finally
|
|
|
vCF.Free;
|
|
|
+ if bNeedFreeEarlier then
|
|
|
+ ProgressProFree;
|
|
|
end;
|
|
|
|
|
|
try
|
|
@@ -899,11 +925,23 @@ begin
|
|
|
// 上传清单,每期都传,可覆盖旧的。
|
|
|
ProjectData.ExportJson_Bills(sJsonFile_Bills);
|
|
|
ProjectData.ExportJson_Common(sJsonFile_Common);
|
|
|
- ProgressProRun('生成Web汇总数据文件。OK', 5);
|
|
|
+ ProgressProRun('生成Web汇总数据文件。OK');
|
|
|
+ ProgressProRun('生成并检验up数据包文件...', 0);
|
|
|
sZipFile := PHPWeb.zip([sAppFile, sJsonFile_Bills, sJsonFile_Common, sAppFile_UnLock]);
|
|
|
- ProgressProRun('数据文件打包。OK', 5);
|
|
|
+
|
|
|
+ if FileExists(sAppFile_UnLock) then
|
|
|
+ iFile := 4
|
|
|
+ else
|
|
|
+ iFile := 3;
|
|
|
+ if not PHPWeb.CheckZip(sZipFile, iFile) then
|
|
|
+ begin
|
|
|
+ Application.MessageBox('up数据包文件无法通过检验请重试!如果重试后仍不能解决该问题,请联系纵横客服。', '提示', MB_OK + MB_ICONWARNING);
|
|
|
+ Exit;
|
|
|
+ end;
|
|
|
+
|
|
|
+ ProgressProRun('生成并检验up数据包文件。OK', 10, pmtEdit);
|
|
|
try
|
|
|
- ProgressProRun('上传数据包到云端...', 0);
|
|
|
+ ProgressProRun('上传数据包到云端...(温馨提示:请不要乱点哦,Windows容易死机)', 0);
|
|
|
if PHPWeb.UpDataFile(PHPWeb.UserID, ProjectData.WebID, ProjectData.PhaseIndex,
|
|
|
sZipFile, sMD5_JL, bSubmit, sResult, ACheckPassed, sCheckerMemo) then
|
|
|
begin
|
|
@@ -954,7 +992,6 @@ begin
|
|
|
btnPass.Enabled := False;
|
|
|
btnNotPass.Enabled := btnPass.Enabled;
|
|
|
pnlProjectCheckStatus.Visible := CheckerFrame.OwnerFrame.CheckStatus = csFinished;
|
|
|
- ProgressProRun('本地刷新显示。OK', 5);
|
|
|
|
|
|
Application.MessageBox('^_^ 恭喜!数据已成功上传到云端服务器。', '提示', MB_OK + MB_ICONINFORMATION);
|
|
|
end
|