|
@@ -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
|