【开源】JAVA+Vue.js实现天然气工程运维系统

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 系统角色分类
    • 2.2 核心功能
    • 2.2.1 流程 1
    • 2.2.2 流程 2
    • 2.3 各角色功能
      • 2.3.1 系统管理员功能
      • 2.3.2 用户服务部功能
      • 2.3.3 分公司(施工单位)功能
        • 2.3.3.1 技术员角色功能
        • 2.3.3.2 材料员角色功能
      • 2.3.4 安全质量部功能
      • 2.3.5 技术设备部功能
      • 2.3.6 经营计划部功能
      • 2.3.7 财务部功能
  • 三、研究背景和意义
    • 3.1 研究背景
    • 3.2 研究意义
  • 四、系统展示
  • 六、核心代码
    • 6.1 工程项目查询
    • 6.2 查询领用材料
    • 6.3 查询所有分公司
    • 6.4 查询分公司员工
    • 6.5 审核工程项目
  • 七、免责说明


一、摘要

1.1 项目介绍

基于Vue+SpringBoot+MySQL的天然气工程运维系统,包含工程项目模块、材料档案模块、材料领用单模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,天然气工程运维系统基于角色的访问控制,给工程管理员、用户服务部、分公司技术员、分公司材料员、安全质量部、技术设备部、经营计划部、财务部、查询者使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

2.1 系统角色分类

根据系统功能,系统共(确定)分为9种角色,分别是:
1、系统管理员(基本信息维护)
2、用户服务部(可以查询所有项目)
3、分公司(施工单位)(有可能是多个)(只能查询自己负责的项目)(技术员、材料员2个角色)
4、安全质量部(可以查询所有项目)
5、技术设备部(可以查询所有项目)
6、经营计划部(可以查询所有项目)
7、财务部(可以查询所有项目)
8、查询者(登录后可以查询到除“经营计划部”、“财务部”以外的数据)

2.2 核心功能

功能(基本信息维护):系统管理员在系统中增加分公司(施工单位)数据,增加分公司(施工单位)用户(技术员、材料员),增加各部门(用户服务部、安全质量部、技术设备部、经营计划部、财务部)的用户。

2.2.1 流程 1

由用户服务部用户在系统中增加一条项目信息(包含项目编号、名称等重要信息)(一个项目就是一条数据),指定项目负责的分公司,分公司可以填写该项目的数据项信息,后边安全质量部、技术设备部、经营计划部、财务部依次填写该项目自己对应的数据项信息,用户服务部用户可以查询系统中全部项目信息,可以查询单个项目的详细信息,可以导出项目列表,可以条件查询所有项目。

2.2.2 流程 2

分公司(施工公司)或技术设备部用户在系统中增加一条项目,增加的项目需要经营计划部用户审核后成为正式项目,再走流程1。(分公司申请的审核通过的项目,施工方还是该分公司)(技术设备部申请的审核通过的项目,用户服务部用户指定施工单位)。

2.3 各角色功能

在这里插入图片描述

2.3.1 系统管理员功能

  1. 分公司管理
    增加、修改、删除分公司
    涉及的数据项:公司编号(隐藏)、公司名字、备注,3项信息。
  2. 用户管理(包含授权)
    增加、修改、删除用户
    涉及的数据项:用户编号(隐藏)、用户名(建议使用手机号)、姓名、所在公司(或部门)、电话、密码(隐藏)、备注,6项信息。
  3. 使用材料管理
    涉及的数据项:材料编号(隐藏)、工程分类(居民、非居民、中压等)、材料名字、材料规格、材料单价、计量单位、备注,7项信息。

2.3.2 用户服务部功能

  1. 项目查询
    可以在系统中查询全部项目,多条件查询,查看项目详细信息,导出项目到Excel表。
  2. 增加项目
    用户点击“增加项目”按钮,弹出窗口,填写项目详细信息,保存即可。
  3. 修改项目
    修改的信息项同增加项目时的信息项。
  4. 删除项目
    将项目“项目状态”修改为“删除”,项目状态为“删除”的项目,其他部门不能查询或修改信息。

2.3.3 分公司(施工单位)功能

2.3.3.1 技术员角色功能
  1. 技术员查询项目
    查询范围:自己负责的(当前登录用户负责的项目)项目。(项目在增加时已经指定了“施工公司技术人”)。
  2. 技术员填写项目信息字段。
  3. 技术员填写项目用到的计划领用材料单。
    技术员增加、修改、删除用到的材料。
    ①增加:选择材料名字(管理员已经设置好)、填写领用数量、(其他项目)转入数量、备注即可,单价、计量单位自动同步。
    ②修改:只能修改领用数量、转入数量、备注。
    ③删除:删除该项目的这个材料即可。
2.3.3.2 材料员角色功能
  1. 材料员查询项目
    查询范围:自己所在分公司的全部项目。
  2. 完善项目用料管理
    选择某一个项目后,在弹出窗口,可以填写该项目的材料的实际用量、流转去向2个字段,并保存。“工程材料确认单”在该步骤导出。
  3. 填写项目材料票交接日期。

2.3.4 安全质量部功能

  1. 项目查询
    可以在系统中查询全部项目,多条件查询,查看项目详细信息,可以导出数据到Excel表格。
  2. 修改项目中对应本部门的字段。

2.3.5 技术设备部功能

  1. 项目查询(可能有特殊统计功能)
    可以在系统中查询全部项目,多条件查询,查看项目详细信息,可以导出数据到Excel表格。
  2. 修改项目中对应本部门的字段。

2.3.6 经营计划部功能

  1. 项目查询
    可以在系统中查询全部项目,多条件查询,查看项目详细信息,可以导出数据到Excel表格。
  2. 修改项目中对应本部门的字段。

2.3.7 财务部功能

  1. 项目查询
    可以在系统中查询全部项目,多条件查询,查看项目详细信息,可以导出数据到Excel表格。
  2. 修改项目中对应本部门的字段。

三、研究背景和意义

3.1 研究背景

对于天然气工程建设物资管理工作来说主要是对天然气工程建设物资进行采购、储存、使用等,而要提高天然气工程建设物资管理工作的有效性就需要从这些方面进行分析,从而能够将这些环节当中存在的主要问题分析出来,并通过对合理有效的解决措施的制订来对这些问题进行解决,从而能够促进天然气工程建设物资管理的发展,促进企业经济效益的提升。

目前天然气已经进入千家万户,为居民生活以及企业生产带来巨大的便利。在各类用户使用天然气的过程中,也存在故障报修、业务扩展等问题,需要天然气工程建设单位开展一系列建设、维修等工作。随着城市进程及管道燃气事业的发展,燃气工程建设范围持续扩大,尤其中低压工程项目数量多、建设期短、不可控因素多。此外,燃气安全事故时有发生,社会对燃气行业的安全关注度进一步提高,从工程源头着手,为管网安全运行保驾护航的呼声逐渐提高。为方便各项工程建设项目的开展,拟开发一套天然气工程建设项目管理系统,以信息化的手段管控业务流程,管理核心数据。

为有效解决工程项目管理过程中存在的问题,监控实际进度与计划进度的偏差,降低项目成本,提高收益,提升企业核心竞争力,实现高质量发展,实现项目全生命周期管理,建设工程项目管理系统非常必要。通过工程项目管理系统,可以实时掌握工程进度、严格把控施工质量、强化施工现场监控、精确控制工程成本,并可以实时掌控工程项目合法合规情况、工程预算及执行情况、工程现场质量安全管理情况等,进一步做到施工过程的可信、可控、可溯。

3.2 研究意义

对于天然气工程建设物资管理工作来说,需要对其投入较多的资金,同时还需要在管理工作流程不够精简或者管理工作当中存在权限混乱的情况下满足人力资源日益提高的需求,并且在物资管理工作环节当中一旦出现管理的不科学性就会引起对天然气能源的利用率降低的风险,从而不利于通过天然气能源来获取经济效益,所以对于天然气工程建设物资管理工作来说需要对管理方案的合理性进行有效提高,确保物资利用率得到提升。

对天然气工程建设物资管理的主要意义体现在以下方面:一是通过有效的开展工程建设物资管理工作能够实现对天然气工程建设物资储存环境进行保证来降低安全事故发生的概率,从而能够有效规避储存过程存在的风险,不仅能够降低经济损失,还能够保证人们的生命财产安全,有利于社会的稳定以及企业生产的安全有效性;二是通过对天然气工程建设物资管理工作中相应的采购制度的制定能够有效地使天然气工程建设物资采购预算工作得到有效的开展,从而能够确保天然气工程建设物资在生产到供应整个流程符合统一性的规划;并且在天然气工程建设物资管理工作的成本投入不断加深的情况下采取合理有效的管理措施能够明显提高天然气能源的利用率。不仅能够实现天然气能源的节约使用,还能够提高对天然气工程建设物资管理和使用的规划水平,对管理环节当中投入的人力物力也是一种节约。


四、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


六、核心代码

6.1 工程项目查询

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "用户服务部查询项目")
public Result<IPage<Project>> getByPage(@ModelAttribute Project project ,@ModelAttribute PageVo page){
    QueryWrapper<Project> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    // 分公司只看自己
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("id",currUser.getId());
    userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND (role_id = '1624586287929495552' OR role_id = '1624586441982087168')");
    if(iUserService.count(userQw) > 0L) {
        qw.eq("data12",currUser.getDepartmentTitle());
    }
    if(!ZwzNullUtils.isNull(project.getData4())) {
        qw.like("data4",project.getData4());
    }
    if(!ZwzNullUtils.isNull(project.getData3())) {
        qw.like("data3",project.getData3());
    }
    if(!ZwzNullUtils.isNull(project.getData16())) {
        if(Objects.equals("删除",project.getData16())) {
            qw.ne("data16","删除");
        } else {
            qw.eq("data16",project.getData16());
        }
    }
    IPage<Project> data = iProjectService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Project>>().setData(data);
}

6.2 查询领用材料

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询材料")
public Result<IPage<MaterialScience>> getByPage(@ModelAttribute MaterialScience materialScience ,@ModelAttribute PageVo page){
    QueryWrapper<MaterialScience> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(materialScience.getType())) {
        qw.eq("type",materialScience.getType());
    }
    if(!ZwzNullUtils.isNull(materialScience.getTitle())) {
        qw.like("title",materialScience.getTitle());
    }
    if(!ZwzNullUtils.isNull(materialScience.getModal())) {
        qw.like("modal",materialScience.getModal());
    }
    IPage<MaterialScience> data = iMaterialScienceService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<MaterialScience>>().setData(data);
}

6.3 查询所有分公司

@RequestMapping(value = "/getAllSon", method = RequestMethod.GET)
@ApiOperation(value = "查询所有分公司")
public Result<List<Department>> getAllSon(){
    QueryWrapper<Department> qw = new QueryWrapper<>();
    qw.like("title","分公司");
    return new ResultUtil<List<Department>>().setData(iDepartmentService.list(qw));
}

6.4 查询分公司员工

@RequestMapping(value = "/getAllSonUser", method = RequestMethod.GET)
@ApiOperation(value = "查询分公司员工")
public Result<List<User>> getAllSonUser(@RequestParam String title){
    QueryWrapper<User> qw = new QueryWrapper<>();
    qw.eq("department_title",title);
    return new ResultUtil<List<User>>().setData(iUserService.list(qw));
}

6.5 审核工程项目

@RequestMapping(value = "/audit", method = RequestMethod.POST)
@ApiOperation(value = "审核项目")
public Result<Object> audit(@RequestParam String id){
    Project p = iProjectService.getById(id);
    if(p == null) {
        return ResultUtil.error("项目不存在");
    }
    p.setData16("正常");
    iProjectService.saveOrUpdate(p);
    return ResultUtil.success();
}

七、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/385257.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

东风联手华为打造首款SUV,车长超5米,配纯电和增程双动力系统

在上个月&#xff08;2024年1月份&#xff09;&#xff0c;东风汽车和华为达成了战略合作计划&#xff0c;两家品牌将联手打造全新的汽车品牌——奕派汽车&#xff0c;而目前我们从相关渠道获悉&#xff0c;其首款SUV车型已经获得了实拍亮相&#xff0c;而新车的内部代号为S59&…

MySQL篇----第十四篇

系列文章目录 文章目录 系列文章目录前言一、MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?二、锁的优化策略三、索引的底层实现原理和优化四、什么情况下设置了索引但无法使用前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽…

Java使用opencsv完成对csv批量操作

文章目录 前言一、maven二、造数三、代码部分1.OpenCsvController2.OpenCsvUtil3.StudentInfo4.CodeToValue 三、效果展示1.download2.upload 总结 前言 csv文件是不同于excel文件的另一种文件&#xff0c;常常以,作为分隔符&#xff0c;本篇将通过JavaBean的形式完成对csv文件…

《Git 简易速速上手小册》第2章:理解版本控制(2024 最新版)

文章目录 2.1 本地仓库与版本历史2.1.1 基础知识讲解2.1.2 重点案例&#xff1a;回滚错误提交2.1.3 拓展案例 1&#xff1a;利用 git bisect 查找引入 bug 的提交2.1.4 拓展案例 2&#xff1a;合并提交历史 2.2 远程仓库的使用2.2.1 基础知识讲解2.2.2 重点案例&#xff1a;在 …

CSP-动态规划-最长公共子序列(LCS)

一、动态规划 动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;主要用于求解可以被分解为相似子问题的复杂问题&#xff0c;特别是在优化问题上表现出色&#xff0c;如最短路径、最大子数组和、编辑距离等。动态规划的核心思想是将原问题分解为较小的子…

Old Money 和 New Money

&#xff08;1&#xff09; 我想借用一下&#xff1a;Old Money 和 New Money这两个词&#xff0c;但不是欧洲那种Old Money 和 New Money的定义。 我定义的Old Money是&#xff1a; 人脉关系、资源 信息差、成本差 我定义的New Money是&#xff1a; 科技是第一生产力 2015年以…

计算机网络——09Web-and-HTTP

Web and HTTP 一些术语 Web页&#xff1a;由一些对象组成对象可以是HTML文件、JPEG图像&#xff0c;JAVA小程序&#xff0c;声音剪辑文件等Web页含有一个基本的HTML文件&#xff0c;该基本HTML文件又包含若干对象的引用&#xff08;链接&#xff09;通过URL对每个对象进行引用…

程序员与电脑:不眠之夜的背后故事

在这个数字化飞速发展的时代&#xff0c;程序员和他们的电脑成了不可分割的伙伴。 如果你有机会深夜走过城市的某个角落&#xff0c;透过窗户瞥见那些亮着的电脑屏幕&#xff0c;你可能会好奇&#xff1a;这些电脑为什么总是开着的&#xff1f; 难道程序员们都有失眠症吗&…

猫头虎分享已解决Bug ‍ || 修改mongodb3.0副本集用户密码遇到 BeanDefinitionParsingException

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

Solidworks:从草图到工程图纸,掌握正确的工作流程

1. 草图不及太在意构造线和尺寸标注的美观性&#xff0c;只要确保模型尺寸正确即可 因为草图不是最终输出的&#xff0c;这个阶段的工作重点是建立尺寸正确的实体模型&#xff0c;所以不要在意构造线和尺寸标注是否美观。 2. 工程图纸中标注尽量按照操作提示放置位置 工程图…

《Linux 简易速速上手小册》第10章: 性能监控与优化(2024 最新版)

文章目录 10.1 理解系统负载10.1.1 重点基础知识10.1.2 重点案例&#xff1a;服务器响应变慢10.1.3 拓展案例 1&#xff1a;多核 CPU 系统的负载解读10.1.4 拓展案例 2&#xff1a;分析具体时间段的系统负载 10.2 优化性能10.2.1 重点基础知识10.2.2 重点案例&#xff1a;优化 …

‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序

遇到 vue-cli-service 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 的错误时&#xff0c;通常意味着Vue CLI没有被正确安装或配置在项目中。这可能是因为node_modules目录缺失了必要的包&#xff0c;或者局部安装的Vue CLI没有被正确设置到系统的PATH环境…

springsecurity6使用

spring security 中的类 &#xff1a; AuthenticationManager : 实现类&#xff1a;ProviderManager 管理很多的 provider &#xff0c;&#xff0c;&#xff0c; 经常使用的&#xff0c;DaoAuthenticationProvider , 这个要设置一个 UserDetailService , 查找数据库&#xff…

操作系统基础:IO管理概述【上】

&#x1f308;个人主页&#xff1a;godspeed_lucip &#x1f525; 系列专栏&#xff1a;OS从基础到进阶 &#x1f3c6;&#x1f3c6;本文完整PDF源文件请翻阅至文章底部下载。&#x1f3c6;&#x1f3c6; &#x1f3ae;1 I/O设备的基本概念与分类&#x1f52b;1.1 总览&#x…

538. 把二叉搜索树转换为累加树

给出二叉 搜索 树的根节点&#xff0c;该树的节点值各不相同&#xff0c;请你将其转换为累加树&#xff08;Greater Sum Tree&#xff09;&#xff0c;使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下&#xff0c;二叉搜索树满足下列约束条件&#…

屏幕字体种类介绍

[ Script and font support in Windows ] [Windows 中的脚本和字体支持&#xff3d; 在Windows 2000 以前&#xff0c;Windows 的每个主要版本都会添加对新脚本的文本显示支持。本文介绍了每个主要版本中的更改。 Since before Windows 2000, text-display support for new scr…

云原生之基石-Docker Compose

1. 前言 在上一篇文章中介绍了基本的Docker工具&#xff0c;我们对单个应用程序进行单机单进程部署&#xff0c;制作Dockerfile文件&#xff0c;执行docker build来生成docker镜像&#xff0c; 执行docker run来运行一个容器&#xff0c;自己指定需要的参数如-v&#xff0c;但是…

【教3妹学编程-算法题】输入单词需要的最少按键次数 I

3妹&#xff1a;2哥&#xff0c;新年好鸭~ 2哥 : 新年好&#xff0c;3妹这么早啊 3妹&#xff1a;是啊&#xff0c;新年第一天要起早&#xff0c;这样就可以起早一整年 2哥 :得&#xff0c;我还不了解你&#xff0c;每天晒到日上三竿 3妹&#xff1a;嘿嘿嘿嘿&#xff0c;一年是…

作业2.12

1、选择题 1.1、以下程序的输出结果是____A____。 main() { int k11,k22,k33,x15; if(!k1) x--; else if(k2) if(k3) x4; else x3; printf(“x%d\n”,x); } A x4 B x15 C x14 D x3 1.2、有以下程序&#xff0c;while循环执行____A____次。 int main&#x…

STM32自学☞定时器定时中断案例

timer_interrupt.c文件 /* 初始化函数编写步骤&#xff1a; 1.打开时钟 2.选择时基单元的时钟源&#xff08;内部时钟源&#xff09; 3.配置时基单元 4.NVIC配置 5.启动定时器 */ #include "stm32f10x.h" #include "stm32f10x_tim.h" #include …