|
@@ -90,6 +90,8 @@ type
|
|
|
|
|
|
procedure InnerSave;
|
|
|
|
|
|
+ procedure LoadCheckersData;
|
|
|
+
|
|
|
function GetMainFileName: string;
|
|
|
procedure SetPhaseIndex(const Value: Integer);
|
|
|
function GetTempPath: string;
|
|
@@ -141,7 +143,7 @@ type
|
|
|
{OpenForGather: BillsData, BillsMeasureTree, DealPaymentData, BGLData, PhaseData(根据PhaseIndex指定打开)}
|
|
|
procedure OpenForGather(const AFileName: string; APhaseIndex: Integer = -1);
|
|
|
{OpenForSignOnline: BillsData, BillsMeasureTree, PhaseData(根据PhaseIndex指定打开)}
|
|
|
- procedure OpenForSignOnline(const AFileName: string; APhaseIndex: Integer = -1);
|
|
|
+ procedure OpenForSignOnline(AProjRec: TsdDataRecord; APhaseIndex: Integer = -1);
|
|
|
//----------------------- End ---后台打开 ------------------------
|
|
|
|
|
|
procedure SaveDebugFile(const AFileName: string);
|
|
@@ -266,7 +268,7 @@ implementation
|
|
|
uses UtilMethods, Globals, ProjectCommands, sdIDTree, StageDm,
|
|
|
ZJJLDm, PHPWebDm, XMLDoc, XMLIntf, ConstUnit, PasswordInputFrm,
|
|
|
mProgressProFrm, mDataRecord, ConditionalDefines, DbTreeImport,
|
|
|
- StrUtils, sdProvider, CalcDecimal, Math;
|
|
|
+ StrUtils, sdProvider, CalcDecimal, Math, CslJson, OrderCheckerFme;
|
|
|
|
|
|
{ TProjectData }
|
|
|
|
|
@@ -1987,7 +1989,10 @@ var
|
|
|
sFileName: string;
|
|
|
begin
|
|
|
sFileName := ExtractFileName(AFileName);
|
|
|
- FConnection.SaveDebugFile(FDebugDir + '\' + sFileName);
|
|
|
+ if FDebugDir = '' then
|
|
|
+ FConnection.SaveDebugFile('E:\' + sFileName)
|
|
|
+ else
|
|
|
+ FConnection.SaveDebugFile(FDebugDir + '\' + sFileName);
|
|
|
end;
|
|
|
|
|
|
procedure TProjectData.SaveTempDataBaseFile(const AFileName: string);
|
|
@@ -2018,7 +2023,7 @@ begin
|
|
|
FProjProperties.Open(FConnection.Connection);
|
|
|
UpdateOldData;
|
|
|
FBillsData.Open(FConnection.Connection);
|
|
|
- FBillsCompileData.Open;
|
|
|
+ FBillsMeasureData.Open;
|
|
|
FDealPaymentData.Open(FConnection.Connection);
|
|
|
FBGLData.Open(FConnection.Connection);
|
|
|
if ProjProperties.PhaseCount > 0 then
|
|
@@ -2037,29 +2042,16 @@ begin
|
|
|
Result := PhaseIndex < ProjProperties.PhaseCount;
|
|
|
end;
|
|
|
|
|
|
-procedure TProjectData.OpenForSignOnline(const AFileName: string;
|
|
|
+procedure TProjectData.OpenForSignOnline(AProjRec: TsdDataRecord;
|
|
|
APhaseIndex: Integer);
|
|
|
begin
|
|
|
- FProjectID := -1;
|
|
|
- UnZipFile(AFileName, TempPath);
|
|
|
- FConnection.Open(MainFileName);
|
|
|
- UpdateProjectDataBase;
|
|
|
- FProjProperties.Open(FConnection.Connection);
|
|
|
- UpdateOldData;
|
|
|
- FBillsData.Open(FConnection.Connection);
|
|
|
- FBillsMeasureData.Open;
|
|
|
- FDealPaymentData.Open(FConnection.Connection);
|
|
|
- FBGLData.Open(FConnection.Connection);
|
|
|
- if ProjProperties.PhaseCount > 0 then
|
|
|
- begin
|
|
|
- if (APhaseIndex <= ProjProperties.PhaseCount) and (APhaseIndex > 0) then
|
|
|
- FPhaseIndex := APhaseIndex
|
|
|
- else
|
|
|
- FPhaseIndex := ProjProperties.PhaseCount;
|
|
|
- FPhaseData.SimpleOpen2(Format('%sPhase%d.dat', [TempPath, FPhaseIndex]));
|
|
|
- end;
|
|
|
- FBillsMeasureData.ResetTreeNodeStageRec;
|
|
|
-
|
|
|
+ FWebID := AProjRec.ValueByName('WebID').AsInteger;
|
|
|
+ FWebOwnerID := AProjRec.ValueByName('WebOwnerID').AsInteger;
|
|
|
+ FWebAuthorID := AProjRec.ValueByName('WebAuthorID').AsInteger;
|
|
|
+
|
|
|
+ OpenForGather(GetMyProjectsFilePath + AProjRec.ValueByName('FileName').AsString, APhaseIndex);
|
|
|
+ if _IsCloud then
|
|
|
+ LoadCheckersData;
|
|
|
CopyPhaseData(False);
|
|
|
end;
|
|
|
|
|
@@ -2197,4 +2189,25 @@ begin
|
|
|
FIsGuest := Value;
|
|
|
end;
|
|
|
|
|
|
+procedure TProjectData.LoadCheckersData;
|
|
|
+var
|
|
|
+ sURL: string;
|
|
|
+ vA: TOVArr;
|
|
|
+ i, iIndex: Integer;
|
|
|
+ vStatus: TCheckStatus;
|
|
|
+begin
|
|
|
+ Checkers.Clear;
|
|
|
+ sURL := Format('%suser/get/all/%d/%d/measure', [PHPWeb.MeasureURL, WebID, PhaseIndex]);
|
|
|
+ if PHPWeb.Search(sURL, [''], [''], vA) = 1 then
|
|
|
+ begin
|
|
|
+ for i := Low(vA) to High(vA) do
|
|
|
+ begin
|
|
|
+ vStatus := TCheckStatus(StrToInt(vA[i, 3])-1);
|
|
|
+ iIndex := Checkers.Add(StrToInt(vA[i, 4]), vA[i, 0], vA[i, 2], vA[i, 6], vA[i, 8]);
|
|
|
+ if vStatus in [csFinished, csNotPass] then
|
|
|
+ Checkers.LastChecker := Checkers.Item[iIndex];
|
|
|
+ end;
|
|
|
+ end
|
|
|
+end;
|
|
|
+
|
|
|
end.
|