|
@@ -8,7 +8,7 @@ unit StageCompareDm;
|
|
|
interface
|
|
|
|
|
|
uses
|
|
|
- SysUtils, Classes, sdDB, sdProvider, ADODB;
|
|
|
+ SysUtils, Classes, sdDB, sdProvider, ADODB, mDataRecord;
|
|
|
|
|
|
const
|
|
|
TableDeleteSql = 'Drop Table StageCompare';
|
|
@@ -40,10 +40,29 @@ const
|
|
|
' Set S.Quantity%d = A.GatherQuantity, S.TotalPrice%d = A.GatherTotalPrice'+
|
|
|
' Where S.BillsID = A.BillsID';
|
|
|
|
|
|
+ DeleteCacheSql = 'Delete From StageCompare Where '+
|
|
|
+ ' (IsNull(Quantity0) or Quantity0 = 0) and (IsNull(TotalPrice0) or TotalPrice0 = 0)'+
|
|
|
+ ' and (IsNull(Quantity1) or Quantity1 = 0) and (IsNull(TotalPrice1) or TotalPrice1 = 0)'+
|
|
|
+ ' and (IsNull(Quantity2) or Quantity2 = 0) and (IsNull(TotalPrice2) or TotalPrice2 = 0)'+
|
|
|
+ ' and (IsNull(Quantity3) or Quantity3 = 0) and (IsNull(TotalPrice3) or TotalPrice3 = 0)'+
|
|
|
+ ' and (IsNull(Quantity4) or Quantity4 = 0) and (IsNull(TotalPrice4) or TotalPrice4 = 0)'+
|
|
|
+ ' and (IsNull(Quantity5) or Quantity5 = 0) and (IsNull(TotalPrice5) or TotalPrice5 = 0)'+
|
|
|
+ ' and (IsNull(Quantity6) or Quantity6 = 0) and (IsNull(TotalPrice6) or TotalPrice6 = 0)'+
|
|
|
+ ' and (IsNull(Quantity7) or Quantity7 = 0) and (IsNull(TotalPrice7) or TotalPrice7 = 0)'+
|
|
|
+ ' and (IsNull(Quantity8) or Quantity8 = 0) and (IsNull(TotalPrice8) or TotalPrice8 = 0)'+
|
|
|
+ ' and (IsNull(Quantity9) or Quantity9 = 0) and (IsNull(TotalPrice9) or TotalPrice9 = 0)'+
|
|
|
+ ' and (IsNull(Quantity10) or Quantity10 = 0) and (IsNull(TotalPrice10) or TotalPrice10 = 0)'+
|
|
|
+ ' and (IsNull(Quantity11) or Quantity11 = 0) and (IsNull(TotalPrice11) or TotalPrice11 = 0)'+
|
|
|
+ ' and (IsNull(Quantity12) or Quantity12 = 0) and (IsNull(TotalPrice12) or TotalPrice12 = 0)'+
|
|
|
+ ' and (IsNull(Quantity13) or Quantity13 = 0) and (IsNull(TotalPrice13) or TotalPrice13 = 0)'+
|
|
|
+ ' and (IsNull(Quantity14) or Quantity14 = 0) and (IsNull(TotalPrice14) or TotalPrice14 = 0)';
|
|
|
+
|
|
|
type
|
|
|
TStageCompareData = class(TDataModule)
|
|
|
sdpStageCompare: TsdADOProvider;
|
|
|
sddStageCompare: TsdDataSet;
|
|
|
+ procedure sddStageCompareGetRecordClass(
|
|
|
+ var ARecordClass: TsdRecordClass);
|
|
|
private
|
|
|
FPhaseData: TObject;
|
|
|
|
|
@@ -120,27 +139,27 @@ end;
|
|
|
|
|
|
function TStageCompareData.HasPhaseData(AID: Integer): Boolean;
|
|
|
var
|
|
|
- Rec: TsdDataRecord;
|
|
|
+ Rec: TStageCompareRecord;
|
|
|
begin
|
|
|
Result := False;
|
|
|
- Rec := sddStageCompare.FindKey('idxID', AID);
|
|
|
+ Rec := TStageCompareRecord(sddStageCompare.FindKey('idxID', AID));
|
|
|
if not Assigned(Rec) then Exit;
|
|
|
|
|
|
- Result := (Rec.ValueByName('TotalPrice0').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice1').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice2').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice3').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice4').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice5').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice6').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice7').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice8').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice9').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice10').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice11').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice12').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice13').AsFloat <> 0)
|
|
|
- or (Rec.ValueByName('TotalPrice14').AsFloat <> 0);
|
|
|
+ Result := (Rec.TotalPrice0.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice1.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice2.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice3.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice4.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice5.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice6.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice7.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice8.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice9.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice10.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice11.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice12.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice13.AsFloat <> 0)
|
|
|
+ or (Rec.TotalPrice14.AsFloat <> 0);
|
|
|
end;
|
|
|
|
|
|
procedure TStageCompareData.InsertLastesyStageData(AIndex: Integer;
|
|
@@ -175,6 +194,7 @@ begin
|
|
|
for iStage := 0 to AuditCount - 1 do
|
|
|
UpdateHistoryStageData(iStage, StageTableName[iStage]);
|
|
|
end;
|
|
|
+ ExecuteSql(DeleteCacheSql);
|
|
|
end;
|
|
|
|
|
|
procedure TStageCompareData.UpdateHistoryStageData(AIndex: Integer;
|
|
@@ -186,4 +206,10 @@ begin
|
|
|
ExecuteSql(sSql);
|
|
|
end;
|
|
|
|
|
|
+procedure TStageCompareData.sddStageCompareGetRecordClass(
|
|
|
+ var ARecordClass: TsdRecordClass);
|
|
|
+begin
|
|
|
+ ARecordClass := TStageCompareRecord;
|
|
|
+end;
|
|
|
+
|
|
|
end.
|