|
@@ -155,7 +155,7 @@ type
|
|
|
function GetGclChapterCount: Integer;
|
|
|
function GetGclChapter(AIndex: Integer): TGclChapter;
|
|
|
public
|
|
|
- constructor Create(AProjectCount: Integer);
|
|
|
+ constructor Create(AProjectCount: Integer; AIsHaBai: Boolean);
|
|
|
destructor Destroy;
|
|
|
|
|
|
function AddGclNode(ANode: TMeasureBillsIDTreeNode; AProjectIndex: Integer): TGclNode;
|
|
@@ -322,7 +322,7 @@ type
|
|
|
FDealPayControl: TDealPayControl;
|
|
|
FDealTotalPrice: Double;
|
|
|
|
|
|
- procedure BeforeGather(AProjectCount: Integer);
|
|
|
+ procedure BeforeGather(AProjectCount: Integer; AIsHaBai: Boolean);
|
|
|
procedure AfterGather;
|
|
|
|
|
|
procedure OpenProjectData(AProject: TSelectProject);
|
|
@@ -364,7 +364,7 @@ var
|
|
|
iProject: Integer;
|
|
|
begin
|
|
|
FhbGatherType := AhbGatherType;
|
|
|
- BeforeGather(AProjects.Count);
|
|
|
+ BeforeGather(AProjects.Count, AReCalc);
|
|
|
try
|
|
|
for iProject := 0 to AProjects.Count - 1 do
|
|
|
GatherProject(TSelectProject(AProjects.Items[iProject]), iProject);
|
|
@@ -384,7 +384,7 @@ begin
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
-procedure TrmHaBaiCustomizedData.BeforeGather(AProjectCount: Integer);
|
|
|
+procedure TrmHaBaiCustomizedData.BeforeGather(AProjectCount: Integer; AIsHaBai: Boolean);
|
|
|
begin
|
|
|
cdsCustom2.DisableControls;
|
|
|
cdsCustom2.Active := True;
|
|
@@ -410,7 +410,7 @@ begin
|
|
|
cdsCustomCS_2.Active := True;
|
|
|
cdsCustomCS_2.EmptyDataSet;
|
|
|
|
|
|
- FGclControl := TGclControl.Create(AProjectCount);
|
|
|
+ FGclControl := TGclControl.Create(AProjectCount, AIsHaBai);
|
|
|
FDealPayControl := TDealPayControl.Create;
|
|
|
FDealTotalPrice := 0;
|
|
|
end;
|
|
@@ -503,7 +503,10 @@ var
|
|
|
SameText(Rec.ValueByName('Name').AsString, '本期应付') or
|
|
|
SameText(Rec.ValueByName('Name').AsString, '本期实付') then
|
|
|
Continue;
|
|
|
- StageRec := FProjectData.PhaseData.PhasePayData.PayRecord(Rec.ValueByName('ID').AsInteger);
|
|
|
+ if FProjectData.PhaseData.Active then
|
|
|
+ StageRec := FProjectData.PhaseData.PhasePayData.PayRecord(Rec.ValueByName('ID').AsInteger)
|
|
|
+ else
|
|
|
+ StageRec := nil;
|
|
|
DealPay := FDealPayControl.AddPayNode(Rec.ValueByName('Name').AsString, Rec.ValueByName('IsMinus').AsBoolean);
|
|
|
if Assigned(StageRec) then
|
|
|
begin
|
|
@@ -520,7 +523,10 @@ var
|
|
|
Rec, StageRec: TsdDataRecord;
|
|
|
begin
|
|
|
Rec := FProjectData.DealPaymentData.DealPayRecord('本期完成计量');
|
|
|
- StageRec := FProjectData.PhaseData.PhasePayData.PayRecord(Rec.ValueByName('ID').AsInteger);
|
|
|
+ if FProjectData.PhaseData.Active then
|
|
|
+ StageRec := FProjectData.PhaseData.PhasePayData.PayRecord(Rec.ValueByName('ID').AsInteger)
|
|
|
+ else
|
|
|
+ StageRec := nil;
|
|
|
if not Assigned(StageRec) then Exit;
|
|
|
|
|
|
with FDealPayControl.CompletePayNode do
|
|
@@ -536,7 +542,11 @@ var
|
|
|
Rec, StageRec: TsdDataRecord;
|
|
|
begin
|
|
|
Rec := FProjectData.DealPaymentData.DealPayRecord('本期应付');
|
|
|
- StageRec := FProjectData.PhaseData.PhasePayData.PayRecord(Rec.ValueByName('ID').AsInteger);
|
|
|
+ if FProjectData.PhaseData.Active then
|
|
|
+ StageRec := FProjectData.PhaseData.PhasePayData.PayRecord(Rec.ValueByName('ID').AsInteger)
|
|
|
+ else
|
|
|
+ StageRec := nil;
|
|
|
+
|
|
|
if not Assigned(StageRec) then Exit;
|
|
|
|
|
|
with FDealPayControl.GatherPayNode do
|
|
@@ -1141,7 +1151,7 @@ begin
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
-constructor TGclControl.Create(AProjectCount: Integer);
|
|
|
+constructor TGclControl.Create(AProjectCount: Integer; AIsHaBai: Boolean);
|
|
|
|
|
|
function CreateGclChapter(AChapterID: Integer; const AName: string): TGclChapter;
|
|
|
begin
|
|
@@ -1161,8 +1171,16 @@ begin
|
|
|
CreateGclChapter(5, '隧 道');
|
|
|
CreateGclChapter(6, '安全设计及预埋管线');
|
|
|
CreateGclChapter(7, '绿化及环境保护工程');
|
|
|
- CreateGclChapter(8, '房建工程');
|
|
|
- CreateGclChapter(9, '机电工程');
|
|
|
+ if AIsHaBai then
|
|
|
+ begin
|
|
|
+ CreateGclChapter(8, '房建工程');
|
|
|
+ CreateGclChapter(9, '机电工程');
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ CreateGclChapter(8, '机电工程');
|
|
|
+ CreateGclChapter(9, '房建工程');
|
|
|
+ end;
|
|
|
FOtherGcl := TGclChapter.Create(19, '非标准清单', FProjectCount);
|
|
|
FGclChapterGather := TGclChapter.Create(20, '第100章至900章合计', FProjectCount);
|
|
|
end;
|