基于SpringBoot+Vue北京医疗企业固定资产管理系统的设计与实现

本文主要是介绍基于SpringBoot+Vue北京医疗企业固定资产管理系统的设计与实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系统介绍

系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对北京医疗企业固定资产管理的现状进行系统调查。采用结构化的分析设计,该方法要求结合一定的图表,在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”的思想,在北京医疗企业固定资产管理系统实现了员工、固定资产、资产入库、资产出库、资产申领、资产报修等的功能性。

系统主要技术 

开发语言:Java使用框架:spring boot前端技术:JavaScript、Vue 、css3开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code数据库:MySQL 5.7/8.0数据库管理工具:phpstudy/NavicatJDK版本:jdk1.8Maven: apache-maven 3.8.1-bin

系统展示

为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该北京医疗企业固定资产管理系统的功能结构图如下所示

5.1管理员功能模块

管理员通过登录页面填写用户名和密码,选择角色完成后进行登录,如图5-1所示。

图5-1管理员登录页面

管理员登录进入北京医疗企业固定资产管理系统的实现可以查看系统首页、个人中心、员工管理、固定资产管理、资产入库管理、资产出库管理、资产申领管理、资产报修管理等信息,如图5-2所示。

图5-2管理员功能界面图

管理员点击员工管理;在员工管理页面对员工工号、员工姓名、性别、报名、座位、入职时间、联系方式、身份证等信息,进行查询,新增或删除员工信息等操作;如图5-3所示。

图5-3员工管理界面图

管理员点击固定资产管理;在固定资产管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、购买时间等信息,进行查询,新增或删除固定资产等操作;如图5-4所示。

图5-4固定资产管理界面图

管理员点击资产入库管理;在资产入库管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、入库时间、入库说明等信息,进行查询或删除资产入库等操作;如图5-5所示。

图5-5资产入库管理界面图

管理员点击资产出库管理;在资产出库管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、出库时间、出库说明等信息,进行查询或删除资产出库等操作;如图5-6所示。

图5-6资产出库管理界面图

管理员点击资产申领管理;在资产申领管理页面对资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、备注、申请时间、员工账号、员工姓名、审核回复、审核状态、审核等信息,进行查询或删除资产申领等操作;如图5-7所示。

图5-7资产申领管理界面图

管理员点击资产报修管理;在资产报修管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、报修时间、报修说明、员工工号、员工姓名、维修人员、审核回复、审核状态、审核等信息,进行查询删除资产报修等操作;如图5-8所示。

图5-8资产报修管理界面图

5.2员工功能模块

登录界面,首先双击打开系统,连上网络之后会显示出本系统的登录界面,这是进入系统的第初始页面“登录”,能成功进入到该登录界面则代表系统的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能,如图5-9所示。

图5-9员工登录界面

员工登录系统后,可以对系统首页、个人中心、固定资产管理、资产申领管理、资产报修管理等功能进行相应操作,如图5-10所示。

图5-10员工功能界图面

员工点击固定资产管理;在固定资产管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、购买时间等信息,进行查询固定资产等操作;如图5-11所示。

图5-11固定资产管理界面图

员工点击资产申领管理;在资产申领管理页面对资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、备注、申请时间、员工账号、员工姓名、审核回复、审核状态、审核等信息,进行查询或删除资产申领等操作;如图5-12所示。

图5-12资产申领管理界面图

员工点击资产报修管理;在资产报修管理页面对资产编号、资产名称、资产类型、资产图片、资产单价、资产数量、资产总价、使用状况、报修时间、报修说明、员工工号、员工姓名、维修人员、审核回复、审核状态、审核等信息,进行查询资产报修等操作;如图5-13所示。

图5-13资产报修管理界面图

部分核心代码

/*** 登录相关*/
@RequestMapping("users")
@RestController
public class UsersController {@Autowiredprivate UsersService usersService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());R r = R.ok();r.put("token", token);r.put("role",user.getRole());r.put("userId",user.getId());return r;}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UsersEntity user){
//    	ValidatorUtils.validateEntity(user);if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}usersService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 修改密码*/@GetMapping(value = "/updatePassword")public R updatePassword(String  oldPassword, String  newPassword, HttpServletRequest request) {UsersEntity users = usersService.selectById((Integer)request.getSession().getAttribute("userId"));if(newPassword == null){return R.error("新密码不能为空") ;}if(!oldPassword.equals(users.getPassword())){return R.error("原密码输入错误");}if(newPassword.equals(users.getPassword())){return R.error("新密码不能和原密码一致") ;}users.setPassword(newPassword);usersService.updateById(users);return R.ok();}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");usersService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UsersEntity user){EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();PageUtils page = usersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UsersEntity user){EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", usersService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UsersEntity user = usersService.selectById(id);return R.ok().put("data", user);}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Integer id = (Integer)request.getSession().getAttribute("userId");UsersEntity user = usersService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UsersEntity user){
//    	ValidatorUtils.validateEntity(user);if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}usersService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UsersEntity user){
//        ValidatorUtils.validateEntity(user);usersService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){List<UsersEntity> user = usersService.selectList(null);if(user.size() > 1){usersService.deleteBatchIds(Arrays.asList(ids));}else{return R.error("管理员最少保留一个");}return R.ok();}
}

 

 此源码非开源,若需要此源码可扫码添加微信或者qq:2214904953进行咨询!

2600多套项目欢迎咨询

这篇关于基于SpringBoot+Vue北京医疗企业固定资产管理系统的设计与实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939156

相关文章

springboot+redis实现订单过期(超时取消)功能的方法详解

《springboot+redis实现订单过期(超时取消)功能的方法详解》在SpringBoot中使用Redis实现订单过期(超时取消)功能,有多种成熟方案,本文为大家整理了几个详细方法,文中的示例代... 目录一、Redis键过期回调方案(推荐)1. 配置Redis监听器2. 监听键过期事件3. Redi

Spring Boot 处理带文件表单的方式汇总

《SpringBoot处理带文件表单的方式汇总》本文详细介绍了六种处理文件上传的方式,包括@RequestParam、@RequestPart、@ModelAttribute、@ModelAttr... 目录方式 1:@RequestParam接收文件后端代码前端代码特点方式 2:@RequestPart接

SpringBoot整合Zuul全过程

《SpringBoot整合Zuul全过程》Zuul网关是微服务架构中的重要组件,具备统一入口、鉴权校验、动态路由等功能,它通过配置文件进行灵活的路由和过滤器设置,支持Hystrix进行容错处理,还提供... 目录Zuul网关的作用Zuul网关的应用1、网关访问方式2、网关依赖注入3、网关启动器4、网关全局变

SpringBoot全局异常拦截与自定义错误页面实现过程解读

《SpringBoot全局异常拦截与自定义错误页面实现过程解读》本文介绍了SpringBoot中全局异常拦截与自定义错误页面的实现方法,包括异常的分类、SpringBoot默认异常处理机制、全局异常拦... 目录一、引言二、Spring Boot异常处理基础2.1 异常的分类2.2 Spring Boot默

基于SpringBoot实现分布式锁的三种方法

《基于SpringBoot实现分布式锁的三种方法》这篇文章主要为大家详细介绍了基于SpringBoot实现分布式锁的三种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、基于Redis原生命令实现分布式锁1. 基础版Redis分布式锁2. 可重入锁实现二、使用Redisso

SpringBoo WebFlux+MongoDB实现非阻塞API过程

《SpringBooWebFlux+MongoDB实现非阻塞API过程》本文介绍了如何使用SpringBootWebFlux和MongoDB实现非阻塞API,通过响应式编程提高系统的吞吐量和响应性能... 目录一、引言二、响应式编程基础2.1 响应式编程概念2.2 响应式编程的优势2.3 响应式编程相关技术

SpringBoot的全局异常拦截实践过程

《SpringBoot的全局异常拦截实践过程》SpringBoot中使用@ControllerAdvice和@ExceptionHandler实现全局异常拦截,@RestControllerAdvic... 目录@RestControllerAdvice@ResponseStatus(...)@Except

Springboot配置文件相关语法及读取方式详解

《Springboot配置文件相关语法及读取方式详解》本文主要介绍了SpringBoot中的两种配置文件形式,即.properties文件和.yml/.yaml文件,详细讲解了这两种文件的语法和读取方... 目录配置文件的形式语法1、key-value形式2、数组形式读取方式1、通过@value注解2、通过

Java 接口定义变量的示例代码

《Java接口定义变量的示例代码》文章介绍了Java接口中的变量和方法,接口中的变量必须是publicstaticfinal的,用于定义常量,而方法默认是publicabstract的,必须由实现类... 在 Java 中,接口是一种抽象类型,用于定义类必须实现的方法。接口可以包含常量和方法,但不能包含实例

JAVA Calendar设置上个月时,日期不存在或错误提示问题及解决

《JAVACalendar设置上个月时,日期不存在或错误提示问题及解决》在使用Java的Calendar类设置上个月的日期时,如果遇到不存在的日期(如4月31日),默认会自动调整到下个月的相应日期(... 目录Java Calendar设置上个月时,日期不存在或错误提示java进行日期计算时如果出现不存在的