|
@@ -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
|