源码获取:俺的博客首页 "资源" 里下载!
项目介绍
该固定资产管理系统共包含三种角色,分别是:管理员、普通员工、部门管理人员,其功能如下:
1.管理员 系统登陆、管理员管理、部门管理、资产类型管理、员工信息管 理、采购申请管理、资产采购管理、资产发放管理、固定资产管 理、设备维修管理、资产报废管理、设备借用归还管理、
盘点信息 管理、盘盈信息统计、盘亏信息统计等功能。
2.普通员工 个人信息管理、修改密码、资产类型信息、采购申请信息、资产 接收信息、固定资产信息、设备借用归还信息、盘点信息等功能。
3.部门管理人员 工作人员管理、基础信息管理、采购申请管理、资产发放管理、 固定资产管理、设备借用归还管理、盘点管理等功能。
该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具 有很高的实际应用价值。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目;
6.数据库:MySql 5.7/8.0等版本均可;
技术栈
后台框架:Spring、SpringMVC、Mbytes
UI界面:JSP、jQuery 、BootStrap
数据库:MySQL
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
组织机构控制器:
/**
* 组织机构控制器
*/
@Controller
@RequestMapping("/organization")
public class OrgController {
@Autowired
private OrganizationService organizationService;
/**
* 根据条件动态查询组织,数据加载到表格
*/
@PostMapping("/list")
public String listOrganizationByLevel(Organization example, ModelMap map){
List<Organization> list = organizationService.listOrganizationByExample(example);
int sublevel = example.getOrgLevel();
map.put("dtoList",list);
String pageName = null;
switch (sublevel) { //根据参数确定返回页面目标
case 1: pageName= "friDepartments" ;break;
case 2: pageName= "secDepartments" ;break;
case 3: pageName= "macAddress" ;break;
}
return pageName+"::table-refresh";
}
/**
* 根据条件动态查询子级组织
*/
@PostMapping("/sub/list")
@ResponseBody
public List listOrganization(Organization example){
List<Organization> list = organizationService.listOrganizationByExample(example);
return list;
}
/**
* 根据一级部门和二级部门id查询物理位置
*/
@PostMapping("/macAddress/list")
public String listMacaddress(String fristId,String secondId,ModelMap map){
List<Organization> list = organizationService.listMacaddressByRootID(fristId,secondId);
map.put("dtoList",list);
return "macAddress::table-refresh";
}
/**
* 添加组织
* @param organization
* @return
*/
@PostMapping
@ResponseBody
public int addOrganization(Organization organization){
return organizationService.insertOrganization(organization);
}
/**
* 删除组织
* @param orgId
* @return
*/
@DeleteMapping("/{orgId}")
@ResponseBody
public int delteOrganizationByid(@PathVariable("orgId") String orgId){
return organizationService.deleteOrganizationById(orgId);
}
/**
* 修改组织名称
* @param organization
* @return
*/
@PutMapping
@ResponseBody
public int updateDeviceType(Organization organization){
return organizationService.updateOrganizationName(organization);
}
/**
* 获取组织树
* @return
*/
@GetMapping("/tree")
@ResponseBody
public OrganizationDTO getOrganizationTree(){
return organizationService.getOrgTree();
}
}
登录控制层:
@Controller
public class LoginController {
@RequestMapping("/login")
public String login(HttpServletRequest request, Model mv) {
String e = (String) request.getAttribute("shiroLoginFailure");
if (e != null) {
if (e.contains("org.apache.shiro.authc.UnknownAccountException")) {
mv.addAttribute("msg", "账号不存在");
} else if (e.contains("org.apache.shiro.authc.IncorrectCredentialsException")) {
mv.addAttribute("msg", "密码错误");
} else if (e.contains("org.apache.shiro.authc.LockedAccountException")) {
mv.addAttribute("msg", "账户已停用");
}
}
return "login";
}
}
设备类型信息控制层:
@Controller
@RequestMapping("/baseInfos")
public class BaseInfoController {
@Autowired
private BaseInfoService baseInfoService;
@Autowired
private LogService logService;
/**
* 获取所有设备类型信息
* @param map
* @return
*/
@RequestMapping("/type/list")
public String listDeviceType(ModelMap map){
List<DeviceType> typeList = baseInfoService.listDeviceType();
map.put("typeList",typeList);
return "deviceTypes::table-refresh";
}
/**
* 添加设备类型
* @param deviceType
* @return
*/
@PostMapping("/type")
@ResponseBody
public int addtDeviceType(DeviceType deviceType){
return baseInfoService.addtDeviceType(deviceType);
}
/**
* 删除设备类型
* @param typeId
* @return
*/
@DeleteMapping("/type/{typeId}")
@ResponseBody
public int delteDeviceTypByid(@PathVariable("typeId") String typeId){
return baseInfoService.deleteDeviceTypeById(typeId);
}
/**
* 修改设备类型
* @param deviceType
* @return
*/
@PutMapping("/type")
@ResponseBody
public int updateDeviceType(DeviceType deviceType){
return baseInfoService.updateDeviceType(deviceType);
}
/**
* 获取所有设备品牌信息
* @param map
* @return
*/
@RequestMapping("/brand/list")
public String listDeviceBrand(ModelMap map){
List<DeviceBrand> brandList = baseInfoService.listDeviceBrand();
map.put("brandList",brandList);
return "deviceBrands::table-refresh";
}
/**
* 添加设备品牌
* @param deviceBrand
* @return
*/
@PostMapping("/brand")
@ResponseBody
public int addtDeviceBrand(DeviceBrand deviceBrand){
return baseInfoService.addtDeviceBrand(deviceBrand);
}
/**
* 删除设备品牌
* @param brandId
* @return
*/
@DeleteMapping("/brand/{brandId}")
@ResponseBody
public int delteDeviceBrandByid(@PathVariable("brandId") String brandId){
return baseInfoService.deleteDeviceBrandById(brandId);
}
/**
* 修改品牌
* @param deviceBrand
* @return
*/
@PutMapping("/brand")
@ResponseBody
public int updateDeviceBrand(DeviceBrand deviceBrand){
return baseInfoService.updateDeviceBrand(deviceBrand);
}
/**
* 获取系统日志
* @param map
* @return
*/
@RequestMapping("/log")
public String listLog(ModelMap map, HttpServletRequest request){
String startTime = request.getParameter("startTime");
String endTime = request.getParameter("endTime");
List<SystemLog> logs = logService.listLogsByDate(startTime,endTime);
map.put("logList",logs);
return "system::logList-refresh";
}
}
源码获取:俺的博客首页 "资源" 里下载!