欢迎光临散文网 会员登陆 & 注册

毕业设计-基于Springboot实现公租房申请管理系统

2022-07-24 09:49 作者:指南针毕业设计  | 我要投稿

 作者主页:编程指南针

作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师

主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助

文末获取源码 

项目编号:BS-XX-120

一,项目简介

本项目基于Springboot开发实现了一个公租房申请管理系统平台,系统分为管理员用户和公租房申请用户。管理员用户又分为三种:超级管理员,基础数据管理员,审核管理员。超级管理员主要用来管理管理员和普通用户信息,资讯信息等,基础数据管理员主要用来管理小区,房屋等相关信息,审核管理员主要用来审核用户的申请信息,给用户进行配租等。前端用户在前台界面可以查看公租房申请的相关政策信息,相关流程,实现在线注册和登陆,并可以在线申请公租房。

二,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

后台开发技术:springboot+mybatis

前台开发技术:layui+jquery

特点技术:短信发送,GoEasy通信技术等

三,系统展示

前端用户功能展示

用户注册

编辑


用户登陆

编辑


首页

编辑



申请指南

编辑


新闻动态

编辑

审核结果公示

编辑


在线申请

编辑


申请结果查询

编辑


管理员功能展示

超级管理员登陆

编辑


后台主界面

编辑


管理员管理:可以停用和删除

编辑



前台用户管理

编辑


资讯管理

编辑

审核人员管理功能

编辑


办公地点管理

编辑


公告管理

编辑

审核结果发布

编辑


基础数据管理员

编辑

房屋管理

编辑


给通过人员配租

编辑


编辑


四,核心代码展示

package org.wy.gzf_boot.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;import org.wy.gzf_boot.model.Admin;import org.wy.gzf_boot.model.Community;import org.wy.gzf_boot.service.AdminService;import org.wy.gzf_boot.service.ApartmentService;import org.wy.gzf_boot.service.CommunityService;import javax.annotation.Resource;import javax.servlet.http.HttpSession;import java.util.HashMap;import java.util.List;import java.util.Map;/** * <p> * 管理员表 前端控制器 * </p> * * @since 2020-03-08 */@Controller@RequestMapping("/admin")public class AdminController {    @Resource    private AdminService adminService;    @Resource    private CommunityService communityService;    @Resource    private ApartmentService apartmentService;    @RequestMapping("/toWelcome")    public String toWelcome(){        return "xianadmin/welcome";    }    /**     * 登录页面入口     * @return     */    @RequestMapping("/toLogin")    public String toLogin(){        return "xianadmin/login";    }    /**     * 管理员登录验证账号密码     */    @ResponseBody    @RequestMapping("/toCheck")    public Map toCheck(Admin admin,HttpSession session){        Map map=new HashMap();        Admin a=adminService.login(admin);        if(a!=null){            session.setAttribute("admin",a);            map.put("admin",a);        }        return map;    }    @RequestMapping("/toIndex")    public String toIndex(int adminState){        if(adminState==0){            return "superadmin/index";        }else if (adminState==1){            return "xianadmin/index";        }else{            return "shiadmin/index";        }    }    @RequestMapping("/toRole")    public String toRole(){        return "superadmin/admin-role";    }    @RequestMapping("/toAdminList")    public String toAdminList(){        return "superadmin/admin-list";    }    @RequestMapping("/toCommunityList")    public String toCommunityList(){        return "superadmin/community-list";    }    @RequestMapping("/toAddCommunity")    public String toAddCommunity(){        return "superadmin/community-add";    }    @RequestMapping("/toApartmentList")    public ModelAndView toApartmentList(ModelAndView mv){        List<Community> allCommunity=communityService.getCommunityList();        mv.addObject("allCommunity",allCommunity);        mv.setViewName("superadmin/apartment-list");        return mv;    }    @RequestMapping("/toAddApartment")    public ModelAndView toAddApartment(ModelAndView mv){        List<Community> allCommunity=communityService.getCommunityList();        mv.addObject("allCommunity",allCommunity);        mv.setViewName("superadmin/apartment-add");        return mv;    }    @RequestMapping("/toApplicant")    public String toApplicant(){        return "xianadmin/applicant-list";    }    @RequestMapping("/toAddApplicant")    public String toAddApplicant(){        return "xianadmin/applicant-add";    }    @RequestMapping("/toApplyCheck")    public String toApplyCheck(){        return "shiadmin/shi-apply-list";    }    @RequestMapping("/toNotice")    public String toNotice(){        return "superadmin/notice-write";    }    @ResponseBody    @RequestMapping("/adminExit")    public ModelAndView adminExit(HttpSession session,ModelAndView mv){     session.invalidate();     mv.setViewName("xianadmin/login");     return mv;    }    @RequestMapping("/toNoticeBox")    public ModelAndView toNoticeBox(ModelAndView mv){        mv.setViewName("shiadmin/notice-box");        return mv;    }    @RequestMapping("/toAdmin")    public String toAdmin(){        return "superadmin/admin-list";    }    @ResponseBody    @RequestMapping("/getAdminList")    public Map toAdminList(Admin admin){        Map map=new HashMap();        List adminList=adminService.getAdminList(admin);        int adminCount=adminService.getAdminCount(admin);        map.put("adminList",adminList);        map.put("adminCount",adminCount);        return map;    }    @ResponseBody    @RequestMapping("/addAdmin")    public int addAdmin(Admin admin){        return adminService.addAdmin(admin);    }    @RequestMapping("/toAddAdmin")    public String toAddAdmin(){        return "superadmin/admin-add";    }    @ResponseBody    @RequestMapping("/banAdminById")    public int banAdminById(Admin admin){        return adminService.banAdminById(admin);    }    @ResponseBody    @RequestMapping("delAdmin")    public int delAdmin(Admin admin){        return adminService.delAdmin(admin);    }    @RequestMapping("/toApplyHelp")    public String toApplyHelp(){        return "user/apply-help";    } }


package org.wy.gzf_boot.controller;import com.github.pagehelper.PageInfo;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.*;import org.springframework.stereotype.Controller;import org.springframework.transaction.annotation.Transactional;import org.springframework.transaction.interceptor.TransactionAspectSupport;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.servlet.ModelAndView;import org.wy.gzf_boot.mapper.ApartmentMapper;import org.wy.gzf_boot.model.Apartment;import org.wy.gzf_boot.model.Community;import org.wy.gzf_boot.service.ApartmentService;import org.wy.gzf_boot.service.CommunityService;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.websocket.server.PathParam;import java.io.BufferedOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.HashMap;import java.util.List;import java.util.Map;/** * <p> * 房源表 前端控制器 * </p> * * @since 2020-03-08 */@Controller@RequestMapping("/apartment")public class ApartmentController {    @Resource    private ApartmentService apartmentService;    @Resource    private CommunityService communityService;    //获取符合条件的所有房源    @ResponseBody    @RequestMapping("/getApartmentList")    public Map getApartmentList(Community community, Apartment apartment,int pageNum, int pageSize){        apartment.setCommunity(community);        System.out.println("单元号:"+apartment.getUnitId());        Map map=new HashMap();        map.put("apartment",apartment);        int apartmentCount=apartmentService.getApartmentCount(map);        map.put("pageNum",pageNum);        map.put("pageSize",pageSize);        PageInfo page=apartmentService.getApartmentList(map);        map.put("apartmentCount",apartmentCount);        map.put("page",page);        return map;    }    //获取符合条件的所有空闲房源    @ResponseBody    @RequestMapping("/getFreeApartmentList")    public Map getFreeApartmentList(Community community, Apartment apartment,int pageNum, int pageSize){        apartment.setCommunity(community);        System.out.println("单元号:"+apartment.getUnitId());        Map map=new HashMap();        map.put("apartment",apartment);        int apartmentCount=apartmentService.getFreeApartmentCount(map);        map.put("pageNum",pageNum);        map.put("pageSize",pageSize);        PageInfo page=apartmentService.getFreeApartmentList(map);        map.put("apartmentCount",apartmentCount);        map.put("page",page);        return map;    }    /**     * 添加房源     * @param apartment     * @return     */    @ResponseBody    @RequestMapping("/addApartment")    public int addApartment(Apartment apartment,Community community){        apartment.setCommunity(community);        int result=apartmentService.addApartment(apartment);        return result;    }    @ResponseBody    @RequestMapping("/delApartment")    public int delApartment(int apartmentId){        return apartmentService.delApartment(apartmentId);    }    @RequestMapping("/toApartmentEdit")    public ModelAndView toEditApartment(Apartment apartment, ModelAndView mv){        Apartment apartment1=apartmentService.getApartmentById(apartment);        mv.addObject("apartment",apartment1);        mv.setViewName("superadmin/apartment-edit");        return mv;    }    @ResponseBody    @RequestMapping("/editApartment")    public int editApartment(Apartment apartment){        return apartmentService.editApartment(apartment);    }    /**     * excel导出     * @param request     * @param response     * @throws Exception     */    @RequestMapping("/apartment_excel_down")    public void exportPermMatrix(HttpServletRequest request, HttpServletResponse response) throws Exception {        HSSFWorkbook workbook = new HSSFWorkbook();        HSSFSheet sheet = workbook.createSheet("xxx信息表");        List<Apartment> apartmentList = apartmentService.getAllApartment();        //此处添加数据        HSSFRow headerRow1 = sheet.createRow(0);        headerRow1.createCell(0).setCellValue("位置");        headerRow1.createCell(1).setCellValue("房源");        headerRow1.createCell(2).setCellValue("房源面积");        headerRow1.createCell(3).setCellValue("计租面积");        headerRow1.createCell(4).setCellValue("户型");        headerRow1.createCell(5).setCellValue("建筑结构");        headerRow1.createCell(6).setCellValue("状态");        //headerRow1.createCell(6).setCellValue("总层数");        for (int i = 0; i < apartmentList.size(); i++) {            HSSFRow headerRow = sheet.createRow(i + 1);            headerRow.createCell(0).setCellValue(apartmentList.get(i).getCommunity().getLocation());            headerRow.createCell(1).setCellValue(apartmentList.get(i).getCommunity().getCommunityName()+apartmentList.get(i).getUnitId()+"号楼"+apartmentList.get(i).getFloorId()+"-"+apartmentList.get(i).getRoomId());            headerRow.createCell(2).setCellValue(apartmentList.get(i).getRoomArea()+"㎡");            headerRow.createCell(3).setCellValue(apartmentList.get(i).getRentArea()+"㎡");            headerRow.createCell(4).setCellValue(apartmentList.get(i).getHouseType());            headerRow.createCell(5).setCellValue(apartmentList.get(i).getCommunity().getStructure());            headerRow.createCell(6).setCellValue(apartmentList.get(i).getRoomState());        }        //清空response        response.reset();        response.setContentType("multipart/form-data");        response.setHeader("Content-Disposition",                "attachment; filename=" + new String("房源信息列表".getBytes(), "iso8859-1") + ".xls");        OutputStream os = new BufferedOutputStream(response.getOutputStream());        workbook.write(os);        os.flush();        os.close();        //workbook.close();    }    /**     * excel导入数据     */    @ResponseBody    @RequestMapping("/apartment_input_excel")    @Transactional(rollbackFor = Exception.class)    public Map importWatchExcel(@RequestParam("file") MultipartFile xlsFile) {        Map result = new HashMap<>();        // contentType        // String contentType = file.getContentType();        // excel文件名        // String fileName = file.getOriginalFilename();        if (xlsFile.isEmpty()) {            result.put("code", 500);            result.put("message", "导入文件为空!");            return result;        }        // 根据不同excel创建不同对象,Excel2003版本-->HSSFWorkbook,Excel2007版本-->XSSFWorkbook        Workbook wb = null;        InputStream im = null;        try {            im = xlsFile.getInputStream();            wb = WorkbookFactory.create(im);            // 根据页面index 获取sheet页            Sheet sheet = wb.getSheetAt(0);            Row row = null;            // 循环sheet页中数据从第x行开始,例:第3行开始为导入数据            for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) {               Apartment apartment=new Apartment();                // 获取每一行数据                row = sheet.getRow(i);                // 输出表格内容,此处可替换为数据插入操作                String communityName=row.getCell(1).getStringCellValue();                List communityList=communityService.getCommunityByName(communityName);                Community community= (Community) communityList.get(0);                apartment.setCommunity(community);                if (null != row.getCell(2) && "" != row.getCell(2).toString()) {                    row.getCell(2).setCellType(CellType.STRING);                    apartment.setUnitId(Integer.parseInt(row.getCell(2).getStringCellValue()));                }                if (null != row.getCell(3) && "" != row.getCell(3).toString()) {                    row.getCell(3).setCellType(CellType.STRING);                   apartment.setFloorId(Integer.parseInt(row.getCell(3).getStringCellValue()));                }                if (null != row.getCell(4) && "" != row.getCell(4).toString()) {                    row.getCell(4).setCellType(CellType.STRING);                    apartment.setRoomId(Integer.parseInt(row.getCell(4).getStringCellValue()));                }                if (null != row.getCell(5) && "" != row.getCell(5).toString()) {                    String roomArea=row.getCell(5).getStringCellValue();                    apartment.setRoomArea(Float.parseFloat(roomArea));                }                if (null != row.getCell(6) && "" != row.getCell(6).toString()) {                    String rentArea=row.getCell(6).getStringCellValue();                    apartment.setRentArea(Float.parseFloat(rentArea));                }                if (null != row.getCell(7) && "" != row.getCell(7).toString()) {                    apartment.setHouseType(row.getCell(7).getStringCellValue());                }                if (null != row.getCell(9) && "" != row.getCell(9).toString()) {                    apartment.setRoomState(row.getCell(9).getStringCellValue());                }                apartmentService.addApartment(apartment);            }            result.put("code", 200);            result.put("message", "导入成功!");        } catch (Exception e1) {            // 回滚数据            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();            e1.printStackTrace();        } finally {            try {                im.close();                wb.close();            } catch (IOException e2) {                e2.printStackTrace();            }        }        return result;    }    @RequestMapping("/toSelectExcel")    public String toSelectExcel(){        return "superadmin/apartment-excel-select";    }    @ResponseBody    @RequestMapping("/getAllApartment")    public List getAllApartment(){        return apartmentService.getAllApartment();    } }

package org.wy.gzf_boot.controller;import com.github.pagehelper.PageInfo;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.*;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Controller;import org.springframework.transaction.annotation.Transactional;import org.springframework.transaction.interceptor.TransactionAspectSupport;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.MultipartHttpServletRequest;import org.springframework.web.servlet.ModelAndView;import org.wy.gzf_boot.model.*;import org.wy.gzf_boot.service.ApplicantService;import org.wy.gzf_boot.service.SecondTrialService;import org.wy.gzf_boot.service.UserInformService;import org.wy.gzf_boot.util.FileUtils;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.*;import java.util.*;/** * <p> * 申请人表 前端控制器 * </p> * * @since 2020-03-08 */@Controller@RequestMapping("/applicant")public class ApplicantController {    @Resource    private ApplicantService applicantService;    @Resource    private SecondTrialService secondTrialService;    @Resource    private UserInformService userInformService;    @Value("${uploadPath}")    private String uploadPath;    @ResponseBody    @RequestMapping("/getApplicantList")    public Map getApplicantList(int pageSize, int pageNum, String applicantName, String adminState) {        Map map = new HashMap();        map.put("adminState", adminState);        int applicantCount = applicantService.getApplicantCount(map);        map.put("applicantCount", applicantCount);        System.out.println("申请人总条数:" + applicantCount);        map.put("pageNum", pageNum);        map.put("pageSize", pageSize);        map.put("applicantName", applicantName);        PageInfo page = applicantService.getApplicantList(map);        map.put("page", page);        return map;    }    /**     * 申请人信息提交,多文件上传     *     * @param request     * @return     */    @ResponseBody    @RequestMapping("/addApplicant")    public int addApply(HttpServletRequest request) {        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;        List<MultipartFile> file1 = multipartRequest.getFiles("file1");        List<MultipartFile> file2 = multipartRequest.getFiles("file2");        List<MultipartFile> file3 = multipartRequest.getFiles("file3");        List<MultipartFile> file4 = multipartRequest.getFiles("file4");        List<MultipartFile> file5 = multipartRequest.getFiles("file5");        Applicant applicant = new Applicant();        User user = new User();        user.setUserId(Integer.parseInt(multipartRequest.getParameter("userId")));        applicant.setUser(user);        applicant.setApplicantName(multipartRequest.getParameter("applicantName"));        applicant.setSex(Integer.parseInt(multipartRequest.getParameter("sex")));        applicant.setIdNumber(multipartRequest.getParameter("idNumber"));        applicant.setBirthday(multipartRequest.getParameter("birthday"));        applicant.setEducation(multipartRequest.getParameter("education"));        applicant.setWorkUnit(multipartRequest.getParameter("workUnit"));        applicant.setPhone(multipartRequest.getParameter("phone"));        applicant.setAddress(multipartRequest.getParameter("address"));        Community community = new Community();        community.setCommunityId(Integer.parseInt(multipartRequest.getParameter("communityId")));        applicant.setCommunity(community);        applicant.setDemandArea(Integer.parseInt(multipartRequest.getParameter("demandArea")));        applicant.setDemandFloor(Integer.parseInt(multipartRequest.getParameter("demandFloor")));        applicant.setDemandRoom(multipartRequest.getParameter("demandRoom"));        List<MultipartFile> allFiles = new ArrayList<>();        allFiles.add(file1.get(0));        allFiles.add(file2.get(0));        allFiles.add(file3.get(0));        allFiles.add(file4.get(0));        allFiles.add(file5.get(0));        for (int i = 0; i < allFiles.size(); i++) {            String fileName = allFiles.get(i).getOriginalFilename();            if (!"".equals(fileName)) {                String suffixName = fileName.substring(fileName.lastIndexOf("."));                fileName = UUID.randomUUID() + suffixName;  //新文件名                if (i == 0) {                    applicant.setIdentityCard(fileName);                } else if (i == 1) {                    applicant.setMarriageProof(fileName);                } else if (i == 2) {                    applicant.setHouseProof(fileName);                } else if (i == 3) {                    applicant.setWorkProof(fileName);                } else if (i == 4) {                    applicant.setApplyDoc(fileName);                }            }            String path = uploadPath;            FileUtils.upload(allFiles.get(i), path, fileName);        }        int result = applicantService.addApplicant(applicant);        if (result > 0) {            UserInform userInform = new UserInform();            userInform.setTitle("申请提交通知");            userInform.setContent(applicant.getApplicantName() + "(先生/女士),您的公租房申请材料已经提交,请您耐心等待。您可在首页的查询办理进度,也可等待审核公告发布");            userInform.setUser(user);            userInformService.addUserInform(userInform);            return result;        }        return 0;    }    @RequestMapping("/getApplicantById")    public ModelAndView getApplicantById(int applicantId, ModelAndView mv) {        Applicant applicant = applicantService.getApplicantById(applicantId);        mv.addObject("applicant", applicant);        mv.setViewName("xianadmin/applicant-edit");        return mv;    }    @ResponseBody    @RequestMapping("/editApplicant")    public int editApplicant(Applicant applicant) {        return applicantService.editApplicant(applicant);    }    @RequestMapping("/getIdentityCard")    public ModelAndView getIdentityCard(int applicantId, ModelAndView mv) {        Applicant applicant = applicantService.getIdentityCard(applicantId);        mv.setViewName("xianadmin/identitycard-img");        mv.addObject("applicant", applicant);        return mv;    }    @ResponseBody    @RequestMapping("/editIdentityCard")    public int editIdentityCard(@RequestParam("file") MultipartFile file, Applicant applicant) {        String fileName = file.getOriginalFilename();        if (!"".equals(fileName)) {            String suffixName = fileName.substring(fileName.lastIndexOf("."));            fileName = UUID.randomUUID() + suffixName;  //新文件名        }        String path = "D:\\gzf_boot\\src\\main\\resources\\static\\upload";        FileUtils.upload(file, path, fileName);        applicant.setIdentityCard(fileName);        int result = applicantService.editIdentityCard(applicant);        return result;    }    @RequestMapping("/shiCheckApplicant")    public ModelAndView shiCheckApplicant(int applicantId, ModelAndView mv) {        Applicant applicant = applicantService.getApplicantById(applicantId);        mv.addObject("applicant", applicant);        mv.setViewName("shiadmin/shi-apply-details");        return mv;    }    @RequestMapping("/xianCheckApplicant")    public ModelAndView xianCheckApplicant(int applicantId, ModelAndView mv) {        Applicant applicant = applicantService.getApplicantById(applicantId);        mv.addObject("applicant", applicant);        mv.setViewName("xianadmin/xian-apply-details");        return mv;    }    @RequestMapping("/checkIdentityCard")    public ModelAndView checkIdentityCard(int applicantId, ModelAndView mv) {        Applicant applicant = applicantService.getIdentityCard(applicantId);        mv.setViewName("shiadmin/identitycard-check");        mv.addObject("applicant", applicant);        return mv;    }    @RequestMapping("/checkMarriageProof")    public ModelAndView checkMarriageProof(Applicant applicant, ModelAndView mv) {        mv.setViewName("shiadmin/marriageProof-check");        mv.addObject("applicant", applicant);        return mv;    }    @RequestMapping("/checkWorkProof")    public ModelAndView checkWorkProof(Applicant applicant, ModelAndView mv) {        mv.setViewName("shiadmin/workProof-check");        mv.addObject("applicant", applicant);        return mv;    }    @RequestMapping("/checkHouseProof")    public ModelAndView checkHouseProof(Applicant applicant, ModelAndView mv) {        mv.setViewName("shiadmin/houseProof-check");        mv.addObject("applicant", applicant);        return mv;    }    @RequestMapping("/checkApplyDoc")    public ModelAndView checkApplyDoc(Applicant applicant, ModelAndView mv) {        mv.setViewName("shiadmin/applyDoc-check");        mv.addObject("applicant", applicant);        return mv;    }    @ResponseBody    @RequestMapping("/checkSuccess")    public int checkSuccess(int applicantId) {        Applicant applicant = new Applicant();        applicant.setShiState(1);        applicant.setApplicantId(applicantId);        int result = applicantService.checkApply(applicant);        SecondTrial secondTrial = new SecondTrial();        secondTrial.setApplicant(applicant);        int result2 = secondTrialService.addTrial(secondTrial);        if (result > 0 && result2 > 0) {            return 1;        } else {            return 0;        }    }    @RequestMapping("/toWriteRefuse")    public ModelAndView toWriteRefuse(int applicantId, int userId, ModelAndView mv) {        mv.setViewName("shiadmin/refuse-write");        mv.addObject("applicantId", applicantId);        mv.addObject("userId", userId);        return mv;    }    /**     * 下载小区信息    导出 excel 使用我们的模板导出     * /excel_down     */    @RequestMapping("/applicant_excel_down")    public void exportPermMatrix(int shiState, HttpServletRequest request, HttpServletResponse response) throws Exception {        HSSFWorkbook workbook = new HSSFWorkbook();        HSSFSheet sheet = workbook.createSheet("xxx信息表");        List<Applicant> list = new ArrayList<>();        System.out.println("________________" + shiState + "_________________________");        if (shiState == 0) {            list = applicantService.getAllApplicant();        } else {            list = applicantService.getOkApplicant();        }        //此处添加数据        HSSFRow headerRow1 = sheet.createRow(0);        headerRow1.createCell(0).setCellValue("申请人姓名");        headerRow1.createCell(1).setCellValue("性别");        headerRow1.createCell(2).setCellValue("身份证号");        headerRow1.createCell(3).setCellValue("出生日期");        headerRow1.createCell(4).setCellValue("学历");        headerRow1.createCell(5).setCellValue("工作单位");        headerRow1.createCell(6).setCellValue("联系电话");        headerRow1.createCell(7).setCellValue("联系地址");        headerRow1.createCell(8).setCellValue("需求面积");        headerRow1.createCell(9).setCellValue("需求楼层");        headerRow1.createCell(10).setCellValue("需求房型");        headerRow1.createCell(11).setCellValue("状态");        for (int i = 0; i < list.size(); i++) {            HSSFRow headerRow = sheet.createRow(i + 1);            headerRow.createCell(0).setCellValue(list.get(i).getApplicantName());            if (list.get(i).getSex() == 0) {                headerRow.createCell(1).setCellValue("男");            } else {                headerRow.createCell(1).setCellValue("女");            }            headerRow.createCell(2).setCellValue(list.get(i).getIdNumber());            headerRow.createCell(3).setCellValue(list.get(i).getBirthday());            headerRow.createCell(4).setCellValue(list.get(i).getEducation());            headerRow.createCell(5).setCellValue(list.get(i).getWorkUnit());            headerRow.createCell(6).setCellValue(list.get(i).getPhone());            headerRow.createCell(7).setCellValue(list.get(i).getAddress());            headerRow.createCell(8).setCellValue(list.get(i).getDemandArea() + "㎡");            headerRow.createCell(9).setCellValue(list.get(i).getDemandFloor() + "层");            headerRow.createCell(10).setCellValue(list.get(i).getDemandRoom());            if (list.get(i).getShiState() == 0) {                headerRow.createCell(11).setCellValue("未审核");            } else if (list.get(i).getShiState() == 1) {                headerRow.createCell(11).setCellValue("审核通过");            } else {                headerRow.createCell(11).setCellValue("审核未通过");            }        }        //清空response        response.reset();        response.setContentType("multipart/form-data");        if (shiState == 0) {            response.setHeader("Content-Disposition", "attachment; filename=" + new String("申请人信息列表(全部)".getBytes(), "iso8859-1") + ".xls");        } else {            response.setHeader("Content-Disposition", "attachment; filename=" + new String("申请人信息列表(已通过)".getBytes(), "iso8859-1") + ".xls");        }        OutputStream os = new BufferedOutputStream(response.getOutputStream());        workbook.write(os);        os.flush();        os.close();        workbook.close();    }    /**     * excel导入数据     */    @ResponseBody    @RequestMapping("applicant_input_excel")    @Transactional(rollbackFor = Exception.class)    public Map importWatchExcel(@RequestParam("file") MultipartFile xlsFile) {        Map result = new HashMap<>();        // contentType        // String contentType = file.getContentType();        // excel文件名        // String fileName = file.getOriginalFilename();        if (xlsFile.isEmpty()) {            result.put("code", 500);            result.put("message", "导入文件为空!");            return result;        }        // 根据不同excel创建不同对象,Excel2003版本-->HSSFWorkbook,Excel2007版本-->XSSFWorkbook        Workbook wb = null;        InputStream im = null;        try {            im = xlsFile.getInputStream();            wb = WorkbookFactory.create(im);            // 根据页面index 获取sheet页            Sheet sheet = wb.getSheetAt(0);            Row row = null;            // 循环sheet页中数据从第x行开始,例:第2行开始为导入数据            for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) {                Applicant applicant = new Applicant();                // 获取每一行数据                row = sheet.getRow(i);                // 输出表格内容,此处可替换为数据插入操作                if (null != row.getCell(0) && "" != row.getCell(0).toString()) {                    applicant.setApplicantName(row.getCell(0).getStringCellValue());                }                // 内容,表格数字格式为常规                if (null != row.getCell(1) && "" != row.getCell(1).toString()) {                    String sex = row.getCell(1).getStringCellValue();                    if ("男".equals(sex)) {                        applicant.setSex(0);                    } else {                        applicant.setSex(1);                    }                }                if (null != row.getCell(2) && "" != row.getCell(2).toString()) {                    applicant.setIdNumber(row.getCell(2).getStringCellValue());                }                if (null != row.getCell(3) && "" != row.getCell(3).toString()) {                    applicant.setBirthday(row.getCell(3).getStringCellValue());                }                if (null != row.getCell(4) && "" != row.getCell(4).toString()) {                    applicant.setEducation(row.getCell(4).getStringCellValue());                }                if (null != row.getCell(5) && "" != row.getCell(5).toString()) {                    applicant.setWorkUnit(row.getCell(5).getStringCellValue());                }                if (null != row.getCell(6) && "" != row.getCell(6).toString()) {                    applicant.setPhone(row.getCell(6).getStringCellValue());                }                if (null != row.getCell(7) && "" != row.getCell(7).toString()) {                    applicant.setAddress(row.getCell(7).getStringCellValue());                }                if (null != row.getCell(8) && "" != row.getCell(8).toString()) {                    row.getCell(8).setCellType(CellType.STRING);                    applicant.setDemandArea(Integer.parseInt(row.getCell(8).getStringCellValue()));                }                if (null != row.getCell(9) && "" != row.getCell(9).toString()) {                    row.getCell(9).setCellType(CellType.STRING);                    applicant.setDemandFloor(Integer.parseInt(row.getCell(9).getStringCellValue()));                }                if (null != row.getCell(10) && "" != row.getCell(10).toString()) {                    applicant.setDemandRoom(row.getCell(10).getStringCellValue());                }                if (null != row.getCell(11) && "" != row.getCell(11).toString()) {                    String state = row.getCell(11).getStringCellValue();                    if ("未审核".equals(state)) {                        applicant.setShiState(0);                    } else if ("审核通过".equals(state)) {                        applicant.setShiState(1);                    } else {                        applicant.setShiState(2);                    }                }                applicantService.addApplicant(applicant);            }            result.put("code", 200);            result.put("message", "导入成功!");        } catch (Exception e1) {            // 回滚数据            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();            e1.printStackTrace();        } finally {            try {                im.close();                wb.close();            } catch (IOException e2) {                e2.printStackTrace();            }        }        return result;    }    @RequestMapping("/toSelectExcel")    public String toSelectExcel() {        return "xianadmin/applicant-excel-select";    }    @ResponseBody    @RequestMapping("/toCheckApply")    public Map toCheckApply(String applicantName, String idNumber) {        Map map = new HashMap();        map.put("applicantName", applicantName);        map.put("idNumber", idNumber);        Applicant applicant = applicantService.toCheckApply(map);        map.put("applicant", applicant);        return map;    }    @ResponseBody    @RequestMapping("/getApplicantListByTime")    public Map getApplicantListByTime(String startDate, String endDate, int pageNum, int pageSize) {        Map map = new HashMap();        map.put("startDate", startDate);        map.put("endDate", endDate);        int applicantCount = applicantService.getApplicantListByTimeCount(map);        map.put("applicantCount", applicantCount);        System.out.println("申请人总条数:" + applicantCount);        map.put("pageNum", pageNum);        map.put("pageSize", pageSize);        PageInfo page = applicantService.getApplicantListByTime(map);        map.put("page", page);        return map;    }    @ResponseBody    @RequestMapping("/getApplicantForUser")    public Map getApplicantForUser(String startDate, String endDate, int times, int pageNum, int pageSize) {        Map map = new HashMap();        map.put("startDate", startDate);        map.put("endDate", endDate);        map.put("times", times);        if (times == 1) {            int applicantCount = applicantService.getApplicantListByTimeCount(map);            map.put("applicantCount", applicantCount);            map.put("pageNum", pageNum);            map.put("pageSize", pageSize);            PageInfo page = applicantService.getApplicantListByTime(map);            map.put("applicantPage", page);        } else {            int trialCount = secondTrialService.getAllTrialCount(map);            map.put("trialCount", trialCount);            map.put("pageNum", pageNum);            map.put("pageSize", pageSize);            PageInfo page = secondTrialService.getAllTrial(map);            map.put("trialPage", page);        }        return map;    } }




五,项目总结

本项目基于springboot框架来进行开发实现,符合现在开发的主流趋势,项目结构清晰明了,层次分明,采用MVC设计模式和三层架构来进行整体设计。界面布局简洁大方,操作符合用户使用习惯,人机交互处理的比较人性化,适合做毕业设计使用,也可以做课程设计或期未作业使用。


毕业设计-基于Springboot实现公租房申请管理系统的评论 (共 条)

分享到微博请遵守国家法律