|
@@ -492,10 +492,20 @@ end;
|
|
|
|
|
|
procedure TrmBillsGatherData.FilterBillsNode(ANode: TsdIDTreeNode;
|
|
procedure TrmBillsGatherData.FilterBillsNode(ANode: TsdIDTreeNode;
|
|
AProjectIndex: Integer);
|
|
AProjectIndex: Integer);
|
|
|
|
+
|
|
|
|
+ function CanGatherNode: Boolean;
|
|
|
|
+ begin
|
|
|
|
+ case GatherType of
|
|
|
|
+ bgtFinal11: Result := ANode.Rec.ValueByName('TotalPrice').AsFloat <> 0;
|
|
|
|
+ else Result := True;
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+
|
|
var
|
|
var
|
|
GclNode: TGclGatherNode;
|
|
GclNode: TGclGatherNode;
|
|
begin
|
|
begin
|
|
- if not Assigned(ANode) then Exit;
|
|
|
|
|
|
+ if not Assigned(ANode) or not CanGatherNode then Exit;
|
|
|
|
+
|
|
GclNode := FGclList.GetGclGatherNode(ANode.Rec);
|
|
GclNode := FGclList.GetGclGatherNode(ANode.Rec);
|
|
with ANode.Rec do
|
|
with ANode.Rec do
|
|
begin
|
|
begin
|
|
@@ -535,7 +545,7 @@ begin
|
|
AddBills(FProjectData.BillsCompileData.BillsCompileTree.FindNode(2).FirstChild, nil, AProjectIndex, AProject);
|
|
AddBills(FProjectData.BillsCompileData.BillsCompileTree.FindNode(2).FirstChild, nil, AProjectIndex, AProject);
|
|
bgtFinal09: // 09表 取第三部分及其后所有项目节
|
|
bgtFinal09: // 09表 取第三部分及其后所有项目节
|
|
AddBills(FProjectData.BillsCompileData.BillsCompileTree.FindNode(3), nil, AProjectIndex, AProject);
|
|
AddBills(FProjectData.BillsCompileData.BillsCompileTree.FindNode(3), nil, AProjectIndex, AProject);
|
|
- bgtGcl, bgtFinal07, bgtFinal11, bgtFinal19:
|
|
|
|
|
|
+ bgtGcl, bgtFinal07, bgtFinal11, bgtFinal19: // 汇总工程量清单
|
|
FilterBills(FProjectData.BillsCompileData.BillsCompileTree.FirstNode, AProjectIndex);
|
|
FilterBills(FProjectData.BillsCompileData.BillsCompileTree.FirstNode, AProjectIndex);
|
|
bgtFinal12: // 不做数据汇总,直接流水式写入数据
|
|
bgtFinal12: // 不做数据汇总,直接流水式写入数据
|
|
WriteFlowData(FProjectData);
|
|
WriteFlowData(FProjectData);
|
|
@@ -547,7 +557,7 @@ begin
|
|
AddBillsList(FProjectData.BillsCompileData.BillsCompileTree.FindNode(48), nil, AProjectIndex, AProject);
|
|
AddBillsList(FProjectData.BillsCompileData.BillsCompileTree.FindNode(48), nil, AProjectIndex, AProject);
|
|
bgtG_Final06_1: // 粤竣06-1表 仅汇总土地及其子节点
|
|
bgtG_Final06_1: // 粤竣06-1表 仅汇总土地及其子节点
|
|
AddBillsList(FProjectData.BillsCompileData.BillsCompileTree.FindNode(21), nil, AProjectIndex, AProject);
|
|
AddBillsList(FProjectData.BillsCompileData.BillsCompileTree.FindNode(21), nil, AProjectIndex, AProject);
|
|
- else
|
|
|
|
|
|
+ else // 标准汇总方式,分项清单
|
|
AddBills(FProjectData.BillsCompileData.BillsCompileTree.FirstNode, nil, AProjectIndex, AProject)
|
|
AddBills(FProjectData.BillsCompileData.BillsCompileTree.FirstNode, nil, AProjectIndex, AProject)
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -752,6 +762,12 @@ begin
|
|
stnNode := ATree.Items[iIndex];
|
|
stnNode := ATree.Items[iIndex];
|
|
if stnNode.ID >= 100 then Continue;
|
|
if stnNode.ID >= 100 then Continue;
|
|
FixedIDNode := FFixedIDList.GetFixedIDBillsNode(stnNode.ID);
|
|
FixedIDNode := FFixedIDList.GetFixedIDBillsNode(stnNode.ID);
|
|
|
|
+
|
|
|
|
+ FixedIDNode.TotalPrice := FixedIDNode.TotalPrice
|
|
|
|
+ + stnNode.Rec.ValueByName('TotalPrice').AsFloat;
|
|
|
|
+ FixedIDNode.TotalPrice :=
|
|
|
|
+ + stnNode.Rec.ValueByName('TotalPrice').AsFloat;
|
|
|
|
+
|
|
FixedIDNode.AddGatherTotalPrice := FixedIDNode.AddGatherTotalPrice
|
|
FixedIDNode.AddGatherTotalPrice := FixedIDNode.AddGatherTotalPrice
|
|
+ stnNode.Rec.ValueByName('AddGatherTotalPrice').AsFloat;
|
|
+ stnNode.Rec.ValueByName('AddGatherTotalPrice').AsFloat;
|
|
FixedIDNode.P_AddGatherTotalPrice[AProjectIndex] :=
|
|
FixedIDNode.P_AddGatherTotalPrice[AProjectIndex] :=
|