stgGatherControl.pas 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. unit stgGatherControl;
  2. interface
  3. uses
  4. Classes, stgGatherCacheData, stgGatherDm, stgResultFrm,
  5. stgGather;
  6. type
  7. TstgGatherControl = class
  8. private
  9. FProjects: TList;
  10. FSumBaseFile: string;
  11. FGatherCacheData: tstgGatherCacheData;
  12. FGatherData: TstgGatherData;
  13. FResultForm: TstgResultForm;
  14. procedure LoadSumBaseFile;
  15. procedure GatherSubTenderFiles;
  16. procedure CheckErrorData;
  17. procedure SaveGatherResult;
  18. public
  19. constructor Create;
  20. destructor Destroy; override;
  21. procedure Gather;
  22. property Projects: TList read FProjects;
  23. property SumBaseFile: string read FSumBaseFile write FSumBaseFile;
  24. end;
  25. implementation
  26. { TstgGatherControl }
  27. procedure TstgGatherControl.CheckErrorData;
  28. var
  29. vChecker: TstgErrorChecker;
  30. begin
  31. vChecker := TstgErrorChecker.Create;
  32. try
  33. vChecker.Check(FGatherCacheData);
  34. finally
  35. vChecker.Free;
  36. end;
  37. end;
  38. constructor TstgGatherControl.Create;
  39. begin
  40. FProjects := TList.Create;
  41. FGatherCacheData := TstgGatherCacheData.Create;
  42. FGatherData := TstgGatherData.Create(nil);
  43. end;
  44. destructor TstgGatherControl.Destroy;
  45. begin
  46. FGatherData.Free;
  47. FGatherCacheData.Free;
  48. FProjects.Free;
  49. inherited;
  50. end;
  51. procedure TstgGatherControl.Gather;
  52. begin
  53. LoadSumBaseFile;
  54. GatherSubTenderFiles;
  55. CheckErrorData;
  56. SaveGatherResult;
  57. end;
  58. procedure TstgGatherControl.GatherSubTenderFiles;
  59. var
  60. vGather: TstgSubTenderFileGather;
  61. begin
  62. vGather := TstgSubTenderFileGather.Create;
  63. try
  64. vGather.GatherTo(FGatherCacheData, FProjects);
  65. finally
  66. vGather.Free;
  67. end;
  68. end;
  69. procedure TstgGatherControl.LoadSumBaseFile;
  70. var
  71. vLoader: TstgSumBaseFileLoader;
  72. begin
  73. vLoader := TstgSumBaseFileLoader.Create(FGatherCacheData.GatherTree, FSumBaseFile);
  74. try
  75. vLoader.LoadData;
  76. finally
  77. vLoader.Free;
  78. end;
  79. end;
  80. procedure TstgGatherControl.SaveGatherResult;
  81. var
  82. Form: TstgResultForm;
  83. begin
  84. FGatherData.LoadGatherData(FGatherCacheData);
  85. Form := TstgResultForm.Create(nil);
  86. try
  87. Form.SetGatherData(FGatherData);
  88. Form.ShowModal;
  89. finally
  90. Form.Free;
  91. end;
  92. end;
  93. end.