项目介绍
网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此固定资产信息的管理计算机化,系统化是必要的。设计开发固定资产管理系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于固定资产信息的维护和检索也不需要花费很多时间,非常的便利。
固定资产管理系统是在MySQL中建立数据表保存信息,运用SSM框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。管理员管理资产,资产折旧,资产维修,资产报废等信息。员工查询资产,查询资产折旧,资产维修,资产报废信息。
固定资产管理系统在让固定资产信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升固定资产管理系统提供的数据的可靠性,让系统数据的错误率降至最低。
前面所做的功能分析,只是本系统的一个大概功能,这部分需要在此基础上进行各个模块的详细设计。
设计的管理员的详细功能见下图,管理员登录进入本人后台之后,管理资产,资产折旧,资产维修,资产报废等信息。
设计的员工的详细功能见下图,员工查询资产,查询资产折旧,资产维修,资产报废信息。
开发环境
编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序ue/爬虫/c#/asp.net
系统实现
5.1.1 资产维修管理
管理员权限中的资产维修管理,其运行效果见下图。管理员对资产维修信息进行添加,包括维修费用,负责员工等资料,在本页面,管理员对资产维修信息进行更改或查询。
图5.1 资产维修管理页面
5.1.2 资产折旧管理
管理员权限中的资产折旧管理,其运行效果见下图。资产折旧信息需要管理员登记,在本页面,管理员可以查询,修改资产折旧信息。
图5.2 资产折旧管理页面
5.1.3 资产管理
管理员权限中的资产管理,其运行效果见下图。管理员管理资产信息,对报废资产进行报废登记。
图5.3 资产管理页面
5.1.4 员工管理
管理员权限中的员工管理,其运行效果见下图。管理员添加员工,包括其所属部门,照片,身份证等资料都需要一一登记,同时,管理员还负责更改员工资料。
图5.4 员工管理页面
5.2 员工功能实现
5.2.1 查询资产维修
员工权限中的查询资产维修,其运行效果见下图。员工查看自己负责的资产维修信息。
图5.5 查询资产维修页面
5.2.2 查询资产折旧
员工权限中的查询资产折旧,其运行效果见下图。员工根据资产名称可以获取对应的资产折旧信息。
图5.6 查询资产折旧页面
5.2.3 查询资产
员工权限中的查询资产,其运行效果见下图。员工根据资产所属部门查询资产,根据资产分类查询资产等。
图5.7 查询资产页面
核心代码
package com.controller;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.StringUtil;
import java.lang.reflect.InvocationTargetException;
import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.BaofeiEntity;
import com.service.BaofeiService;
import com.entity.view.BaofeiView;
import com.utils.PageUtils;
import com.utils.R;
/**
* 资产报废
* 后端接口
* @author
* @email
* @date
*/
@RestController
@Controller
@RequestMapping("/baofei")
public class BaofeiController {
private static final Logger logger = LoggerFactory.getLogger(BaofeiController.class);
@Autowired
private BaofeiService baofeiService;
@Autowired
private TokenService tokenService;
@Autowired
private DictionaryService dictionaryService;
//级联表service
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
String role = String.valueOf(request.getSession().getAttribute("role"));
if(StringUtil.isNotEmpty(role) && "用户".equals(role)){
params.put("yonghuId",request.getSession().getAttribute("userId"));
}
params.put("orderBy","id");
PageUtils page = baofeiService.queryPage(params);
//字典表数据转换
List<BaofeiView> list =(List<BaofeiView>)page.getList();
for(BaofeiView c:list){
//修改对应字典表字段
dictionaryService.dictionaryConvert(c);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
BaofeiEntity baofei = baofeiService.selectById(id);
if(baofei !=null){
//entity转view
BaofeiView view = new BaofeiView();
BeanUtils.copyProperties( baofei , view );//把实体数据重构到view中
//修改对应字典表字段
dictionaryService.dictionaryConvert(view);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("ve")
public R save(@RequestBody BaofeiEntity baofei, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,baofei:{}",this.getClass().getName(),baofei.toString());
Wrapper<BaofeiEntity> queryWrapper = new EntityWrapper<BaofeiEntity>()
.eq("zichan_name", baofei.getZichanName())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
BaofeiEntity baofeiEntity = baofeiService.selectOne(queryWrapper);
if(baofeiEntity==null){
baofei.setInsertTime(new Date());
baofei.setCreateTime(new Date());
// String role = String.valueOf(request.getSession().getAttribute("role"));
// if("".equals(role)){
// baofei.set
// }
baofeiService.insert(baofei);
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody BaofeiEntity baofei, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,baofei:{}",this.getClass().getName(),baofei.toString());
//根据字段查询是否有相同数据
Wrapper<BaofeiEntity> queryWrapper = new EntityWrapper<BaofeiEntity>()
.notIn("id",baofei.getId())
.andNew()
.eq("zichan_name", baofei.getZichanName())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
BaofeiEntity baofeiEntity = baofeiService.selectOne(queryWrapper);
if(baofeiEntity==null){
// String role = String.valueOf(request.getSession().getAttribute("role"));
// if("".equals(role)){
// baofei.set
// }
baofeiService.updateById(baofei);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
baofeiService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
论文参考
目 录
1 绪论 1
1.1 选题背景 1
1.2 选题意义 1
1.3 研究内容 2
2 系统开发技术 3
2.1 Java语言 3
2.2 SSM框架 3
2.3 MYSQL数据库 4
3 系统分析 5
3.1可行性研究 5
3.1.1经济可行性 5
3.1.2时间可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1系统易用性 6
3.2.2系统健壮性 6
3.2.3系统安全性 6
3.3 系统流程分析 6
3.4系统功能分析 8
4 系统设计 11
4.1系统目标 11
4.2功能结构设计 12
4.3数据库设计 13
4.3.1数据库E-R图 13
4.3.2 数据库表结构 16
5 系统实现 19
5.1 管理员功能实现 19
5.1.1 资产维修管理 19
5.1.2 资产折旧管理 19
5.1.3 资产管理 20
5.1.4 员工管理 20
5.2 员工功能实现 21
5.2.1 查询资产维修 21
5.2.2 查询资产折旧 21
5.2.3 查询资产 22
6系统测试 23
6.1 系统测试的类型 23
6.2 功能测试 24
6.3 可用性测试 24
6.4 测试结果分析 24
结 论 25
参考文献 27
致 谢 28