README.md 11 KB

Service-Report 模块技术文档

模块概述

Service-Report 是微社区系统中的报表服务模块,主要负责各类业务数据的统计分析、报表生成和数据可视化展示。该模块采用命令驱动架构设计,通过统一的命令接口提供丰富的报表查询和分析功能。

核心接口统计

  • 命令接口总数:86个(分布在16个业务子目录中)
  • API接口层:12个RESTful接口
  • 数据访问层:29个DAO接口
  • 统计服务层:7个统计服务接口

技术架构

核心目录结构

service-report/
├── src/main/java/com/java110/report/
│   ├── api/              # API接口层 - 提供RESTful接口
│   ├── bmo/              # 业务模型对象层 - 业务逻辑处理
│   ├── cmd/              # 命令处理层 - 核心业务接口(16个业务子目录)
│   ├── dao/              # 数据访问层 - 数据库操作接口
│   ├── smo/              # 服务管理对象层 - 服务实现
│   ├── statistics/       # 统计服务层 - 数据统计逻辑
│   └── ReportServiceApplicationStart.java  # 应用启动类

架构特点

  • 命令驱动设计:所有业务功能通过cmd命令接口提供
  • 分层架构:清晰的API-CMD-SMO-DAO分层设计
  • 统计服务独立:专门的statistics层处理复杂统计逻辑
  • 模块化设计:按业务领域划分16个独立的命令子目录

核心命令接口说明

1. 管理员报表接口 (admin/)

  • GetCommunityFeeSummaryCmd (admin.getCommunityFeeSummary)

    • 功能:社区费用汇总查询
    • 参数:startDate, endDate, communityId等
    • 输出:历史欠费、当月欠费、应收费用、实收费用等9个统计指标
  • GetCommunityOperationalAnalysisCmd (admin.getCommunityOperationalAnalysis)

    • 功能:社区运营分析报表
  • GetParkingFeeSummaryCmd (admin.getParkingFeeSummary)

    • 功能:停车费用汇总查询
  • GetPropertyFeeSummaryCmd (admin.getPropertyFeeSummary)

    • 功能:物业费用汇总查询
  • QueryAdminCountCmd (admin.queryAdminCount)

    • 功能:管理员数据统计查询
  • QueryAppServiceDataCmd (admin.queryAppServiceData)

    • 功能:应用服务数据查询
  • QueryCommunityFeeCmd (admin.queryCommunityFee)

    • 功能:社区费用查询
  • QueryCommunityRepairCmd (admin.queryCommunityRepair)

    • 功能:社区报修查询
  • QueryDevCountCmd (admin.queryDevCount)

    • 功能:设备数量统计查询

2. 车辆管理报表 (car/)

  • ListCarStructureCmd (car.listCarStructure)

    • 功能:车辆结构统计
  • QueryHisOwnerCarCmd (car.queryHisOwnerCar)

    • 功能:历史业主车辆查询

3. 社区数据报表 (community/)

  • QueryCommunityFeeTypeTreeCmd (community.queryCommunityFeeTypeTree)

    • 功能:费用类型树形结构查询
  • QueryCommunityFloorTreeCmd (community.queryCommunityFloorTree)

    • 功能:楼层树形结构查询
  • QueryCommunityParkingTreeCmd (community.queryCommunityParkingTree)

    • 功能:停车位树形结构查询

4. 数据报表中心 (dataReport/)

  • QueryDataReportFeeStatisticsCmd (dataReport.queryDataReportFeeStatistics)

    • 功能:费用统计数据报表
  • QueryFeeDataReportCmd (dataReport.queryFeeDataReport)

    • 功能:费用数据报表查询
  • QueryInoutDataReportCmd (dataReport.queryInoutDataReport)

    • 功能:出入数据报表查询
  • QueryMonthOweDetailCmd (dataReport.queryMonthOweDetail)

    • 功能:月度欠费明细查询
  • QueryMonthReceivedDetailCmd (dataReport.queryMonthReceivedDetail)

    • 功能:月度实收明细查询
  • QueryOrderDataReportCmd (dataReport.queryOrderDataReport)

    • 功能:订单数据报表查询
  • QueryOthersDataReportCmd (dataReport.queryOthersDataReport)

    • 功能:其他数据报表查询
  • QueryOweDetailStatisticsCmd (dataReport.queryOweDetailStatistics)

    • 功能:欠费明细统计查询
  • QueryOweStatisticsCmd (dataReport.queryOweStatistics)

    • 功能:欠费统计查询
  • QueryReceivedDetailStatisticsCmd (dataReport.queryReceivedDetailStatistics)

    • 功能:实收明细统计查询
  • QueryReceivedStatisticsCmd (dataReport.queryReceivedStatistics)

    • 功能:实收统计查询
  • QueryReceivedWayStatisticsCmd (dataReport.queryReceivedWayStatistics)

    • 功能:收款方式统计查询

5. 费用管理报表 (fee/)

  • QueryAdminHisFeeCmd (fee.queryAdminHisFee)

    • 功能:管理员历史费用查询
  • QueryAdminOweFeeDetailCmd (fee.queryAdminOweFeeDetail)

    • 功能:管理员欠费明细查询
  • QueryHisFeeConfigCmd (fee.queryHisFeeConfig)

    • 功能:历史费用配置查询

6. 业主管理报表 (owner/)

  • QueryAdminHisOwnerCmd (owner.queryAdminHisOwner)

    • 功能:管理员历史业主查询
  • QueryOwnerDiningCmd (owner.queryOwnerDining)

    • 功能:业主餐饮数据查询
  • QueryOwnerReserveGoodsCmd (owner.queryOwnerReserveGoods)

    • 功能:业主预约商品查询

7. 自定义报表系统 (reportCustom/)

  • SaveReportCustomCmd (reportCustom.saveReportCustom)

    • 功能:保存自定义报表配置
  • ListReportCustomCmd (reportCustom.listReportCustom)

    • 功能:查询自定义报表列表
  • UpdateReportCustomCmd (reportCustom.updateReportCustom)

    • 功能:更新自定义报表配置

8. 自定义报表组件 (reportCustomComponent/)

  • ListReportCustomComponentDataCmd (reportCustomComponent.listReportCustomComponentData)

    • 功能:查询自定义报表组件数据
  • SaveReportCustomComponentCmd (reportCustomComponent.saveReportCustomComponent)

    • 功能:保存自定义报表组件

9. 报表组件条件 (reportCustomComponentCondition/)

  • SaveReportCustomComponentConditionCmd (reportCustomComponentCondition.saveReportCustomComponentCondition)

    • 功能:保存报表组件查询条件
  • ListReportCustomComponentConditionCmd (reportCustomComponentCondition.listReportCustomComponentCondition)

    • 功能:查询报表组件条件列表

10. 报表组件页脚 (reportCustomComponentFooter/)

  • SaveReportCustomComponentFooterCmd (reportCustomComponentFooter.saveReportCustomComponentFooter)
    • 功能:保存报表组件页脚配置

11. 报表组件关联 (reportCustomComponentRel/)

  • SaveReportCustomComponentRelCmd (reportCustomComponentRel.saveReportCustomComponentRel)
    • 功能:保存报表组件关联关系

12. 自定义报表分组 (reportCustomGroup/)

  • SaveReportCustomGroupCmd (reportCustomGroup.saveReportCustomGroup)
    • 功能:保存自定义报表分组

13. 费用月度统计 (reportFeeMonthStatistics/)

  • QueryDeadlineFeeCmd (reportFeeMonthStatistics.queryDeadlineFee)

    • 功能:到期费用查询
  • QueryPayFeeDetailCmd (reportFeeMonthStatistics.queryPayFeeDetail)

    • 功能:缴费明细查询
  • QueryPrePaymentCmd (reportFeeMonthStatistics.queryPrePayment)

    • 功能:预交费用查询
  • QueryReportConfigFeeSummaryCmd (reportFeeMonthStatistics.queryReportConfigFeeSummary)

    • 功能:配置费用汇总查询
  • QueryReportFeeBreakdownDetailCmd (reportFeeMonthStatistics.queryReportFeeBreakdownDetail)

    • 功能:费用明细分解查询
  • QueryReportFeeDetailCarCmd (reportFeeMonthStatistics.queryReportFeeDetailCar)

    • 功能:车辆费用明细查询
  • QueryReportFeeDetailContractCmd (reportFeeMonthStatistics.queryReportFeeDetailContract)

    • 功能:合同费用明细查询
  • QueryReportFeeDetailOwnerCmd (reportFeeMonthStatistics.queryReportFeeDetailOwner)

    • 功能:业主费用明细查询
  • QueryReportFeeDetailRoomCmd (reportFeeMonthStatistics.queryReportFeeDetailRoom)

    • 功能:房间费用明细查询
  • QueryReportFeeSummaryCmd (reportFeeMonthStatistics.queryReportFeeSummary)

    • 功能:费用汇总统计查询
  • QueryReportFeeSummaryDetailCmd (reportFeeMonthStatistics.queryReportFeeSummaryDetail)

    • 功能:费用汇总明细查询
  • QueryReportFloorFeeSummaryCmd (reportFeeMonthStatistics.queryReportFloorFeeSummary)

    • 功能:楼层费用汇总查询
  • QueryReportFloorUnitFeeSummaryDetailCmd (reportFeeMonthStatistics.queryReportFloorUnitFeeSummaryDetail)

    • 功能:楼层单元费用汇总明细查询
  • QueryReportProficientCmd (reportFeeMonthStatistics.queryReportProficient)

    • 功能:专业报表查询

14. 信息反馈报表 (reportInfoAnswer/)

  • QueryReportInfoAnswerByOpenId (reportInfoAnswer.queryReportInfoAnswerByOpenId)
    • 功能:根据OpenID查询信息反馈

15. 房间管理报表 (room/)

  • ListRoomStructureCmd (room.listRoomStructure)

    • 功能:房间结构统计
  • QueryHisRoomCmd (room.queryHisRoom)

    • 功能:历史房间数据查询
  • QueryRoomsTreeCmd (room.queryRoomsTree)

    • 功能:房间树形结构查询
  • SearchCommunityDataCmd (search.searchCommunityData)
    • 功能:社区数据搜索查询

数据访问层 (DAO)

核心数据访问接口

  • IFeeStatisticsServiceDao - 费用统计数据访问
  • IBaseDataStatisticsServiceDao - 基础数据统计访问
  • IReportFeeMonthStatisticsServiceDao - 月度费用统计访问
  • IReportCustomV1ServiceDao - 自定义报表数据访问

统计服务层 (Statistics)

核心统计服务

  • IFeeStatistics - 费用统计服务
  • IBaseDataStatistics - 基础数据统计服务
  • IFloorFeeStatistics - 楼层费用统计服务
  • IInoutStatistics - 出入统计服务

API接口层

主要RESTful接口

  • ReportFeeMonthStatisticsApi - 月度费用统计API
  • ReportOweFeeApi - 欠费统计API
  • ReportOwnerPayFeeApi - 业主缴费API
  • ReportInfoAnswerApi - 信息反馈API

部署配置

依赖配置

<!-- 在pom.xml中配置相关依赖 -->
<dependency>
    <groupId>com.java110</groupId>
    <artifactId>service-report</artifactId>
    <version>1.0.0</version>
</dependency>

启动配置

// 应用启动类
@SpringBootApplication
public class ReportServiceApplicationStart {
    public static void main(String[] args) {
        SpringApplication.run(ReportServiceApplicationStart.class, args);
    }
}

使用说明

调用示例

// 调用社区费用汇总查询
JSONObject reqJson = new JSONObject();
reqJson.put("serviceCode", "admin.getCommunityFeeSummary");
reqJson.put("startDate", "2024-01-01");
reqJson.put("endDate", "2024-01-31");
reqJson.put("communityId", "123456");

// 执行命令调用
CmdEvent event = new CmdEvent(reqJson);
cmdService.doService(event);

版本历史

  • v1.0.0 (2024) - 初始版本,包含16个业务领域的报表功能
  • 支持社区管理、费用统计、业主管理、自定义报表等核心功能

维护说明

该模块采用标准的Java110微服务架构,具有良好的扩展性和维护性。新增报表功能时,建议:

  1. 在对应业务目录下添加新的Cmd类
  2. 实现相应的统计服务接口
  3. 配置API接口层调用
  4. 更新数据访问层支持