| 
					
				 | 
			
			
				@@ -172,18 +172,39 @@ procedure TrmWuJiuZqzfGatherData.LoadPhaseData(APhaseIndex: Integer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  procedure GetDealPayRecords(AList: TList; AName: string; AMinus: Boolean = false; ACalcType: Integer = 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  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) and (Rec.ValueByName('IsMinus').AsBoolean = AMinus) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           and (Rec.ValueByName('CalcType').AsInteger = ACalcType) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          AList.Add(Rec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   PhaseData: TPhaseData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sTPField: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   iDealPayId: Integer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Rec: TsdDataRecord; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  vRecList: TList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  iRec: Integer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   PhaseData := TPhaseData.Create(AProjectData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  vRecList := TList.Create; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     PhaseData.SimpleOpen(Format('%s\Phase%d.dat', [AProjectData.TempPath, APhaseIndex])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cdsZqzf.Append; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cdsZqzfPhaseIndex.AsInteger := APhaseIndex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    cdsZqzfQyht.AsFloat := FQyht;               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cdsZqzfQyht.AsFloat := FQyht; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cdsZqzfFhqd.AsFloat := FFhqd; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cdsZqzfBg.AsFloat := AProjectData.BGLData.EndTotalPrice[APhaseIndex]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cdsZqzfSp.AsFloat := FSp; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -198,40 +219,66 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       cdsZqzfEndGather.AsFloat := Rec.ValueByName('End' + sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       cdsZqzfPreGather.AsFloat := Rec.ValueByName('Pre' + sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       cdsZqzfCurGather.AsFloat := Rec.ValueByName(sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      iDealPayId := GetDealPayID('괏즛쏜', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Rec := sddPhasePay.Locate('ID', iDealPayId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if Assigned(Rec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      GetDealPayRecords(vRecList, '괏즛쏜', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for iRec := 0 to vRecList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cdsZqzfAddKhBlj.AsFloat := Rec.ValueByName('End' + sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cdsZqzfCurKhBlj.AsFloat := Rec.ValueByName(sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        iDealPayId := TsdDataRecord(vRecList.Items[iRec]).ValueByName('ID').AsInteger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Rec := sddPhasePay.Locate('ID', iDealPayId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if Assigned(Rec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cdsZqzfAddKhBlj.AsFloat := cdsZqzfAddKhBlj.AsFloat + Rec.ValueByName('End' + sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cdsZqzfCurKhBlj.AsFloat := cdsZqzfCurKhBlj.AsFloat + Rec.ValueByName(sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      iDealPayId := GetDealPayID('크췽묏묏栗', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Rec := sddPhasePay.Locate('ID', iDealPayId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if Assigned(Rec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      GetDealPayRecords(vRecList, '크췽묏묏栗', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for iRec := 0 to vRecList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cdsZqzfAddKhNmggz.AsFloat := Rec.ValueByName('End' + sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cdsZqzfCurKhNmggz.AsFloat := Rec.ValueByName(sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      end;                                             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      iDealPayId := GetDealPayID('땡逃渡마운', false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Rec := sddPhasePay.Locate('ID', iDealPayId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if Assigned(Rec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        iDealPayId := TsdDataRecord(vRecList.Items[iRec]).ValueByName('ID').AsInteger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Rec := sddPhasePay.Locate('ID', iDealPayId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if Assigned(Rec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cdsZqzfAddKhNmggz.AsFloat := cdsZqzfAddKhNmggz.AsFloat + Rec.ValueByName('End' + sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cdsZqzfCurKhNmggz.AsFloat := cdsZqzfCurKhNmggz.AsFloat + Rec.ValueByName(sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      GetDealPayRecords(vRecList, '땡逃渡마운', false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for iRec := 0 to vRecList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cdsZqzfDyyfk.AsFloat := Rec.ValueByName(sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        iDealPayId := TsdDataRecord(vRecList.Items[iRec]).ValueByName('ID').AsInteger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Rec := sddPhasePay.Locate('ID', iDealPayId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if Assigned(Rec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cdsZqzfDyyfk.AsFloat := cdsZqzfDyyfk.AsFloat + Rec.ValueByName(sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      iDealPayId := GetDealPayID('땡逃渡마운', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Rec := sddPhasePay.Locate('ID', iDealPayId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if Assigned(Rec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      GetDealPayRecords(vRecList, '땡逃渡마운', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for iRec := 0 to vRecList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cdsZqzfAddKhDyyfk.AsFloat := Rec.ValueByName('End' + sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cdsZqzfCurKhDyyfk.AsFloat := Rec.ValueByName(sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        iDealPayId := TsdDataRecord(vRecList.Items[iRec]).ValueByName('ID').AsInteger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Rec := sddPhasePay.Locate('ID', iDealPayId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if Assigned(Rec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cdsZqzfAddKhDyyfk.AsFloat := cdsZqzfAddKhDyyfk.AsFloat + Rec.ValueByName('End' + sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cdsZqzfCurKhDyyfk.AsFloat := cdsZqzfCurKhDyyfk.AsFloat + Rec.ValueByName(sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      iDealPayId := GetDealPayID('藤令江', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Rec := sddPhasePay.Locate('ID', iDealPayId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if Assigned(Rec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      GetDealPayRecords(vRecList, '藤令江', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for iRec := 0 to vRecList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cdsZqzfAddKAddedTax.AsFloat := Rec.ValueByName('End' + sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cdsZqzfCurKAddedTax.AsFloat := Rec.ValueByName(sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        iDealPayId := TsdDataRecord(vRecList.Items[iRec]).ValueByName('ID').AsInteger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Rec := sddPhasePay.Locate('ID', iDealPayId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if Assigned(Rec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cdsZqzfAddKAddedTax.AsFloat := cdsZqzfAddKAddedTax.AsFloat + Rec.ValueByName('End' + sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cdsZqzfCurKAddedTax.AsFloat := cdsZqzfCurKAddedTax.AsFloat + Rec.ValueByName(sTPField).AsFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       iDealPayId := GetDealPayID('굶퍅壇마'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Rec := sddPhasePay.Locate('ID', iDealPayId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if Assigned(Rec) then 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -242,6 +289,7 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cdsZqzf.Post; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   finally 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    vRecList.Free; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     PhaseData.Free; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end; 
			 |