一、技术路线:
开发语言:Java
使用框架:spring boot
前端技术:JavaScript、VUE.js(2.X)、css3
数据库:MySQL 5.7
数据库管理工具:Navicat或sqlyog
开发工具:IDEA或Ecplise
二、项目介绍:
视频加载中...
三、运行截图:
通过设计的首页功能模块,管理用户可以成功登录系统,并且选择点击相关的功能模块按钮,操作和实现自己所需要的功能,管理员首页解饿设计如图3-1所示。
图3-1管理员首页界面
本功能模块的核心代码如下:
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UsersEntity user = usersService.selectOne(new EntityWrapper
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
R r = R.ok();
r.put("token", token);
r.put("role",user.getRole());
r.put("userId",user.getId());
return r;
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map
EntityWrapper
PageUtils page = usersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
通过设计的个人中心功能模块,管理用户可以选择修改账号密码,查看个人资料信息,通过不定期的对个人账户密码进行更新,保障个人信息安全,修改密码界面设计如图3-1所示,个人信息界面设计如图3-2所示。
图3-1修改密码界面
图3-2个人信息界面
本功能模块的核心代码如下:
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UsersEntity user = usersService.selectOne(new EntityWrapper
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
usersService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UsersEntity user = usersService.selectById(id);
return R.ok().put("data", user);
}
通过设计的健康打卡管理功能模块,管理用户可以管理相关的健康打卡信息记录,比如进行查看健康打卡的详细信息,修改健康打卡的日期信息,删除已经失效的健康打卡信息记录等操作,健康打卡管理界面设计如图3-3所示。
图3-3健康打卡管理界面
本功能模块的核心代码如下:
/**
* 健康打卡后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody DakaEntity daka, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,daka:{}",this.getClass().getName(),daka.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
// else if("用户".equals(role))
// daka.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
//根据字段查询是否有相同数据
Wrapper
.notIn("id",daka.getId())
.andNew()
.eq("yonghu_id", daka.getYonghuId())
.eq("insert_time", new SimpleDateFormat("yyyy-MM-dd").format(daka.getInsertTime()))
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
DakaEntity dakaEntity = dakaService.selectOne(queryWrapper);
if(dakaEntity==null){
dakaService.updateById(daka);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
通过设计的基础数据管理功能模块,管理用户可以管理相关的物资类型信息记录,比如进行查看物资类型的详细信息,修改物资类型的名称信息,删除已经失效的物资类型信息记录等操作,物资类型管理界面设计如图3-4所示。
图3-4物资类型管理界面
本功能模块的核心代码如下:
/**
* 基础数据后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody DictionaryEntity dictionary, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,dictionary:{}",this.getClass().getName(),dictionary.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
//根据字段查询是否有相同数据
Wrapper
.notIn("id",dictionary.getId())
.eq("dic_code", dictionary.getDicCode())
.eq("index_name", dictionary.getIndexName())
;
if(dictionary.getDicCode().contains("_erji_types")){
queryWrapper.eq("super_id",dictionary.getSuperId());
}
logger.info("sql语句:"+queryWrapper.getSqlSegment());
DictionaryEntity dictionaryEntity = dictionaryService.selectOne(queryWrapper);
if(dictionaryEntity==null){
dictionaryService.updateById(dictionary);//根据id更新
//如果字典表修改数据的话,把数据再重新查出,放入监听器中
List
ServletContext servletContext = request.getServletContext();
Map
for(DictionaryEntity d :dictionaryEntities){
Map
if(m ==null || m.isEmpty()){
m = new HashMap<>();
}
m.put(d.getCodeIndex(),d.getIndexName());
map.put(d.getDicCode(),m);
}
servletContext.setAttribute("dictionaryMap",map);
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
通过设计的物资管理功能模块,管理用户可以管理相关的物资信息记录,比如进行查看物资的详细信息,修改物资的库存信息,删除已经失效的物资信息记录等操作,物资管理界面设计如图3-5所示。
图3-5物资管理界面
本功能模块的核心代码如下:
/**
* 物资后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody WuziEntity wuzi, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,wuzi:{}",this.getClass().getName(),wuzi.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
//根据字段查询是否有相同数据
Wrapper
.notIn("id",wuzi.getId())
.andNew()
.eq("wuzi_name", wuzi.getWuziName())
.eq("wuzi_types", wuzi.getWuziTypes())
.eq("wuzi_kucun_number", wuzi.getWuziKucunNumber())
.eq("wuzi_danwei", wuzi.getWuziDanwei())
.eq("wuzi_delete", wuzi.getWuziDelete())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
WuziEntity wuziEntity = wuziService.selectOne(queryWrapper);
if("".equals(wuzi.getWuziPhoto()) || "null".equals(wuzi.getWuziPhoto())){
wuzi.setWuziPhoto(null);
}
if(wuziEntity==null){
wuziService.updateById(wuzi);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
通过设计的物资申请管理功能模块,管理用户可以管理相关的物资申请信息记录,比如进行查看物资申请的详细信息,修改物资的申请时间信息,删除已经失效的物资申请信息记录等操作,物资申请管理界面设计如图3-6所示。
图3-6物资申请管理界面
本功能模块的核心代码如下:
/**
* 物资申请后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody WuzishenqingEntity wuzishenqing, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,wuzishenqing:{}",this.getClass().getName(),wuzishenqing.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
else if("用户".equals(role))
wuzishenqing.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
wuzishenqing.setInsertTime(new Date());
wuzishenqing.setWuzishenqingYesnoTypes(1);
wuzishenqing.setCreateTime(new Date());
wuzishenqingService.insert(wuzishenqing);
return R.ok();
}
/**
* 物资申请后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody WuzishenqingEntity wuzishenqing, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,wuzishenqing:{}",this.getClass().getName(),wuzishenqing.toString());
wuzishenqingService.updateById(wuzishenqing);//根据id更新
return R.ok();
}
通过设计的物资运输管理功能模块,管理用户可以管理相关的物资运输信息记录,比如进行查看物资运输的详细信息,修改物资运输的当前状态信息,删除已经失效的物资运输信息记录等操作,物资运输管理界面设计如图3-7所示。
图3-7物资运输管理界面
本功能模块的核心代码如下:
/**
* 物资运输后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody WuziyunshuEntity wuziyunshu, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,wuziyunshu:{}",this.getClass().getName(),wuziyunshu.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
wuziyunshu.setUpdateTime(new Date());
wuziyunshu.setInsertTime(new Date());
wuziyunshu.setCreateTime(new Date());
wuziyunshuService.insert(wuziyunshu);
return R.ok();
}
/**
* 物资运输后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody WuziyunshuEntity wuziyunshu, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,wuziyunshu:{}",this.getClass().getName(),wuziyunshu.toString());
wuziyunshu.setUpdateTime(new Date());
wuziyunshuService.updateById(wuziyunshu);//根据id更新
return R.ok();
}
通过设计的用户管理功能模块,管理用户可以管理相关的用户信息资料,比如进行查看用户的详细资料,修改用户的联系方式,删除已经注销的用户信息记录等操作,用户管理界面设计如图3-8所示。
图3-8用户管理界面
本功能模块的核心代码如下:
/**
* 用户后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
//根据字段查询是否有相同数据
Wrapper
.notIn("id",yonghu.getId())
.andNew()
.eq("username", yonghu.getUsername())
.or()
.eq("yonghu_phone", yonghu.getYonghuPhone())
.or()
.eq("yonghu_id_number", yonghu.getYonghuIdNumber())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
YonghuEntity yonghuEntity = yonghuService.selectOne(queryWrapper);
if("".equals(yonghu.getYonghuPhoto()) || "null".equals(yonghu.getYonghuPhoto())){
yonghu.setYonghuPhoto(null);
}
if(yonghuEntity==null){
yonghuService.updateById(yonghu);//根据id更新
return R.ok();
}else {
return R.error(511,"账户或者用户手机号或者用户身份证号已经被使用");
}
}
通过设计的部门管理功能模块,管理用户可以管理相关的部门信息记录,比如进行查看部门的详细信息,修改部门的职责信息,删除已经失效的部门信息记录等操作,部门管理界面设计如图3-9所示。
图3-9部门管理界面
本功能模块的核心代码如下:
/**
* 部门后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody BumenEntity bumen, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,bumen:{}",this.getClass().getName(),bumen.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
//根据字段查询是否有相同数据
Wrapper
.notIn("id",bumen.getId())
.andNew()
.eq("bumen_name", bumen.getBumenName())
.eq("bumen_zhize", bumen.getBumenZhize())
.eq("bumen_number", bumen.getBumenNumber())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
BumenEntity bumenEntity = bumenService.selectOne(queryWrapper);
if(bumenEntity==null){
bumenService.updateById(bumen);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
通过设计的首页功能模块,管理用户可以成功登录系统,并且选择点击相关的功能模块按钮,操作和实现自己所需要的功能,管理员首页解饿设计如图3-10所示。
图3-10用户首页界面
本功能模块的核心代码如下:
/**
* 首页后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
Wrapper
.eq("username", yonghu.getUsername())
.or()
.eq("yonghu_phone", yonghu.getYonghuPhone())
.or()
.eq("yonghu_id_number", yonghu.getYonghuIdNumber())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
YonghuEntity yonghuEntity = yonghuService.selectOne(queryWrapper);
if(yonghuEntity==null){
yonghu.setCreateTime(new Date());
yonghu.setPassword("123456");
yonghuService.insert(yonghu);
return R.ok();
}else {
return R.error(511,"账户或者用户手机号或者用户身份证号已经被使用");
}
}
通过设计的个人中心管理功能模块,用户可以选择查看个人资料信息,选择更新个人相关的资料信息记录;也可以选择修改账号密码,通过不定期的对个人账户密码进行更新,保障个人信息安全,修改密码界面设计如图3-11所示,个人信息界面设计如图3-12所示。
图3-11修改密码界面
图3-12个人信息界面
本功能模块的核心代码如下:
//查询是否重复
//账户
List
if(yonghuEntities_username.size() >0 ){
ArrayList
for(YonghuEntity s:yonghuEntities_username){
repeatFields.add(s.getUsername());
}
return R.error(511,"数据库的该表中的 [账户] 字段已经存在 存在数据为:"+repeatFields.toString());
}
//用户手机号
List
if(yonghuEntities_yonghuPhone.size() >0 ){
ArrayList
for(YonghuEntity s:yonghuEntities_yonghuPhone){
repeatFields.add(s.getYonghuPhone());
}
return R.error(511,"数据库的该表中的 [用户手机号] 字段已经存在 存在数据为:"+repeatFields.toString());
}
//用户身份证号
List
if(yonghuEntities_yonghuIdNumber.size() >0 ){
ArrayList
for(YonghuEntity s:yonghuEntities_yonghuIdNumber){
repeatFields.add(s.getYonghuIdNumber());
}
return R.error(511,"数据库的该表中的 [用户身份证号] 字段已经存在 存在数据为:"+repeatFields.toString());
}
yonghuService.insertBatch(yonghuList);
return R.ok();
}
通过设计的健康打卡管理功能模块,用户可以管理相关的健康打卡信息记录,比如进行查看健康打卡的详细信息,修改健康打卡的日期信息,删除已经失效的健康打卡信息记录等操作,健康打卡管理界面设计如图3-13所示。
图3-13健康打卡管理界面
本功能模块的核心代码如下:
/**
* 健康打卡后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
DakaEntity daka = dakaService.selectById(id);
if(daka !=null){
//entity转view
DakaView view = new DakaView();
BeanUtils.copyProperties( daka , view );//把实体数据重构到view中
//级联表
YonghuEntity yonghu = yonghuService.selectById(daka.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
通过设计的物资管理功能模块,管理用户可以查看相关的物资信息记录,可以查到物资名称、物资图片、物资类型、物资库存等详细信息,物资管理界面设计如图3-14所示。
图3-14物资管理界面
本功能模块的核心代码如下:
/**
* 物资后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
WuziEntity wuzi = wuziService.selectById(id);
if(wuzi !=null){
//entity转view
WuziView view = new WuziView();
BeanUtils.copyProperties( wuzi , view );//把实体数据重构到view中
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
通过设计的物资申请管理功能模块,用户可以管理相关的物资申请信息记录,比如进行查看物资申请的详细信息,新增相关的物资申请信息记录,物资申请管理界面设计如图3-15所示。
图3-15物资申请管理界面
本功能模块的核心代码如下:
/**
* 物资申请后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
WuzishenqingEntity wuzishenqing = wuzishenqingService.selectById(id);
if(wuzishenqing !=null){
//entity转view
WuzishenqingView view = new WuzishenqingView();
BeanUtils.copyProperties( wuzishenqing , view );//把实体数据重构到view中
//级联表
WuziEntity wuzi = wuziService.selectById(wuzishenqing.getWuziId());
if(wuzi != null){
BeanUtils.copyProperties( wuzi , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setWuziId(wuzi.getId());
}
//级联表
YonghuEntity yonghu = yonghuService.selectById(wuzishenqing.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
通过设计的物资运输管理功能模块,用户可以查看相关的物资运输信息记录,比如查到物资名称、物资图片、单位、运输数量、当前状态等详细信息,物资运输管理界面设计如图3-16所示。
图3-16物资运输管理界面
本功能模块的核心代码如下:
/**
* 物资运输后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
WuziyunshuEntity wuziyunshu = wuziyunshuService.selectById(id);
if(wuziyunshu !=null){
//entity转view
WuziyunshuView view = new WuziyunshuView();
BeanUtils.copyProperties( wuziyunshu , view );//把实体数据重构到view中
//级联表
WuziEntity wuzi = wuziService.selectById(wuziyunshu.getWuziId());
if(wuzi != null){
BeanUtils.copyProperties( wuzi , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setWuziId(wuzi.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
页面更新:2024-03-04
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号