|
@@ -32,6 +32,9 @@ type
|
|
|
FEndDealTotalPrice: Double;
|
|
|
FEndGatherTotalPrice: Double;
|
|
|
|
|
|
+ FTotalPrice: Double;
|
|
|
+ FEndQcTotalPrice: Double;
|
|
|
+
|
|
|
function GetChildCount: Integer;
|
|
|
function GetChildNode(AIndex: Integer): TXmjNode;
|
|
|
function GetBGLCount: Integer;
|
|
@@ -68,6 +71,9 @@ type
|
|
|
cdsXmjBGLDetailApprovalCode: TWideStringField;
|
|
|
cdsXmjBGLDetailBGLRelaFile: TWideStringField;
|
|
|
cdsXmjBGLDetailMemoStr: TWideStringField;
|
|
|
+ cdsXmjBGLDetailTotalPrice: TFloatField;
|
|
|
+ cdsXmjBGLDetailEndQcTotalPrice: TFloatField;
|
|
|
+ cdsXmjBGLDetailFinalTotalPrice: TFloatField;
|
|
|
private
|
|
|
FProjectData: TProjectData;
|
|
|
FClassXmjList: TList;
|
|
@@ -152,6 +158,7 @@ end;
|
|
|
procedure TrmXmjBGLDetailData.AddClassXmjNode(ANode: TsdIDTreeNode);
|
|
|
var
|
|
|
XmjNode: TXmjNode;
|
|
|
+ StageRec: TsdDataRecord;
|
|
|
begin
|
|
|
if not Assigned(ANode) then Exit;
|
|
|
XmjNode := TXmjNode.Create;
|
|
@@ -159,6 +166,18 @@ begin
|
|
|
XmjNode.FCode := ANode.Rec.ValueByName('Code').AsString;
|
|
|
XmjNode.FName := ANode.Rec.ValueByName('Name').AsString;
|
|
|
XmjNode.FDgnQuantity1 := ANode.Rec.ValueByName('DgnQuantity1').AsFloat;
|
|
|
+ XmjNode.FDgnQuantity2 := ANode.Rec.ValueByName('DgnQuantity2').AsFloat;
|
|
|
+ XmjNode.FTotalPrice := ANode.Rec.ValueByName('TotalPrice').AsFloat;
|
|
|
+ if FProjectData.PhaseData.Active then
|
|
|
+ begin
|
|
|
+ StageRec := FProjectData.PhaseData.StageData.StageRecord(ANode.ID);
|
|
|
+ if Assigned(StageRec) then
|
|
|
+ begin
|
|
|
+ XmjNode.FEndDealTotalPrice := StageRec.ValueByName('EndDealTotalPrice').AsFloat;
|
|
|
+ XmjNode.FEndGatherTotalPrice := StageRec.ValueByName('EndGatherTotalPrice').AsFloat;
|
|
|
+ XmjNode.FEndQcTotalPrice := StageRec.ValueByName('EndQcTotalPrice').AsFloat;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
FilterDetailNode(ANode, XmjNode);
|
|
|
end;
|
|
|
|
|
@@ -173,6 +192,7 @@ begin
|
|
|
DetailNode.FName := ANode.Rec.ValueByName('Name').AsString;
|
|
|
DetailNode.FDgnQuantity1 := ANode.Rec.ValueByName('DgnQuantity1').AsFloat;
|
|
|
DetailNode.FDgnQuantity2 := ANode.Rec.ValueByName('DgnQuantity2').AsFloat;
|
|
|
+ DetailNode.FTotalPrice := ANode.Rec.ValueByName('TotalPrice').AsFloat;
|
|
|
if FProjectData.PhaseData.Active then
|
|
|
begin
|
|
|
StageRec := FProjectData.PhaseData.StageData.StageRecord(ANode.ID);
|
|
@@ -180,6 +200,7 @@ begin
|
|
|
begin
|
|
|
DetailNode.FEndDealTotalPrice := StageRec.ValueByName('EndDealTotalPrice').AsFloat;
|
|
|
DetailNode.FEndGatherTotalPrice := StageRec.ValueByName('EndGatherTotalPrice').AsFloat;
|
|
|
+ DetailNode.FEndQcTotalPrice := StageRec.ValueByName('EndQcTotalPrice').AsFloat;
|
|
|
end;
|
|
|
end;
|
|
|
FilterBGLData(ANode, DetailNode);
|
|
@@ -359,6 +380,10 @@ begin
|
|
|
cdsXmjBGLDetailEndGatherTotalPrice.AsFloat := AXmjNode.FEndGatherTotalPrice;
|
|
|
cdsXmjBGLDetailBGTotalPrice.AsFloat := AXmjNode.FEndGatherTotalPrice - AXmjNode.FEndDealTotalPrice;
|
|
|
|
|
|
+ cdsXmjBGLDetailTotalPrice.AsFloat := AXmjNode.FTotalPrice;
|
|
|
+ cdsXmjBGLDetailEndQcTotalPrice.AsFloat := AXmjNode.FEndQcTotalPrice;
|
|
|
+ cdsXmjBGLDetailFinalTotalPrice.AsFloat := AXmjNode.FTotalPrice + AXmjNode.FEndQcTotalPrice;
|
|
|
+
|
|
|
cdsXmjBGLDetailXmj_BGLName.AsString := AXmjNode.FName;
|
|
|
cdsXmjBGLDetail.Post;
|
|
|
for i := 0 to AXmjNode.BGLCount - 1 do
|