开发环境

jre版本:1.8.0.144

eclipse版本:Oxygen.2 Release (4.7.2)

tomcat版本:8.0

mysql版本:5.7

框架:struts2

源码:本地下载

https://github.com/xiaozhu-CHN/LeaveSystem

数据库结构

这里的数据库设计比较简单,总共五个表,第一次设计很多细节是没有考虑的,像请假系统注册应该有个审核的流程。这个后面想了个办法补救下就是利用老师表里面有个权限,把注册的老师权限统一为1。

其他的不多说,发个数据库文档供参考:本地下载

用户结构

用户分老师和学生两种。

  • 学生:只能申请假条和查询自己提交的假条,其中审核不通过的假条可删除,其他状态的假条不可删除。

  • 老师:老师根据权限的不同分为辅导员、学院领导、学工处三类,这是根据我们学校的实际审核情况制定的。

    • 辅导员:可以审核所管理班级的审核和假条的销假。

    • 学院领导:可以创建班级和任命班级的辅导员和审核假条。

    • 学工处:可以创建学院和任命学院的学院领导权限和审核假条。

假条流程

学生申请请假 >>> 辅导员审核 >>> 学院领导审核 >>> 学工处审核 >>> 辅导员销假 其中任意一个审核不通过可以重新提交申请重新走流程。

BUG遗留

这里说一下自己后面落下的坑。

  1. 老师的注册完成是直接有权限的,比如注册为学工处就直接有学工处的权限,后面不想整了,这个可以通过注册的时候给权限全部为辅导员的权限就好。

  2. 用户的管理没有做到,感觉都差不多,所以就没有兴趣做下去了,建议整个后台的用户管理。

  3. 学工处是没有班级管理的,只做了学院的管理,后面也懒得加咧,和学院领导那一块的代码都差不多。

  4. 学生的登录界面做了下国际化,所以就没有用到登录的模板,国际化这个当时期末要做,这玩意适配html5好像挺糟心的,所以就没有用到像老师登录的那个模板。

  5. 提一下源码哪里有spring生成的映射类文件,其实是没有用到spring框架的,因为自己没有听课,哈哈哈,感觉struts2能做完,所以后面就不配套spring使用了。

  6. 源码基本都是自己整的,就是下载的那个接口拿书上的例子改了,这下载接口还真不咋懂!哈哈哈。

  7. 代码的路径基本都是绝对路径,防止出错。

  8. 学号锁定为9位数,工号锁定为7位。

  9. 账号忘记密码还有修改学号啥的都没做。

  10. 没有登录验证码。 哈哈哈哈,都是坑!