浏览代码

调差工料,输入判断

MaiXinRong 9 年之前
父节点
当前提交
c77fc53512
共有 2 个文件被更改,包括 16 次插入45 次删除
  1. 0 2
      DataModules/ProjectGLDm.pas
  2. 16 43
      Units/BillsTree.pas

+ 0 - 2
DataModules/ProjectGLDm.pas

@@ -546,14 +546,12 @@ procedure TProjectGLData.AfterBatchOperation;
 begin                         
   sddProjectGL.EndUpdate;
   sddProjectGL.EnableControls;
-  sddProjectGL.BeforeValueChange := sddProjectGLBeforeValueChange;
   sddProjectGL.AfterValueChanged := sddProjectGLAfterValueChanged;
 end;
 
 procedure TProjectGLData.BeforeBatchOperation;
 begin
   sddProjectGL.AfterValueChanged := nil;
-  sddProjectGL.BeforeValueChange := nil;
   sddProjectGL.DisableControls;         
   sddProjectGL.BeginUpdate;
 end;

+ 16 - 43
Units/BillsTree.pas

@@ -63,20 +63,12 @@ type
     procedure DoOnReCalcNode(ANode: TsdIDTreeNode); overload; virtual; abstract;
   end;
 
-  TCompileBillsIDTreeNode = class(TBillsIDTreeNode)
-  public
-    function UpLevel: Boolean; override;
-    function DownLevel: Boolean; override;
-  end;
-
   TCompileBillsIDTree = class(TBillsIDTree)
   private
     FOnReCalcNode: TReCalculateNode;
-  protected
-    function CreateItem: TsdIDTreeNode; override;
   public
-    procedure DoOnReCalcNode(AID: Integer); overload;
-    procedure DoOnReCalcNode(ANode: TsdIDTreeNode); overload;
+    procedure DoOnReCalcNode(AID: Integer); overload; override;
+    procedure DoOnReCalcNode(ANode: TsdIDTreeNode); overload; override;
 
     property OnReCalcNode: TReCalculateNode read FOnReCalcNode write FOnReCalcNode;
   end;
@@ -98,8 +90,8 @@ type
   protected
     function CreateItem: TsdIDTreeNode; override;
   public
-    procedure DoOnReCalcNode(AID: Integer); overload;
-    procedure DoOnReCalcNode(ANode: TsdIDTreeNode); overload;
+    procedure DoOnReCalcNode(AID: Integer); overload; override;
+    procedure DoOnReCalcNode(ANode: TsdIDTreeNode); overload; override;
 
     property CompileTree: TCompileBillsIDTree read FCompileTree write FCompileTree;
   end;
@@ -207,7 +199,10 @@ begin
 end;
 
 function TBillsIDTreeNode.DownLevel: Boolean;
+var
+  iOrgParentID: Integer;
 begin
+  iOrgParentID := ParentID;
   Result := inherited DownLevel;
 
   if not Result then Exit;
@@ -220,6 +215,9 @@ begin
     Parent.Rec.ValueByName('Quantity').AsFloat := 0;
     Parent.Rec.ValueByName('Price').AsFloat := 0;
   end;
+
+  TBillsIDTree(Owner).DoOnReCalcNode(ParentID);
+  TBillsIDTree(Owner).DoOnReCalcNode(iOrgParentID);
 end;
 
 function TBillsIDTreeNode.GetRec: TBillsRecord;
@@ -278,7 +276,10 @@ begin
 end;
 
 function TBillsIDTreeNode.UpLevel: Boolean;
+var
+  iOrgParentID: Integer;
 begin
+  iOrgParentID := ParentID;
   Result := inherited UpLevel;
 
   if not Result then Exit;
@@ -291,6 +292,9 @@ begin
     Rec.ValueByName('Quantity').AsFloat := 0;
     Rec.ValueByName('Price').AsFloat := 0;
   end;
+
+  TBillsIDTree(Owner).DoOnReCalcNode(iOrgParentID);
+  TBillsIDTree(Owner).DoOnReCalcNode(ParentID);
 end;
 
 { TEstimateIDTreeNode }
@@ -328,11 +332,6 @@ begin
     FOnReCalcNode(AID);
 end;
 
-function TCompileBillsIDTree.CreateItem: TsdIDTreeNode;
-begin
-  Result := TCompileBillsIDTreeNode.Create(Self);
-end;
-
 procedure TCompileBillsIDTree.DoOnReCalcNode(ANode: TsdIDTreeNode);
 begin
   if Assigned(ANode) then
@@ -358,32 +357,6 @@ begin
     FCompileTree.DoOnReCalcNode(ANode);
 end;
 
-{ TCompileBillsIDTreeNode }
-
-function TCompileBillsIDTreeNode.DownLevel: Boolean;
-var
-  iOrgParentID: Integer;
-begin
-  iOrgParentID := ParentID;
-  Result := inherited DownLevel;
-
-  if not Result then Exit;
-  TCompileBillsIDTree(Owner).DoOnReCalcNode(ParentID);
-  TCompileBillsIDTree(Owner).DoOnReCalcNode(iOrgParentID);
-end;
-
-function TCompileBillsIDTreeNode.UpLevel: Boolean;
-var
-  iOrgParentID: Integer;
-begin
-  iOrgParentID := ParentID;
-  Result := inherited UpLevel;
-
-  if not Result then Exit;
-  TCompileBillsIDTree(Owner).DoOnReCalcNode(iOrgParentID);
-  TCompileBillsIDTree(Owner).DoOnReCalcNode(ParentID);
-end;
-
 { TMeasureBillsIDTreeNode }
 
 function TMeasureBillsIDTreeNode.DownLevel: Boolean;