2. 考勤在线
2.1 项目时间
2017/3 - 2017.7
2.2 项目简介
现如今企业内部信息平台诸多,但平台的关联性较小。本系统将通过信息化技术,实现信息联通,打通数据孤岛,解决内部多平台、多站点、多数据库的现状。以移动微信企业号为移动终端,Web考勤在线为 PC 终端,实现企业社区、考勤管理、工单管理、财务管理等等功能模块。
当前已经完善的主要是考勤在线模块。
自 2017年7月 以来,系统已正常运行一年时间,不间断维护和升级。
2.3 技术实现
- 移动端实现:微信企业号
- 系统后台管理:vue.js + ElementUI
- 服务端语言:PHP(Thinkphp) + Java(SSM)
- 数据库
- 内网数据库:SqlServer
- 平台数据库:MySQL
- NoSQL:Redis
- 服务器:
- 门禁考勤服务器:Windows Server 2008
- 平台服务器:Centos 6.4
- 文档技术:接口文档使用 apidoc,项目说明使用 miniDoc (自行搭建的文档平台)
- 代码托管:自行搭建的 VisualSVN 服务
2.4 我的工作
- 需求分析
- 数据库设计
- 服务器环境搭建
- 不同数据库 ETL 仓库同步
- HTTPS 证书配置
- 后台 RESTful API 接口文档开发 | 点击查看接口文档
- 消息接口中心实现(信息平台最重要的是消息送达服务,在这里实现了如下的消息通知机制)
- 微信企业号图文、文本、模板消息推送机制
- 短信消息推送
- 邮件消息推送
- 企业内部旧办公 OA 消息推送
2.5 项目难点
- 内网 SqlServer 与 MySQL 数据仓库 ETL 实时同步
- 业务流程参数化配置
- 附件上传管理,图片压缩
2.6 项目优化
- 消息 Socket 通知
2.7 项目代码
T=5.00 s (132.8 files/s, 51105.0 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
JavaScript 232 4400 7204 142678
PHP 346 6561 23519 55239
CSS 13 354 91 7611
JSON 43 12 0 4136
HTML 9 179 17 2048
MSBuild script 1 0 0 520
YAML 5 70 34 193
C 2 31 33 183
Smarty 3 0 0 174
Markdown 6 44 0 87
C/C++ Header 2 29 26 41
m4 1 1 0 6
INI 1 0 0 4
-------------------------------------------------------------------------------
SUM: 664 11681 30924 212920
-------------------------------------------------------------------------------