|
@@ -123,7 +123,7 @@ type
|
|
|
FCurPos: Integer; // 用来控制审核人的添加位置
|
|
|
FCheckerList: TObjectList;
|
|
|
|
|
|
- function ReceiveFile(const AFileName: string): Boolean;
|
|
|
+ function ReceiveFile(const AFileName: string; AIsReback: Boolean = False): Boolean;
|
|
|
function ImportFile(const AFileName: string; AFileMD5: string = ''): Boolean;
|
|
|
procedure ConnectButtonWithAction;
|
|
|
function GetImportProjectName(const AFileName: string; AParent: TsdIDTreeNode): string;
|
|
@@ -403,7 +403,7 @@ begin
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
-function TProjectManagerFrame.ReceiveFile(const AFileName: string): Boolean;
|
|
|
+function TProjectManagerFrame.ReceiveFile(const AFileName: string; AIsReback: Boolean): Boolean;
|
|
|
var
|
|
|
vRP: TReceiveProject;
|
|
|
vNode: TsdIDTreeNode;
|
|
@@ -416,11 +416,11 @@ begin
|
|
|
|
|
|
if G_IsCloud then
|
|
|
begin
|
|
|
+ vRP.IsReback := AIsReback;
|
|
|
bLock := (FWebAuthorID = PHPWeb.UserID) or
|
|
|
((FWebAuthorID <> PHPWeb.UserID) and (FWebCheckStatusMy <> csChecking));
|
|
|
- bIsOwner := FWebOwnerID = PHPWeb.UserID;
|
|
|
-
|
|
|
vRP.Lock := bLock;
|
|
|
+ bIsOwner := FWebOwnerID = PHPWeb.UserID;
|
|
|
vNode := vRP.ReceiveForLost(AFileName, FOnLineCheckerBegin, FOnLineCheckerEnd, bIsOwner);
|
|
|
|
|
|
if vNode <> nil then
|
|
@@ -1677,28 +1677,17 @@ begin
|
|
|
Exit;
|
|
|
end;
|
|
|
|
|
|
- // 接收更新
|
|
|
- if AReceiveKind = 1 then
|
|
|
- begin
|
|
|
- if not ReceiveFile(sLocalFile) then
|
|
|
- begin
|
|
|
- sHint := Format('已从云端下载新的[%s]到本地[%s],但接收失败,请删除该项目然后重新从云端获取!', [FWebBidName_Local, sLocalFile]);
|
|
|
- Application.MessageBox(PChar(sHint), '系统提醒', MB_OK + MB_ICONWARNING);
|
|
|
- Exit;
|
|
|
- end;
|
|
|
- end
|
|
|
-
|
|
|
- // 导入更新
|
|
|
- else if AReceiveKind = 2 then
|
|
|
+ // 打回情况,重新接收原报的文件
|
|
|
+ if AReceiveKind = 2 then
|
|
|
begin
|
|
|
- // 有时无锁文件出错:包含了1审2审的数据。所以导入前须检测。
|
|
|
+ // 有时原报文件出错:包含了1审2审的数据。所以导入前须检测。
|
|
|
vFileCheck := TTenderFileChecker.Create;
|
|
|
try
|
|
|
// 有一期以上数据,且最新期数据审核状态为原报
|
|
|
bCanImp := vFileCheck.CheckFileValid(sLocalFile) and (vFileCheck.PhaseCount > 0) and (vFileCheck.AuditStatus = 0);
|
|
|
if not bCanImp then
|
|
|
begin
|
|
|
- Application.MessageBox(PChar('已从云端下载原报上传的无锁文件到本地,但文件有错误,禁止导入!请致电纵横服务人员以获取帮助。'),
|
|
|
+ Application.MessageBox(PChar('已从云端下载原报文件到本地,但文件有错误,禁止导入!请致电纵横服务人员以获取帮助。'),
|
|
|
'警告', MB_OK + MB_ICONWARNING);
|
|
|
Exit;
|
|
|
end;
|
|
@@ -1714,11 +1703,14 @@ begin
|
|
|
问:①那里下载无锁文件后不能改成新的MD5码吗?
|
|
|
答:不能,因为审核人的项目会变成无锁文件,看不到不通过项目。MD5码只能在上传后更新。
|
|
|
且编制人有个交互界面2种选择:a.下载更新不通过项目查看;b.下载更新无锁文件开始新一期。}
|
|
|
- if not ImportFile(sLocalFile, FWebMD5_OnLine) then
|
|
|
- begin
|
|
|
- Application.MessageBox(PChar('已从云端下载原报上传的无锁文件到本地,但导入失败!请重试。'), '警告', MB_OK + MB_ICONWARNING);
|
|
|
- Exit;
|
|
|
- end;
|
|
|
+ end;
|
|
|
+
|
|
|
+ // 接收更新
|
|
|
+ if not ReceiveFile(sLocalFile, (AReceiveKind = 2)) then
|
|
|
+ begin
|
|
|
+ sHint := Format('已从云端下载新的[%s]到本地[%s],但接收失败,请删除该项目然后重新从云端获取!', [FWebBidName_Local, sLocalFile]);
|
|
|
+ Application.MessageBox(PChar(sHint), '系统提醒', MB_OK + MB_ICONWARNING);
|
|
|
+ Exit;
|
|
|
end;
|
|
|
|
|
|
if FileExists(sLocalFile) then
|