博主主页:猫头鹰源码
博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战
主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询
项目介绍:
该系统创作于2022年5月,包含详细数据库设计。基于ssm整合,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:社区、疫情、居民登记、信息登记等。
项目功能:
系统共分为用户端,管理员端。
用户端
登录注册
社区用户信息管理:填写
公告管理:查看
外来人员报备管理:填写
志愿者申请管理:填写
在线交流管理:填写对社区意见,填写完页面会显示。
物资需求管理:填写
管理员端
登录注册
用户管理:新增用户,修改,查看,删除
管理员管理:新增管理员,修改,查看,删除
社区用户信息管理:新增社区用户信息,修改,查看,删除
外来人员报备管理:新增外来人员报备信息,修改,查看,删除
志愿者申请管理:新增志愿者申请信息,修改,查看,删除
物资需求管理:新增物资需求信息,修改,查看,删除
公告管理:新增公告,修改,查看,删除
在线交流管理:新增在线交流信息,修改,查看,删除
添加功能:
1、用户新增物资需求,由管理员进行审批
2、管理员添加志愿服务模块,维护志愿服务内容,用户申请志愿者,需要对某一个志愿服务进行申请,申请后,等待管理员审核
3、统计近7日外来人员数量曲线
4、物资需求添加分类字段,统计每个分类物资需求的饼状图
5、管理员入库物资,用户的物资需求需要选择已经入库的物资,填写完成后,管理员审核通过后入库的数量会相应减少
数据模型设计:
数据库表结构文档:
系统包含技术:
后端:SSM
前端:layui,js,css等
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8
服务器:tomcat8
部分截图说明:
下面是登录页面
管理员首页
管理员对用户进行管理
管理员社区用户管理
管理员志愿者申请维护
在线交流
用户申请物资
修改个人信息
部分代码:
物资相关操作
/**
* 分页查询
* pageIndex 当前页码
* pageSize 显示条数
*/
@RequestMapping(value = "/findMeterial")
public String findMeterial(Integer pageIndex, Integer pageSize,String mid, Model model,HttpServletRequest request) {
HttpSession session = request.getSession();
if(session.getAttribute("ad") == null){
session.setAttribute("msg", "对不起,请登录!");
return "login";
}
Map mp = new HashMap();
mp.put("mid",mid);
PageInfo<Meterial> pageList = meterialService.findPageInfo(pageIndex,pageSize,mp);
model.addAttribute("pageList",pageList);
List<MeterialInfo> meterialInfos = meterialInfoService.getAll();
model.addAttribute("meterialInfos",meterialInfos);
return "MeterialList";
}
/**
* 添加
*/
@RequestMapping(value = "/addMeterial" ,method = RequestMethod.POST)
@ResponseBody
public String addMeterial( @RequestBody Meterial meterial,HttpServletRequest request) {
try{
HttpSession session = request.getSession();
if(session.getAttribute("ad") == null){
session.setAttribute("msg", "对不起,请登录!");
return "login";
}
MeterialInfo meterialInfoById = meterialInfoService.findMeterialInfoById(meterial.getMid());
int mnum = Integer.parseInt(meterial.getNum());
int minum = Integer.parseInt(meterialInfoById.getNum());
if(mnum>minum){
return "202";
}
User user = (User)session.getAttribute("ad");
meterial.setUid(user.getId());
meterial.setStatus("01");
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
meterial.setCreateTime(sf.format(new Date()));
meterialService.addMeterial(meterial);
//更新库存
int kucun = minum - mnum;
meterialInfoById.setNum(String.valueOf(kucun));
meterialInfoService.updateMeterialInfo(meterialInfoById);
return "200";
}catch (Exception e){
e.printStackTrace();
return "201";
}
}
/**
* 删除
*/
@RequestMapping( "/deleteMeterial")
@ResponseBody
public String deleteMeterial(String id) {
int d = meterialService.deleteMeterial(id);
return "MeterialList";
}
/**
* 修改
*/
@RequestMapping( "/updateMeterial")
@ResponseBody
public String updateMeterial(@RequestBody Meterial meterial) {
try{
meterialService.updateMeterial(meterial);
return "200";
}catch (Exception e){
e.printStackTrace();
return "201";
}
}
/**
* 审批
*/
@RequestMapping( "/shenpi")
@ResponseBody
public String shenpi(String id,String status,HttpServletRequest request) {
HttpSession session = request.getSession();
if(session.getAttribute("ad") == null){
session.setAttribute("msg", "对不起,请登录!");
return "login";
}
Meterial meterial = new Meterial();
meterial.setId(id);
meterial.setStatus(status);
int d = meterialService.updateMeterial(meterial);
if(status.equals("03")){
Meterial meterial1 = meterialService.findMeterialById(id);
MeterialInfo meterialInfo = meterialInfoService.findMeterialInfoById(meterial1.getMid());
int meterial_num = Integer.parseInt(meterial1.getNum());
meterial_num = meterial_num+Integer.parseInt(meterialInfo.getNum());
meterialInfo.setNum(String.valueOf(meterial_num));
meterialInfoService.updateMeterialInfo(meterialInfo);
}
return "200";
}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~