【开源】基于Vue.js的天然气工程运维系统的设计和实现

在这里插入图片描述
项目编号: S 022 ,文末获取源码。 \color{red}{项目编号:S022,文末获取源码。} 项目编号:S022,文末获取源码。


目录

  • 一、摘要
    • 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. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务限流算法:从令人头疼到信手拈来

前言 随着系统规模的扩大和用户量的增加&#xff0c;服务限流成为了一个非常重要的话题。一方面&#xff0c;系统需要能够处理大量的请求&#xff0c;不至于因为负载过高而崩溃&#xff1b;另一方面&#xff0c;又需要避免恶意攻击或者其他异常情况对系统造成影响。本文将介绍…

pip安装python包到指定python版本下

python -m pip install 包名1.命令行进入到指定python安装目录。比如我电脑上有python3.8也有python3.9。准备给python3.9安装指定的包

3.OpenFeign的使用

OpenFeign 文章目录 OpenFeign一. 什么是OpenFeign二. OpenFeign基础使用1.添加依赖2.配置Nacos配置信息3.在项目中开启OpenFeign4.编写OpenFeign调用代码5.调用OpenFeign接口 三. OpenFeign内置的超时重试机制1.配置超时重试2.覆盖Retryer对象 四.自定义超时重试机制1.自定义超…

技术分享| anyRTC之RTN网络

RTN(Real-time Network)中文名&#xff1a;实时音视频传输网络。 RTN是最近几年由各大RTC的云厂商提出的一个全新架构的音视频实时传输网络概念。类似于直播的CDN网络&#xff0c;RTN是对音视频的实时性又强烈要求的场景而设计的&#xff0c;原理上全球端到端的时延通过RTN网络…

JSP EL表达式获取list/Map集合与java Bean对象

上文 JSP EL表达式基本使用 中 我们对EL表达式做了一个基本的了解 也做了基础的字符串数据使用 那么 我们可以来看一下我们的集合 首先 list 这个比较简单 我们直接这样写代码 <% page import"java.util.ArrayList" %> <% page import"java.util.Lis…

基于C#实现优先队列

一、堆结构 1.1性质 堆是一种很松散的序结构树&#xff0c;只保存了父节点和孩子节点的大小关系&#xff0c;并不规定左右孩子的大小&#xff0c;不像排序树那样严格&#xff0c;又因为堆是一种完全二叉树&#xff0c;设节点为 i,则 i/2 是 i 的父节点&#xff0c;2i 是 i 的…

信息系统的安全保护等级的五个级别

信息系统的安全保护等级分为五级&#xff1a;第一级为自主保护级、第二级为指导保护级、第三级为监督保护级、第四级为强制保护级、第五级为专控保护级。 法律依据&#xff1a;《信息安全等级保护管理办法》第四条 信息系统的安全保护等级分为以下五级&#xff1a;   &#…

【C语言】计算实时太阳角度(高度角、方位角),以及使用stm32单片机实时获取时间戳

整体计算方法 在编写该代码的过程中寻找了多篇博文和论文&#xff0c;综合所有文章且按网上的以0时的方位角的0&#xff0c;且随时间累加累加至360度。我修改了博文和论文的一些角度的计算方法。得到一下代码与网站计算的方位角相互验证过&#xff0c;误差不超过1 验证网站 太…

LoRaWAN 中国地区文件详细解读

目录 一、LoRaWAN简介 二、CN470-510地区参数分析 1.信道频率 2.支持功率 3.支持空速 4.最大负载大小 5.接受窗口参数 三、CN470_510默认参数 Lora LoraWAN教程 一、LoRaWAN简介 LoraWAN是一种基于LoRa远距离通信技术配套设计的一套通讯协议和系统架构。LoRaWAN网络通…

Java实现拼图游戏

1、了解拼图游戏基本功能&#xff1a; 拼图游戏内容由若干小图像块组成的&#xff0c;通过鼠标点击图像块上下左右移动&#xff0c;完成图像的拼凑。 2、拼图游戏交互界面设计与开发&#xff1a; 通过创建窗体类、菜单、中间面板和左右面板完成设计拼图的交互界面 &#xff…

外贸自建站服务器怎么选?网站搭建的工具?

外贸自建站服务器用哪个好&#xff1f;如何选海洋建站的服务器&#xff1f; 外贸自建站是企业拓展海外市场的重要手段之一。而在这个过程中&#xff0c;选择一个适合的服务器对于网站的稳定运行和优化至关重要。海洋建站将为您介绍如何选择适合的外贸自建站服务器。 外贸自建…

【STM32外设系列】GPS定位模块(ATGM336H)

&#x1f380; 文章作者&#xff1a;二土电子 &#x1f338; 关注公众号获取更多资料&#xff01; &#x1f438; 期待大家一起学习交流&#xff01; 文章目录 一、GPS模块简介二、使用方法2.1 引脚介绍2.2 数据帧介绍2.3 关于不同的启动方式 三、前置知识3.1 strstr函数3.2…

基于H1ve一分钟搭好CTF靶场

写在前面 ◉ ‿ ◉ 上一篇文章给大家详细介绍了基于H1ve搭建CTF靶场&#xff0c;以及过程中可能遇到的报错及解决方法&#xff0c;那么这篇文章&#xff0c;我总结了一下&#xff0c;将不会遇到报错的方法给到大家&#xff0c;但是前提是你的服务器最好是一个全新的哦~~~ 我…

C++基础从0到1入门编程(四)类和对象

系统学习C 方便自己日后复习&#xff0c;错误的地方希望积极指正 往期文章&#xff1a; C基础从0到1入门编程&#xff08;一&#xff09; C基础从0到1入门编程&#xff08;二&#xff09; C基础从0到1入门编程&#xff08;三&#xff09; 参考视频&#xff1a; 1.黑马程序员匠心…

香蕉派BPI-M4 Zero单板计算机采用全志H618,板载2GRAM内存

Banana Pi BPI-M4 Zero 香蕉派 BPI-M4 Zero是BPI-M2 Zero的最新升级版本。它在性能上有很大的提高。主控芯片升级为全志科技H618 四核A53, CPU主频提升25%。内存升级为2G LPDDR4&#xff0c;板载8G eMMC存储。它支持5G WiFi 和蓝牙, USB接口也升级为type-C。 它具有与树莓派 …

23. 深度学习 - 多维向量自动求导

Hi, 你好。我是茶桁。 前面几节课中&#xff0c;我们从最初的理解神经网络&#xff0c;到讲解函数&#xff0c;多层神经网络&#xff0c;拓朴排序以及自动求导。 可以说&#xff0c;最难的部分已经过去了&#xff0c;这节课到了我们来收尾的阶段&#xff0c;没错&#xff0c;生…

算法通关村第十二关-白银挑战字符串经典题目

大家好我是苏麟 , 今天带来字符串相关的题目 . 大纲 反转问题字符串反转K个一组反转仅仅反转字母反转字符串中的单词 反转问题 字符串反转 描述 : 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s的形式给出。 题目 : LeetCode 344. 反转…

webshell之扩展免杀

由于很多企业为了防止源码泄露&#xff0c;都会使用加密扩展将代码进行加密&#xff0c;那么我们就可以就将计就计&#xff0c;将webshell也利用扩展加密&#xff0c;将特征消除&#xff0c;从而达到免杀的效果 1.php-beast 扩展地址 下载dll&#xff0c;并添加至ext中 在php…

MySQL中自增id用完怎么办?

MySQL中自增id用完怎么办&#xff1f; MySQL里有很多自增的id&#xff0c;每个自增id都是定义了初始值&#xff0c;然后不停地往上加步长。虽然自然数是没有上限的&#xff0c;但是在计算机里&#xff0c;只要定义了表示这个数的字节长度&#xff0c;那它就有上限。比如&#…

python数据结构与算法-15_堆与堆排序

堆(heap) 前面我们讲了两种使用分治和递归解决排序问题的归并排序和快速排序&#xff0c;中间又穿插了一把树和二叉树&#xff0c; 本章我们开始介绍另一种有用的数据结构堆(heap)&#xff0c; 以及借助堆来实现的堆排序&#xff0c;相比前两种排序算法要稍难实现一些。 最后我…