07年6月有个很棘手的需求,把公司6、7年来为税务系统开发的全部报表、积累的上百G的企业数据都用统一的格式存储到独立报表库中。数据量非常大,报表种类之多也是咂舌的,而且每年税务政策都在变,导致报表的种类、版本、税率、存储方式等非常复杂多样。
前期的报表格式调查是由地税组和国税组分别做的,我负责进行整个系统设计和核心模块开发。
为了能统一格式,我采用XML进行报表存储。先根据对业务的理解制定schema,然后创建了一个数据转换框架,其他同事在上面开发具体的报表转换规则,超级简化了开发难度和工作量。一张报表的开发工作量简化到只需要定义新旧数据的对应关系而已,项目组一天就能写个十几张。
下面是这个框架的顶层UML图:
下面是工作流程图:
技术细节不能透露,戏肉都在Common...Page类中,只好显示一下大框架了。