|
@@ -189,7 +189,7 @@ uses
|
|
|
PhaseData, BGLDm, MainFrm, ZhAPI, SearchDm, PHPWebDm, ActiveX,
|
|
|
ConstUnit, MD5Unit, sdIDTree, sdDB, mProgressFrm, ConditionalDefines,
|
|
|
ProjectCommands, ProjectProperty, CheckerMemoFrm, BillsMeasureDm,
|
|
|
- ProgressHintFrm;
|
|
|
+ ProgressHintFrm, mProgressProFrm;
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
@@ -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';
|
|
@@ -815,8 +818,9 @@ begin
|
|
|
if Application.MessageBox(PChar(CheckersHint), '询问', MB_YESNO + MB_ICONQUESTION) = ID_No then
|
|
|
Exit;
|
|
|
|
|
|
- CreateProgress('正在保存项目');
|
|
|
+ ProgressProCreate(100, '本地数据文件上传到云端');
|
|
|
ProjectData.Save;
|
|
|
+ ProgressProRun('保存本地数据。OK');
|
|
|
|
|
|
// 生成无锁文件
|
|
|
vRec := MainForm.ProjectManagerFrame.Rec(ProjectData.ProjectID);
|
|
@@ -826,8 +830,16 @@ begin
|
|
|
finally
|
|
|
vExportor.Free;
|
|
|
end;
|
|
|
-
|
|
|
- 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
|
|
@@ -851,9 +863,18 @@ begin
|
|
|
Exit;
|
|
|
end;
|
|
|
|
|
|
- CreateProgress('正在保存项目');
|
|
|
+ ProgressProCreate(100, '本地数据文件上传到云端');
|
|
|
ProjectData.Save;
|
|
|
- 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
|
|
@@ -877,16 +898,26 @@ begin
|
|
|
Exit;
|
|
|
end;
|
|
|
|
|
|
- CreateProgress('正在保存项目');
|
|
|
+ ProgressProCreate(100, '本地数据文件上传到云端');
|
|
|
ProjectData.Save;
|
|
|
- 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
|
|
|
- RefreshProgress('创建文件包');
|
|
|
sJsonFile_Bills := ExtractFilePath(sAppFile) + 'JsonFile_Bills.json';
|
|
|
sJsonFile_Common := ExtractFilePath(sAppFile) + 'JsonFile_Common.json';
|
|
|
sMD5_JL := MD5_File(sAppFile);
|
|
@@ -894,16 +925,30 @@ begin
|
|
|
// 上传清单,每期都传,可覆盖旧的。
|
|
|
ProjectData.ExportJson_Bills(sJsonFile_Bills);
|
|
|
ProjectData.ExportJson_Common(sJsonFile_Common);
|
|
|
+ ProgressProRun('生成Web汇总数据文件。OK');
|
|
|
+ ProgressProRun('生成并检验up数据包文件...', 0);
|
|
|
sZipFile := PHPWeb.zip([sAppFile, sJsonFile_Bills, sJsonFile_Common, sAppFile_UnLock]);
|
|
|
+
|
|
|
+ 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
|
|
|
- // 上传标段文件
|
|
|
- RefreshProgress('上传到云端');
|
|
|
+ ProgressProRun('上传数据包到云端...(温馨提示:请不要乱点哦,Windows容易死机)', 0);
|
|
|
if PHPWeb.UpDataFile(PHPWeb.UserID, ProjectData.WebID, ProjectData.PhaseIndex,
|
|
|
sZipFile, sMD5_JL, bSubmit, sResult, ACheckPassed, sCheckerMemo) then
|
|
|
begin
|
|
|
+ ProgressProRun('上传数据包到云端。OK', 90, pmtEdit, pptSet);
|
|
|
if ProjectData.CurUserIsChecker then
|
|
|
ProjectData.Checkers.FindByID(PHPWeb.UserID).Memo := sCheckerMemo;
|
|
|
- RefreshProgress('本地刷新显示');
|
|
|
+
|
|
|
if ProjectData.PhaseIndex = 0 then // 0号台账,现已废弃
|
|
|
begin
|
|
|
MainForm.ProjectManagerFrame.ShowProjWebInfoTop(0);
|
|
@@ -957,7 +1002,7 @@ begin
|
|
|
sResult), '警告', MB_OK + MB_ICONWARNING);
|
|
|
end;
|
|
|
finally
|
|
|
- CloseProgress;
|
|
|
+ ProgressProFree;
|
|
|
end;
|
|
|
end;
|
|
|
|