Java项目:SSH实验室设备管理系统

作者主页:夜未央5788

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

本项目包含三种角色:管理员、教师与学生;
管理员主要功能包括:
通知管理;
用户管理;
实验室管理:实验室预约、实验室预约记录;
设备管理:技术参数管理、运行数据管理、电子文档管理;
设备维修管理:设备维修管理、设备报修日志;
设备借用管理:设备借用管理、设备借用日志;

教师主要功能包括:
通知管理;
用户管理;
实验室管理:实验室预约;
设备借用管理:设备借用管理;

学生主要功能包括:
通知管理;
用户管理;

设备借用管理:设备借用管理;

环境需要

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.数据库:MySql 5.7版本;

6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

技术栈

1. 后端:Spring Struts Hibernate

2. 前端:JSP+css+javascript+jQuery+easyui+H-ui

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入http://localhost:8080/ 登录 
管理员账号密码:admin/111111
教师账号密码:js/111111

学生账号密码:xs/111111

运行截图

 

 

 

 

 

 

 

相关代码 

EquipmentAction

package com.xznu.edu.leave.action;

/**
 * 用户新增
 */

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.xznu.edu.leave.model.*;
import com.xznu.edu.leave.service.*;
import com.xznu.edu.leave.utils.*;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.*;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.struts2.ServletActionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller("equipmentAction")
@Scope("prototype")
public class EquipmentAction extends ActionSupport implements ModelDriven<Equipment> {
    @Autowired
    private LaboratoryService laboratoryService;
    @Autowired
    private EquipmentService equipmentService;
    @Autowired
    private EquipmentLogService equipmentLogService;
    @Autowired
    private RepairLogService repairLogService;
    private Equipment equipment;
    private Map<String, Object> map = new HashMap();
    private File file;
    private String fileFileName;
    private String fileContentType;
    private String downloadFileName;
    private Integer exportId;

    /**
     * list
     *
     * @return
     */
    public String list() {
        User user1 = UserUtils.getUser();
        if (user1 == null || user1.getId() == null) {
            ActionContext.getContext().put("login", 1);
            return SUCCESS;
        }
        Pager<Equipment> pagers = null;
        Role role = user1.getRole();
        if (role.getEnName().equals("admin")) {
            pagers = equipmentService.getList(equipment);
            ActionContext.getContext().put("pagers", pagers);
            ActionContext.getContext().put("user", user1);
            Pager<Laboratory> pagers2 = laboratoryService.getList(null);
            ActionContext.getContext().put("pagers2", pagers2);
            ActionContext.getContext().put("bean", equipment);
        }
        return SUCCESS;
    }

    /**
     * list
     *
     * @return
     */
    public String dataList() {
        User user1 = UserUtils.getUser();
        if (user1 == null || user1.getId() == null) {
            ActionContext.getContext().put("login", 1);
            return SUCCESS;
        }
        Pager<Equipment> pagers = null;
        Role role = user1.getRole();
        if (role.getEnName().equals("admin")) {
            pagers = equipmentService.getList(equipment);
            ActionContext.getContext().put("pagers", pagers);
            ActionContext.getContext().put("user", user1);
            Pager<Laboratory> pagers2 = laboratoryService.getList(null);
            ActionContext.getContext().put("pagers2", pagers2);
            ActionContext.getContext().put("bean", equipment);

        }
        return SUCCESS;
    }


    /**
     * list
     *
     * @return
     */
    public String dataList2() {
        User user1 = UserUtils.getUser();
        if (user1 == null || user1.getId() == null) {
            ActionContext.getContext().put("login", 1);
            return SUCCESS;
        }
        Pager<Equipment> pagers = null;
        Role role = user1.getRole();
        if (role.getEnName().equals("admin")) {
            pagers = equipmentService.getList(equipment);
            ActionContext.getContext().put("pagers", pagers);
            ActionContext.getContext().put("user", user1);
            Pager<Laboratory> pagers2 = laboratoryService.getList(null);
            ActionContext.getContext().put("pagers2", pagers2);
            ActionContext.getContext().put("bean", equipment);
        }
        return SUCCESS;
    }

    /**
     * 跳转add
     *
     * @return
     */
    public String add() {
        User user1 = UserUtils.getUser();
        ActionContext.getContext().put("bean", user1);
        return SUCCESS;
    }

    /**
     * 查询修改
     *
     * @return
     */
    public String edit() {
        Equipment bean = equipmentService.findById(equipment.getId());
        Pager<Laboratory> pagers2 = laboratoryService.getList(null);
        ActionContext.getContext().put("pagers2", pagers2);
        ActionContext.getContext().put("bean", bean);
        return SUCCESS;
    }


    /**
     * 使用
     *
     * @return
     */
    public void updateSh() throws IOException {
        equipment.setFwTime(new Date());
        equipment.setIsFw(1);
        equipmentService.updates(equipment);
        map.put("flag", true);
        map.put("url", "equipment_dataList.do");
        JsonUtils.toJson(map);
    }

    /**
     * 借用list
     *
     * @return
     */
    public String dataList3() {
        User user1 = UserUtils.getUser();
        if (user1 == null || user1.getId() == null) {
            ActionContext.getContext().put("login", 1);
            return SUCCESS;
        }
        Pager<Equipment> pagers = null;
        pagers = equipmentService.getList(equipment);
        ActionContext.getContext().put("pagers", pagers);
        ActionContext.getContext().put("user", user1);
        Pager<Laboratory> pagers2 = laboratoryService.getList(null);
        ActionContext.getContext().put("pagers2", pagers2);
        ActionContext.getContext().put("bean", equipment);
        return SUCCESS;
    }

    /**
     * 借用
     *
     * @return
     */
    public void yy() throws IOException {
        Equipment equipment1 = equipmentService.findById(equipment.getId());
        if (equipment1.getIsJy() == 0) {
            equipment.setIsJy(1);
            equipment.setJyUser(UserUtils.getUser());
            EquipmentLog log = new EquipmentLog();
            log.setUser(UserUtils.getUser());
            log.setTime(new Date());
            log.setEquipment(equipment);
            log.setIsYy(1);
            equipmentLogService.save(log);
            equipment.setJyId(log.getId());
            equipmentService.updates(equipment);
            map.put("flag", true);
            map.put("url", "equipment_dataList3.do");
            JsonUtils.toJson(map);
        } else {
            map.put("flag", false);
            map.put("url", "equipment_dataList3.do");
            JsonUtils.toJson(map);
        }

    }

    /**
     * 借用归还
     *
     * @return
     */
    public void qx() throws IOException {
        Equipment equipment1 = equipmentService.findById(equipment.getId());
        EquipmentLog equipmentLog = equipmentLogService.findById(equipment1.getJyId());
        if (equipmentLog.getUser().getId() == UserUtils.getUser().getId()) {
            equipment1.setIsJy(0);
            equipmentService.update(equipment1);
            equipmentLog.setIsYy(0);
            equipmentLog.setEndTime(new Date());
            equipmentLog.setQx(UserUtils.getUser());
            equipmentLogService.updates(equipmentLog);
            map.put("flag", true);
            map.put("url", "equipment_dataList3.do");
            JsonUtils.toJson(map);
        } else {
            map.put("flag", false);
            map.put("url", "equipment_dataList3.do");
            JsonUtils.toJson(map);
        }
    }

    /**
     * 更新
     *
     * @return
     */
    public String updateDoc() throws IOException {
        if (file != null) {
            ActionContext ac = ActionContext.getContext();
            HttpServletRequest request = (HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
            String root = request.getRealPath("/upload");
            InputStream is = new FileInputStream(file);
            String f = fileFileName;
            f = UUIDUtils.create() + fileFileName;
            OutputStream os = new FileOutputStream(new File(root, f));
            byte[] buffer = new byte[500];
            int length = 0;
            while (-1 != (length = is.read(buffer, 0, buffer.length))) {
                os.write(buffer);
            }
            os.close();
            is.close();
            equipment.setHt("\\upload\\" + f);
        }
        equipmentService.updates(equipment);
        ActionContext.getContext().put("url", "equipment_dataList.do");
        return "redirect";
    }

    /**
     * 更新
     *
     * @return
     */
    public void deleteDocAndPhoto() throws IOException {
        Equipment ee = equipmentService.findById(equipment.getId());
        ee.setPhoto(null);
        ee.setHt(null);
        equipmentService.updates(equipment);
        map.put("flag", true);
        map.put("url", "equipment_dataList2.do");
        JsonUtils.toJson(map);
    }

    /**
     * 更新
     *
     * @return
     */
    public String updatePhoto() throws IOException {
        if (file != null) {
            ActionContext ac = ActionContext.getContext();
            HttpServletRequest request = (HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
            String root = request.getRealPath("/upload");
            InputStream is = new FileInputStream(file);
            String f = fileFileName;
            f = UUIDUtils.create() + fileFileName;
            OutputStream os = new FileOutputStream(new File(root, f));
            byte[] buffer = new byte[500];
            int length = 0;
            while (-1 != (length = is.read(buffer, 0, buffer.length))) {
                os.write(buffer);
            }
            os.close();
            is.close();
            equipment.setPhoto("\\upload\\" + f);
        }
        equipmentService.updates(equipment);
        ActionContext.getContext().put("url", "equipment_dataList2.do");
        return "redirect";
    }

    /**
     * 更新
     *
     * @return
     */
    public void update() throws IOException {
        equipmentService.updates(equipment);
        map.put("flag", true);
        map.put("url", "equipment_dataList.do");
        JsonUtils.toJson(map);
    }

    public void download() throws IOException {
        Equipment equipment1 = equipmentService.findById(equipment.getId());
        downloadFileName = URLEncoder.encode(equipment1.getHt(), "utf-8");
        // 1、得到要下载文件的完整路径
        String path = ServletActionContext.getServletContext().getRealPath(equipment1.getHt());
        System.out.println("path :" + path);
        HttpServletResponse resp = ServletActionContext.getResponse();
        resp.setContentType("application/x-msdownload");// 指定响应动作是下载路径
        resp.setHeader("Content-disposition", "attachment;filename=export.doc");
        //读取文件
        InputStream in = new FileInputStream(path);
        OutputStream out = resp.getOutputStream();
        //写文件
        int b;
        while ((b = in.read()) != -1) {
            out.write(b);
        }
        in.close();
        out.close();
        map.put("flag", true);
        map.put("url", "equipment_dataList.do");
        JsonUtils.toJson(map);
    }


    /**
     * 保存
     *
     * @return
     */
    public String save() throws IOException {
        equipmentService.save(equipment);
        map.put("flag", true);
        map.put("url", "equipment_list.do");
        JsonUtils.toJson(map);
        return SUCCESS;
    }

    public void delete() throws IOException {
        equipment.setIsDelete(1);
        equipmentService.updates(equipment);
        map.put("flag", true);
        map.put("url", "equipment_list.do");
        JsonUtils.toJson(map);
    }

    public void export() throws IOException {
        List<Equipment> list = equipmentService.getList(equipment).getDatas();
        // 生成Workbook
        HSSFWorkbook wb = new HSSFWorkbook();
        // 追加Sheet
        Sheet sheet = wb.createSheet("Sheet");
        // 总列数
        Integer CountColumnNum = 6;
        Cell[] firstCell = new Cell[CountColumnNum];
        String[] firstCellNames = new String[CountColumnNum];
        firstCellNames[0] = "设备型号";
        firstCellNames[1] = "设备价格";
        firstCellNames[2] = "设备制造商";
        firstCellNames[3] = "设备序列号";
        firstCellNames[4] = "服务开始时间";
        // 插入行
        Row firstRow = sheet.createRow(0);
        for (int j = 0; j < CountColumnNum; j++) {
            firstCell[j] = firstRow.createCell(j);
            firstCell[j].setCellValue(new HSSFRichTextString(firstCellNames[j]));
        }
        BigDecimal bd;
        for (int i = 0; i < list.size(); i++) {
            // 创建一行
            Row row = sheet.createRow(i + 1);
            Cell id = row.createCell(0);
            id.setCellValue(list.get(i).getXh().toString());
            bd = new BigDecimal(list.get(i).getJg().toString());
            bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
            Cell by = row.createCell(1);
            by.setCellValue(bd.toString());
            Cell zzs = row.createCell(2);
            zzs.setCellValue(list.get(i).getZzs().toString());
            Cell xh = row.createCell(3);
            xh.setCellValue(list.get(i).getSbxlh().toString());
            Cell sj = row.createCell(4);
            if (list.get(i).getFwTime() != null && !list.get(i).getFwTime().equals("")) {
                sj.setCellValue(list.get(i).getFwTime().toString());
            }
        }
        // 创建文件输出流,准备输出电子表格
        HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("application/vnd.ms-excel");//response.setContentType("application/vnd.ms-excel");
        response.setHeader("Content-disposition", "attachment;filename=export.xls");
        OutputStream out = response.getOutputStream();
        wb.write(out);
        out.flush();
        out.close();
    }

    @Override
    public Equipment getModel() {
        if (equipment == null) {
            equipment = new Equipment();
        }
        return equipment;
    }

    public File getFile() {
        return file;
    }

    public void setFile(File file) {
        this.file = file;
    }

    public String getFileFileName() {
        return fileFileName;
    }

    public void setFileFileName(String fileFileName) {
        this.fileFileName = fileFileName;
    }

    public String getFileContentType() {
        return fileContentType;
    }

    public void setFileContentType(String fileContentType) {
        this.fileContentType = fileContentType;
    }

    public String getDownloadFileName() {
        return downloadFileName;
    }

    public void setDownloadFileName(String downloadFileName) {
        this.downloadFileName = downloadFileName;
    }

    public Integer getExportId() {
        return exportId;
    }

    public void setExportId(Integer exportId) {
        this.exportId = exportId;
    }
}

如果也想学习本系统,下面领取。关注并回复:116ssh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜未央5788

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值