|
@@ -236,7 +236,7 @@ var
|
|
stnNode: TMeasureBillsIDTreeNode;
|
|
stnNode: TMeasureBillsIDTreeNode;
|
|
iCreatePhaseID: Integer;
|
|
iCreatePhaseID: Integer;
|
|
StageRec: TStageRecord;
|
|
StageRec: TStageRecord;
|
|
- fDiffer, fCompare: Double;
|
|
|
|
|
|
+ fDiffer, fCompare, fDeal, fLedger: Double;
|
|
begin
|
|
begin
|
|
AColor := clWindow;
|
|
AColor := clWindow;
|
|
if ACoord.Y > stdBillsMeasure.IDTree.Count + 1 then Exit;
|
|
if ACoord.Y > stdBillsMeasure.IDTree.Count + 1 then Exit;
|
|
@@ -268,21 +268,67 @@ begin
|
|
// 叶子节点,累计合同计量超过0号台账,整行数据的底色变为暗红提示用户
|
|
// 叶子节点,累计合同计量超过0号台账,整行数据的底色变为暗红提示用户
|
|
if TProjectData(FBillsMeasureData.ProjectData).ProjProperties.ShowOverRange and not stnNode.HasChildren then
|
|
if TProjectData(FBillsMeasureData.ProjectData).ProjProperties.ShowOverRange and not stnNode.HasChildren then
|
|
begin
|
|
begin
|
|
|
|
+ (*
|
|
with stnNode.Rec do
|
|
with stnNode.Rec do
|
|
begin
|
|
begin
|
|
if CalcType.AsInteger = 0 then
|
|
if CalcType.AsInteger = 0 then
|
|
begin
|
|
begin
|
|
- fDiffer := QuantityRoundTo(AddDealQuantity.AsFloat - Quantity.AsFloat);
|
|
|
|
|
|
+ if Quantity.AsFloat > 0 then
|
|
|
|
+ fDiffer := QuantityRoundTo(AddDealQuantity.AsFloat - Quantity.AsFloat)
|
|
|
|
+ else if AddDealQuantity.AsFloat > 0 then
|
|
|
|
+ fDiffer := 1
|
|
|
|
+ else
|
|
|
|
+ fDiffer := QuantityRoundTo(Quantity.AsFloat - AddDealQuantity.AsFloat);
|
|
|
|
+ // fDiffer := QuantityRoundTo(AddDealQuantity.AsFloat - Quantity.AsFloat);
|
|
fCompare := TProjectData(FBillsMeasureData.ProjectData).ProjProperties.DecimalManager.Common.Quantity.CompareValue;
|
|
fCompare := TProjectData(FBillsMeasureData.ProjectData).ProjProperties.DecimalManager.Common.Quantity.CompareValue;
|
|
end
|
|
end
|
|
else
|
|
else
|
|
begin
|
|
begin
|
|
- fDiffer := TotalPriceRoundTo(AddDealTotalPrice.AsFloat - TotalPrice.AsFloat);
|
|
|
|
|
|
+ if TotalPrice.AsFloat > 0 then
|
|
|
|
+ fDiffer := QuantityRoundTo(AddDealTotalPrice.AsFloat - TotalPrice.AsFloat)
|
|
|
|
+ else if AddDealTotalPrice.AsFloat > 0 then
|
|
|
|
+ fDiffer := 1
|
|
|
|
+ else
|
|
|
|
+ fDiffer := QuantityRoundTo(TotalPrice.AsFloat - AddDealTotalPrice.AsFloat);
|
|
|
|
+ // fDiffer := TotalPriceRoundTo(TotalPrice.AsFloat - EndDealTotalPrice.AsFloat);
|
|
fCompare := TProjectData(FBillsMeasureData.ProjectData).ProjProperties.DecimalManager.Common.TotalPrice.CompareValue;
|
|
fCompare := TProjectData(FBillsMeasureData.ProjectData).ProjProperties.DecimalManager.Common.TotalPrice.CompareValue;
|
|
end;
|
|
end;
|
|
if fDiffer > fCompare then
|
|
if fDiffer > fCompare then
|
|
AColor := $00646AFE;
|
|
AColor := $00646AFE;
|
|
end;
|
|
end;
|
|
|
|
+ *)
|
|
|
|
+ if (stnNode.Rec.CalcType.AsInteger > 0) then
|
|
|
|
+ begin
|
|
|
|
+ if Assigned(stnNode.StageRec) then
|
|
|
|
+ begin
|
|
|
|
+ if stnNode.Rec.Quantity.AsFloat > 0 then
|
|
|
|
+ fDiffer := QuantityRoundTo(stnNode.StageRec.EndDealQuantity.AsFloat - stnNode.Rec.Quantity.AsFloat)
|
|
|
|
+ else if stnNode.StageRec.EndDealQuantity.AsFloat > 0 then
|
|
|
|
+ fDiffer := 1
|
|
|
|
+ else
|
|
|
|
+ fDiffer := QuantityRoundTo(stnNode.Rec.Quantity.AsFloat - stnNode.StageRec.EndDealQuantity.AsFloat);
|
|
|
|
+ fCompare := TProjectData(FBillsMeasureData.ProjectData).ProjProperties.DecimalManager.Common.Quantity.CompareValue;
|
|
|
|
+ end
|
|
|
|
+ else
|
|
|
|
+ fDiffer := 0;
|
|
|
|
+ end
|
|
|
|
+ else
|
|
|
|
+ begin
|
|
|
|
+ if Assigned(stnNode.StageRec) then
|
|
|
|
+ begin
|
|
|
|
+ if stnNode.Rec.TotalPrice.AsFloat > 0 then
|
|
|
|
+ fDiffer := QuantityRoundTo(stnNode.StageRec.EndDealTotalPrice.AsFloat - stnNode.Rec.TotalPrice.AsFloat)
|
|
|
|
+ else if stnNode.StageRec.EndDealTotalPrice.AsFloat > 0 then
|
|
|
|
+ fDiffer := 1
|
|
|
|
+ else
|
|
|
|
+ fDiffer := QuantityRoundTo(stnNode.Rec.TotalPrice.AsFloat - stnNode.StageRec.EndDealTotalPrice.AsFloat);
|
|
|
|
+ fCompare := TProjectData(FBillsMeasureData.ProjectData).ProjProperties.DecimalManager.Common.TotalPrice.CompareValue;
|
|
|
|
+ end
|
|
|
|
+ else
|
|
|
|
+ fDiffer := 0;
|
|
|
|
+ end;
|
|
|
|
+ if fDiffer > fCompare then
|
|
|
|
+ AColor := $00646AFE;
|
|
end;
|
|
end;
|
|
if Assigned(stdBillsMeasure.IDTree.Selected) and (ACoord.Y = stdBillsMeasure.IDTree.Selected.MajorIndex + 2) then
|
|
if Assigned(stdBillsMeasure.IDTree.Selected) and (ACoord.Y = stdBillsMeasure.IDTree.Selected.MajorIndex + 2) then
|
|
AColor := $00cdfaff;
|
|
AColor := $00cdfaff;
|