Browse Source

计算支付报表下载管理:
1、线上报表分类和本地读文件分类不一致时,取线上分类。
2、报表分类筛选项,不按线上报表返回顺序, 按分类名称排序。
3、定制报表名称被截断问题。
4、云版进行登录验证时,应过滤账号“前”空格。
5、关闭报表管理窗口,重新读取报表树结构,无需重启软件。

Chenshilong 7 years ago
parent
commit
c5d5e504e6

+ 5 - 4
DataModules/ReportManagerDM.dfm

@@ -2,8 +2,8 @@ object Reports: TReports
   OldCreateOrder = False
   OnCreate = DataModuleCreate
   OnDestroy = DataModuleDestroy
-  Left = 765
-  Top = 357
+  Left = 455
+  Top = 350
   Height = 283
   Width = 280
   object cdsOnline: TClientDataSet
@@ -176,7 +176,7 @@ object Reports: TReports
       item
         Name = 'Name'
         DataType = ftString
-        Size = 20
+        Size = 100
       end
       item
         Name = 'LocalVer'
@@ -206,7 +206,7 @@ object Reports: TReports
     Data = {
       CC0000009619E0BD010000001800000007000000000003000000CC0002494404
       000100000000000843617465676F727901004900000001000557494454480200
-      02006400044E616D650100490000000100055749445448020002001400084C6F
+      02006400044E616D650100490000000100055749445448020002006400084C6F
       63616C5665720100490000000100055749445448020002001400055374617465
       0100490000000100055749445448020002000A0007486973746F727901004900
       00000100055749445448020002000A00094E6577657374566572010049000000
@@ -220,6 +220,7 @@ object Reports: TReports
     end
     object cdsCustomName: TStringField
       FieldName = 'Name'
+      Size = 100
     end
     object cdsCustomLocalVer: TStringField
       FieldName = 'LocalVer'

+ 9 - 2
DataModules/ReportManagerDM.pas

@@ -116,6 +116,9 @@ type
     { Private declarations }
     FList: TObjectList;
     FPath: string;
+    // 线上报表分类列表。线下通过文件读出来的跟线上的不一致,导致分类不统一。现以线上的为主。
+    FOnlineCategories: TStringList;
+
     // AChangeType: 1增加 2修改
     procedure ChangeRec(ACDS: TClientDataSet; AReport: TReport; AChangeType: TChangeType);
   public
@@ -201,6 +204,7 @@ procedure TReports.DataModuleCreate(Sender: TObject);
 begin
   FPath := ExtractFilePath(ParamStr(0)) + 'ReportTemplates\';
   FList := TObjectList.Create;
+  FOnlineCategories := TStringList.Create;
   
   Load;
 end;
@@ -208,6 +212,7 @@ end;
 procedure TReports.DataModuleDestroy(Sender: TObject);
 begin
   FList.Free;
+  FOnlineCategories.Free;
 end;
 
 procedure TReports.Load;
@@ -317,6 +322,7 @@ begin
     try
       for i := Low(FOnlineAry) to High(FOnlineAry) do
       begin
+        FOnlineCategories.Add(FOnlineAry[i, 5]);
         iID := StrToInt(FOnlineAry[i, 0]);
         vReport := FindReprot(iID);
 
@@ -351,9 +357,10 @@ var sCgy: string;
 begin
   AList.Clear;
   AList.Add('按类别筛选');
-  for i := 0 to FList.Count - 1 do
+  FOnlineCategories.Sort;
+  for i := 0 to FOnlineCategories.Count - 1 do
   begin
-    sCgy := TReport(FList[i]).Category;
+    sCgy := FOnlineCategories[i];
     if AList.IndexOf(sCgy) < 0 then
       AList.Add(sCgy);
   end;

+ 8 - 17
Dprs/CSL/Measure_Cloud.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=3
-Build=1135
+Build=1139
 Debug=0
 PreRelease=0
 Special=0
@@ -126,28 +126,19 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化云版
-FileVersion=3.1.3.1135
+FileVersion=3.1.3.1139
 InternalName=
 LegalCopyright=
 LegalTrademarks=
 OriginalFilename=
 ProductName=
 ProductVersion=1.0.0.0
-[HistoryLists\hlConditionals]
-Count=5
-Item0=_mCloud;_mEncrypt1;_Test;_mLoginNoPW1
-Item1=_mCloud;_mEncrypt1;_Test;_mLoginNoPW
-Item2=_mCloud1;_mEncrypt1;_Test;_mLoginNoPW1
-Item3=_mCloud;_mEncrypt1;_Test
-Item4=_mCloud;_mEncrypt;_Test
 [HistoryLists\hlUnitAliases]
 Count=1
 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-[HistoryLists\hlUnitOutputDirectory]
-Count=2
-Item0=C:\DelphiTemp
-Item1=D:\Work\DelphiTemp
-[HistoryLists\hlOutputDirectorry]
-Count=2
-Item0=C:\Program Files (x86)\纵横软件\计量支付 (单机版+云版) 1
-Item1=C:\Program Files (x86)\纵横软件\纵横结算决算计量一体化软件(云版)
+[HistoryLists\hlSearchPath]
+Count=1
+Item0=E:\IFP3
+[HistoryLists\hlBPLOutput]
+Count=1
+Item0=E:\SmartCost\Components\LIB

+ 4 - 1
Dprs/CSL/Measure_Cloud.dpr

@@ -228,7 +228,10 @@ uses
   rmWeiWuZjjlGatherDm in '..\..\DataModules\ReportMemoryDm\rmWeiWuZjjlGatherDm.pas' {rmWeiWuZjjlGatherData: TDataModule},
   ReportHistoryFrm in '..\..\Forms\ReportHistoryFrm.pas' {ReportHistoryForm},
   ReportManagerFrm in '..\..\Forms\ReportManagerFrm.pas' {ReportManagerForm},
-  ReportManagerDM in '..\..\DataModules\ReportManagerDM.pas' {Reports: TDataModule};
+  ReportManagerDM in '..\..\DataModules\ReportManagerDM.pas' {Reports: TDataModule},
+  ProjGatherDealPay in '..\..\ProjGather\ProjGatherDealPay.pas',
+  ProjGatherProperties in '..\..\ProjGather\ProjGatherProperties.pas',
+  rpgDealPayDm in '..\..\Report\ProjGather\rpgDealPayDm.pas' {rgpDealPayData: TDataModule};
 
 {$R *.res}
 

BIN
Dprs/CSL/Measure_Cloud.res


+ 1 - 1
Forms/LoginFrm.pas

@@ -191,7 +191,7 @@ begin
     Exit;
   end;
 
-  case PHPWeb.Login(cbUser.Text, edtPW.Text, 1, sInfo, sURL) of
+  case PHPWeb.Login(Trim(cbUser.Text), edtPW.Text, 1, sInfo, sURL) of
     ltCon:
     begin
       ModalResult := mrOk;

+ 4 - 4
Forms/ReportManagerFrm.dfm

@@ -1,6 +1,6 @@
 object ReportManagerForm: TReportManagerForm
-  Left = 996
-  Top = 209
+  Left = 1249
+  Top = 222
   BorderStyle = bsDialog
   Caption = #25253#34920#27169#26495
   ClientHeight = 535
@@ -22,7 +22,7 @@ object ReportManagerForm: TReportManagerForm
     Top = 0
     Width = 841
     Height = 535
-    ActivePage = tsOnline
+    ActivePage = tsCustom
     Align = alClient
     Font.Charset = DEFAULT_CHARSET
     Font.Color = clWindowText
@@ -109,7 +109,7 @@ object ReportManagerForm: TReportManagerForm
           Font.Height = -13
           Font.Name = #24494#36719#38597#40657
           Font.Style = []
-          ItemHeight = 19
+          ItemHeight = 0
           ParentFont = False
           TabOrder = 0
           TabStop = False

+ 12 - 1
Forms/ReportManagerFrm.pas

@@ -54,19 +54,22 @@ type
   private
     { Private declarations }
     FReports: TObject;
+    FReportsForm: TObject;
     function CurValue(AGridDBA: TZjGridDBA; FieldName: string): Variant;
     function Col(AGridDBA: TZjGridDBA; FieldName: string): Integer;
     procedure GridGetFont(Sender: TObject; ACoord: TPoint; AFont: TFont; AGrid: TZjGrid; AGridDBA: TZjGridDBA);
     procedure GridMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer; AGrid: TZjGrid; AGridDBA: TZjGridDBA);
     procedure GridShowHint(var HintStr: String; var CanShow: Boolean; var HintInfo: THintInfo; const ACoord: TPoint; AGrid: TZjGrid; AGridDBA: TZjGridDBA);
+    procedure SetReportsForm(const Value: TObject);
   public
     { Public declarations }
+    property ReportsForm: TObject read FReportsForm write SetReportsForm;
   end;
 
 
 implementation
 
-uses ReportManagerDM, ReportHistoryFrm;
+uses ReportManagerDM, ReportHistoryFrm, ReportsFrm;
 
 {$R *.dfm}
 
@@ -82,6 +85,7 @@ end;
 
 procedure TReportManagerForm.FormCreate(Sender: TObject);
 begin
+  FReportsForm := nil;
   FReports := TReports.Create(nil);
   zaLocal.DataSet := TReports(FReports).cdsLocal;
   zaLocal.Grid := zgLoacl;
@@ -99,6 +103,8 @@ end;
 procedure TReportManagerForm.FormDestroy(Sender: TObject);
 begin
   FReports.Free;
+  if (FReportsForm <> nil) then
+    TReportsForm(FReportsForm).RefreshReportTemplets;
 end;
 
 procedure TReportManagerForm.GridGetFont(Sender: TObject; ACoord: TPoint;
@@ -262,4 +268,9 @@ begin
   GridShowHint(HintStr, CanShow, HintInfo, ACoord, zgCustom, zaCustom);
 end;
 
+procedure TReportManagerForm.SetReportsForm(const Value: TObject);
+begin
+  FReportsForm := Value;
+end;
+
 end.

+ 15 - 6
Forms/ReportsFrm.pas

@@ -118,7 +118,7 @@ type
     function GetClassNode(ANode: TTemplateNode): TExTreeNode;
     function GetSubClassNode(AClassNode: TExTreeNode; ANode: TTemplateNode): TExTreeNode;
     procedure AddReportTemplate(ANode: TTemplateNode);
-    procedure LoadReportTemplets;
+	procedure LoadReportTemplets;
 
     procedure SaveAuditOpinion(ATemplate: TTemplateNode);
     procedure SaveReportInteractData(ATemplate: TTemplateNode);
@@ -152,7 +152,7 @@ type
     function GetIsExcel2010: Boolean;
   public
     destructor Destroy; override;
-
+    procedure RefreshReportTemplets;
     procedure InitFormView;
     procedure InitReportSettings(APrintCom: TPrintComXML; ATemplate: TTemplateNode = nil);
 
@@ -1588,16 +1588,25 @@ end;
 
 //  启用报表模板管理器,报表导入功能取消。
 procedure TReportsForm.btnRMgrClick(Sender: TObject);
-var vRDForm: TReportManagerForm;
+var vRMForm: TReportManagerForm;
 begin
   Screen.Cursor := crHourGlass;
-  vRDForm := TReportManagerForm.Create(nil);
+  vRMForm := TReportManagerForm.Create(nil);
+  vRMForm.ReportsForm := Self;
   try
-    vRDForm.ShowModal;
+    vRMForm.ShowModal;
   finally
-    vRDForm.Free;
+    vRMForm.Free;
     Screen.Cursor := crDefault;
   end;
 end;
 
+procedure TReportsForm.RefreshReportTemplets;
+begin
+  ReportTemplateManager.RefreshTemplates;
+  LoadReportTemplets;
+  LoadTempletAndDisplay;
+end;
+
+
 end.

+ 4 - 4
Frames/ProjectFme.pas

@@ -559,7 +559,7 @@ procedure TProjectFrame.dxsbViewControlItemClick(Sender: TObject;
   *)
 
   procedure DisplayReports;
-  var vRDForm: TReportManagerForm;
+  var vRMForm: TReportManagerForm;
     sPath: string;
   begin
     if G_IsCloud then
@@ -568,11 +568,11 @@ procedure TProjectFrame.dxsbViewControlItemClick(Sender: TObject;
       if FileCount(sPath, '.srt') = 0 then
       begin
         Screen.Cursor := crHourGlass;
-        vRDForm := TReportManagerForm.Create(nil);
+        vRMForm := TReportManagerForm.Create(nil);
         try
-          vRDForm.ShowModal;
+          vRMForm.ShowModal;
         finally
-          vRDForm.Free;
+          vRMForm.Free;
           Screen.Cursor := crDefault;
         end;
       end;

+ 6 - 1
Units/ReportManager.pas

@@ -90,7 +90,7 @@ type
   public
     constructor Create;
     destructor Destroy; override;
-
+    procedure RefreshTemplates;
     procedure LoadReportTemplates(const sTemplateDir: String);
 
     function AddReportTemplate(const AFileName: string): TTemplateNode;
@@ -460,6 +460,11 @@ begin
   end;
 end;
 
+procedure TTemplateManager.RefreshTemplates;
+begin
+  LoadReportTemplates(GetAppFilePath + 'ReportTemplates');
+end;
+
 { TReportConfig }
 
 constructor TReportConfig.Create;