源码获取:俺的博客首页 "资源" 里下载!

项目介绍

本项目为后台管理系统,分为管理员与业主两种角色;
管理员主要功能包括:
首页、公告查询、修改密码、报修管理、业主信息、房产信息等;管理员可对业主、房产等信息进行增删改查,业主仅可查看;

业主主要功能包括:
首页、公告查询、修改密码、报修管理、业主信息、房产信息等;

环境需要

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项目:否;

技术栈

1. 后端:Servlet
2. 前端:JSP+CSS+JavaScript+jquery+bootstrap

使用说明

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

业主控制层:

@Controller
public class OwnerController {@AutowiredOwnerService ownerService;@Autowiredprivate MessageService messService;@AutowiredCarportService carportService;@AutowiredSessionContentService sessionContentService;private BillService billService;// 登录控制器@RequestMapping("/login")public String login() {return "login";}// 登录判断控制器@RequestMapping("/loginjudge")public String loginjudge(@RequestParam("otel") String otel, @RequestParam("opass") String opass, Model model,HttpServletRequest request, String captcha) {String session1 = request.getSession().getAttribute("simpleCaptcha").toString();if (captcha.equals(session1)) {Owner owner = ownerService.findOwnerTel(otel, opass);HttpSession session = request.getSession();if (owner != null && owner.getOtel() != "" && owner.getOtel().equals(otel)&& owner.getOpass().equals(opass)) {if (otel.equals("vue10010")) {System.out.println("vue10010");session.setAttribute("tel", owner.getOtel());return "customermain";} else if(otel.equals("admin")) {return "main";}else {session = request.getSession();session.setAttribute("currentOwnerr", owner);List<Message> list = messService.selectByOid(owner.getOid());int messnumber = 0;for (int i = 0; i < list.size(); i++) {if (list.get(i).getStatus().equals("未阅读")) {++messnumber;}}model.addAttribute("messnumber", messnumber);// 传送owneruid到用户界面session.setAttribute("owneruid", owner.getOid());session.setAttribute("tel", owner.getOtel());// 将如错误信息发送到作用域,重定向在登录页面request.setAttribute("msss", "用户名或者密码错误");return "ownermain";}} else {// 将如错误信息发送到作用域,重定向在登录页面request.setAttribute("msss", "用户名或者密码错误");return "redirect:login.action";}} else {return "login";}}/*** 添加住户信息*/@RequestMapping("/signin")public String signin() {return "regist";}/*** @author Leett*/@RequestMapping("/ownermain")public String ownermain() {return "ownermain";}@RequestMapping("/savepingfen")public boolean savepingfen(String ff) {boolean f =  sessionContentService.gorgeous(ff);return f;}/*** 添加住户信息*/@RequestMapping("/ownerbuycar")public String ownerbuycar(Model model) {Carport carport = new Carport();List<Carport> list = carportService.findCarByState("未使用");for (Carport carport2 : list) {carport.setDuration(carport2.getDuration());}int count = list.size();List<Carport> list1 = new ArrayList<Carport>();list1 = carportService.findCarByArea("A");model.addAttribute("A", list1);list1 = carportService.findCarByArea("B");model.addAttribute("B", list1);list1 = carportService.findCarByArea("C");model.addAttribute("C", list1);list1 = carportService.findCarByArea("D");model.addAttribute("D", list1);model.addAttribute("count", count);model.addAttribute("duration", carport.getDuration());return "ownerbuycar";}// 客户注册控制器@RequestMapping("/signinjudge")public String signinjudge(Owner record) {boolean flag = ownerService.insert(record);if (flag == true) {// 使用重定向,返回登录界面return "redirect:findpagess.action?pageSize=5&pageNum=1&str=n";} else {return "regist";}}@RequestMapping("/checktel")public @ResponseBody String checkname(HttpServletRequest request) {String otel =request.getParameter("name");System.out.println(ownerService.findByTel(otel));return ownerService.findByTel(otel);}                  /*** 退出控制器*/@RequestMapping("/exit")public String exit(HttpSession session, HttpServletRequest request, Model model) {System.out.println("exit");// 获取当前的sessionHttpSession session1 = request.getSession();// 销毁sessionsession1.invalidate();return "redirect:home.action";}/*** 查询所有的业主信息*/@RequestMapping("/ownerlist")public String ownerlist(Model model) {List<Owner> list=ownerService.selectByExample();model.addAttribute("list", list);System.out.println(list.size());return "customer";}/*** 客户修改控制器*/ @RequestMapping("/updateuser")public String updateuser(Model model, @RequestParam(value = "oid", defaultValue = "0") int oid) {Owner owner = ownerService.findById(oid);model.addAttribute("owner", owner);return "updateuser";}/*** 更新保存* @return*/@RequestMapping("/save")public String save(Owner owner, Model model) {ownerService.updatesave(owner);return "redirect:findpagess.action?pageSize=5&pageNum=1&str=n";}/*** 删除一个住户*/@RequestMapping("/deleteone")public String deleteone(int oid) {ownerService.deleteByPrimaryKey(oid);return "redirect:findpagess.action?pageSize=5&pageNum=1&str=n";}/*** 批量删除用户*/@RequestMapping("/deleteAll")public String deleteAll(int[] oids){boolean flag=ownerService.deleteAll(oids);return "redirect:findpagess.action?pageSize=5&pageNum=1&str=n";}/***  我的车位*/@RequestMapping("/mycarseat")public String mycarseat(Model model,int uid){List<Carport> list3 = carportService.findCarByState("未使用");int count = list3.size();List<Carport> list1 = new ArrayList<Carport>();list1 = carportService.findCarByArea("A");model.addAttribute("A", list1);list1 = carportService.findCarByArea("B");model.addAttribute("B", list1);list1 = carportService.findCarByArea("C");model.addAttribute("C", list1);list1 = carportService.findCarByArea("D");model.addAttribute("D", list1);model.addAttribute("count", count);System.out.println("mycarseat:"+uid);List<Carport> list = carportService.findMyCarSeat(uid);model.addAttribute("carport1", list);for (Carport c : list) {System.out.println(c.getDate());}return "mycarseat";}/*** 展示用户*/     @RequestMapping("/showoerme")public String showownerme(Model model,HttpSession session){System.out.println("============");int oid1 = (int) session.getAttribute("owneruid");System.out.println(oid1);if(oid1!=0) {Owner onwer=ownerService.findById(oid1);model.addAttribute("onwer", onwer);return "showoerme";}else {return "login";}}/*** owner页面首页*/       @RequestMapping("/mymianmessage")public String mymianmessage(){return "mymianmessage";}/***      个人信息更改*/@RequestMapping("/updateowenerss")public String updateowenerss(Model model, @RequestParam(value = "oid", defaultValue = "0") int oid,HttpSession session) {int oid1 = (int) session.getAttribute("owneruid");Owner owner=ownerService.findById(oid1);System.out.println("+++++++++++++>>>>>>>>");System.out.println("onwe.id:  "+owner.getOid());model.addAttribute("owner",owner );return "updateowner";}/*** 个人修改保存控制器*/@RequestMapping("/savaowners")public String savaowners(Model model,@RequestParam(value = "oid", defaultValue = "0") int oid,HttpSession session,Owner owner) {System.out.println("+++++++++++++++++>");System.out.println("owner: "+owner.getOpass());owner.setOid((int)session.getAttribute("owneruid"));boolean flag=ownerService.updateowner(owner);System.out.println("flag:  "+flag);if(flag=true) {int oid1=(int)session.getAttribute("owneruid");System.out.println(oid1);Owner owner2=ownerService.findById(oid1);model.addAttribute("owner",owner2);return "redirect:showoerme.action";}return "updateowner";}// 分页查询@RequestMapping("/findpagess")public String findPage(int pageSize, int pageNum, Model model, String str, HttpSession session) {System.out.println("进来了");System.out.println(pageSize);System.out.println(str);if (str.equals("z")) {++pageNum;} else if (str.equals("j")) {--pageNum;}session.setAttribute("pageSize", pageSize);PageRequest pageQuery = new PageRequest();pageQuery.setPageNum(pageNum);pageQuery.setPageSize(pageSize);PageResult pageResult = ownerService.findPage(pageQuery);model.addAttribute("pageResult", pageResult);return "customer";}/*** 分类查询住户集合*/@RequestMapping("list2")public String ownerlist2(Model model,int towernum) {List<Owner> list=ownerService.findownerlist(towernum);model.addAttribute("list", list);return "list2";}@RequestMapping("/findpages2")public String findPage1(int pageSize, Model model, HttpSession session) {System.out.println("进来了");System.out.println(pageSize);PageRequest pageQuery = new PageRequest();pageQuery.setPageNum(1);pageQuery.setPageSize(pageSize);session.setAttribute("pageSize", pageSize);PageResult pageResult = ownerService.findPage(pageQuery);model.addAttribute("pageResult", pageResult);return "customer";}/*** 根据id  完成时间   提交时间 模糊查询* @param model* @param md* @return*/@RequestMapping("/findMain2")public String findMain(Model model,String mds) {System.out.println("+++++++++++++");System.out.println(mds);List<Owner>list3 = ownerService.findMain(mds);model.addAttribute("list", list3);return "list2";}
}

投诉控制层:

@Controller
public class ComplainController {@AutowiredComplainService complainService;ComplainExample complainExample = new ComplainExample() ;@RequestMapping("/main")public String test() {return "main";}/*** 全部投诉信息*/@RequestMapping("/complain")public String complain(Model model) {List<Complain> list =complainService.findAll();model.addAttribute("complainlist", list);return "complain";}/*** 业主跳转添加投诉页面*/@RequestMapping("/addcomplaint")public String addcomplaint() {return "addonecomplain";}/*** 添加投诉到数据库*/@RequestMapping("/savecomplain")public String savecomplain(Complain complain) {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");Date date = new Date();String d = format.format(date);complain.setStatedate(d);complainService.addOne(complain);return "addonecomplain";}/*** 分类投诉信息*/@RequestMapping("/complainstate")public String complainstate(Model model,String state) {List<Complain> list =complainService.findByState(state);model.addAttribute("complainlist", list);return "complain";}/*** 查询投诉信息*/@RequestMapping("/mycomplaint")public String mycomplaint(Model model,HttpSession session) {System.out.println("mycomplaint:"+(int)session.getAttribute("owneruid"));List<Complain> list = complainService.findByOid((int) session.getAttribute("owneruid"));model.addAttribute("mycomplaintlist", list);return "mycomplaint";}@RequestMapping("/test")public String test1() {return "test";}
}

未缴费账单控制器:

/*** @category 未缴费账单控制器**/
@Controller
public class BillController {@Autowiredprivate BillService billService;@Autowiredprivate BillitemsService bitemService;@Autowiredprivate OwnerService oService;private SimpleDateFormat cx = new SimpleDateFormat("yyyy-MM-dd");/*** @category 跳转至业主未缴费展示页面* @param model* @return*/@RequestMapping("/unpay")public String unpay(Model model) {// SimpleDateFormat cx = new SimpleDateFormat("yyyy-MM-dd");String start = "2010-01-01";String stop = cx.format(new Date());List<Owner> list = billService.findByOwner();model.addAttribute("list", list);model.addAttribute("start", start);model.addAttribute("stop", stop);model.addAttribute("inputname", "请输入姓名");return "unpay";}/*** @category 通过给定时间范围展示和业主模糊姓名联合查询缴费信息* @param model* @param request* @return* @throws ParseException*/@RequestMapping("/unpaytime")public String unpayByTime(Model model, HttpServletRequest request, HttpSession session) throws ParseException {// 获取分页参数设置每页展示的个数int pageSize = (int) session.getAttribute("pageSize");// 获取分页参数设置传进来的页码是多少int pageNum = (int) session.getAttribute("pageNum");// 将字符串转换为日期对象Date start = cx.parse(request.getParameter("start"));Date stop = cx.parse(request.getParameter("stop"));// System.out.println(request.getParameter("start"));String name = request.getParameter("username");// System.out.println(name);// 账单的时间用于和stop和start比较Date billdate;// 开始时间戳long startTime = start.getTime();// 结束时间戳long stopTime = stop.getTime();long billtime;// 用该list给owner对象的billlist设值List<Bill> billlist = new ArrayList<>();// 查找所有List<Owner> list1 = billService.findByOwner();List<Owner> list = new ArrayList<>();// 生成要返回的listfor (int i = 0; i < list1.size(); i++) {double total = 0;// 循环遍历得到的所有owner对象for (int j = 0; j < list1.get(i).getBill().size(); j++) {//获得owner单个订单的时间戳billdate = cx.parse(list1.get(i).getBill().get(j).getBilltime());billtime = billdate.getTime();//判断订单的时间戳是否在指定的范围内,并且该owner的姓名要包含指定的字符串try {if (billtime >= startTime && billtime <= stopTime && list1.get(i).getOname().contains(name)) {// 如果满足上述条件,则将该条订单信息添加到billlist中billlist.add(list1.get(i).getBill().get(j));// 计算总价total += list1.get(i).getBill().get(j).getBillitem().getBillitemmoney();}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}// 如果该业主有未缴纳的账单,给该业主对象设置未缴纳账单,并将该对象放入要传给前端的list中if (billlist.size() > 0) {list1.get(i).setTotal(total);list1.get(i).setBill(billlist);list.add(list1.get(i));}// 这里不能使用clear() 用list.clear()方法清空list;用此方法,其它引用该list的值也会变成空。billlist = new ArrayList<>();}if (list.size() < 1) {model.addAttribute("nolist", "没有查到相关信息呦,请您重新输入查询条件");}// 计算查询总数double listnum = list.size();int totalnum = (int) Math.ceil(listnum / pageSize);List<Owner> list2 = FyResult.getOwnerList(pageSize, pageNum, list, "f");// System.out.println(list.size());session.setAttribute("start", request.getParameter("start"));session.setAttribute("stop", request.getParameter("stop"));model.addAttribute("list", list2);model.addAttribute("name", name);model.addAttribute("totalnum", totalnum);session.setAttribute("pageSize", pageSize);session.setAttribute("pageNum", pageNum);session.setAttribute("findList", list);return "unpay";}/*** @category 收费项目管理界面* @param model* @return*/@RequestMapping("/sfmanage")public String shoufeiguanli(Model model) {BillitemsExample example = new BillitemsExample();List<Billitems> list = bitemService.selectByExample(example);model.addAttribute("list", list);return "sfmanage";}/*** @category 添加新的收费项目* @param model* @param billitem* @return*/@RequestMapping("/addbillitem")public String addbillitem(Model model, Billitems billitem) {// 判断添加的收费项目是否为一次性收费if (billitem.getBillitemtype().equals("一次性")) {Date d = new Date();// 生成一次性收费的时间// SimpleDateFormat itemtime = new SimpleDateFormat("yyyy-MM-dd");String time = cx.format(d);billitem.setBillitemtime(time);// 添加到数据库bitemService.insert(billitem);// 从数据库查刚刚添加的收费项目Billitems item = bitemService.selectByNameAndTime(billitem.getBillitemname(), time);// 给所有的业主添加这个费用收费List<Owner> olist = oService.selectByExample();int[] all = new int[olist.size()];// 给数组all赋值业主的idfor (int i = 0; i < all.length; i++) {all[i] = olist.get(i).getOid();}Bill bill = new Bill();bill.setBillitemid(item.getBillitemid());bill.setPaystatus("未缴纳");bill.setBilltime(time);for (int i = 0; i < all.length; i++) {bill.setUid(all[i]);billService.addBill(bill);}return "redirect:sfmanage.action";}bitemService.insert(billitem);return "redirect:sfmanage.action";}/*** @category 搜索后展示缴费* @param model* @param request* @return*/@RequestMapping("/showbyname")public String showbyname(Model model, HttpServletRequest request, HttpSession session) {int pageSize = (int) session.getAttribute("pageSize");int pageNum = (int) session.getAttribute("pageNum");String name = request.getParameter("username");// System.out.println(name);List<Owner> list1 = billService.findByOwner();List<Owner> list2 = FyResult.getOwnerList(pageSize, pageNum, list1, "f");// System.out.println(list1.size());List<Owner> list = new ArrayList<>();for (int i = 0; i < list2.size(); i++) {// System.out.println(list1.get(i).getOname());if (list1.get(i).getOname().contains(name)) {list.add(list1.get(i));}}double listnum = list1.size();int totalnum = (int) Math.ceil(listnum / pageSize);session.setAttribute("findList", list);session.setAttribute("pageSize", pageSize);session.setAttribute("pageNum", pageNum);model.addAttribute("list", list);model.addAttribute("inputname", name);model.addAttribute("totalnum", totalnum);return "unpay";}/*** @category ajax搜索* @param name* @return*/@RequestMapping("/showname")public @ResponseBody List<Owner> showname(String name) {System.out.println("进来了");List<Owner> list1 = oService.selectByExample();List<Owner> list = new ArrayList<>();for (int i = 0; i < list1.size(); i++) {if (list1.get(i).getOname().contains(name)) {list.add(list1.get(i));}}return list;}@SuppressWarnings("unchecked")@RequestMapping("/unpayfy")public String unpayfy(Model model, HttpSession session, int pageSize, int pageNum, String type,HttpServletRequest request) {System.out.println(pageNum);String stop;String start;// SimpleDateFormat cx = new SimpleDateFormat("yyyy-MM-dd");if (session.getAttribute("stop") != null) {stop = (String) session.getAttribute("stop");} else {stop = cx.format(new Date());}if (session.getAttribute("start") != null) {start = (String) session.getAttribute("start");} else {start = "2010-01-01";}List<Owner> list1 = new ArrayList<>();if (session.getAttribute("findList") != null) {list1 = (List<Owner>) session.getAttribute("findList");} else {list1 = billService.findByOwner();}double listnum = list1.size();int totalnum = (int) Math.ceil(listnum / pageSize);List<Owner> list = FyResult.getOwnerList(pageSize, pageNum, list1, type);if (type.equals("z")) {++pageNum;if (pageNum > totalnum) {pageNum = totalnum;}}if (type.equals("j")) {--pageNum;if (pageNum < 1) {pageNum = 1;}}if(type.equals("f")) {if(pageNum<1) {pageNum=1;}if(pageNum>totalnum) {pageNum = totalnum;}}model.addAttribute("list", list);session.setAttribute("stop", stop);session.setAttribute("start", start);session.setAttribute("pageSize", pageSize);session.setAttribute("pageNum", pageNum);model.addAttribute("totalnum", totalnum);return "unpay";}}

源码获取:俺的博客首页 "资源" 里下载!

Java项目:智能小区物业管理系统(java+JSP+bootstrap+JavaScript+servlet+Mysql)相关推荐

  1. 基于javaweb的智能小区物业管理系统(java+jsp+bootstrap+javascript+servlet+mysql)

    基于javaweb的智能小区物业管理系统(java+jsp+bootstrap+javascript+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工 ...

  2. Java项目:小区物业管理系统(java+Springboot+ssm+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述(+PPT演示文档) 本系统功能包括: 实现了资源管理.收费管理.支出管理.三表管理.投诉 建议.装修管理.车位管理.招商管理. ...

  3. java毕业设计智能小区物业管理系统Mybatis+系统+数据库+调试部署

    java毕业设计智能小区物业管理系统Mybatis+系统+数据库+调试部署 java毕业设计智能小区物业管理系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  4. Java项目:高校运动会管理系统(java+SSM+JSP+JS+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 该高校运动会信息管理系统是以B/S架构为设计基础并基于SSM框架开发的系统.系统采用了Java语言和MySQL数据库来实现. ...

  5. Java项目:洗浴中心管理系统(java+SSM+JSP+jQuery+javascript+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为前后台,包含普通用户与管理员两种角色: 管理员角色包含以下功能: 管理员登录,管理员信息管理,查看用户信息,新闻公告 ...

  6. Java项目:美容院预约管理系统(java+SpringBoot+JSP+jQuery+maven+mysql)

    源码获取:博客首页 "资源" 里下载! 项目介绍 本系统分为管理员与普通用户两种角色: 管理员角色包含以下功能: 登录,首页,新增管理员,管理员信息列表,网站用户信息列表,新增新闻 ...

  7. Java项目:农产品溯源管理系统(java+SSM+JSP+LayUI+jQuery+mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为前后台,分为普通用户.管理员.企业用户三种角色: 普通用户无需登录,可在前台直接进行溯源查询,管理员.企业用户可登录 ...

  8. Java项目:演唱会售票管理系统(java+SSM+JSP+JavaScript+jQuery+mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为前后台,前台为普通用户登录,后台为管理员登录: 管理员角色包含以下功能: 管理员登录,管理员信息管理,网站用户信息管 ...

  9. Java项目:药店信息管理系统(java+SSM+JSP+layui+maven+mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclisp ...

最新文章

  1. SAP QM QE02 修改检验结果,报错 -No characteristics were found–
  2. 编写MOSS自定义字段类型的小意外
  3. 如何停oracle的job,ORACLE如何停止一个JOB
  4. /dev/null 2>1 详解
  5. *args,**kwargs的使用方法
  6. junit - no runnable methods
  7. php opcache 详解
  8. [转] ASP.NET中使用javascript
  9. python中math模块函数_python中math模块函数
  10. Mysql中INSTR(str, substr)函数
  11. Laravel Symfony_Crawler GuzzleHttp 爬虫 抓取行政区域
  12. dijkstra algorithm example
  13. tensorflow之tf.slice()
  14. matlab实现S域到Z域变换
  15. 《剑指offer》之知识汇总
  16. 你不知道的京东数据库运维自动化体系建设之路
  17. 修改系统时区(基于Debian的系统)--用Enki学Linux系列(15)
  18. 解决Echarts的toolbox只显示英文的问题
  19. Python基础课程-面向对象编程
  20. 《HTTP权威指南》第三章学习总结

热门文章

  1. UniApp苹果真机运行调试(自定义基座,版本更新后/没有基座打开失败)
  2. Gui-Guider-Setup-1.4.0-GA安装
  3. GWAS 质量控制(QC)分析流程
  4. 微波技术基础 --- 复习总结
  5. 全球及中国滚球粘度计行业发展动态及投资规划分析报告2022-2028年
  6. [源码和文档分享]基于Java语言的电梯调度模拟程序
  7. python中re是什么意思_python里的re是什么
  8. Vue table 表格中参数过长省略并且提示显示
  9. java页码_Java 添加页码到PDF文档
  10. eclipse安装svn插件以及添加svn资源库