JAVA实战开源项目:天然气工程业务管理系统(Vue+SpringBoot)

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
  • 三、使用角色
    • 3.1 施工人员
    • 3.2 管理员
  • 四、数据库设计
    • 4.1 用户表
    • 4.2 分公司表
    • 4.3 角色表
    • 4.4 数据字典表
    • 4.5 工程项目表
    • 4.6 使用材料表
    • 4.7 使用材料领用表
    • 4.8 整体E-R图
  • 五、系统展示
  • 六、核心代码
    • 6.1 查询工程项目
    • 6.2 工程物资申请
    • 6.3 新增工程进度
  • 七、免责说明


一、摘要

1.1 项目介绍

基于Vue+SpringBoot+MySQL的天然气工程业务管理系统,包含工程项目档案模块、项目进度模块、项目现场照片模块、物资档案模块、物资领用单模块、工程资金申请模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,天然气工程业务管理系统基于角色的访问控制,给天然气管理员、施工队长、财务人员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

在这里插入图片描述

1.2 项目录屏


二、功能模块

本课题研究的内容是开发天然气工程建设项目管理系统,要实现内容包括以下 11 11 11 点。

在这里插入图片描述

  1. 登录功能,实现基于账号、密码和图形验证码的登录;
  2. 人员信息管理,实现对用户的增删改查操作;
  3. 预算管理,实现对预算项目的增删改查操作;
  4. 结算管理,实现对订单的结算操作;
  5. 工程进度管理,实现对工程项目的增删改查操作;
  6. 资金申请/审批,实现对资金申请单的增删改查和审批的操作;
  7. 统计报表;
  8. 组织架构管理,实现对天然气公司内部组织架构的维护;
  9. 日志管理模块,实现对用户操作进行自动化记录;
  10. 文件管理模块,对系统中涉及到的图片、文档进行统一化管理;
  11. 菜单权限管理,实现就与角色的访问控制,对以上模块的数据进行统计分析。同时系统运行稳定、操作简易、逻辑清楚、权限划分明确。

就整个系统面向用户而言,需要划分两个不同用户角色:系统管理员、施工人员和财务人员,施工人员可以发起对预算、结算、工程、资金的申请;财务人员可以对资金申请单进行划扣、审核,对工程进度、预算等明细进行监控;系统管理员拥有系统的全部权限,包括日志管理、用户管理、部门管理、文件管理、数据字典的增删改查操作。

运行在浏览器上的模块可分为“施工人员管理”和“管理员管理”两大模块;其中“施工人员管理”属于前台管理,施工人员可以登录该平台,进入管理界面。


三、使用角色

3.1 施工人员

在这里插入图片描述

3.2 管理员

在这里插入图片描述


四、数据库设计

4.1 用户表

在这里插入图片描述

4.2 分公司表

在这里插入图片描述

4.3 角色表

在这里插入图片描述

4.4 数据字典表

在这里插入图片描述

4.5 工程项目表

在这里插入图片描述

4.6 使用材料表

在这里插入图片描述

4.7 使用材料领用表

在这里插入图片描述

4.8 整体E-R图

在这里插入图片描述


五、系统展示

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


六、核心代码

6.1 查询工程项目

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询工程项目")
public Result<IPage<ProjectData>> getByPage(@ModelAttribute ProjectData projectData ,@ModelAttribute PageVo page){QueryWrapper<ProjectData> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(projectData.getTitle())) {qw.like("title",projectData.getTitle());}if(!ZwzNullUtils.isNull(projectData.getType())) {qw.eq("type",projectData.getType());}if(!ZwzNullUtils.isNull(projectData.getUserName())) {qw.like("user_name",projectData.getUserName());}IPage<ProjectData> data = iProjectDataService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<ProjectData>>().setData(data);
}

6.2 工程物资申请

@RequestMapping(value = "/addOne", method = RequestMethod.POST)
@ApiOperation(value = "新增物资使用上报单")
public Result<MaterialOrder> addOne(@RequestParam String itemId, @RequestParam BigDecimal number,@RequestParam String projectId,@RequestParam String purpose){MaterialOrder order = new MaterialOrder();order.setItemId(itemId);order.setProjectId(projectId);order.setNumber(number);order.setPurpose(purpose);ProjectData p = iProjectDataService.getById(projectId);if(p == null) {return ResultUtil.error("工程项目不存在");}order.setProjectName(p.getTitle() + "-" + p.getType() + "-" + p.getDaySize() + "天");MaterialData m = iMaterialDataService.getById(order.getItemId());if(m == null) {return ResultUtil.error("物资品类不存在");}order.setTitle(m.getTitle());order.setType(m.getType());order.setScene(m.getScene());order.setStatus("未审核");iMaterialOrderService.saveOrUpdate(order);return ResultUtil.success();
}

6.3 新增工程进度

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增工程进度")
public Result<ProjectProgress> insert(ProjectProgress projectProgress){ProjectData p = iProjectDataService.getById(projectProgress.getItemId());if(p == null) {return ResultUtil.error("项目不存在");}projectProgress.setItemName(p.getTitle() + "-" + p.getType() + "-" + p.getDaySize() + "天");User currUser = securityUtil.getCurrUser();projectProgress.setUserId(currUser.getId());projectProgress.setUserName(currUser.getNickname());projectProgress.setProTime(DateUtil.now());iProjectProgressService.saveOrUpdate(projectProgress);return new ResultUtil<ProjectProgress>().setData(projectProgress);
}

七、免责说明

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

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

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

在这里插入图片描述

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

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

相关文章

HackTheBox WifineticTwo

靶机信息系统LinuxIP/难度Medium状态Active/Reason 4地址https://app.hackthebox.com/machines/WifineticTwo 端口扫描 ┌──(st4rry&#x1f680;Kali)-[/mnt/e/htb/WifineticTwo] └─\ ✨ nmap -p22,8080 -sC -sV 10.129.41.69 -oN cv Starting Nmap 7.94 ( https://nma…

【Django开发】0到1美多商城项目md教程第2篇:展示用户注册页面,1. 创建用户模块子应用【附代码文档】

美多商城完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;欢迎来到美多商城&#xff01;&#xff0c;项目准备。展示用户注册页面&#xff0c;创建用户模块子应用。用户注册业务实现&#xff0c;用户注册前端逻辑。图形验证码&#xff0c;图形验证码接口设…

【C语言进阶篇】C语言内存函数

目录 1.memcpy函数及其模拟实现 1.1 memcpy函数的使用 1.2 memcpy函数的模拟实现 2.memmove函数及其模拟实现 2.1 memmove函数的使用 2.2 memmove函数的模拟实现 3.memset函数 4.memcmp函数 1.memcpy函数及其模拟实现 1.1 memcpy函数的使用 memcpy函数是用来拷贝内存的函数&…

mysql 索引(为什么选择B+ Tree?)

索引实现原理 索引&#xff1a;排好序的数据结构 优点&#xff1a;降低I/O成本&#xff0c;CPU的资源消耗&#xff08;数据持久化在磁盘中&#xff0c;每次查询都得与磁盘交互&#xff09; 缺点&#xff1a;更新表效率变慢&#xff0c;&#xff08;更新表数据&#xff0c;还要…

数据的响应式:实现动态数据驱动的技巧

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

洛谷P1100 高低位交换

#先看题目 题目描述 给出一个小于 的非负整数。这个数可以用一个 32 位的二进制数表示&#xff08;不足 32 位用 0 补足&#xff09;。我们称这个二进制数的前 16 位为“高位”&#xff0c;后 16 位为“低位”。将它的高低位交换&#xff0c;我们可以得到一个新的数。试问这…

​关于robotframework,app,appium的xpath定位问题及常用方法​

关于类似的帖子好像很多&#xff0c;但是没有找到具体能帮我解决问题的办法。还是自己深究了好久才基本知道app上面的xpath定位和web上的不同点&#xff1a; 先放一个图&#xff1a; A&#xff0c;先说说不用xpath的场景&#xff0c;一般是用于存在id或者name。可能没有看到na…

UI 学习 三 可访问性 UX

设计、交流和实现不同领域内容的易访问性决策&#xff0c;涉及到一系列考虑因素&#xff0c;以达到更容易访问的产品体验。 Material使用的框架借鉴了WCAG标准和行业最佳实践&#xff0c;以帮助任何人预测、计划、记录和实现可访问体验。 下面描述的三个阶段有助于将可视化UI…

Verilog——信号类型

Verilog HDL 的信号类型有很多种&#xff0c;主要包括两种数据类型&#xff1a;线网类型 (net type) 和寄存器类型 &#xff08; reg type &#xff09;。在进行工程设计的过程中也只会使用到这两个类型的信号。 4.1 信号位宽 定义信号类型的同时&#xff0c;必须定义好信号…

使用决策树模型绘制混淆矩阵、ROC曲线、特征变量重要性排序图

大家好&#xff0c;我是带我去滑雪&#xff01; 决策树模型可以处理各种类型的特征&#xff08;连续型、离散型、类别型等&#xff09;&#xff0c;不需要对特征进行过多的预处理工作&#xff0c;因此非常适合初步探索数据。通过绘制混淆矩阵、ROC曲线和特征变量重要性排序图&a…

基于java+springboot+vue实现的高校自习室预约系统(文末源码+Lw+ppt)23-428

摘 要 高校自习室预约系统采用B/S架构&#xff0c;数据库是MySQL。网站的搭建与开发采用了先进的java进行编写&#xff0c;使用了springboot框架。该系统从两个对象&#xff1a;由管理员和学生来对系统进行设计构建。主要功能包括&#xff1a;个人信息修改&#xff0c;对用户…

DNA序列修正——HashMap应用

题目链接&#xff1a;1.DNA序列修正 - 蓝桥云课 (lanqiao.cn) 利用HashMap的特性&#xff0c;将字母匹配转换成数字匹配 A T 0 1 C G 1 2 3 另外&#xff0c;Java中没有交换&#xff08;swap&#xff09;函数&#xff0c;需要自己进行编写。 程序代码&#xff1a; pac…

【电路笔记】-MOSFET作为开关

MOSFET 作为开关 文章目录 MOSFET 作为开关1、概述2、MOSFET特性曲线2.1 截住区域2.2 饱和区域3、MOSFET作为开关的示例4、功率MOSFET电机控制5、P沟道MOSFET作为开关6、互补MOSFET作为开关电机控制器当 MOSFET 在截止区和饱和区之间工作时,MOSFET 是非常好的电子开关,用于控…

mybatis项目中配置sql提示

2023版的idea好像内置了这个功能。 第一步&#xff1a; 第二步&#xff1a;第一步完成后user会爆红&#xff0c;这时我们需要连接数据库。

TypeScript中的 K、T 、V

文章目录 前言泛型类型链接关系K、T、V 含义自动类型推断泛型的应用场景容器类和数据结构函数和方法接口和类类型约束和扩展常用的工具类型 前言 在 TypeScript 的泛型里经常会碰到一些字母&#xff0c;比如 K、T、V&#xff0c;是不是觉得很奇怪&#xff1f; 泛型类型 图中的…

ChatGPT提示词方法的原理

关于提示词&#xff0c;我之前的一些文章可以参考&#xff1a; 【AIGC】AI作图最全提示词prompt集合&#xff08;收藏级&#xff09;https://giszz.blog.csdn.net/article/details/134815245?ydrefereraHR0cHM6Ly9tcC5jc2RuLm5ldC9tcF9ibG9nL21hbmFnZS9hcnRpY2xlP3NwbT0xMDExL…

力扣● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇

● 583. 两个字符串的删除操作 注意审题&#xff1a; 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 删除最少的字符使两者相同&#xff0c;说明留下来的就是最大公共子序列。不要求…

13 秒插入 30 万条数据,这才是 Java 批量插入正确的姿势!

本文主要讲述通过MyBatis、JDBC等做大数据量数据插入的案例和结果。 30万条数据插入插入数据库验证 实体类、mapper和配置文件定义 User实体 mapper接口 mapper.xml文件 jdbc.properties sqlMapConfig.xml 不分批次直接梭哈 循环逐条插入 MyBatis实现插入30万条数据 J…

代码资源集合

代码资源 通信QPSKOQPSKMSK信道编码GMSK 雷达LFM及干扰技术LFM射频噪声干扰噪声调幅干扰噪声调频干扰噪声调相干扰固定移频干扰间歇采样干扰 SAR成像RD算法CS算法wk算法 SAR干扰技术射频噪声干扰调幅噪声干扰调频噪声干扰调相噪声干扰噪声卷积干扰乘积干扰移频干扰 DOA估计功率…

电学基础知识

目录 电流 前言 电流的产生 电流的单位安培&#xff08;A&#xff09; 电路和电池 开路和闭路 电灯泡原理 对电池容量的理解 毫安时 毫瓦时 直流电和交流电 AC交流电 DC直流电 直流电和交流电对比 电压 对电器的电压和电流的理解 电阻 电压电阻电子的关系 欧…