Browse Source

线上审批后,管理界面审核状态计算不正确。

Chenshilong 9 years ago
parent
commit
df8fa853c1

+ 1 - 1
Dprs/CSL/Measure_Cloud.cfg

@@ -35,7 +35,7 @@
 -N"D:\Work\DelphiTemp"
 -LE"c:\program files (x86)\borland\delphi7\Projects\Bpl"
 -LN"c:\program files (x86)\borland\delphi7\Projects\Bpl"
--D_mCloud;_mEncrypt;_Test
+-D_mCloud;_mEncrypt1;_Test
 -w-UNSAFE_TYPE
 -w-UNSAFE_CODE
 -w-UNSAFE_CAST

+ 6 - 5
Dprs/CSL/Measure_Cloud.dof

@@ -96,7 +96,7 @@ PackageDLLOutputDir=
 PackageDCPOutputDir=
 SearchPath=
 Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;ZjGridD7;DPanel;ExTree;JimComboBoxs;JimTab;PrintComRep;XPMenu_tom;ZjGridFereD7;ZjCommon;SmartDataSet;ZjGridActns
-Conditionals=_mCloud;_mEncrypt;_Test
+Conditionals=_mCloud;_mEncrypt1;_Test
 DebugSourceDirs=
 UsePackages=0
 [Parameters]
@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=3
-Build=1075
+Build=1080
 Debug=0
 PreRelease=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化云版
-FileVersion=3.1.3.1075
+FileVersion=3.1.3.1080
 InternalName=
 LegalCopyright=
 LegalTrademarks=
@@ -134,8 +134,9 @@ OriginalFilename=
 ProductName=
 ProductVersion=1.0.0.0
 [HistoryLists\hlConditionals]
-Count=1
-Item0=_mCloud;_mEncrypt;_Test
+Count=2
+Item0=_mCloud;_mEncrypt1;_Test
+Item1=_mCloud;_mEncrypt;_Test
 [HistoryLists\hlUnitAliases]
 Count=1
 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;

BIN
Dprs/CSL/Measure_Cloud.res


+ 9 - 9
Frames/ProjectManagerFme.pas

@@ -118,6 +118,7 @@ type
 
     FOnLineCheckerBegin: Integer;               // 线上审批的起始人。 010110111 起7止9。 0101101110 起0止0。
     FOnLineCheckerEnd: Integer;                 // 线上审批的截止人。
+    FOnLineCheckerEndIsOwner: Boolean;          // 终审是线上审批
 
     FPhaseTotal: Integer;
     FPhaseNo: Integer;
@@ -152,7 +153,7 @@ type
     // AReceiveKind: 1 接收; 2 导入
     function FileDownAndReceive(ADownURL: string; AReceiveKind: Integer): Boolean;
     // 线上审批的起止人
-    procedure OnLineChecker(AAr: TOVArr; var ABegin, AEnd: Integer);
+    procedure OnLineChecker(AAr: TOVArr; var ABegin, AEnd: Integer; var AOnLineEndIsOwner: Boolean);
   public
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
@@ -412,7 +413,6 @@ function TProjectManagerFrame.ReceiveFile(const AFileName: string; AIsReback: Bo
 var
   vRP: TReceiveProject;
   vNode: TsdIDTreeNode;
-  bLock, bIsOwner: Boolean;
 begin
   Result := False;
   vRP := TReceiveProject.Create(stdProjects.IDTree.Selected);
@@ -422,11 +422,9 @@ begin
     if G_IsCloud then
     begin
       vRP.IsReback := AIsReback;
-      bLock := (FWebAuthorID = PHPWeb.UserID) or
+      vRP.Lock := (FWebAuthorID = PHPWeb.UserID) or
            ((FWebAuthorID <> PHPWeb.UserID) and (FWebCheckStatusMy <> csChecking));
-      vRP.Lock := bLock;
-      bIsOwner := FWebOwnerID = PHPWeb.UserID;
-      vNode := vRP.ReceiveForLost(AFileName, FOnLineCheckerBegin, FOnLineCheckerEnd, bIsOwner);
+      vNode := vRP.ReceiveForLost(AFileName, FOnLineCheckerBegin, FOnLineCheckerEnd, FOnLineCheckerEndIsOwner);
 
       if vNode <> nil then
       begin
@@ -1069,7 +1067,7 @@ var
       AddChecker(cftOwner, vOwner);
     RepairOrder;
 
-    OnLineChecker(vCArr, FOnLineCheckerBegin, FOnLineCheckerEnd);
+    OnLineChecker(vCArr, FOnLineCheckerBegin, FOnLineCheckerEnd, FOnLineCheckerEndIsOwner);
   end;
 
 begin
@@ -1310,7 +1308,7 @@ begin
           begin
             sCheckersURL := Format('%smeasure/status/%d/get', [PHPWeb.MeasureURL, FWebID]);
             if PHPWeb.Search(sCheckersURL, [''], [''], 3, vPSArr, vCArr) = 1 then
-              OnLineChecker(vCArr, FOnLineCheckerBegin, FOnLineCheckerEnd)
+              OnLineChecker(vCArr, FOnLineCheckerBegin, FOnLineCheckerEnd, FOnLineCheckerEndIsOwner)
             else
             begin
               FOnLineCheckerBegin := 0;
@@ -1756,12 +1754,14 @@ end;
 
 // 为了跟PHP的数组兼容,这里限制数组的第一个元素是A[0](不能是A[1])
 procedure TProjectManagerFrame.OnLineChecker(AAr: TOVArr; var ABegin,
-  AEnd: Integer);
+  AEnd: Integer; var AOnLineEndIsOwner: Boolean);
 var i, j, n: Integer;
   vCS: TCheckStatus;
 begin
   ABegin := 0;
   AEnd := 0;
+  AOnLineEndIsOwner := AAr[High(AAr), 7] = '1';
+
   n := -1;
 
   for i := 0 to High(AAr) do