OA办公自动化系统~~~SSM整合开发

项目 专栏收录该内容
8 篇文章 0 订阅


简介:

     OA( Office Automation System)办公自动化系统是一个企业用来管理日常事务的系统,它一般用来管理各种流程(报销、请假. . .)审批,通讯录、日程、文件管理、通知、公告等功能。OA系统可以实现更加简单、规范、高效地管理,提高企业的整体管理水平。


技术:

     后端:spring + springmvc + mybatis
     前端:bootstrap
     数据库:mysql


开发环境:

     idea2018.25、jdk8、tomcat9、mysql5.7


功能模块

cd4356


数据库设计

cd4356


个人中心功能演示
cd4356


基本模块功能演示
cd4356


报销单模块功能演示
cd4356



登 陆
cd4356

关注点
     spring拦截器对url请求进行拦截验证(获取session来验证),用户未登陆 - - -> 重定向回登陆界面 - - -> 登陆(登陆成功后将员工信息添加到session中,并跳转到后台的个人信息界面;失败重定向回登陆界面



个人中心模块

个人中心包含个人信息、密码设置、日志记录 和 登出功能

关注点:
     获取session中员工信息,调用具体业务方法获取所需数据,然后对数据进行渲染。

     登出 - - -> 删除session(session.setAttribute(“xxx”,null)

注:日志记录是没有删除和修改这种需求的,但我忘了,加了删除功能,这是不合理的。



基本模块

基本模块包含:部门管理(部门信息、部门列表),员工管理(添加员工、员工列表)

基本模块其实就是对部门和员工的简单的增删改查操作

关注点:
     所有登陆进OA系统的员工都可以查看部门列表和员工列表信息,但对员工 和 部门的增、删、改操作只有管理员角色才有权限进行



报销单模块

报销单模块包含:添加报销单、个人报销单 和 待处理报销单
cd4356

添加报销单界面包含两个部分:报销单信息和报销单条目信息,


创建报销单时,设置待处理人为创建人(状态 = 新创建)。点击提交后,待处理人改为员工所在部门的部门经理(状态 = 已提交)。部门经理通过审核后,如果报销金额 >=10000 ,待处理人改为总经理,如果报销金额 <10000 ,待处理人改为财务(状态 = 已通过)。财务审核后进行打款(状态 = 已打款


个人报销单 - - -> 根据创建人id来查询报销单信息

<select id="selectByCreateId" parameterType="String" resultMap="claimVoucher">
    select cv.*,ce.name cname,ce.post cpost,de.name dname,de.post dpost from claim_voucher cv
    left join employee ce on (ce.id=cv.create_id)
    left join employee de on (de.id=cv.next_deal_id)
    where cv.create_id=#{createId} order by cv.create_time desc
</select>
public List<ClaimVoucher> getForSelf(String id) {
 	 return claimVoucherDao.selectByCreateId(id);
}
@RequestMapping("/self")
public String self(HttpSession session, Map<String,Object> map){
    Employee employee = (Employee) session.getAttribute("employee");
    map.put("list",claimVoucherService.getForSelf(employee.getId()));
    return "claim_voucher_self";
}


待处理报销单 - - -> 根据待处理人id来查询报销单信息

<select id="selectByNextDealId" parameterType="String" resultMap="claimVoucher">
    select cv.*,ce.name cname,ce.post cpost,de.name dname,de.post dpost from claim_voucher cv
    left join employee ce on (ce.id=cv.create_id)
    left join employee de on (de.id=cv.next_deal_id)
    where cv.next_deal_id=#{nextDealId} order by cv.create_time desc
</select>
public List<ClaimVoucher> getForDeal(String id) {
	return claimVoucherDao.selectByNextDealId(id);
}
@RequestMapping("/deal")
public String deal(HttpSession session, Map<String,Object> map){
    Employee employee = (Employee) session.getAttribute("employee");
    map.put("list",claimVoucherService.getForDeal(employee.getId()));
    return "claim_voucher_deal";
}






https://github.com/CD4356/OA

cd4356

©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页

打赏作者

CD4356

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值