123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- unit stgGatherControlGcl;
- interface
- uses
- Classes, stgGatherGclCacheData, stgGatherGclDm, stgGclResultFrm,
- stgGclGather;
- type
- TstgGatherControlGcl = class
- private
- FProjects: TList;
- FGatherGclCacheData: TstgGatherGclCacheData;
- FGatherGclData: TstgGatherGclData;
- FHintPosition: Integer;
- procedure LoadHint(const ATenderName: string);
- procedure GatherSubTenderFiles;
- procedure SaveGatherResult;
- procedure ShowGatherResult;
- public
- constructor Create;
- destructor Destroy; override;
- procedure Gather;
- property Projects: TList read FProjects;
- end;
- implementation
- uses
- ProgressHintFrm, SysUtils;
- { TstgGatherControl }
- constructor TstgGatherControlGcl.Create;
- begin
- FProjects := TList.Create;
- FGatherGclCacheData := TstgGatherGclCacheData.Create;
- FGatherGclData := TstgGatherGclData.Create(nil);
- end;
- destructor TstgGatherControlGcl.Destroy;
- begin
- FGatherGclData.Free;
- FGatherGclCacheData.Free;
- FProjects.Free;
- inherited;
- end;
- procedure TstgGatherControlGcl.Gather;
- begin
- FHintPosition := 0;
- ShowProgressHint('正在准备数据...', FProjects.Count + 1);
- GatherSubTenderFiles;
- UpdateProgressHint('正在检查汇总结果...');
- UpdateProgressPosition(FProjects.Count + 1);
- SaveGatherResult;
- CloseProgressHint;
- ShowGatherResult;
- end;
- procedure TstgGatherControlGcl.GatherSubTenderFiles;
- var
- vGather: TstgSubTenderFileGatherGcl;
- begin
- vGather := TstgSubTenderFileGatherGcl.Create;
- try
- vGather.LoadHint := LoadHint;
- vGather.GatherTo(FGatherGclCacheData, FProjects);
- finally
- vGather.Free;
- end;
- end;
- procedure TstgGatherControlGcl.LoadHint(const ATenderName: string);
- begin
- Inc(FHintPosition);
- UpdateProgressHint(Format('正在汇总分包标段"%s"...', [ATenderName]));
- UpdateProgressPosition(FHintPosition);
- end;
- procedure TstgGatherControlGcl.SaveGatherResult;
- begin
- FGatherGclData.LoadGatherData(FGatherGclCacheData);
- end;
- procedure TstgGatherControlGcl.ShowGatherResult;
- var
- Form: TstgGclResultForm;
- begin
- Form := TstgGclResultForm.Create(nil);
- try
- Form.SetGatherData(FGatherGclData);
- Form.ShowModal;
- finally
- Form.Free;
- end;
- end;
- end.
|