| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 | 
							- unit stgGatherControl;
 
- interface
 
- uses
 
-   Classes, stgGatherCacheData, stgGatherDm, stgResultFrm,
 
-   stgGather;
 
- type
 
-   TstgGatherControl = class
 
-   private
 
-     FProjects: TList;
 
-     FSumBaseFile: string;
 
-     FGatherCacheData: tstgGatherCacheData;
 
-     FGatherData: TstgGatherData;
 
-     FResultForm: TstgResultForm;
 
-     FHintPosition: Integer;
 
-     procedure LoadHint(const ATenderName: string);
 
-     procedure LoadSumBaseFile;
 
-     procedure GatherSubTenderFiles;
 
-     procedure CheckErrorData;
 
-     procedure SaveGatherResult;
 
-     procedure ShowGatherResult;
 
-   public
 
-     constructor Create;
 
-     destructor Destroy; override;
 
-     procedure Gather;
 
-     property Projects: TList read FProjects;
 
-     property SumBaseFile: string read FSumBaseFile write FSumBaseFile;
 
-   end;
 
- implementation
 
- uses
 
-   ProgressHintFrm, SysUtils;
 
- { TstgGatherControl }
 
- procedure TstgGatherControl.CheckErrorData;
 
- var
 
-   vChecker: TstgErrorChecker;
 
- begin
 
-   vChecker := TstgErrorChecker.Create;
 
-   try
 
-     vChecker.Check(FGatherCacheData);
 
-   finally
 
-     vChecker.Free;
 
-   end;
 
- end;
 
- constructor TstgGatherControl.Create;
 
- begin
 
-   FProjects := TList.Create;
 
-   FGatherCacheData := TstgGatherCacheData.Create;
 
-   FGatherData := TstgGatherData.Create(nil);
 
- end;
 
- destructor TstgGatherControl.Destroy;
 
- begin
 
-   FGatherData.Free;
 
-   FGatherCacheData.Free;
 
-   FProjects.Free;
 
-   inherited;
 
- end;
 
- procedure TstgGatherControl.Gather;
 
- begin
 
-   FHintPosition := 0;
 
-   ShowProgressHint('正在导入总包基准文件数据...', FProjects.Count + 2);
 
-   LoadSumBaseFile;
 
-   GatherSubTenderFiles;
 
-   UpdateProgressHint('正在检查汇总结果...');
 
-   UpdateProgressPosition(FProjects.Count + 1);
 
-   CheckErrorData;
 
-   UpdateProgressPosition(FProjects.Count + 2);
 
-   SaveGatherResult;
 
-   CloseProgressHint;
 
-   ShowGatherResult;
 
- end;
 
- procedure TstgGatherControl.GatherSubTenderFiles;
 
- var
 
-   vGather: TstgSubTenderFileGather;
 
- begin
 
-   vGather := TstgSubTenderFileGather.Create;
 
-   try
 
-     vGather.LoadHint := LoadHint;
 
-     vGather.GatherTo(FGatherCacheData, FProjects);
 
-   finally
 
-     vGather.Free;
 
-   end;
 
- end;
 
- procedure TstgGatherControl.LoadHint(const ATenderName: string);
 
- begin
 
-   Inc(FHintPosition);
 
-   UpdateProgressHint(Format('正在汇总分包标段"%s"...', [ATenderName]));
 
-   UpdateProgressPosition(FHintPosition);
 
- end;
 
- procedure TstgGatherControl.LoadSumBaseFile;
 
- var
 
-   vLoader: TstgSumBaseFileLoader;
 
- begin
 
-   vLoader := TstgSumBaseFileLoader.Create(FGatherCacheData.GatherTree, FSumBaseFile);
 
-   try
 
-     vLoader.LoadData;
 
-   finally
 
-     vLoader.Free;
 
-   end;
 
- end;
 
- procedure TstgGatherControl.SaveGatherResult;
 
- begin
 
-   FGatherData.LoadGatherData(FGatherCacheData);
 
- end;
 
- procedure TstgGatherControl.ShowGatherResult; 
 
- var
 
-   Form: TstgResultForm;
 
- begin
 
-   Form := TstgResultForm.Create(nil);
 
-   try
 
-     Form.SetGatherData(FGatherData);
 
-     Form.ShowModal;
 
-   finally
 
-     Form.Free;
 
-   end;
 
- end;
 
- end.
 
 
  |