浏览代码

优化CalcMeasureFilter方法

MaiXinRong 6 年之前
父节点
当前提交
ed8ce1d9d7
共有 2 个文件被更改,包括 9 次插入17 次删除
  1. 8 16
      DataModules/BillsMeasureDm.pas
  2. 1 1
      Units/ProjectData.pas

+ 8 - 16
DataModules/BillsMeasureDm.pas

@@ -72,7 +72,7 @@ type
 
 
     function FindNodeWithZJJL(ANode: TsdIDTreeNode): TsdIDTreeNode;
     function FindNodeWithZJJL(ANode: TsdIDTreeNode): TsdIDTreeNode;
 
 
-    procedure CalcMeasureFilter(ANode: TsdIDTreeNode);
+    procedure CalcMeasureFilter;
 
 
     // 计算 修改各期原报审核数据时,需对累计数据做增量
     // 计算 修改各期原报审核数据时,需对累计数据做增量
     procedure UpdateRecordDeal(ABillsID: Integer; AQuantity, ATotalPrice: Double);
     procedure UpdateRecordDeal(ABillsID: Integer; AQuantity, ATotalPrice: Double);
@@ -1245,25 +1245,17 @@ begin
   Result := TProjectData(FProjectData).ProjProperties.DecimalManager.Common;
   Result := TProjectData(FProjectData).ProjProperties.DecimalManager.Common;
 end;
 end;
 
 
-procedure TBillsMeasureData.CalcMeasureFilter(ANode: TsdIDTreeNode);
+procedure TBillsMeasureData.CalcMeasureFilter;
 var
 var
   i: Integer;
   i: Integer;
   vNode: TMeasureBillsIDTreeNode;
   vNode: TMeasureBillsIDTreeNode;
-  b: Boolean;
 begin
 begin
-  if not Assigned(ANode) then Exit;
-
-  for i := 0 to ANode.ChildCount - 1 do
-    CalcMeasureFilter(ANode.ChildNodes[i]);
-
-  vNode := TMeasureBillsIDTreeNode(ANode);
-  b := vNode.Rec.HisHasMeasure.AsBoolean or vNode.Rec.CurHasMeasure.AsBoolean;
-  if vNode.Rec.HisHasMeasure.AsBoolean <> b then
-    vNode.Rec.HisHasMeasure.AsBoolean := b;
-  if vNode.Rec.CurHasMeasure.AsBoolean <> False then
-    vNode.Rec.CurHasMeasure.AsBoolean := False;
-
-  CalcMeasureFilter(ANode.NextSibling);
+  for i := 0 to BillsMeasureTree.Count - 1 do
+  begin
+    vNode := TMeasureBillsIDTreeNode(BillsMeasureTree.Items[i]);
+    vNode.Rec.SetBoolValue(vNode.Rec.HisHasMeasure, vNode.Rec.HisHasMeasure.AsBoolean or vNode.Rec.CurHasMeasure.AsBoolean);
+    vNode.Rec.SetBoolValue(vNode.Rec.CurHasMeasure, False);
+  end;
 end;
 end;
 
 
 end.
 end.

+ 1 - 1
Units/ProjectData.pas

@@ -1526,7 +1526,7 @@ begin
   end;
   end;
   FStaffData.Open(FConnection.Connection);
   FStaffData.Open(FConnection.Connection);
   FBillsMeasureData.ResetTreeNodeStageRec;
   FBillsMeasureData.ResetTreeNodeStageRec;
-  FBillsMeasureData.CalcMeasureFilter(FBillsMeasureData.BillsMeasureTree.FirstNode);
+  FBillsMeasureData.CalcMeasureFilter;
 end;
 end;
 
 
 procedure TProjectData.SaveForReceive(const AFileName: string);
 procedure TProjectData.SaveForReceive(const AFileName: string);