功能需求
开发与运行环境
1 | 系统开发平台:Myeclipse 10; |
功能模块
系统流程
数据库设计
数据表结构设计
详细设计
用户表
用于保存系统使用人员的信息,数据表命名为“t_user”
维修历史表
用于保存设备维修历史的信息,数据表命名为“t_repair”
设备类型表
用于保存设备类型的信息,数据表命名为“t_equipmenttype ”
设备信息表
用于保存设备状态的信息,数据表命名为“t_equiomentstate ”
设备管理表
用于保存设备的详细信息,数据表命名为“t_equipment”
部门信息表
用于保存部门的详细信息,数据表命名为“t_department”
设备采购状态表
用于保存采购设备状态的信息,数据表命名为“t_buystate”
系统实现
登录与退出
如图
代码如下1
2
3
4
5
6
7
8
9
10
11public String login(User user,HttpServletRequest request){
User resultUser=userService.login(user);
// 判断用户登陆 若成功则将信息保存到session中并跳转到主页面,否则提示错误信息。
if(resultUser.getId()==null){
request.setAttribute("user", user);
request.setAttribute("errorMsg", "用户名或密码错误!");
return "login";
}else{HttpSession session=request.getSession();
session.setAttribute("buyCount", buyCount);
session.setAttribute("currentUser", resultUser);
return "redirect:/main.jsp";}}
用户管理
如图
添加用户
代码1
2
3
4
5
6 public String save(User user){
// 判断 如果id的值为空,即为添加,如果id的值不为空,则是进行更新操作
if(user.getId()==null){
userService.add(user);
}else{userService.update(user);}
return "redirect:/user/list.do";}
删除用户
代码1
2
3
4
5
6public void delete(@RequestParam(value="id")String id,HttpServletResponse response)throws Exception{
JSONObject result=new JSONObject();
// 传入获取到的用户ID,删除用户
userService.delete(Integer.parseInt(id));
result.put("success", true);
ResponseUtil.write(result, response);}
修改用户
代码1
2
3
4
5
6public String save(User user){
// 修改用户信息,如果用户ID的值不为空,则执行update功能
if(user.getId()==null){
userService.add(user);
}else{userService.update(user);}
return "redirect:/user/list.do";}
重置密码
代码1
2
3
4
5
6public void resetpassword(@RequestParam(value="id")String id,HttpServletResponse response)throws Exception{
JSONObject result=new JSONObject();
// 调用resetpassword方法重置用户ID为XX的用户的密码,默认修改为“888888”
userService.resetpassword(Integer.parseInt(id));
result.put("success", true);
ResponseUtil.write(result, response);}
查询用户
代码1
2
3
4
5
6
7if(StringUtil.isEmpty(page)){
page="1";
session.setAttribute("s_user", s_user);
}else{s_user=(User) session.getAttribute("s_user");}
PageBean pageBean=new PageBean(Integer.parseInt(page),10);
// 匹配页面上的查询返回最终查询的结果
List<User> userList=userService.find(pageBean, s_user);
部门管理
添加部门
代码1
2
3
4
5
6public String save(Department department){
// 判断如果没有获取到id值,则调用添加功能
if(department.getId()==null){
departmentService.add(department);
}else{departmentService.update(department);}
return "redirect:/department/list.do";}
删除部门
1 | public void delete(@RequestParam(value="id")String id,HttpServletResponse response)throws Exception{ |
修改部门
代码1
2
3
4
5
6public String save(Department department){
// 判断有无获取到ID值,若没有ID值,则为添加功能
if(department.getId()==null){
departmentService.add(department);
}else{departmentService.update(department);}
return "redirect:/department/list.do";}
查询部门
1 | if(StringUtil.isEmpty(page)){ |
设备类型管理
添加设备类型
代码1
2
3
4
5
6public String save(EquipmentType equipmentType){
// 判断是否有ID值,若没有,则为添加
if(equipmentType.getId()==null){
equipmentTypeService.add(equipmentType);
}else{equipmentTypeService.update(equipmentType);}
return "redirect:/equipmentType/list.do";}
删除设备类型
代码1
2
3
4
5
6
7
8
9public void delete(@RequestParam(value="id")String id,HttpServletResponse response)throws Exception{
JSONObject result=new JSONObject();
// 首先查找设备表返回是否存在改设备类型正在被使用,若有,则不能删除
if(equipmentService.existEquipmentByTypeId(Integer.parseInt(id))){
result.put("errorInfo", "该设备类型下存在设备,不能删除!");
}else{// 若无设备使用,则删除成功,并提示
equipmentTypeService.delete(Integer.parseInt(id));
result.put("success", true);}
ResponseUtil.write(result, response);}
修改设备类型
代码1
2
3
4
5
6
7
8public String save(EquipmentType equipmentType){
// 判断是否获取到设备ID 若获取到,则为修改
if(equipmentType.getId()==null){
equipmentTypeService.add(equipmentType);
}else{
// 调用update功能更新设备信息
equipmentTypeService.update(equipmentType);}
return "redirect:/equipmentType/list.do";}
查询设备类型
代码1
2
3
4
5
6
7if(StringUtil.isEmpty(page)){
page="1";
session.setAttribute("s_department", s_department);
}else{s_department=(Department) session.getAttribute("s_department");}
PageBean pageBean=new PageBean(Integer.parseInt(page),10);
// 将匹配界面查询条件的查询结果赋值到list中
List<Department> departmentList=departmentService.find(pageBean, s_department);
采购管理
采购设备申请
代码1
2
3
4
5
6
7
8public String savebuyinfo(Equipment equipment) {
// 判断是否有ID值,有的话则为添加采购申请
if (equipment.getId() == null) {
// 调用addbuyequipment方法添加采购申请
equipmentService.addbuyequipment(equipment);
} else {equipmentService.updateBuyequipment(equipment);}
logger.debug("savebuyinfo");
return "redirect:/equipment/list.do";}
修改采购设备
代码1
2
3
4
5
6
7if (StringUtil.isNotEmpty(id)) {
System.out.println("modification/修改采购信息");
mav.addObject("actionName", "修改采购申请");
// 调用采购申请功能
Equipment equipment = equipmentService.loadById(Integer.parseInt(id));
mav.addObject("equipment", equipment);
}
删除采购信息
代码1
2
3
4
5
6public void delete(@RequestParam(value = "id") String id,HttpServletResponse response) throws Exception {
JSONObject result = new JSONObject();
// 调用delete方法删除
equipmentService.delete(Integer.parseInt(id));
result.put("success", true);
ResponseUtil.write(result, response);}
详细采购信息
代码1
2
3
4
5if (StringUtil.isNotEmpty(id)) {
mav.addObject("actionName", "设备详情");
// 通过选择的ID值查出选中设备的详细信息
Equipment equipment = equipmentService.loadById(Integer.parseInt(id));
mav.addObject("equipment", equipment);}
查询采购信息
代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 if (StringUtil.isEmpty(page)) {
// 通过匹配界面查询条件将符合条件的结果返回到页面中
page = "1";
session.setAttribute("s_equipment", s_equipment);
} else {s_equipment = (Equipment) session.getAttribute("s_equipment");}
```
#### 使用设备管理


##### 详细信息

代码
``` PYTHON
if (StringUtil.isNotEmpty(id)) {
mav.addObject("actionName", "设备详情");
// 通过选中设备ID值查询设备详细信息
Equipment equipment = equipmentService.loadById(Integer.parseInt(id));
mav.addObject("equipment", equipment);}
设备报修
代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15public ModelAndView repairEquipment(@RequestParam(value = "id", required = false) String id) {
ModelAndView mav = new ModelAndView();
// 获取所有设备报修烈面
List<Equipment> equipmentList = equipmentService.findBuyInfo(null, null);
mav.addObject("mainPage", "equipment/repairshowinfo.jsp");
mav.addObject("modeName", "设备报修");
mav.addObject("equipmentTypeList", equipmentList);
mav.setViewName("main");
if (StringUtil.isNotEmpty(id)) {
// 获取选中设备的详细信息
mav.addObject("actionName", "设备报修");
Equipment equipment = equipmentService.loadById(Integer.parseInt(id));
mav.addObject("equipment", equipment);
} else {mav.addObject("actionName", "设备报修");}
return mav; }
导出设备详细信息
代码1
2
3
4
5public String exportEquipmentInfo() {
// 调用exportEquipmentInfo()方法生成excel表格
equipmentService.exportEquipmentInfo();
// 返货设备使用界面
return "redirect:/equipment/userList.do";}
查询使用设备信息
代码1
2
3
4
5
6
7if (StringUtil.isEmpty(page)) {
page = "1";
session.setAttribute("s_equipment", s_equipment);
} else {s_equipment = (Equipment) session.getAttribute("s_equipment");}
PageBean pageBean = new PageBean(Integer.parseInt(page), 10);
// 将匹配界面查询条件的结果返回并赋值给equipmentList
List<Equipment> equipmentList = equipmentService.findByInfo2(pageBean,s_equipment);
设备维修管理
维修完成
代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26public void finishRepair(@RequestParam(value = "id") String id,
HttpSession session, HttpServletResponse response) throws Exception {
String repairMan = ((User) session.getAttribute("currentUser")).getTrueName();
JSONObject result = new JSONObject();
// 通过设备ID 将设备状态更新为正常
equipmentService.updateRepair(Integer.parseInt(id),Integer.parseInt(repairId), repairMan, success);
result.put("success", true);
ResponseUtil.write(result, response);}
```
##### 设备报废操作

代码
``` PYTHON
public void finishRepair(@RequestParam(value = "id") String id,
HttpSession session, HttpServletResponse response) throws Exception {
String repairMan = ((User) session.getAttribute("currentUser")).getTrueName();
JSONObject result = new JSONObject();
// 将设备状态更新为“报废”
equipmentService.updateRepair(Integer.parseInt(id),Integer.parseInt(repairId), repairMan, success);
result.put("success", true);
ResponseUtil.write(result, response);}
保修详细信息
代码1
2
3
4
5
6
7
8
9
10
11
12
13
14public ModelAndView repairinfo(@RequestParam(value = "id", required = false) String id) {
ModelAndView mav = new ModelAndView();
List<Repair> repairList = repairService.find(null, null);
mav.addObject("mainPage", "equipment/repairinfo.jsp");
mav.addObject("modeName", "维修设备管理");
mav.addObject("repairList", repairList);
mav.setViewName("main");
if (StringUtil.isNotEmpty(id)) {
mav.addObject("actionName", "报修详情");
// 根据获取到的ID查询出设备详细信息
Repair repair = repairService.findById(Integer.parseInt(id));
mav.addObject("repair", repair);
} else {mav.addObject("actionName", "报修详情");}
return mav;}
查询维修设备信息
1 | ModelAndView mav = new ModelAndView(); |
维修历史
维修历史查询
代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19public ModelAndView repairHistory(@RequestParam(value = "page", required = false) String page,Repair s_repair, HttpServletRequest request) {
ModelAndView mav = new ModelAndView();
HttpSession session = request.getSession();
if (StringUtil.isEmpty(page)) {page = "1";
session.setAttribute("s_repair", s_repair);
} else {s_repair = (Repair) session.getAttribute("s_repair");}
s_repair.setFinishState(2);
PageBean pageBean = new PageBean(Integer.parseInt(page), 10);
// 将维修历史记录的所有数据查询赋值到repairList中
List<Repair> repairList = repairService.findRepair(pageBean, s_repair);
int total = repairService.count(s_repair);
String pageCode = PageUtil.getPagation(request.getContextPath()
+ "/equipment/repairHistory.do", total, Integer.parseInt(page),10);
mav.addObject("pageCode", pageCode);
mav.addObject("modeName", "维修设备历史");
mav.addObject("repairList", repairList);
mav.addObject("mainPage", "equipment/repairHistory.jsp");
mav.setViewName("main");
return mav;}
导出维修历史
代码1
2
3
4public String exportslx() {
// 调用exportxls()方法生成excel表格
repairDao.exportxls();
return "redirect:/equipment/repairHistory.do";}
采购申请处理
处理申请信息
代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19public ModelAndView buyEquipmentInfo(@RequestParam(value = "id", required = false) String id){ ModelAndView mav = new ModelAndView();
// 获取设备采购申请信息
List<Equipment> equipmentList = equipmentService.findBuyInfo(null, null);
mav.addObject("mainPage", "buyapple/showinfobuy.jsp");
mav.addObject("modeName", "采购申请处理");
mav.addObject("equipmentTypeList", equipmentList);
mav.setViewName("main");
if (StringUtil.isNotEmpty(id))
{ mav.addObject("actionName", "申请详情");
Equipment equipment = equipmentService.loadById(Integer.parseInt(id));
mav.addObject("equipment", equipment);
} else{mav.addObject("actionName", "申请详情");}
// 获取部门信息
List<Department> departmentList = departmentService.find(null, null);
// 获取设备类型信息
List<EquipmentType> equipmentTypeList = equipmentTypeService.find(null,null);
mav.addObject("departmentList", departmentList);
mav.addObject("equipmentTypeList", equipmentTypeList);
return mav;}
删除处理信息
代码1
2
3
4
5
6public void delete(@RequestParam(value = "id") String id,HttpServletResponse response) throws Exception {
JSONObject result = new JSONObject();
// 通过ID调用delete方法删除订单处理
equipmentService.delete(Integer.parseInt(id));
result.put("success", true);
ResponseUtil.write(result, response);}
修改密码
代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25public ModelAndView alertpasswordinfo(User user,HttpServletRequest request){
ModelAndView mav=new ModelAndView();
String oldpassword = request.getParameter("oldpassword"); //当前旧密码
String oldpassword1 = request.getParameter("oldpassword1"); //输入的旧密码
String newpassword = request.getParameter("password"); // 新密码
// 将界面输入的密码MD5加密匹配数据库的旧密码
if(oldpassword.equals(md5oldpassword1)){
// 若相同则可以修改,完成后再页面提示修改成功
userService.updatepassword(user, newpassword);
mav.addObject("mainPage", "user/alertpassword.jsp");
mav.addObject("modeName", "密码修改");
mav.setViewName("main");
mav.addObject("actionName", "密码修改");
mav.addObject("succ", "<div class='alert alert-success'><a href='../login.jsp' class='alert-link'>修改成,点此返回登录页面。</a></div>");
return mav;
}else{
// 若不匹配则提示密码错误
mav.addObject("mainPage", "user/alertpassword.jsp");
mav.addObject("modeName", "密码修改");
mav.setViewName("main");
mav.addObject("actionName", "密码修改");
mav.addObject("errorinfo", "<font color='red'>原密码错误!</font>");
return mav;
}
}