123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377 |
- unit CalcData;
- interface
- type
- TCalcData = class
- private
- FQuantity: Double;
- FTotalPrice: Double;
- public
- constructor Create; virtual;
- procedure AddQuantity(AValue: Double);
- procedure AddTotalPrice(AValue: Double);
- property Quantity: Double read FQuantity write FQuantity;
- property TotalPrice: Double read FTotalPrice write FTotalPrice;
- end;
- TReCalcData = class(TCalcData)
- private
- FTotalPrice_Rc: Double;
- public
- constructor Create; override;
- property TotalPrice_Rc: Double read FTotalPrice_Rc write FTotalPrice_Rc;
- end;
- TCompileCalc = class
- private
- FOrg: TReCalcData;
- FMis: TReCalcData;
- FOth: TReCalcData;
- FSubTotal: TReCalcData;
- public
- constructor Create;
- destructor Destroy; override;
- procedure InitTotalPrice_Rc;
- procedure UpdateTotalPrice_Rc(ACalc: TCompileCalc);
- procedure CalcTotalPrice_Rc(APrice: Double);
- procedure InitCalcData;
- procedure AddCalcData(ACalc: TCompileCalc);
- procedure MinusCalcData(ACalc: TCompileCalc);
- property Org: TReCalcData read FOrg write FOrg;
- property Mis: TReCalcData read FMis write FMis;
- property Oth: TReCalcData read FOth write FOth;
- property SubTotal: TReCalcData read FSubTotal write FSubTotal;
- end;
- TMeasureCalc = class
- private
- FDeal: TReCalcData;
- FQc: TReCalcData;
- FGather: TReCalcData;
- public
- constructor Create;
- destructor Destroy; override;
- procedure InitTotalPrice_Rc;
- procedure UpdateTotalPrice_Rc(ACalc: TMeasureCalc);
- procedure CalcTotalPrice_Rc(APrice: Double);
- procedure InitCalcData;
- procedure AddCalcData(ACalc: TMeasureCalc);
- procedure MinusCalcData(ACalc: TMeasureCalc);
- property Deal: TReCalcData read FDeal write FDeal;
- property Qc: TReCalcData read FQc write FQc;
- property Gather: TReCalcData read FGather write FGather;
- end;
- TProjCalc = class
- private
- FCompile: TCompileCalc;
- FAddMeasure: TMeasureCalc;
- FCurMeasure: TMeasureCalc;
- FPreMeasure: TMeasureCalc;
- FEndMeasure: TMeasureCalc;
- FZoneMeasure: TMeasureCalc;
- FDgnQuantity1: Double;
- FDgnQuantity2: Double;
- FDealDgnQuantity1: Double;
- FDealDgnQuantity2: Double;
- FCDgnQuantity1: Double;
- FCDgnQuantity2: Double;
- public
- constructor Create;
- destructor Destroy; override;
- procedure InitTotalPrice_Rc;
- procedure UpdateTotalPrice_Rc(AProjCalc: TProjCalc);
- procedure CalcTotalPrice_Rc(APrice: Double);
- procedure InitCalcData;
- procedure AddCalcData(AProjCalc: TProjCalc);
- procedure MinusCalcData(AProjCalc: TProjCalc);
- property Compile: TCompileCalc read FCompile;
- property AddMeasure: TMeasureCalc read FAddMeasure;
- property CurMeasure: TMeasureCalc read FCurMeasure;
- property PreMeasure: TMeasureCalc read FPreMeasure;
- property EndMeasure: TMeasureCalc read FEndMeasure;
- property ZoneMeasure: TMeasureCalc read FZoneMeasure;
- property DgnQuantity1: Double read FDgnQuantity1 write FDgnQuantity1;
- property DgnQuantity2: Double read FDgnQuantity2 write FDgnQuantity2;
- property DealDgnQuantity1: Double read FDealDgnQuantity1 write FDealDgnQuantity1;
- property DealDgnQuantity2: Double read FDealDgnQuantity2 write FDealDgnQuantity2;
- property CDgnQuantity1: Double read FCDgnQuantity1 write FCDgnQuantity1;
- property CDgnQuantity2: Double read FCDgnQuantity2 write FCDgnQuantity2;
- end;
- implementation
- { TCompileCalc }
- procedure TCompileCalc.AddCalcData(ACalc: TCompileCalc);
- begin
- Org.TotalPrice := Org.TotalPrice + ACalc.Org.TotalPrice;
- Mis.TotalPrice := Mis.TotalPrice + ACalc.Mis.TotalPrice;
- Oth.TotalPrice := Oth.TotalPrice + ACalc.Oth.TotalPrice;
- SubTotal.TotalPrice := SubTotal.TotalPrice + ACalc.SubTotal.TotalPrice;
- Org.TotalPrice_Rc := Org.TotalPrice_Rc + ACalc.Org.TotalPrice_Rc;
- Mis.TotalPrice_Rc := Mis.TotalPrice_Rc + ACalc.Mis.TotalPrice_Rc;
- Oth.TotalPrice_Rc := Oth.TotalPrice_Rc + ACalc.Oth.TotalPrice_Rc;
- SubTotal.TotalPrice_Rc := SubTotal.TotalPrice_Rc + ACalc.SubTotal.TotalPrice_Rc;
- end;
- procedure TCompileCalc.CalcTotalPrice_Rc(APrice: Double);
- begin
- Org.TotalPrice_Rc := Org.Quantity * APrice;
- Mis.TotalPrice_Rc := Mis.Quantity * APrice;
- Oth.TotalPrice_Rc := Oth.Quantity * APrice;
- SubTotal.TotalPrice_Rc := SubTotal.Quantity * APrice;
- end;
- constructor TCompileCalc.Create;
- begin
- FOrg := TReCalcData.Create;
- FMis := TReCalcData.Create;
- FOth := TReCalcData.Create;
- FSubTotal := TReCalcData.Create;
- end;
- destructor TCompileCalc.Destroy;
- begin
- FOrg.Free;
- FMis.Free;
- FOth.Free;
- FSubTotal.Free;
- inherited;
- end;
- procedure TCompileCalc.InitCalcData;
- begin
- Org.TotalPrice := 0;
- Mis.TotalPrice := 0;
- Oth.TotalPrice := 0;
- SubTotal.TotalPrice := 0;
- InitTotalPrice_Rc;
- end;
- procedure TCompileCalc.InitTotalPrice_Rc;
- begin
- Org.TotalPrice_Rc := 0;
- Mis.TotalPrice_Rc := 0;
- Oth.TotalPrice_Rc := 0;
- SubTotal.TotalPrice_Rc := 0;
- end;
- procedure TCompileCalc.MinusCalcData(ACalc: TCompileCalc);
- begin
- Org.TotalPrice := Org.TotalPrice - ACalc.Org.TotalPrice;
- Mis.TotalPrice := Mis.TotalPrice - ACalc.Mis.TotalPrice;
- Oth.TotalPrice := Oth.TotalPrice - ACalc.Oth.TotalPrice;
- SubTotal.TotalPrice := SubTotal.TotalPrice - ACalc.SubTotal.TotalPrice;
- Org.TotalPrice_Rc := Org.TotalPrice_Rc - ACalc.Org.TotalPrice_Rc;
- Mis.TotalPrice_Rc := Mis.TotalPrice_Rc - ACalc.Mis.TotalPrice_Rc;
- Oth.TotalPrice_Rc := Oth.TotalPrice_Rc - ACalc.Oth.TotalPrice_Rc;
- SubTotal.TotalPrice_Rc := SubTotal.TotalPrice_Rc - ACalc.SubTotal.TotalPrice_Rc;
- end;
- procedure TCompileCalc.UpdateTotalPrice_Rc(ACalc: TCompileCalc);
- begin
- Org.TotalPrice_Rc := Org.TotalPrice_Rc + ACalc.Org.TotalPrice_Rc;
- Mis.TotalPrice_Rc := Mis.TotalPrice_Rc + ACalc.Mis.TotalPrice_Rc;
- Oth.TotalPrice_Rc := Oth.TotalPrice_Rc + ACalc.Oth.TotalPrice_Rc;
- SubTotal.TotalPrice_Rc := SubTotal.TotalPrice_Rc + ACalc.SubTotal.TotalPrice_Rc;
- end;
- { TMeasureCalc }
- procedure TMeasureCalc.AddCalcData(ACalc: TMeasureCalc);
- begin
- Deal.TotalPrice := Deal.TotalPrice + ACalc.Deal.TotalPrice;
- Qc.TotalPrice := Qc.TotalPrice + ACalc.Qc.TotalPrice;
- Gather.TotalPrice := Gather.TotalPrice + ACalc.Gather.TotalPrice;
- Deal.TotalPrice_Rc := Deal.TotalPrice_Rc + ACalc.Deal.TotalPrice_Rc;
- Qc.TotalPrice_Rc := Qc.TotalPrice_Rc + ACalc.Qc.TotalPrice_Rc;
- Gather.TotalPrice_Rc := Gather.TotalPrice_Rc + ACalc.Gather.TotalPrice_Rc;
- end;
- procedure TMeasureCalc.CalcTotalPrice_Rc(APrice: Double);
- begin
- Deal.TotalPrice_Rc := Deal.Quantity * APrice;
- Qc.TotalPrice_Rc := Qc.Quantity * APrice;
- Gather.TotalPrice_Rc := Gather.Quantity * APrice;
- end;
- constructor TMeasureCalc.Create;
- begin
- FDeal := TReCalcData.Create;
- FQc := TReCalcData.Create;
- FGather := TReCalcData.Create;
- end;
- destructor TMeasureCalc.Destroy;
- begin
- FDeal.Free;
- FQc.Free;
- FGather.Free;
- inherited;
- end;
- procedure TMeasureCalc.InitCalcData;
- begin
- Deal.TotalPrice := 0;
- Qc.TotalPrice := 0;
- Gather.TotalPrice := 0;
- InitTotalPrice_Rc;
- end;
- procedure TMeasureCalc.InitTotalPrice_Rc;
- begin
- Deal.TotalPrice_Rc := 0;
- Qc.TotalPrice_Rc := 0;
- Gather.TotalPrice_Rc := 0;
- end;
- procedure TMeasureCalc.MinusCalcData(ACalc: TMeasureCalc);
- begin
- Deal.TotalPrice := Deal.TotalPrice - ACalc.Deal.TotalPrice;
- Qc.TotalPrice := Qc.TotalPrice - ACalc.Qc.TotalPrice;
- Gather.TotalPrice := Gather.TotalPrice - ACalc.Gather.TotalPrice;
- Deal.TotalPrice_Rc := Deal.TotalPrice_Rc - ACalc.Deal.TotalPrice_Rc;
- Qc.TotalPrice_Rc := Qc.TotalPrice_Rc - ACalc.Qc.TotalPrice_Rc;
- Gather.TotalPrice_Rc := Gather.TotalPrice_Rc - ACalc.Gather.TotalPrice_Rc;
- end;
- procedure TMeasureCalc.UpdateTotalPrice_Rc(ACalc: TMeasureCalc);
- begin
- Deal.TotalPrice_Rc := Deal.TotalPrice_Rc + ACalc.Deal.TotalPrice_Rc;
- Qc.TotalPrice_Rc := Qc.TotalPrice_Rc + ACalc.Qc.TotalPrice_Rc;
- Gather.TotalPrice_Rc := Gather.TotalPrice_Rc + ACalc.Gather.TotalPrice_Rc;
- end;
- { TProjCalc }
- procedure TProjCalc.AddCalcData(AProjCalc: TProjCalc);
- begin
- Compile.AddCalcData(AProjCalc.Compile);
- AddMeasure.AddCalcData(AProjCalc.AddMeasure);
- CurMeasure.AddCalcData(AProjCalc.CurMeasure);
- PreMeasure.AddCalcData(AProjCalc.PreMeasure);
- EndMeasure.AddCalcData(AProjCalc.EndMeasure);
- ZoneMeasure.AddCalcData(AProjCalc.ZoneMeasure);
- end;
- procedure TProjCalc.CalcTotalPrice_Rc(APrice: Double);
- begin
- Compile.CalcTotalPrice_Rc(APrice);
- AddMeasure.CalcTotalPrice_Rc(APrice);
- CurMeasure.CalcTotalPrice_Rc(APrice);
- PreMeasure.CalcTotalPrice_Rc(APrice);
- EndMeasure.CalcTotalPrice_Rc(APrice);
- ZoneMeasure.CalcTotalPrice_Rc(APrice);
- end;
- constructor TProjCalc.Create;
- begin
- FCompile := TCompileCalc.Create;
- FAddMeasure := TMeasureCalc.Create;
- FCurMeasure := TMeasureCalc.Create;
- FPreMeasure := TMeasureCalc.Create;
- FEndMeasure := TMeasureCalc.Create;
- FZoneMeasure := TMeasureCalc.Create;
- FDgnQuantity1 := 0;
- FDgnQuantity2 := 0;
- FDealDgnQuantity1 := 0;
- FDealDgnQuantity2 := 0;
- FCDgnQuantity1 := 0;
- FCDgnQuantity2 := 0;
- end;
- destructor TProjCalc.Destroy;
- begin
- FCompile.Free;
- FAddMeasure.Free;
- FCurMeasure.Free;
- FPreMeasure.Free;
- FEndMeasure.Free;
- FZoneMeasure.Free;
- inherited;
- end;
- procedure TProjCalc.InitCalcData;
- begin
- Compile.InitCalcData;
- AddMeasure.InitCalcData;
- CurMeasure.InitCalcData;
- PreMeasure.InitCalcData;
- EndMeasure.InitCalcData;
- ZoneMeasure.InitCalcData;
- end;
- procedure TProjCalc.InitTotalPrice_Rc;
- begin
- Compile.InitTotalPrice_Rc;
- AddMeasure.InitTotalPrice_Rc;
- CurMeasure.InitTotalPrice_Rc;
- PreMeasure.InitTotalPrice_Rc;
- EndMeasure.InitTotalPrice_Rc;
- ZoneMeasure.InitTotalPrice_Rc;
- end;
- procedure TProjCalc.MinusCalcData(AProjCalc: TProjCalc);
- begin
- Compile.MinusCalcData(AProjCalc.Compile);
- AddMeasure.MinusCalcData(AProjCalc.AddMeasure);
- CurMeasure.MinusCalcData(AProjCalc.CurMeasure);
- PreMeasure.MinusCalcData(AProjCalc.PreMeasure);
- EndMeasure.MinusCalcData(AProjCalc.EndMeasure);
- ZoneMeasure.MinusCalcData(AProjCalc.ZoneMeasure);
- end;
- procedure TProjCalc.UpdateTotalPrice_Rc(AProjCalc: TProjCalc);
- begin
- Compile.UpdateTotalPrice_Rc(AProjCalc.Compile);
- AddMeasure.UpdateTotalPrice_Rc(AProjCalc.AddMeasure);
- CurMeasure.UpdateTotalPrice_Rc(AProjCalc.CurMeasure);
- PreMeasure.UpdateTotalPrice_Rc(AProjCalc.PreMeasure);
- EndMeasure.UpdateTotalPrice_Rc(AProjCalc.EndMeasure);
- ZoneMeasure.UpdateTotalPrice_Rc(AProjCalc.ZoneMeasure);
- end;
- { TCalcData }
- procedure TCalcData.AddQuantity(AValue: Double);
- begin
- FQuantity := FQuantity + AValue;
- end;
- procedure TCalcData.AddTotalPrice(AValue: Double);
- begin
- FTotalPrice := FTotalPrice + AValue;
- end;
- constructor TCalcData.Create;
- begin
- FQuantity := 0;
- FTotalPrice := 0;
- end;
- { TReCalcData }
- constructor TReCalcData.Create;
- begin
- inherited;
- FTotalPrice_Rc := 0;
- end;
- end.
|