浏览代码

项目节-变更令表,增加数据,0号台账合同金额、截止本期数量变更金额、两者相加

MaiXinRong 9 年之前
父节点
当前提交
691b29901c
共有 2 个文件被更改,包括 50 次插入2 次删除
  1. 25 2
      DataModules/ReportMemoryDm/rmXmjBGLDetailDm.dfm
  2. 25 0
      DataModules/ReportMemoryDm/rmXmjBGLDetailDm.pas

+ 25 - 2
DataModules/ReportMemoryDm/rmXmjBGLDetailDm.dfm

@@ -91,6 +91,18 @@ object rmXmjBGLDetailData: TrmXmjBGLDetailData
         Name = 'MemoStr'
         DataType = ftWideString
         Size = 50
+      end
+      item
+        Name = 'TotalPrice'
+        DataType = ftFloat
+      end
+      item
+        Name = 'EndQcTotalPrice'
+        DataType = ftFloat
+      end
+      item
+        Name = 'FinalTotalPrice'
+        DataType = ftFloat
       end>
     IndexDefs = <>
     Params = <>
@@ -98,7 +110,7 @@ object rmXmjBGLDetailData: TrmXmjBGLDetailData
     Left = 72
     Top = 32
     Data = {
-      0B0200009619E0BD0100000018000000120000000000030000000B0204436F64
+      4E0200009619E0BD0100000018000000150000000000030000004E0204436F64
       650100490000000100055749445448020002003200044E616D6502004A000000
       01000557494454480200020090010C44676E5175616E74697479310800040000
       0000000C44676E5175616E746974793208000400000000000B44676E5175616E
@@ -114,7 +126,9 @@ object rmXmjBGLDetailData: TrmXmjBGLDetailData
       000001000557494454480200020064000C417070726F76616C436F646501004A
       00000001000557494454480200020064000B42474C52656C6146696C6501004A
       0000000100055749445448020002000100074D656D6F53747201004A00000001
-      000557494454480200020064000000}
+      000557494454480200020064000A546F74616C50726963650800040000000000
+      0F456E645163546F74616C507269636508000400000000000F46696E616C546F
+      74616C507269636508000400000000000000}
     object cdsXmjBGLDetailCode: TStringField
       FieldName = 'Code'
       Size = 50
@@ -181,5 +195,14 @@ object rmXmjBGLDetailData: TrmXmjBGLDetailData
       FieldName = 'MemoStr'
       Size = 50
     end
+    object cdsXmjBGLDetailTotalPrice: TFloatField
+      FieldName = 'TotalPrice'
+    end
+    object cdsXmjBGLDetailEndQcTotalPrice: TFloatField
+      FieldName = 'EndQcTotalPrice'
+    end
+    object cdsXmjBGLDetailFinalTotalPrice: TFloatField
+      FieldName = 'FinalTotalPrice'
+    end
   end
 end

+ 25 - 0
DataModules/ReportMemoryDm/rmXmjBGLDetailDm.pas

@@ -32,6 +32,9 @@ type
     FEndDealTotalPrice: Double;
     FEndGatherTotalPrice: Double;
 
+    FTotalPrice: Double;
+    FEndQcTotalPrice: Double;
+
     function GetChildCount: Integer;
     function GetChildNode(AIndex: Integer): TXmjNode;
     function GetBGLCount: Integer;
@@ -68,6 +71,9 @@ type
     cdsXmjBGLDetailApprovalCode: TWideStringField;
     cdsXmjBGLDetailBGLRelaFile: TWideStringField;
     cdsXmjBGLDetailMemoStr: TWideStringField;
+    cdsXmjBGLDetailTotalPrice: TFloatField;
+    cdsXmjBGLDetailEndQcTotalPrice: TFloatField;
+    cdsXmjBGLDetailFinalTotalPrice: TFloatField;
   private
     FProjectData: TProjectData;
     FClassXmjList: TList;
@@ -152,6 +158,7 @@ end;
 procedure TrmXmjBGLDetailData.AddClassXmjNode(ANode: TsdIDTreeNode);
 var
   XmjNode: TXmjNode;
+  StageRec: TsdDataRecord;
 begin
   if not Assigned(ANode) then Exit;
   XmjNode := TXmjNode.Create;
@@ -159,6 +166,18 @@ begin
   XmjNode.FCode := ANode.Rec.ValueByName('Code').AsString;
   XmjNode.FName := ANode.Rec.ValueByName('Name').AsString;
   XmjNode.FDgnQuantity1 := ANode.Rec.ValueByName('DgnQuantity1').AsFloat;
+  XmjNode.FDgnQuantity2 := ANode.Rec.ValueByName('DgnQuantity2').AsFloat;
+  XmjNode.FTotalPrice := ANode.Rec.ValueByName('TotalPrice').AsFloat;
+  if FProjectData.PhaseData.Active then
+  begin
+    StageRec := FProjectData.PhaseData.StageData.StageRecord(ANode.ID);
+    if Assigned(StageRec) then
+    begin
+      XmjNode.FEndDealTotalPrice := StageRec.ValueByName('EndDealTotalPrice').AsFloat;
+      XmjNode.FEndGatherTotalPrice := StageRec.ValueByName('EndGatherTotalPrice').AsFloat;
+      XmjNode.FEndQcTotalPrice := StageRec.ValueByName('EndQcTotalPrice').AsFloat;
+    end;
+  end;
   FilterDetailNode(ANode, XmjNode);
 end;
 
@@ -173,6 +192,7 @@ begin
   DetailNode.FName := ANode.Rec.ValueByName('Name').AsString;
   DetailNode.FDgnQuantity1 := ANode.Rec.ValueByName('DgnQuantity1').AsFloat;
   DetailNode.FDgnQuantity2 := ANode.Rec.ValueByName('DgnQuantity2').AsFloat;
+  DetailNode.FTotalPrice := ANode.Rec.ValueByName('TotalPrice').AsFloat;
   if FProjectData.PhaseData.Active then
   begin
     StageRec := FProjectData.PhaseData.StageData.StageRecord(ANode.ID);
@@ -180,6 +200,7 @@ begin
     begin
       DetailNode.FEndDealTotalPrice := StageRec.ValueByName('EndDealTotalPrice').AsFloat;
       DetailNode.FEndGatherTotalPrice := StageRec.ValueByName('EndGatherTotalPrice').AsFloat;
+      DetailNode.FEndQcTotalPrice := StageRec.ValueByName('EndQcTotalPrice').AsFloat;
     end;
   end;
   FilterBGLData(ANode, DetailNode);
@@ -359,6 +380,10 @@ begin
   cdsXmjBGLDetailEndGatherTotalPrice.AsFloat := AXmjNode.FEndGatherTotalPrice;
   cdsXmjBGLDetailBGTotalPrice.AsFloat := AXmjNode.FEndGatherTotalPrice - AXmjNode.FEndDealTotalPrice;
 
+  cdsXmjBGLDetailTotalPrice.AsFloat := AXmjNode.FTotalPrice;
+  cdsXmjBGLDetailEndQcTotalPrice.AsFloat := AXmjNode.FEndQcTotalPrice;
+  cdsXmjBGLDetailFinalTotalPrice.AsFloat := AXmjNode.FTotalPrice + AXmjNode.FEndQcTotalPrice;
+
   cdsXmjBGLDetailXmj_BGLName.AsString := AXmjNode.FName;
   cdsXmjBGLDetail.Post;
   for i := 0 to AXmjNode.BGLCount - 1 do