|
|
@@ -19,10 +19,12 @@ type
|
|
|
FMuCode: string;
|
|
|
FJieCode: string;
|
|
|
FXiMuCode: string;
|
|
|
- FIndexCode: string;
|
|
|
+ FIndexCode: string;
|
|
|
FB_CodeChapter: Integer;
|
|
|
FChapterParentID: Integer;
|
|
|
|
|
|
+ FMemoStrs: TStringList;
|
|
|
+
|
|
|
FGatherCalc: TProjCalc;
|
|
|
FProjs: TList;
|
|
|
FSpecialProjs: TList;
|
|
|
@@ -32,6 +34,7 @@ type
|
|
|
function GetLevel: Integer;
|
|
|
function GetSpecialProj(AIndex: Integer): TProjCalc;
|
|
|
function GetSpecialProjCount: Integer;
|
|
|
+ function GetMemoStr: string;
|
|
|
public
|
|
|
constructor Create(ACacheTree: TCacheTree; AID: Integer; AProjCount, ASpeicalProjCount: Integer);
|
|
|
destructor Destroy; override;
|
|
|
@@ -44,6 +47,8 @@ type
|
|
|
procedure AddCalcData(ANode: TProjGatherTreeNode);
|
|
|
procedure MinusCalcData(ANode: TProjGatherTreeNode);
|
|
|
|
|
|
+ procedure AddMemoStr(const AMemoStr: string);
|
|
|
+
|
|
|
property Code: string read FCode write FCode;
|
|
|
property B_Code: string read FB_Code write FB_Code;
|
|
|
property Name: string read FName write FName;
|
|
|
@@ -60,6 +65,8 @@ type
|
|
|
property IndexCode: string read FIndexCode write FIndexCode;
|
|
|
property B_CodeChapter: Integer read FB_CodeChapter write FB_CodeChapter;
|
|
|
|
|
|
+ property MemoStr: string read GetMemoStr;
|
|
|
+
|
|
|
property Level: Integer read GetLevel;
|
|
|
property ChapterParentID: Integer read GetChapterParentID;
|
|
|
|
|
|
@@ -123,6 +130,15 @@ begin
|
|
|
Proj[iProj].AddCalcData(ANode.Proj[iProj]);
|
|
|
end;
|
|
|
|
|
|
+procedure TProjGatherTreeNode.AddMemoStr(const AMemoStr: string);
|
|
|
+begin
|
|
|
+ if AMemoStr <> '' then
|
|
|
+ begin
|
|
|
+ if FMemoStrs.IndexOf(AMemoStr) = -1 then
|
|
|
+ FMemoStrs.Add(AMemoStr);
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
procedure TProjGatherTreeNode.CalcTotalPrice_Rc;
|
|
|
var
|
|
|
iProj: Integer;
|
|
|
@@ -139,6 +155,8 @@ var
|
|
|
begin
|
|
|
inherited Create(ACacheTree, AID);
|
|
|
FGatherCalc := TProjCalc.Create;
|
|
|
+ FMemoStrs := TStringList.Create;
|
|
|
+ FMemoStrs.Delimiter := ';';
|
|
|
FProjs := TList.Create;
|
|
|
for i := 0 to AProjCount - 1 do
|
|
|
begin
|
|
|
@@ -156,6 +174,7 @@ end;
|
|
|
destructor TProjGatherTreeNode.Destroy;
|
|
|
begin
|
|
|
FGatherCalc.free;
|
|
|
+ FMemoStrs.Clear;
|
|
|
ClearObjects(FProjs);
|
|
|
FProjs.Free;
|
|
|
ClearObjects(FSpecialProjs);
|
|
|
@@ -185,6 +204,11 @@ begin
|
|
|
Result := 1;
|
|
|
end;
|
|
|
|
|
|
+function TProjGatherTreeNode.GetMemoStr: string;
|
|
|
+begin
|
|
|
+ Result := FMemoStrs.DelimitedText;
|
|
|
+end;
|
|
|
+
|
|
|
function TProjGatherTreeNode.GetProj(AIndex: Integer): TProjCalc;
|
|
|
begin
|
|
|
Result := TProjCalc(FProjs.Items[AIndex]);
|