基于javaSpringboot+mybatis+layui的装修验收管理系统设计和实现

Posted java李杨勇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于javaSpringboot+mybatis+layui的装修验收管理系统设计和实现相关的知识,希望对你有一定的参考价值。

🍅 作者主页:Java李杨勇 

🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌  简历模板、学习资料、面试题库【关注我,都给你】

🍅文末获取源码联系和送书🍅

前言:

随着社会的进步和科技的发展,越来越多的人追求新颖独特,实用的居住和工作学习环境。因此,在如今的建筑装饰工程中,既要考虑到客户的需求和与建筑结构的协调统一又要考虑到成本和施工组织的安排,所以说现代装饰工程是一件相对繁琐却又必须要做好的事情。在保质保量完成工作内容的同时,还要确保施工施工验收的各项标准数据、通过一段时间对Java相关开发知识的学习,基本了解了施工过程中的各种工艺流程和特点,利用JavaSpringboot+layui简单做个一个装修验收管理系统、适用于简单学习参考使用。

主要设计:

  1. 水电验收

主要功能:

(1)列表查询

功能查询添加修改删除导出

查询字段:序号、项目名称、项目类型、项目地址、录入人、录入日期、工地负责人、设计师、监理人员、合同金额、施工日期、结束日期、材料品牌、施工人员、考核结果、备注。

2)业务单据

功能:添加水电考核内容

操作字段:项目名称、项目类型、项目地址、录入人、录入日期、工地负责人、设计师、监理人员、合同金额、施工日期、结束日期、材料品牌、施工人员、考核结果、备注。

  1. 瓦工验收

(1)列表查询

功能查询添加修改删除导出

查询字段:序号、项目名称、项目类型、项目地址、录入人、录入日期、工地负责人、设计师、监理人员、合同金额、施工日期、结束日期、材料品牌、施工人员、考核结果、备注。

2)业务单据

功能:添加瓦工考核内容

操作字段:项目名称、项目类型、项目地址、录入人、录入日期、工地负责人、设计师、监理人员、合同金额、施工日期、结束日期、材料品牌、施工人员、考核结果、备注。

  1. 木工验收

(1)列表查询

功能查询添加修改删除导出

查询字段:序号、项目名称、项目类型、项目地址、录入人、录入日期、工地负责人、设计师、监理人员、合同金额、施工日期、结束日期、材料品牌、施工人员、考核结果、备注。

2)业务单据

功能:添加木工考核内容

操作字段:项目名称、项目类型、项目地址、录入人、录入日期、工地负责人、设计师、监理人员、合同金额、施工日期、结束日期、材料品牌、施工人员、考核结果、备注。

  1. 油漆工验收

(1)列表查询

功能查询添加修改删除导出

查询字段:序号、项目名称、项目类型、项目地址、录入人、录入日期、工地负责人、设计师、监理人员、合同金额、施工日期、结束日期、材料品牌、施工人员、考核结果、备注。

2)业务单据

功能:添加油漆考核内容

操作字段:项目名称、项目类型、项目地址、录入人、录入日期、工地负责人、设计师、监理人员、合同金额、施工日期、结束日期、材料品牌、施工人员、考核结果、备注。

  1. 施工结束验收

(1)列表查询

功能查询添加修改删除导出

查询字段:序号、项目名称、项目类型、项目地址、录入人、录入日期、工地负责人、设计师、监理人员、合同金额、施工日期、结束日期、材料品牌、施工人员、考核结果、备注。

2)业务单据

功能:添加施工结束考核内容

操作字段:项目名称、项目类型、项目地址、录入人、录入日期、工地负责人、设计师、监理人员、合同金额、施工日期、结束日期、材料品牌、施工人员、考核结果、备注。

功能截图:

管理员登录: 

系统首页: 

 用户管理:

 角色管理:

 菜单管理:

SQL监控:

 水电验收:

 数据导出:

木工验收:

修改密码:

代码实现:

 装修验收controller:


@RestController
@RequestMapping("/sys/ysWater")
public class YsWaterController extends AbstractController 
    @Autowired
    private YsWaterService ysWaterervice;

    @Autowired
    private YsWaterServiceImpl ysWaterServiceImpl;
    @RequestMapping("/waterList")
    public R waterList(@RequestParam Map<String, Object> params)
        params.put("ysType","水电装修验收");
        PageUtils page = ysWaterervice.queryPage(params);
        return R.ok().put("page", page);
    
    @RequestMapping("/waterDjList")
    public R waterDjList(@RequestParam Map<String, Object> params)
        params.put("ysType","水电业务单据");
        PageUtils page = ysWaterervice.queryPage(params);
        return R.ok().put("page", page);
    

    @RequestMapping("/wgList")
    public R wgList(@RequestParam Map<String, Object> params)
        params.put("ysType","瓦工装修验收");
        PageUtils page = ysWaterervice.queryPage(params);
        return R.ok().put("page", page);
    

    @RequestMapping("/wgDjList")
    public R wgDjList(@RequestParam Map<String, Object> params)
        params.put("ysType","瓦工业务单据");
        PageUtils page = ysWaterervice.queryPage(params);
        return R.ok().put("page", page);
    

    @RequestMapping("/mgList")
    public R mgList(@RequestParam Map<String, Object> params)
        params.put("ysType","木工装修验收");
        PageUtils page = ysWaterervice.queryPage(params);
        return R.ok().put("page", page);
    
    @RequestMapping("/mgDjList")
    public R mgDjList(@RequestParam Map<String, Object> params)
        params.put("ysType","木工业务单据");
        PageUtils page = ysWaterervice.queryPage(params);
        return R.ok().put("page", page);
    
    @RequestMapping("/yqgList")
    public R yqgList(@RequestParam Map<String, Object> params)
        params.put("ysType","油漆工装修验收");
        PageUtils page = ysWaterervice.queryPage(params);
        return R.ok().put("page", page);
    

    @RequestMapping("/yqgDjList")
    public R yqgDjList(@RequestParam Map<String, Object> params)
        params.put("ysType","油漆工业务单据");
        PageUtils page = ysWaterervice.queryPage(params);
        return R.ok().put("page", page);
    
    @RequestMapping("/sgjsList")
    public R sgjsList(@RequestParam Map<String, Object> params)
        params.put("ysType","施工结束验收");
        PageUtils page = ysWaterervice.queryPage(params);
        return R.ok().put("page", page);
    

    @RequestMapping("/sgjsDjList")
    public R sgjsDjList(@RequestParam Map<String, Object> params)
        params.put("ysType","施工结束业务单据");
        PageUtils page = ysWaterervice.queryPage(params);
        return R.ok().put("page", page);
    

    @RequestMapping("/info/id")
    public R info(@PathVariable("id") Long id)
        YsWater ysWater = ysWaterervice.getById(id);
        return R.ok().put("ysWater", ysWater);
    
    @RequestMapping("/export")
    public R save(HttpServletResponse response, HttpServletRequest request)
        try 
            ysWaterServiceImpl.outExcelByMealOrReserve(getParametersMap(request),response);
         catch (Exception e) 
            e.printStackTrace();
        

        return R.ok();
    


    /**
     * 将所有参数组装成Map
     * @return
     */
    private   Map<String, String> getParametersMap(HttpServletRequest request) throws UnsupportedEncodingException 
        Map<String, String> map = new HashMap<String, String>();
        Enumeration<String> paramNames = request.getParameterNames();
        String encoding = request.getCharacterEncoding();
        while (paramNames.hasMoreElements()) 
            String paramName = paramNames.nextElement();

            String[] paramValues = request.getParameterValues(paramName);
            if (paramValues.length == 1) 
                String paramValue = paramValues[0];
                if (paramValue.length() != 0) 
                    if (!encoding.toUpperCase().equals("UTF-8")) 
                        map.put(paramName, new String(paramValue.getBytes("ISO-8859-1"),"UTF-8"));
                     else 
                        map.put(paramName, paramValue);
                    
                
            
        
        return map;
    

    @RequestMapping("/save")
    public R save(@RequestBody YsWater ysWater)
        ysWaterervice.save(ysWater);
        return R.ok();
    
    @RequestMapping("/update")
    public R update(@RequestBody YsWater ysWater)
        ysWaterervice.updateById(ysWater);
        return R.ok();
    
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids)
        ysWaterervice.removeByIds(Arrays.asList(ids));
        return R.ok();
    

用户权限拦截放行:


/**
 * Shiro的配置文件
 *
 */
@Configuration
public class ShiroConfig 

    /**
     * 单机环境,session交给shiro管理
     */
    @Bean
    @ConditionalOnProperty(prefix = "renren", name = "cluster", havingValue = "false")
    public DefaultWebSessionManager sessionManager(@Value("$renren.globalSessionTimeout:3600") long globalSessionTimeout)
        DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
        sessionManager.setSessionValidationSchedulerEnabled(true);
        sessionManager.setSessionIdUrlRewritingEnabled(false);
        sessionManager.setSessionValidationInterval(globalSessionTimeout * 1000);
        sessionManager.setGlobalSessionTimeout(globalSessionTimeout * 1000);

        return sessionManager;
    

    /**
     * 集群环境,session交给spring-session管理
     */
    @Bean
    @ConditionalOnProperty(prefix = "renren", name = "cluster", havingValue = "true")
    public ServletContainerSessionManager servletContainerSessionManager() 
        return new ServletContainerSessionManager();
    

    @Bean("securityManager")
    public SecurityManager securityManager(UserRealm userRealm, SessionManager sessionManager) 
        DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
        securityManager.setCacheManager(new EhCacheManager());
        securityManager.setRealm(userRealm);
        securityManager.setSessionManager(sessionManager);
        securityManager.setRememberMeManager(null);

        return securityManager;
    


    @Bean("shiroFilter")
    public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) 
        ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
        shiroFilter.setSecurityManager(securityManager);
        shiroFilter.setLoginUrl("/login.html");
        shiroFilter.setUnauthorizedUrl("/");

        Map<String, String> filterMap = new LinkedHashMap<>();
        filterMap.put("/swagger/**", "anon");
        filterMap.put("/v2/api-docs", "anon");
        filterMap.put("/swagger-ui.html", "anon");
        filterMap.put("/webjars/**", "anon");
        filterMap.put("/swagger-resources/**", "anon");

        filterMap.put("/statics/**", "anon");
        filterMap.put("/login.html", "anon");
        filterMap.put("/sys/login", "anon");
        filterMap.put("/favicon.ico", "anon");
        filterMap.put("/captcha.jpg", "anon");
        filterMap.put("/**", "authc");
        shiroFilter.setFilterChainDefinitionMap(filterMap);

        return shiroFilter;
    

    @Bean("lifecycleBeanPostProcessor")
    public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() 
        return new LifecycleBeanPostProcessor();
    

    @Bean
    public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) 
        AuthorizationAttributeSourceAdvisor advisor = new AuthorizationAttributeSourceAdvisor();
        advisor.setSecurityManager(securityManager);
        return advisor;
    

数据库设计:

数据库名:renren_zxys

文档版本:V1.0.0

文档描述:装修验收数据库表设计描述

表sys_config (系统配置信息表)

编号

名称

数据类型

长度

小数位

允许空值

主键

说明

1

id

bigint

20

0

N

Y

2

param_key

varchar

50

0

Y

N

key

3

param_value

varchar

2000

0

Y

N

value

4

status

tinyint

4

0

Y

N

状态   0:隐藏   1:显示

5

remark

varchar

500

0

Y

N

备注

表sys_dept (部门管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

说明

1

dept_id

bigint

20

0

N

Y

2

parent_id

bigint

20

0

Y

N

上级部门ID,一级部门为0

3

name

varchar

50

0

Y

N

部门名称

4

order_num

int

10

0

Y

N

排序

5

del_flag

tinyint

4

0

Y

N

是否删除  -1:已删除  0:正常

表sys_dict (数据字典表)

编号

名称

数据类型

长度

小数位

允许空值

主键

说明

1

id

bigint

20

0

N

Y

2

name

varchar

100

0

N

N

字典名称

3

type

varchar

100

0

Y

N

字典类型

4

code

varchar

100

0

Y

N

字典码

5

value

varchar

1000

0

Y

N

字典值

6

order_num

int

10

0

Y

N

排序

7

remark

varchar

255

0

Y

N

备注

8

del_flag

tinyint

4

0

Y

N

删除标记  -1:已删除  0:正常

表sys_log (系统日志)

编号

名称

数据类型

长度

小数位

允许空值

主键

说明

1

id

bigint

20

0

N

Y

2

username

varchar

50

0

Y

N

用户名

3

operation

varchar

50

0

Y

N

用户操作

4

method

varchar

200

0

Y

N

请求方法

5

params

varchar

5000

0

Y

N

请求参数

6

time

bigint

20

0

N

N

执行时长(毫秒)

7

ip

varchar

64

0

Y

N

IP地址

8

create_date

datetime

19

0

Y

N

创建时间

表sys_menu (菜单管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

说明

1

menu_id

bigint

20

0

N

Y

2

parent_id

bigint

20

0

Y

N

父菜单ID,一级菜单为0

3

name

varchar

50

0

Y

N

菜单名称

4

url

varchar

200

0

Y

N

菜单URL

5

perms

varchar

500

0

Y

N

授权(多个用逗号分隔,如:user:list,user:create)

6

type

int

10

0

Y

N

类型   0:目录   1:菜单   2:按钮

7

icon

varchar

50

0

Y

N

菜单图标

8

order_num

int

10

0

Y

N

排序

表sys_role (角色)

编号

名称

数据类型

长度

小数位

允许空值

主键

说明

1

role_id

bigint

20

0

N

Y

2

role_name

varchar

100

0

Y

N

角色名称

3

remark

varchar

100

0

Y

N

备注

4

dept_id

bigint

20

0

Y

N

部门ID

5

基于JavaSpringboot+vue国风汉服文化交流宣传系统

基于JavaSpringboot+vue国风汉服文化交流宣传系统

基于JavaSpringBoot+Vue+uniapp微信小程序实现校园宿舍管理系统

基于JavaSpringBoot+Vue+uniapp微信小程序实现校园宿舍管理系统

基于JavaSpringBoot+Vue+uniapp微信小程序实现在线房屋装修管理系统

基于JavaSpringBoot+Vue+uniapp微信小程序实现在线房屋装修管理系统

(c)2006-2024 SYSTEM All Rights Reserved IT常识