Pārlūkot izejas kodu

Merge branch 'master' of http://192.168.1.12:3000/MaiXinRong/Measure

Chenshilong 9 gadi atpakaļ
vecāks
revīzija
194c6283de

+ 2 - 2
DataModules/DealPaymentDm.pas

@@ -463,9 +463,9 @@ procedure TDealPaymentData.sdvDealPaymentSetText(var Text: string;
       Rec.ValueByName('Formula').AsString := Text;
       AValue.Owner.ValueByName(sFField).AsString := Text;
       if ARecord.ValueByName('Pre' + AValue.FieldName).AsFloat = 0 then
-        fTotalPrice := FPayFormula.Calculate(Text, Rec.ValueByName('StartedPrice').AsFloat) - AValue.AsFloat
+        fTotalPrice := FPayFormula.Calculate(Text, Rec.ValueByName('StartedPrice').AsFloat)
       else
-        fTotalPrice := FPayFormula.Calculate(Text) - AValue.AsFloat;
+        fTotalPrice := FPayFormula.Calculate(Text);
     end;
     iID := ARecord.ValueByName('ID').AsInteger;
     if CheckStartedPrice(iID) then

+ 6 - 1
DataModules/PhasePayDm.pas

@@ -160,12 +160,17 @@ end;
 procedure TPhasePayData.CalculateAll;
 var
   iIndex: Integer;
+  Rec: TsdDataRecord;
 begin
   if TPhaseData(FPhaseData).StageDataReadOnly then Exit;
 
   RepairPhaseRecord;
   for iIndex := 0 to sddPhasePay.RecordCount - 1 do
-    Calculate(sddPhasePay.Records[iIndex].ValueByName('ID').AsInteger);
+  begin
+    Rec := sddPhasePay.Records[iIndex];
+    if GetCalcType(Rec.ValueByName('ID').AsInteger) = 0 then
+      Calculate(Rec.ValueByName('ID').AsInteger);
+  end;
   CalculateCurPay;
 end;
 

+ 20 - 2
Units/ProjectData.pas

@@ -1183,12 +1183,12 @@ procedure TProjectData.ImportCloudTenderFile(const AFileName: string);
   const
     sBillsSql = 'Insert Into Bills (ID, ParentID, NextSiblingID,' +
                 '    Code, B_Code, Name, Units, Alias, Price, NewPrice,' +
-                '    OrgQuantity, OrgTotalPrice,' +
+                '    OrgQuantity, OrgTotalPrice, MisQuantity, MisTotalPrice, OthQuantity, OthTotalPrice,' +
                 '    DgnQuantity1, DgnQuantity2,'+
                 '    Peg, DrawingCode, MemoStr, HasBookMark, MarkMemo)'+
                 '  Select ID, ParentID, NextSiblingID,'+
                 '    Code, B_Code, Name, Units, Alias, Price, NewPrice,' +
-                '    OrgQuantity, OrgTotalPrice,' +
+                '    OrgQuantity, OrgTotalPrice, MisQuantity, MisTotalPrice, OthQuantity, OthTotalPrice,' +
                 '    DgnQuantity1, DgnQuantity2,'+
                 '    Peg, DrawingCode, MemoStr, HasBookMark, MarkMemo'+
                 '  From Bills In ''%s''';
@@ -1272,10 +1272,28 @@ procedure TProjectData.ImportCloudTenderFile(const AFileName: string);
     end;
   end;
 
+  procedure UpdateSourceFile(const AFileName: string);
+  var
+    vCon: TADOConnection;
+    vUpdate: TUpdateProjectDB;
+  begin
+    vCon := TADOConnection.Create(nil);
+    vCon.LoginPrompt := False;
+    try
+      vCon.ConnectionString := Format(SAdoConnectStr, [AFileName]);
+      vUpdate := TUpdateProjectDB.Create;
+      vUpdate.ForceUpdate(vCon);
+    finally
+      vUpdate.Free;
+      vCon.Free;
+    end;
+  end;
+
 var
   sTemMainFile: string;
 begin
   sTemMainFile := CreateTempSourceFile;
+  UpdateSourceFile(sTemMainFile);
   BeforeCopyData;
   try
     ClearAllData;

+ 7 - 0
Units/UpdateDataBase.pas

@@ -23,6 +23,8 @@ type
   TUpdateProjectDB = class(TUpdateDB)
   private
     procedure UpdateAllTables(AConnection: TADOConnection); override;
+  public
+    procedure ForceUpdate(AConnection: TADOConnection);
   end;
 
   TUpdatePhaseDB = class(TUpdateDB)
@@ -69,6 +71,11 @@ end;
 
 { TUpdateProjectDB }
 
+procedure TUpdateProjectDB.ForceUpdate(AConnection: TADOConnection);
+begin
+  UpdateAllTables(AConnection);
+end;
+
 procedure TUpdateProjectDB.UpdateAllTables(AConnection: TADOConnection);
 var
   Updater: TScUpdater;