浏览代码

武九报表内存表,新增字段

MaiXinRong 5 年之前
父节点
当前提交
51da5f1d66
共有 2 个文件被更改,包括 283 次插入3 次删除
  1. 173 2
      DataModules/ReportMemoryDm/rmWuJiuZqzfGatherDm.dfm
  2. 110 1
      DataModules/ReportMemoryDm/rmWuJiuZqzfGatherDm.pas

+ 173 - 2
DataModules/ReportMemoryDm/rmWuJiuZqzfGatherDm.dfm

@@ -7,11 +7,147 @@ object rmWuJiuZqzfGatherData: TrmWuJiuZqzfGatherData
   object cdsZqzf: TClientDataSet
     Active = True
     Aggregates = <>
+    FieldDefs = <
+      item
+        Name = 'PhaseIndex'
+        DataType = ftInteger
+      end
+      item
+        Name = 'Qyht'
+        DataType = ftFloat
+      end
+      item
+        Name = 'Fhqd'
+        DataType = ftFloat
+      end
+      item
+        Name = 'Bg'
+        DataType = ftFloat
+      end
+      item
+        Name = 'Sp'
+        DataType = ftFloat
+      end
+      item
+        Name = 'Wy'
+        DataType = ftFloat
+      end
+      item
+        Name = 'Cljg'
+        DataType = ftFloat
+      end
+      item
+        Name = 'Bgh'
+        DataType = ftFloat
+      end
+      item
+        Name = 'EndGather'
+        DataType = ftFloat
+      end
+      item
+        Name = 'PreGather'
+        DataType = ftFloat
+      end
+      item
+        Name = 'CurGather'
+        DataType = ftFloat
+      end
+      item
+        Name = 'AddKhBlj'
+        DataType = ftFloat
+      end
+      item
+        Name = 'CurKhBlj'
+        DataType = ftFloat
+      end
+      item
+        Name = 'AddKhNmggz'
+        DataType = ftFloat
+      end
+      item
+        Name = 'CurKhNmggz'
+        DataType = ftFloat
+      end
+      item
+        Name = 'Dyyfk'
+        DataType = ftFloat
+      end
+      item
+        Name = 'AddKhDyyfk'
+        DataType = ftFloat
+      end
+      item
+        Name = 'CurKhDyyfk'
+        DataType = ftFloat
+      end
+      item
+        Name = 'AddKAddedTax'
+        DataType = ftFloat
+      end
+      item
+        Name = 'CurKAddedTax'
+        DataType = ftFloat
+      end
+      item
+        Name = 'AddSjzf'
+        DataType = ftFloat
+      end
+      item
+        Name = 'CurSjzf'
+        DataType = ftFloat
+      end
+      item
+        Name = 'Memo'
+        DataType = ftWideString
+        Size = 255
+      end
+      item
+        Name = 'tzpf'
+        DataType = ftFloat
+      end
+      item
+        Name = 'jj'
+        DataType = ftFloat
+      end
+      item
+        Name = 'fk'
+        DataType = ftFloat
+      end
+      item
+        Name = 'spje'
+        DataType = ftFloat
+      end
+      item
+        Name = 'CurYlnmggzbzj'
+        DataType = ftFloat
+      end
+      item
+        Name = 'AddYlnmggzbzj'
+        DataType = ftFloat
+      end
+      item
+        Name = 'CurZlbzj'
+        DataType = ftFloat
+      end
+      item
+        Name = 'AddZlbzj'
+        DataType = ftFloat
+      end
+      item
+        Name = 'CurYlgcdjjk'
+        DataType = ftFloat
+      end
+      item
+        Name = 'AddYlgcdjjk'
+        DataType = ftFloat
+      end>
+    IndexDefs = <>
     Params = <>
+    StoreDefs = True
     Left = 48
     Top = 40
     Data = {
-      960100009619E0BD01000000180000001700000000000300000096010A506861
+      3C0200009619E0BD0100000018000000210000000000030000003C020A506861
       7365496E64657804000100000000000451796874080004000000000004466871
       6408000400000000000242670800040000000000025370080004000000000002
       5779080004000000000004436C6A670800040000000000034267680800040000
@@ -23,7 +159,12 @@ object rmWuJiuZqzfGatherData: TrmWuJiuZqzfGatherData
       00000A4375724B68447979666B08000400000000000C4164644B416464656454
       617808000400000000000C4375724B4164646564546178080004000000000007
       416464536A7A66080004000000000007437572536A7A66080004000000000004
-      4D656D6F02004A000000010005574944544802000200FE010000}
+      4D656D6F02004A000000010005574944544802000200FE0104747A7066080004
+      0000000000026A6A080004000000000002666B08000400000000000473706A65
+      08000400000000000D437572596C6E6D67677A627A6A08000400000000000D41
+      6464596C6E6D67677A627A6A0800040000000000084375725A6C627A6A080004
+      0000000000084164645A6C627A6A08000400000000000B437572596C6763646A
+      6A6B08000400000000000B416464596C6763646A6A6B08000400000000000000}
     object cdsZqzfPhaseIndex: TIntegerField
       FieldName = 'PhaseIndex'
     end
@@ -94,5 +235,35 @@ object rmWuJiuZqzfGatherData: TrmWuJiuZqzfGatherData
       FieldName = 'Memo'
       Size = 255
     end
+    object cdsZqzftzpf: TFloatField
+      FieldName = 'tzpf'
+    end
+    object cdsZqzfjj: TFloatField
+      FieldName = 'jj'
+    end
+    object cdsZqzffk: TFloatField
+      FieldName = 'fk'
+    end
+    object cdsZqzfspje: TFloatField
+      FieldName = 'spje'
+    end
+    object cdsZqzfCurYlnmggzbzj: TFloatField
+      FieldName = 'CurYlnmggzbzj'
+    end
+    object cdsZqzfAddYlnmggzbzj: TFloatField
+      FieldName = 'AddYlnmggzbzj'
+    end
+    object cdsZqzfCurZlbzj: TFloatField
+      FieldName = 'CurZlbzj'
+    end
+    object cdsZqzfAddZlbzj: TFloatField
+      FieldName = 'AddZlbzj'
+    end
+    object cdsZqzfCurYlgcdjjk: TFloatField
+      FieldName = 'CurYlgcdjjk'
+    end
+    object cdsZqzfAddYlgcdjjk: TFloatField
+      FieldName = 'AddYlgcdjjk'
+    end
   end
 end

+ 110 - 1
DataModules/ReportMemoryDm/rmWuJiuZqzfGatherDm.pas

@@ -31,6 +31,16 @@ type
     cdsZqzfAddSjzf: TFloatField;
     cdsZqzfCurSjzf: TFloatField;
     cdsZqzfMemo: TWideStringField;
+    cdsZqzftzpf: TFloatField;
+    cdsZqzfjj: TFloatField;
+    cdsZqzffk: TFloatField;
+    cdsZqzfspje: TFloatField;
+    cdsZqzfCurYlnmggzbzj: TFloatField;
+    cdsZqzfAddYlnmggzbzj: TFloatField;
+    cdsZqzfCurZlbzj: TFloatField;
+    cdsZqzfAddZlbzj: TFloatField;
+    cdsZqzfCurYlgcdjjk: TFloatField;
+    cdsZqzfAddYlgcdjjk: TFloatField;
   private
     FQyht: Double;
     FFhqd: Double;
@@ -38,6 +48,7 @@ type
     FSp: Double;
     FWy: Double;
     FCljg: Double;
+    FTzpf: Double;
     procedure GatherMainData(AProjectData: TProjectData);
     procedure LoadPhaseData(APhaseIndex: Integer; AProjectData: TProjectData = nil);
   public
@@ -149,6 +160,11 @@ begin
     FCljg := vChild.Rec.ValueByName('TotalPrice').AsFloat
   else
     FCljg := 0;
+
+  FTzpf := AProjectData.BillsData.FirstPart[0] +
+      AProjectData.BillsData.SecondPart[0] +
+      AProjectData.BillsData.ThirdPart[0] +
+      AProjectData.BillsData.ReservedFee[0];
 end;
 
 procedure TrmWuJiuZqzfGatherData.LoadPhaseData(APhaseIndex: Integer;
@@ -190,11 +206,28 @@ procedure TrmWuJiuZqzfGatherData.LoadPhaseData(APhaseIndex: Integer;
       end;
   end;
 
+  procedure GetDealPayRecords2(AList: TList; AName: string);
+  var
+    iRec: Integer;
+    Rec: TsdDataRecord;
+  begin
+    AList.Clear;
+    with AProjectData.DealPaymentData do
+      for iRec := 0 to sddDealPayment.RecordCount - 1 do
+      begin
+        Rec :=  sddDealPayment.Records[iRec];
+        if (Pos(AName, Rec.ValueByName('Name').AsString) > 0) then
+        begin
+          AList.Add(Rec);
+        end;
+      end;
+  end;
+
 var
   PhaseData: TPhaseData;
   sTPField: string;
   iDealPayId: Integer;
-  Rec: TsdDataRecord;
+  Rec, MainRec: TsdDataRecord;
   vRecList: TList;
   iRec: Integer;
 begin
@@ -211,6 +244,7 @@ begin
     cdsZqzfWy.AsFloat := FWy;
     cdsZqzfCljg.AsFloat := FCljg;//PhaseData.StageData.PriceMargin[2, 4];
     cdsZqzfBgh.AsFloat := cdsZqzfFhqd.AsFloat + cdsZqzfBg.AsFloat + cdsZqzfSp.AsFloat + cdsZqzfWy.AsFloat + cdsZqzfCljg.AsFloat;
+    cdsZqzftzpf.AsFloat := FTzpf;
     sTPField := 'TotalPrice' + IntToStr(TPhaseData(PhaseData).PhaseProperty.AuditCount);
     with PhaseData.PhasePayData do
     begin
@@ -286,6 +320,81 @@ begin
         cdsZqzfAddSjzf.AsFloat := Rec.ValueByName('End' + sTPField).AsFloat;
         cdsZqzfCurSjzf.AsFloat := Rec.ValueByName(sTPField).AsFloat;
       end;
+
+      GetDealPayRecords2(vRecList, '奖金');
+      for iRec := 0 to vRecList.Count - 1 do
+      begin
+        iDealPayId := TsdDataRecord(vRecList.Items[iRec]).ValueByName('ID').AsInteger;
+        Rec := sddPhasePay.Locate('ID', iDealPayId);
+        if Assigned(Rec) then
+        begin
+          cdsZqzfjj.AsFloat := cdsZqzfjj.AsFloat + Rec.ValueByName(sTPField).AsFloat;
+        end;
+      end;
+
+      GetDealPayRecords2(vRecList, '罚款');
+      for iRec := 0 to vRecList.Count - 1 do
+      begin
+        iDealPayId := TsdDataRecord(vRecList.Items[iRec]).ValueByName('ID').AsInteger;
+        Rec := sddPhasePay.Locate('ID', iDealPayId);
+        if Assigned(Rec) then
+        begin
+          cdsZqzffk.AsFloat := cdsZqzffk.AsFloat + Rec.ValueByName(sTPField).AsFloat;
+        end;
+      end;
+
+      GetDealPayRecords2(vRecList, '索赔金额');
+      for iRec := 0 to vRecList.Count - 1 do
+      begin
+        iDealPayId := TsdDataRecord(vRecList.Items[iRec]).ValueByName('ID').AsInteger;
+        Rec := sddPhasePay.Locate('ID', iDealPayId);
+        if Assigned(Rec) then
+        begin
+          cdsZqzfspje.AsFloat := cdsZqzfspje.AsFloat + Rec.ValueByName(sTPField).AsFloat;
+        end;
+      end;
+
+      GetDealPayRecords2(vRecList, '预留农民工工资保证金');
+      for iRec := 0 to vRecList.Count - 1 do
+      begin
+        MainRec := TsdDataRecord(vRecList.Items[iRec]);
+        iDealPayId := MainRec.ValueByName('ID').AsInteger;
+        Rec := sddPhasePay.Locate('ID', iDealPayId);
+        if Assigned(Rec) then
+        begin
+          cdsZqzfAddYlnmggzbzj.AsFloat := cdsZqzfAddYlnmggzbzj.AsFloat + Rec.ValueByName('End' + sTPField).AsFloat;
+          //cdsZqzfAddYlnmggzbzj.AsFloat := cdsZqzfAddYlnmggzbzj.AsFloat + MainRec.ValueByName(sTPField).AsFloat;
+          cdsZqzfCurYlnmggzbzj.AsFloat := cdsZqzfCurYlnmggzbzj.AsFloat + Rec.ValueByName(sTPField).AsFloat;
+        end;
+      end;
+
+      GetDealPayRecords2(vRecList, '质量保证金');
+      for iRec := 0 to vRecList.Count - 1 do
+      begin
+        MainRec := TsdDataRecord(vRecList.Items[iRec]);
+        iDealPayId := MainRec.ValueByName('ID').AsInteger;
+        Rec := sddPhasePay.Locate('ID', iDealPayId);
+        if Assigned(Rec) then
+        begin
+          cdsZqzfAddZlbzj.AsFloat := cdsZqzfAddZlbzj.AsFloat + Rec.ValueByName('End' + sTPField).AsFloat;
+          //cdsZqzfAddZlbzj.AsFloat := cdsZqzfAddZlbzj.AsFloat + MainRec.ValueByName(sTPField).AsFloat;
+          cdsZqzfCurZlbzj.AsFloat := cdsZqzfCurZlbzj.AsFloat + Rec.ValueByName(sTPField).AsFloat;
+        end;
+      end;
+
+      GetDealPayRecords2(vRecList, '预留工程待结价款');
+      for iRec := 0 to vRecList.Count - 1 do
+      begin
+        MainRec := TsdDataRecord(vRecList.Items[iRec]);
+        iDealPayId := MainRec.ValueByName('ID').AsInteger;
+        Rec := sddPhasePay.Locate('ID', iDealPayId);
+        if Assigned(Rec) then
+        begin
+          cdsZqzfAddYlgcdjjk.AsFloat := cdsZqzfAddYlgcdjjk.AsFloat + Rec.ValueByName('End' + sTPField).AsFloat;
+          //cdsZqzfAddYlgcdjjk.AsFloat := cdsZqzfAddYlgcdjjk.AsFloat + MainRec.ValueByName(sTPField).AsFloat;
+          cdsZqzfCurYlgcdjjk.AsFloat := cdsZqzfCurYlgcdjjk.AsFloat + Rec.ValueByName(sTPField).AsFloat;
+        end;
+      end;
     end;
     cdsZqzf.Post;
   finally