Browse Source

在线审批。

CSL 9 years ago
parent
commit
76c3f6e829
3 changed files with 29 additions and 27 deletions
  1. 2 2
      Dprs/CSL/Measure_Cloud.dof
  2. BIN
      Dprs/CSL/Measure_Cloud.res
  3. 27 25
      Frames/ProjectManagerFme.pas

+ 2 - 2
Dprs/CSL/Measure_Cloud.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=3
-Build=1063
+Build=1065
 Debug=0
 PreRelease=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化云版
-FileVersion=3.1.3.1063
+FileVersion=3.1.3.1065
 InternalName=Measure
 LegalCopyright=版权所有(C) 珠海纵横创新软件有限公司 2003-2014。保留所有权利。
 LegalTrademarks=Measure

BIN
Dprs/CSL/Measure_Cloud.res


+ 27 - 25
Frames/ProjectManagerFme.pas

@@ -123,7 +123,7 @@ type
     FCurPos: Integer;                         // 用来控制审核人的添加位置
     FCheckerList: TObjectList;
 
-    function ReceiveFile(const AFileName: string; AFileMD5: string = ''; ANeedLock: Boolean = False): Boolean;
+    function ReceiveFile(const AFileName: string): Boolean;
     function ImportFile(const AFileName: string; AFileMD5: string = ''): Boolean;
     procedure ConnectButtonWithAction;
     function GetImportProjectName(const AFileName: string; AParent: TsdIDTreeNode): string;
@@ -403,41 +403,47 @@ begin
   end;
 end;
 
-function TProjectManagerFrame.ReceiveFile(const AFileName: string; AFileMD5: string;
-  ANeedLock: Boolean): Boolean;
+function TProjectManagerFrame.ReceiveFile(const AFileName: string): Boolean;
 var
-  Recevier: TReceiveProject;
+  vRP: TReceiveProject;
   vNode: TsdIDTreeNode;
+  bLock, bIsOwner: Boolean;
 begin
   Result := False;
-  Recevier := TReceiveProject.Create(stdProjects.IDTree.Selected);
+  vRP := TReceiveProject.Create(stdProjects.IDTree.Selected);
   try
-    try
-      if G_IsCloud then
-        Recevier.Lock := ANeedLock;
+    ProjectManager.RefreshSeedID;
 
-      ProjectManager.RefreshSeedID;
-      vNode := Recevier.Receive(AFileName);
+    if G_IsCloud then
+    begin
+      bLock := (FWebAuthorID = PHPWeb.UserID) or
+           ((FWebAuthorID <> PHPWeb.UserID) and (FWebCheckStatusMy <> csChecking));
+      bIsOwner := FWebOwnerID = PHPWeb.UserID;
 
-      if G_IsCloud then
+      vRP.Lock := bLock;
+      vNode := vRP.ReceiveForLost(AFileName, FOnLineCheckerBegin, FOnLineCheckerEnd, bIsOwner);
+
+      if vNode <> nil then
       begin
         vNode.Rec.BeginUpdate;
-        vNode.Rec.ValueByName('WebMD5').AsString := AFileMD5;
+        vNode.Rec.ValueByName('WebMD5').AsString := FWebMD5_OnLine;
         vNode.Rec.ValueByName('WebUserID').AsInteger := PHPWeb.UserID;
         vNode.Rec.EndUpdate;
       end;
-      Result := True;
-    except
-      Result := False;
-    end;
+    end
+    else
+      vNode := vRP.Receive(AFileName);
   finally
-    case Recevier.MessageID of
-      0: vNode.LocateInControl;
+    case vRP.MessageID of
+      0: begin
+           Result := True;
+           vNode.LocateInControl;
+         end;
       1: ErrorMessage('当前标段处于打开状态,未能成功接收,请先关闭标段再次接收。');
       2: ErrorMessage('下载数据与审核状态不一致,未能成功接收,请再次接收。');
       3: ErrorMessage('升级数据失败,未能成功接收,请再次接收。');
     end;
-    Recevier.Free;
+    vRP.Free;
     FProjectManagerData.Save;
   end;
 end;
@@ -1653,7 +1659,7 @@ end;
 
 function TProjectManagerFrame.FileDownAndReceive(ADownURL: string; AReceiveKind: Integer): Boolean;
 var sLocalFile, sHint: string;
-  bLock, bCanImp, bIsOwner: Boolean;
+  bCanImp: Boolean;
   vFileCheck: TTenderFileChecker;
 begin
   Result := False;
@@ -1674,11 +1680,7 @@ begin
   // 接收更新
   if AReceiveKind = 1 then
   begin
-    bLock := (FWebAuthorID = PHPWeb.UserID) or
-             ((FWebAuthorID <> PHPWeb.UserID) and (FWebCheckStatusMy <> csChecking));
-    bIsOwner := FWebOwnerID = PHPWeb.UserID;
-    if not ReceiveFile(sLocalFile, FWebMD5_OnLine, bLock) then
-//    if not ReceiveForLost(sLocalFile, FWebMD5_OnLine, bLock, FOnLineCheckerBegin, FOnLineCheckerEnd, bIsOwner) then
+    if not ReceiveFile(sLocalFile) then
     begin
       sHint := Format('已从云端下载新的[%s]到本地[%s],但接收失败,请删除该项目然后重新从云端获取!', [FWebBidName_Local, sLocalFile]);
       Application.MessageBox(PChar(sHint), '系统提醒', MB_OK + MB_ICONWARNING);