Browse Source

Task 967 搜索超计清单,亦搜索金额模式

MaiXinRong 9 years ago
parent
commit
a2a6bfc268
1 changed files with 11 additions and 3 deletions
  1. 11 3
      DataModules/SearchDm.pas

+ 11 - 3
DataModules/SearchDm.pas

@@ -150,6 +150,15 @@ begin
 end;
 
 procedure TSearchData.SearchOverRange;
+
+  function CheckOverRange(ANode: TMeasureBillsIDTreeNode): Boolean;
+  begin
+    if ANode.Rec.CalcType.AsInteger = 0 then
+      Result := ANode.Rec.Quantity.AsFloat < ANode.Rec.AddDealQuantity.AsFloat
+    else
+      Result := ANode.Rec.TotalPrice.AsFloat < ANode.Rec.AddDealTotalPrice.AsFloat;
+  end;
+
 var
   i: Integer;
   vNode: TMeasureBillsIDTreeNode;
@@ -162,9 +171,8 @@ begin
       for i := 0 to BillsMeasureTree.Count - 1 do
       begin
         vNode := TMeasureBillsIDTreeNode(BillsMeasureTree.Items[i]);
-        if not vNode.HasChildren then
-          if vNode.Rec.Quantity.AsFloat < vNode.Rec.AddDealQuantity.AsFloat then
-            AddSearchResult(vNode);
+        if not vNode.HasChildren and CheckOverRange(vNode) then
+          AddSearchResult(vNode);
       end;
     end;
   finally