|
|
@@ -35,6 +35,7 @@ type
|
|
|
FInsureSubtotal: Currency;
|
|
|
FGroundRepayUseFee: Currency;
|
|
|
FGroundCompFee: Currency;
|
|
|
+ FResettle: Currency;
|
|
|
FLeftGroundFee: Currency;
|
|
|
FForestRecoverFee: Currency;
|
|
|
FTilthAssartFee: Currency;
|
|
|
@@ -87,6 +88,7 @@ type
|
|
|
procedure CalcBySelf; override;
|
|
|
public
|
|
|
property GroundCompFee: Currency read FGroundCompFee write FGroundCompFee;
|
|
|
+ property Resettle: Currency read FResettle write FResettle;
|
|
|
property GroundCompSubtotal: Currency read FGroundCompSubtotal write FGroundCompSubtotal;
|
|
|
property SeedlingCompFee: Currency read FSeedlingCompFee write FSeedlingCompFee;
|
|
|
property SeedlingCompSubtotal: Currency read FSeedlingCompSubtotal write FSeedlingCompSubtotal;
|
|
|
@@ -231,6 +233,7 @@ type
|
|
|
cdsGCExtractBase: TBCDField;
|
|
|
cdsGCExtractRatio: TBCDField;
|
|
|
cdsGCExtractSubtotal: TBCDField;
|
|
|
+ cdsGCResettle: TBCDField;
|
|
|
|
|
|
procedure DataModuleCreate(Sender: TObject);
|
|
|
|
|
|
@@ -272,7 +275,6 @@ type
|
|
|
procedure AssignAreaData(ANode: TAreaNode);
|
|
|
procedure ClearAreaData;
|
|
|
procedure AssignForestRecoverFeeData(AID: Integer);
|
|
|
- function GetGroundCompFee(AGroundKindID, AAreaCategoryID: Integer): Double;
|
|
|
function GetTilthAssartFee(ANode: TAreaNode): Double; overload;
|
|
|
function GetTilthAssartFee(AID: Integer): Double; overload;
|
|
|
function GetGroundSurveyFee(AAcreage: Double): Double;
|
|
|
@@ -320,6 +322,7 @@ end;
|
|
|
procedure TGCTreeDM.cdsGCBeforePost(DataSet: TDataSet);
|
|
|
var isLeaf, bNeedCalcGrdMngFee, b2019: Boolean;
|
|
|
vNode: TGCNode;
|
|
|
+ v1, v2: Double;
|
|
|
|
|
|
function RU(const AValue: Double): Extended;
|
|
|
begin
|
|
|
@@ -353,6 +356,7 @@ begin
|
|
|
cdsGCTotalPrice.AsCurrency := RT(cdsGCQuantity.AsCurrency * cdsGCUnitPrice.AsCurrency);
|
|
|
|
|
|
cdsGCGroundCompFee.AsCurrency := 0;
|
|
|
+ cdsGCResettle.AsCurrency := 0;
|
|
|
cdsGCNewAddFee_GC_1.AsCurrency := 0;
|
|
|
cdsGCNewAddFee_GC_2.AsCurrency := 0;
|
|
|
cdsGCNewAddFee_GC_3.AsCurrency := 0;
|
|
|
@@ -411,18 +415,20 @@ begin
|
|
|
// A.土地补偿
|
|
|
if (cdsGCIsCountPriceMode.Tag = 1) or (cdsGCAreaCategoryID.Tag = 1) or (cdsGCGroundKindID.Tag = 1) then
|
|
|
begin
|
|
|
- cdsGCGroundCompFee.AsFloat := GCFeeLib.GetGroundCompFee(
|
|
|
- cdsGCGroundKindID.AsInteger, cdsGCAreaCategoryID.AsInteger);
|
|
|
+ GCFeeLib.GetStdGCFee(cdsGCGroundKindID.AsInteger, cdsGCAreaCategoryID.AsInteger, v1, v2);
|
|
|
|
|
|
+ cdsGCGroundCompFee.AsFloat := v1;
|
|
|
+ cdsGCResettle.AsFloat := v2;
|
|
|
cdsGCAreaCategoryID.Tag := 0;
|
|
|
cdsGCGroundKindID.Tag := 0;
|
|
|
end;
|
|
|
|
|
|
- if (cdsGCGroundCompFee.Tag = 1) or (cdsGCNewAddFee_GC_1.Tag = 1) or
|
|
|
+ if (cdsGCGroundCompFee.Tag = 1) or (cdsGCResettle.Tag = 1) or (cdsGCNewAddFee_GC_1.Tag = 1) or
|
|
|
(cdsGCNewAddFee_GC_2.Tag = 1) or (cdsGCNewAddFee_GC_3.Tag = 1) then
|
|
|
begin
|
|
|
cdsGCGroundCompSubtotal.AsCurrency :=
|
|
|
cdsGCGroundCompFee.AsCurrency
|
|
|
+ + cdsGCResettle.AsCurrency
|
|
|
+ cdsGCNewAddFee_GC_1.AsCurrency
|
|
|
+ cdsGCNewAddFee_GC_2.AsCurrency
|
|
|
+ cdsGCNewAddFee_GC_3.AsCurrency;
|
|
|
@@ -431,6 +437,7 @@ begin
|
|
|
bNeedCalcGrdMngFee := True;
|
|
|
|
|
|
cdsGCGroundCompFee.Tag := 0;
|
|
|
+ cdsGCResettle.Tag := 0;
|
|
|
cdsGCNewAddFee_GC_1.Tag := 0;
|
|
|
cdsGCNewAddFee_GC_2.Tag := 0;
|
|
|
cdsGCNewAddFee_GC_3.Tag := 0;
|
|
|
@@ -774,6 +781,7 @@ begin
|
|
|
ANode.FInsureSubtotal := FieldByName('InsureSubtotal').AsCurrency;
|
|
|
ANode.FGroundRepayUseFee := FieldByName('GroundRepayUseFee').AsCurrency;
|
|
|
ANode.FGroundCompFee := FieldByName('GroundCompFee').AsCurrency;
|
|
|
+ ANode.FResettle := FieldByName('Resettle').AsCurrency;
|
|
|
ANode.FLeftGroundFee := FieldByName('LeftGroundFee').AsCurrency;
|
|
|
ANode.FForestRecoverFee := FieldByName('ForestRecoverFee').AsCurrency;
|
|
|
ANode.FTilthAssartFee := FieldByName('TilthAssartFee').AsCurrency;
|
|
|
@@ -788,7 +796,6 @@ begin
|
|
|
ANode.ExtractSubtotal := FieldByName('ExtractSubtotal').AsCurrency;
|
|
|
ANode.FGroundCompSubtotal := FieldByName('GroundCompSubtotal').AsCurrency;
|
|
|
|
|
|
-
|
|
|
ANode.FAreaID := FieldByName('AreaID').AsInteger;
|
|
|
ANode.FAreaName := FieldByName('AreaName').asString;
|
|
|
ANode.FAreaCategoryID := FieldByName('AreaCategoryID').AsInteger;
|
|
|
@@ -826,6 +833,7 @@ begin
|
|
|
end;
|
|
|
|
|
|
procedure TGCTreeDM.AssignAreaData(ANode: TAreaNode);
|
|
|
+var v1, v2: Double;
|
|
|
begin
|
|
|
if Assigned(ANode) then
|
|
|
begin
|
|
|
@@ -834,7 +842,9 @@ begin
|
|
|
cdsGCAreaName.AsString := ANode.AreaName;
|
|
|
cdsGCAreaCategoryID.AsInteger := ANode.AreaCategoryID;
|
|
|
cdsGCAreaCategoryName.AsString := ANode.AreaCategoryName;
|
|
|
- cdsGCGroundCompFee.AsFloat := GetGroundCompFee(cdsGCGroundKindID.AsInteger, ANode.AreaCategoryID);
|
|
|
+ GCFeeLib.GetStdGCFee(cdsGCGroundKindID.AsInteger, ANode.AreaCategoryID, v1, v2);
|
|
|
+ cdsGCGroundCompFee.AsFloat := v1;
|
|
|
+ cdsGCResettle.AsFloat := v2;
|
|
|
cdsGCTilthAssartFee.AsFloat := GetTilthAssartFee(ANode);
|
|
|
// Modified By MaiXinRong 2012-03-02 根据用户选择按照新旧标准数据进行计算
|
|
|
if TScProject(Owner.Project).Properties.TilthCalcSta = 0 then
|
|
|
@@ -845,11 +855,6 @@ begin
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
-function TGCTreeDM.GetGroundCompFee(AGroundKindID,
|
|
|
- AAreaCategoryID: Integer): Double;
|
|
|
-begin
|
|
|
- Result := GCFeeLib.GetGroundCompFee(AGroundKindID, AAreaCategoryID);
|
|
|
-end;
|
|
|
|
|
|
function TGCTreeDM.GetTilthAssartFee(ANode: TAreaNode): Double;
|
|
|
var fKK: Double;
|
|
|
@@ -1043,6 +1048,7 @@ begin
|
|
|
vGCNode.FInsureSubtotal := DataSet.FieldByName('InsureSubtotal').AsCurrency;
|
|
|
vGCNode.FGroundRepayUseFee := DataSet.FieldByName('GroundRepayUseFee').AsCurrency;
|
|
|
vGCNode.FGroundCompFee := DataSet.FieldByName('GroundCompFee').AsCurrency;
|
|
|
+ vGCNode.FResettle := DataSet.FieldByName('Resettle').AsCurrency;
|
|
|
vGCNode.FLeftGroundFee := DataSet.FieldByName('LeftGroundFee').AsCurrency;
|
|
|
vGCNode.FForestRecoverFee := DataSet.FieldByName('ForestRecoverFee').AsCurrency;
|
|
|
vGCNode.FTilthAssartFee := DataSet.FieldByName('TilthAssartFee').AsCurrency;
|
|
|
@@ -1138,10 +1144,11 @@ begin
|
|
|
|
|
|
// A.土地补偿
|
|
|
GroundCompFee := RU(GroundCompFee);
|
|
|
+ Resettle := RU(Resettle);
|
|
|
NewAddFee_GC_1 := RU(NewAddFee_GC_1);
|
|
|
NewAddFee_GC_2 := RU(NewAddFee_GC_2);
|
|
|
NewAddFee_GC_3 := RU(NewAddFee_GC_3);
|
|
|
- GroundCompSubtotal := GroundCompFee + NewAddFee_GC_1 + NewAddFee_GC_2 + NewAddFee_GC_3;
|
|
|
+ GroundCompSubtotal := GroundCompFee + Resettle + NewAddFee_GC_1 + NewAddFee_GC_2 + NewAddFee_GC_3;
|
|
|
|
|
|
// B.青苗补偿
|
|
|
SeedlingCompFee := RU(SeedlingCompFee);
|
|
|
@@ -1250,6 +1257,7 @@ begin
|
|
|
cdsAllGroundTaxFeeSubtotal.AsFloat := GroundTaxFeeSubtotal;
|
|
|
cdsAllSeedlingCompFee.AsFloat := SeedlingCompFee;
|
|
|
cdsAllGroundCompFee.AsFloat := GroundCompFee;
|
|
|
+ cdsAllResettle.AsFloat := Resettle;
|
|
|
cdsAllTilthAmountPerPeople.AsFloat := TilthAmountPerPeople;
|
|
|
cdsAllExtractBase.AsFloat := ExtractBase;
|
|
|
cdsAllExtractRatio.AsFloat := ExtractRatio;
|
|
|
@@ -1345,6 +1353,7 @@ begin
|
|
|
cdsGCAreaCategoryID.Clear;
|
|
|
cdsGCAreaCategoryName.Clear;
|
|
|
cdsGCGroundCompFee.AsFloat := 0;
|
|
|
+ cdsGCResettle.AsFloat := 0;
|
|
|
cdsGCTilthAssartFee.AsFloat := 0;
|
|
|
cdsGCTilthImprTax.AsFloat := 0;
|
|
|
cdsGC.Post;
|