springboot常规应急物资管理系统

一、技术路线:

开发语言:Java

使用框架:spring boot

前端技术:JavaScript、VUE.js(2.X)、css3

数据库:MySQL 5.7

数据库管理工具:Navicat或sqlyog

开发工具:IDEA或Ecplise

二、项目介绍:

视频加载中...

三、运行截图:

3.1管理员角色功能设计

3.1.1管理员首页

通过设计的首页功能模块,管理用户可以成功登录系统,并且选择点击相关的功能模块按钮,操作和实现自己所需要的功能,管理员首页解饿设计如图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().eq("username", username));

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 params,UsersEntity user){

EntityWrapper ew = new EntityWrapper();

PageUtils page = usersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));

return R.ok().put("data", page);

}

3.1.2个人中心

通过设计的个人中心功能模块,管理用户可以选择修改账号密码,查看个人资料信息,通过不定期的对个人账户密码进行更新,保障个人信息安全,修改密码界面设计如图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().eq("username", username));

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.1.3健康打卡管理

通过设计的健康打卡管理功能模块,管理用户可以管理相关的健康打卡信息记录,比如进行查看健康打卡的详细信息,修改健康打卡的日期信息,删除已经失效的健康打卡信息记录等操作,健康打卡管理界面设计如图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 queryWrapper = new EntityWrapper()

.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.1.4基础数据管理

通过设计的基础数据管理功能模块,管理用户可以管理相关的物资类型信息记录,比如进行查看物资类型的详细信息,修改物资类型的名称信息,删除已经失效的物资类型信息记录等操作,物资类型管理界面设计如图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 queryWrapper = new EntityWrapper()

.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 dictionaryEntities = dictionaryService.selectList(new EntityWrapper());

ServletContext servletContext = request.getServletContext();

Map> map = new HashMap<>();

for(DictionaryEntity d :dictionaryEntities){

Map m = map.get(d.getDicCode());

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.1.5物资管理

通过设计的物资管理功能模块,管理用户可以管理相关的物资信息记录,比如进行查看物资的详细信息,修改物资的库存信息,删除已经失效的物资信息记录等操作,物资管理界面设计如图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 queryWrapper = new EntityWrapper()

.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.1.6物资申请管理

通过设计的物资申请管理功能模块,管理用户可以管理相关的物资申请信息记录,比如进行查看物资申请的详细信息,修改物资的申请时间信息,删除已经失效的物资申请信息记录等操作,物资申请管理界面设计如图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.1.7物资运输管理

通过设计的物资运输管理功能模块,管理用户可以管理相关的物资运输信息记录,比如进行查看物资运输的详细信息,修改物资运输的当前状态信息,删除已经失效的物资运输信息记录等操作,物资运输管理界面设计如图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.1.8用户管理

通过设计的用户管理功能模块,管理用户可以管理相关的用户信息资料,比如进行查看用户的详细资料,修改用户的联系方式,删除已经注销的用户信息记录等操作,用户管理界面设计如图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 queryWrapper = new EntityWrapper()

.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.1.9部门管理

通过设计的部门管理功能模块,管理用户可以管理相关的部门信息记录,比如进行查看部门的详细信息,修改部门的职责信息,删除已经失效的部门信息记录等操作,部门管理界面设计如图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 queryWrapper = new EntityWrapper()

.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.2用户功能设计

3.2.1用户首页

通过设计的首页功能模块,管理用户可以成功登录系统,并且选择点击相关的功能模块按钮,操作和实现自己所需要的功能,管理员首页解饿设计如图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 queryWrapper = new EntityWrapper()

.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.2.2个人中心

通过设计的个人中心管理功能模块,用户可以选择查看个人资料信息,选择更新个人相关的资料信息记录;也可以选择修改账号密码,通过不定期的对个人账户密码进行更新,保障个人信息安全,修改密码界面设计如图3-11所示,个人信息界面设计如图3-12所示。

图3-11修改密码界面

图3-12个人信息界面

本功能模块的核心代码如下:

//查询是否重复

//账户

List yonghuEntities_username = yonghuService.selectList(new EntityWrapper().in("username", seachFields.get("username")));

if(yonghuEntities_username.size() >0 ){

ArrayList repeatFields = new ArrayList<>();

for(YonghuEntity s:yonghuEntities_username){

repeatFields.add(s.getUsername());

}

return R.error(511,"数据库的该表中的 [账户] 字段已经存在 存在数据为:"+repeatFields.toString());

}

//用户手机号

List yonghuEntities_yonghuPhone = yonghuService.selectList(new EntityWrapper().in("yonghu_phone", seachFields.get("yonghuPhone")));

if(yonghuEntities_yonghuPhone.size() >0 ){

ArrayList repeatFields = new ArrayList<>();

for(YonghuEntity s:yonghuEntities_yonghuPhone){

repeatFields.add(s.getYonghuPhone());

}

return R.error(511,"数据库的该表中的 [用户手机号] 字段已经存在 存在数据为:"+repeatFields.toString());

}

//用户身份证号

List yonghuEntities_yonghuIdNumber = yonghuService.selectList(new EntityWrapper().in("yonghu_id_number", seachFields.get("yonghuIdNumber")));

if(yonghuEntities_yonghuIdNumber.size() >0 ){

ArrayList repeatFields = new ArrayList<>();

for(YonghuEntity s:yonghuEntities_yonghuIdNumber){

repeatFields.add(s.getYonghuIdNumber());

}

return R.error(511,"数据库的该表中的 [用户身份证号] 字段已经存在 存在数据为:"+repeatFields.toString());

}

yonghuService.insertBatch(yonghuList);

return R.ok();

}

3.2.3健康打卡管理

通过设计的健康打卡管理功能模块,用户可以管理相关的健康打卡信息记录,比如进行查看健康打卡的详细信息,修改健康打卡的日期信息,删除已经失效的健康打卡信息记录等操作,健康打卡管理界面设计如图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.2.4物资管理

通过设计的物资管理功能模块,管理用户可以查看相关的物资信息记录,可以查到物资名称、物资图片、物资类型、物资库存等详细信息,物资管理界面设计如图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.2.5物资申请管理

通过设计的物资申请管理功能模块,用户可以管理相关的物资申请信息记录,比如进行查看物资申请的详细信息,新增相关的物资申请信息记录,物资申请管理界面设计如图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.2.6物资运输管理

通过设计的物资运输管理功能模块,用户可以查看相关的物资运输信息记录,比如查到物资名称、物资图片、单位、运输数量、当前状态等详细信息,物资运输管理界面设计如图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

标签:物资   详细信息   字段   功能模块   常规   界面设计   界面   数据   用户   健康   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top