# 报表系统框架

# 目标

网站除了前台(供用户使用),后台供基础数据设置以及数据的监控,还有报表系统提供数据统计,一般也会将报表系统整合在后台里。 在本框架中对报表系统在实际使用中开发流程和数据进行分析后,提供了一套快速开发报表系统的工具。

# 报表功能

包括报表分页列表、按时间查询、导出功能。

# 前提条件

只需要写好报表的SQL语句

# SQL格式规则要求

  • 在报表的SQL语句外面包上一层,形式如下: select a '列1', b as '列2', ... from ( 报表SQL ) result

  • 报表SQL外面这一层SQL有以下规则

    • select 表列名 '报表显示列名',表列名 as '报表显示列名', ... from ( 报表SQL ) result

# 报表代码生成

  • 报表代码生成有两种方式:

    • 默认方式是将报表的SQL作为配置放置在misc/sql/report.php文件里。
    • 默认方式还会生成导航代码(报表后台的左侧导航和上方导航)
    • 自定义方式,会生成一套从前台到后台的属于该报表的代码可独立维护
    • 自定义方式,代码包括导航页面、列表页面、js文件、控制器、服务、api接口代码。
  • 用途

    • 默认方式生成的代码一般报表简单、易于维护,开发前期方便使用。
    • 自定义方式,报表复杂,需要定制,更强的伸缩,功能复杂,后期需要自己维护,开发后期需要使用。

# 报表代码生成揭秘

# 代码生成工具

  • 报表可通过访问框架本地首页地址: http://127.0.0.1/betterlife/
  • 下方应有以下文字链接: 工程重用 | 数据库说明书 | 代码生成器 | 报表生成器 | 工具箱 | 帮助
  • 点击其中的文字链接: 报表生成器
  • 访问路径: tools/tools/autocode/report_onekey.php

# 核心代码

  • 模版文件: core/autocode/view/template/report.php
  • 核心代码生成文件: core/autocode/AutoCodeCreateReport.php

# 报表代码生成后结构说明

# 默认方式生成

  • SQL配置文件: misc/sql/report.php
  • 顶部导航文件: home/report/view/default/layout/normal/navbar.tpl
  • 左侧导航文件: home/report/view/default/layout/normal/sidebar.tpl

# 自定义方式

  • 顶部导航文件: home/report/view/default/layout/normal/navbar.tpl
  • 左侧导航文件: home/report/view/default/layout/normal/sidebar.tpl
  • api接口文件: api/web/report/report[报表英文名].php
  • 控制器文件 : home/report/action/Action_Report[报表英文名].php
  • 服务文件 : home/report/src/services/Service[报表英文名].php
  • 服务管理器文件: home/report/src/services/ManagerReportService.php
  • 显示列表文件 : home/report/view/default/core/report[报表英文名]/lists.tpl
  • Js文件 : home/report/view/default/js/core/report[报表英文名].js