最近在做的项目OverseaPMS已经接近尾声了,在此分篇做个总结。
首先是日报系统,它是OverseaPMS最开始要解决的业务问题。
背景:我所在的部门主要对机型项目进行管理,是机型质量全面把控的最后关口。在实际工作中,机型场测阶段,需要每天生成一个项目日报,以便实时掌握项目进度、预警项目风险。在OverseaPMS上线之前,项目日报都是纯手工制作。项目负责人手动从Redmine上导出数据,统计问题,然后通过Excel生成图表。这种方式非常的繁琐、复杂且耗时。常常一个日报制作完成大约需要3-4h。
这种制作报表的方式显然是浪费时间和人力的。那么有没有可能通过程序自动生成日报呢?
答案是肯定的。那么如何实现呢?
一、系统架构
下面是日报系统的架构设计。整个系统主要包括两部分:拉取数据和拉取数据处理。
二、具体实现
首先,通过Redmine接口从Redmine平台拉取数据。然后,程序对数据进行解析,同时存储到本地作为缓存。最后装填数据集,将数据集绑定到报表中,自动生成项目日报。
Redmine接口:
GitHub:https://github.com/zapadi/redmine-net-api
日报用什么实现?
通过.Net的报表文件RDLC实现。RDLC的具体设计实现过程可以参考我的另外一篇博客:Winform中报表RDLC的设计与实现。
以下是已经实现的项目日报:下拉框选择一个机型项目,点击【生成日报】按钮,即可生成项目提报。生成的日报可以导出Word/Excel文件进行二次编辑。
这种自动生成项目日报的功能,极大地降低了时间成本,提高了工作效率。