|
@@ -220,33 +220,6 @@ begin
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
-function SearchFileOnline(AURL: string; var ADownURL, AFolder, ASubFolder, ABidName, AMD5Web, AError: string;
|
|
|
- var AFolderID, ASubFolderID: Integer): Integer;
|
|
|
-var vArr: TOVArr;
|
|
|
-begin
|
|
|
- Result := PHPWeb.Search(AURL, [''], [''], vArr);
|
|
|
- AError := '';
|
|
|
- if Result = 1 then
|
|
|
- begin
|
|
|
- if High(vArr) >= 0 then
|
|
|
- begin
|
|
|
- ADownURL := vArr[0, 0];
|
|
|
- AFolder := vArr[0, 2];
|
|
|
- ASubFolder := vArr[0, 3];
|
|
|
- AMD5Web := vArr[0, 1];
|
|
|
- AFolderID := StrToInt(vArr[0, 4]);
|
|
|
- ASubFolderID := StrToInt(vArr[0, 5]);
|
|
|
- ABidName := vArr[0, 6];
|
|
|
- end
|
|
|
- else
|
|
|
- Result := 10; // 返回10,表示无记录。用这个数字代表是否觉得怪异?没办法,0被占用了。
|
|
|
- end
|
|
|
- else if Result = 0 then
|
|
|
- AError := PHPWeb.PageError('标段更新数据失败')
|
|
|
- else if Result = -1 then
|
|
|
- AError := PHPWeb.NetError('标段更新数据失败');
|
|
|
-end;
|
|
|
-
|
|
|
// 双击打开项目 TagB
|
|
|
procedure TProjectManagerFrame.actnOpenExecute(Sender: TObject);
|
|
|
var
|
|
@@ -254,6 +227,32 @@ var
|
|
|
vRec: TsdDataRecord;
|
|
|
sHint: string;
|
|
|
|
|
|
+ function SearchFileOnline(AURL: string; var ADownURL, AFolder, ASubFolder, ABidName, AMD5Web, AError: string; var AFolderID, ASubFolderID: Integer): Integer;
|
|
|
+ var vArr: TOVArr;
|
|
|
+ begin
|
|
|
+ Result := PHPWeb.Search(AURL, [''], [''], vArr);
|
|
|
+ AError := '';
|
|
|
+ if Result = 1 then
|
|
|
+ begin
|
|
|
+ if High(vArr) >= 0 then
|
|
|
+ begin
|
|
|
+ ADownURL := vArr[0, 0];
|
|
|
+ AFolder := vArr[0, 2];
|
|
|
+ ASubFolder := vArr[0, 3];
|
|
|
+ AMD5Web := vArr[0, 1];
|
|
|
+ AFolderID := StrToInt(vArr[0, 4]);
|
|
|
+ ASubFolderID := StrToInt(vArr[0, 5]);
|
|
|
+ ABidName := vArr[0, 6];
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Result := 10; // 返回10,表示无记录。用这个数字代表是否觉得怪异?没办法,0被占用了。
|
|
|
+ end
|
|
|
+ else if Result = 0 then
|
|
|
+ AError := PHPWeb.PageError('标段更新数据失败')
|
|
|
+ else if Result = -1 then
|
|
|
+ AError := PHPWeb.NetError('标段更新数据失败');
|
|
|
+ end;
|
|
|
+
|
|
|
function CanOpen: Boolean;
|
|
|
var
|
|
|
sSearchURL, sDownURL,
|
|
@@ -289,22 +288,28 @@ var
|
|
|
#10#13 +'点击【否(N)】查看不通过计量,软件将打开本期最后审批的数据,重新打开标段' + '可再次打开本确认窗口。';
|
|
|
if Application.MessageBox(PChar(sHint), '询问', MB_YESNO + MB_ICONQUESTION) = ID_Yes then
|
|
|
begin
|
|
|
- sSearchURL := Format('%suser/create/%d/%d/new/audit', [PHPWeb.MeasureURL, FWebID, FPhaseNo]);
|
|
|
- case SearchFileOnline(sSearchURL, sDownURL, FWebFolder_OnLine, FWebSubFolder_OnLine, FWebBidName_OnLine, sMD5_UnLock, sError, iFolderID, iSubFolderID) of
|
|
|
- 1:
|
|
|
- begin
|
|
|
- if not FileDownAndReceive(sDownURL, 2) then Exit;
|
|
|
- sHint := '【重要提示】:本期计量已重新开始,在本次上报完成前,请勿删除该标段或更换电脑。';
|
|
|
- Application.MessageBox(PChar(sHint), '提示', MB_OK + MB_ICONINFORMATION);
|
|
|
- end;
|
|
|
-
|
|
|
- 0, -1:
|
|
|
- begin
|
|
|
- sHint := sError + '(因网络出错,无法连接到云端以获取本期原报上传的无锁文件,无法重新开始本期,本次操作已取消。请重试。';
|
|
|
- Application.MessageBox(PChar(sHint), '警告', MB_OK + MB_ICONWARNING);
|
|
|
- Exit;
|
|
|
+ // 无锁文件机制取消。直接从原位置再下载一遍,这次不插表。
|
|
|
+ if FileDownAndReceive(sDownURL, 2) then
|
|
|
+ begin
|
|
|
+ // 这里主要是为了线上创建新一期审批人列表、更改标段状态。不再使用同步更新等。
|
|
|
+ sSearchURL := Format('%suser/create/%d/%d/new/audit', [PHPWeb.MeasureURL, FWebID, FPhaseNo]);
|
|
|
+ case SearchFileOnline(sSearchURL, sDownURL, FWebFolder_OnLine, FWebSubFolder_OnLine, FWebBidName_OnLine, sMD5_UnLock, sError, iFolderID, iSubFolderID) of
|
|
|
+ 1:
|
|
|
+ begin
|
|
|
+ sHint := '【十分重要】:本期计量已重新开始,原报在本次上报完成前,请勿删除该标段或更换电脑。';
|
|
|
+ Application.MessageBox(PChar(sHint), '提示', MB_OK + MB_ICONINFORMATION);
|
|
|
+ end;
|
|
|
+
|
|
|
+ 0, -1:
|
|
|
+ begin
|
|
|
+ sHint := sError + '(因网络出错,无法连接到云端以获取本期原报上传的无锁文件,无法重新开始本期,本次操作已取消。请重试。';
|
|
|
+ Application.MessageBox(PChar(sHint), '警告', MB_OK + MB_ICONWARNING);
|
|
|
+ Exit;
|
|
|
+ end;
|
|
|
end;
|
|
|
- end;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ Exit;
|
|
|
end;
|
|
|
end;
|
|
|
end
|
|
@@ -1706,7 +1711,7 @@ begin
|
|
|
sLocalFile := PHPWeb.UserPath + ExtractFileName(ADownURL);
|
|
|
if not PHPWeb.DownFile(ADownURL, sLocalFile) then
|
|
|
begin
|
|
|
- sHint := Format('云端已找到[%s]的新文件,但由于网络原因下载失败!请重试!', [FWebBidName_Local]);
|
|
|
+ sHint := Format('云端已找到 [%s] 的新文件,但由于网络原因下载失败!请重试!', [FWebBidName_Local]);
|
|
|
Application.MessageBox(PChar(sHint), '系统提醒', MB_OK + MB_ICONWARNING);
|
|
|
Exit;
|
|
|
end;
|
|
@@ -1742,7 +1747,7 @@ begin
|
|
|
// 接收更新
|
|
|
if not ReceiveFile(sLocalFile, (AReceiveKind = 2)) then
|
|
|
begin
|
|
|
- sHint := Format('已从云端下载新的[%s]到本地[%s],但接收失败,请删除该项目然后重新从云端获取!', [FWebBidName_Local, sLocalFile]);
|
|
|
+ sHint := Format('已从云端下载新的 [%s] 到本地 [%s],但接收失败,请删除该项目然后重新从云端获取!', [FWebBidName_OnLine, sLocalFile]);
|
|
|
Application.MessageBox(PChar(sHint), '系统提醒', MB_OK + MB_ICONWARNING);
|
|
|
Exit;
|
|
|
end;
|