1954springboot VUE 天然气系统隐患管理系统开发mysql数据库web结构java编程计算机网页源码maven项目

news2024/12/23 5:32:07

一、源码特点
  springboot VUE天然气系统隐患管理系统是一套完善的完整信息管理类型系统,结合springboot框架和VUE完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC
模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。

springboot vue 天然气安全隐患管理系统


前段主要技术 vue 
后端主要技术 Springboot java
数据库 mysql
开发工具 IDEA  JDK1.8 
环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以 不建议。

2.IDE环境:推荐IDEA;

3.硬件环境:windows 7/8/10 1G内存以上;;

5.数据库:MySql 5.0 到 5.5 等版本均可 需要高版本 如mysql8.0 需要修改数据连接配置,以及maven中的mysql 驱动包;

6.是Maven项目;查看源码目录中是否包含pom.xml;

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件 数据库字符集gb2312;

2. 使用IDEA导入项目;

3. 将项目中shequ\src\main\resources 下的 application.properties 配置文件中的数据库配置改为自己的配置;
数据库支持 mysql5.0 到5.5 ,如果需要5.7 到8.0 需要二次转换升级
4.vscode 开vue项目工程
5.vue 项目启动  npm run serve 
vue 版本 2.9.6
node 版本 16.14.2

二、功能介绍

(1)用户管理:对用户信息进行添加、删除、修改和查看
(2)居民管理:对居民信息进行添加、删除、修改和查看
(3)天然气表管理:对天然气表信息进行添加、删除、修改和查看
(4)隐患分类管理:对隐患分类信息进行添加、删除、修改和查看
(5)处理流程管理:对处理流程信息进行添加、删除、修改和查看
(6)安全隐患管理:对安全隐患信息进行添加、删除、修改和查看
(7)记录追踪管理:对记录追踪信息进行添加、删除、修改和查看
(8)巡检任务管理:对巡检任务信息进行添加、删除、修改和查看
(9)任务单管理:对任务单信息进行添加、删除、修改和查看
(10)回访管理:对回访信息进行添加、删除、修改和查看
(11)通知管理:对通知信息进行添加、删除、修改和查看
(12)日志管理:对日志信息进行删除和查看
(13)个人信息修改

数据库设计

CREATE TABLE `yonghu` (
`yhid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',
`lxdh` VARCHAR(40) default NULL COMMENT '联系电话',
`lxdz` VARCHAR(40) default NULL COMMENT '联系地址',
`qx` VARCHAR(40) default NULL COMMENT '权限',  PRIMARY KEY  (`yhid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `jumin` (
`jmid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',
`lxdh` VARCHAR(40) default NULL COMMENT '联系电话',
`lxdz` VARCHAR(40) default NULL COMMENT '联系地址',
`trqb` VARCHAR(40) default NULL COMMENT '天然气表',  PRIMARY KEY  (`jmid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `trqb` (
`trqbid` int(11) NOT NULL auto_increment,
`bh` VARCHAR(40) default NULL COMMENT '表号',
`djsj` VARCHAR(40) default NULL COMMENT '登记时间',
`zt` VARCHAR(40) default NULL COMMENT '状态',
`sm` VARCHAR(40) default NULL COMMENT '说明',  PRIMARY KEY  (`trqbid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `yhfl` (
`yhflid` int(11) NOT NULL auto_increment,
`fl` VARCHAR(40) default NULL COMMENT '分类',
`yxj` VARCHAR(40) default NULL COMMENT '优先级',  PRIMARY KEY  (`yhflid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `cllc` (
`cllcid` int(11) NOT NULL auto_increment,
`yhfl` VARCHAR(40) default NULL COMMENT '隐患分类',
`sfsh` VARCHAR(40) default NULL COMMENT '是否审核',
`sffp` VARCHAR(40) default NULL COMMENT '是否分配',  PRIMARY KEY  (`cllcid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `aqyh` (
`aqyhid` int(11) NOT NULL auto_increment,
`lsh` VARCHAR(40) default NULL COMMENT '流水号',
`trqb` VARCHAR(40) default NULL COMMENT '天然气表',
`bt` VARCHAR(40) default NULL COMMENT '标题',
`fl` VARCHAR(40) default NULL COMMENT '分类',
`yxj` VARCHAR(40) default NULL COMMENT '优先级',
`ms` VARCHAR(40) default NULL COMMENT '描述',
`yh` VARCHAR(40) default NULL COMMENT '用户',
`wz` VARCHAR(40) default NULL COMMENT '位置',
`fj` VARCHAR(40) default NULL COMMENT '附件',
`zt` VARCHAR(40) default NULL COMMENT '状态',
`sbsj` VARCHAR(40) default NULL COMMENT '上报时间',  PRIMARY KEY  (`aqyhid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `jlzz` (
`jlzzid` int(11) NOT NULL auto_increment,
`aqyh` VARCHAR(40) default NULL COMMENT '安全隐患',
`sm` VARCHAR(40) default NULL COMMENT '说明',
`yh` VARCHAR(40) default NULL COMMENT '用户',
`clqk` VARCHAR(40) default NULL COMMENT '处理情况',
`clsj` VARCHAR(40) default NULL COMMENT '处理时间',  PRIMARY KEY  (`jlzzid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `xjrw` (
`xjrwid` int(11) NOT NULL auto_increment,
`rwh` VARCHAR(40) default NULL COMMENT '任务号',
`rwmc` VARCHAR(40) default NULL COMMENT '任务名称',
`xjnr` VARCHAR(40) default NULL COMMENT '巡检内容',
`xjsj` VARCHAR(40) default NULL COMMENT '巡检时间',
`fbr` VARCHAR(40) default NULL COMMENT '发布人',
`fbsj` VARCHAR(40) default NULL COMMENT '发布时间',  PRIMARY KEY  (`xjrwid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `rwd` (
`rwdid` int(11) NOT NULL auto_increment,
`xjrw` VARCHAR(40) default NULL COMMENT '巡检任务',
`yh` VARCHAR(40) default NULL COMMENT '用户',
`sm` VARCHAR(40) default NULL COMMENT '说明',
`sj` VARCHAR(40) default NULL COMMENT '时间',
`zt` VARCHAR(40) default NULL COMMENT '状态',  PRIMARY KEY  (`rwdid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

代码设计

   tool tl=new tool();//工具方法




   /**回访列表 查询huifang
     *
     */
    @GetMapping("list")
    public Result  list(@RequestParam(value = "pageNum",defaultValue = "1") int page,
                            @RequestParam(value = "pageSize",defaultValue = "10") int szie,
			    @RequestParam(defaultValue = "") String aqyh
			    )  {

        Result res=new Result();


        List list=null;
        String sql="";
        try{


      
	  if(aqyh!=null&&!aqyh.equals("")){
                sql+=" and aqyh like '%"+aqyh+"%'";//符合条件 拼接sql 安全隐患
            }
          


            list=huifangdao.querylist(sql,page,szie);//查询huifang表数据返回 list对象
            res.setCode(200);
            res.setMessage("查询成功");


            res.setData(tl.ltoj(list));

            list=huifangdao.querylist(sql);
            res.setNum(list.size());

        }catch(Exception e){
            e.printStackTrace();;
        }




        return res;
    }


   /**回访列表 查询huifang
	 * 
	 */

    @GetMapping("listpage")
    public Result  listpage(
			    @RequestParam(defaultValue = "") String aqyh
			    )  {

        Result res=new Result();


        List list=null;
     String sql="";
      
	  if(aqyh!=null&&!aqyh.equals("")){
                sql+=" and aqyh like '%"+aqyh+"%'";//符合条件 拼接sql 安全隐患
            }
	try{
	  
	list=huifangdao.querylist(sql);//查询gly 表数据返回 list对象
        res.setCode(200);
        res.setMessage("查询成功");


        res.setData(tl.ltoj(list));

	}catch(Exception e){
            e.printStackTrace();;
        }


       

        return res;
    }


	/**回访添加方法 对表 huifang  进行添加
	 * 
	 */
    @PostMapping(value = "add")
    public Result  add(@RequestBody huifang bean){
            Result res=new Result();


	try{
         
            if(bean.getHfid()!=null&&!bean.getHfid().equals("")){
            huifangdao.update(bean);//执行 修改 huifang 添加操作
                res.setMessage("操作成功");
            }else{
            huifangdao.add(bean);//执行 添加huifang 添加操作
                res.setMessage("添加成功");
        }


	 }catch(Exception e){
            e.printStackTrace();;
        }
        res.setCode(200);

        //System.out.println(res);



        return res;

    }


	
	 /**回访删除方法 对表huifang  进行删除
	 * 
	 */
     @DeleteMapping("del/{id}")
    public Result  del( @PathVariable String id){
         Result res=new Result();
        try{
           huifangdao.delete(id);//执行 删除huifang 方法

        }catch(Exception e){
            e.printStackTrace();;
        }


         res.setCode(200);
         res.setMessage("删除成功");


        return res;
    }




	/**回访查看方法 对表 huifang 进行查看
	 * 
	 */

    @GetMapping("detail")
    public Result  detail(@RequestParam String id){
        Result res=new Result();
        Map<String, String> map = new HashMap<>();

        huifang bean=new huifang();//初始对象回访
    
        try{
          
            map=huifangdao.gethuifangMap(id);//查询获得当前回访对象



         
            res.setCode(200);
            res.setMessage("查询成功");

            res.setData(tl.mtoj(map));

            System.out.println(tl.mtoj(map));

        
        }catch(Exception e){
            e.printStackTrace();;
        }





        return res;
    }
	
	/**回访修改页面 对表 huifang 进行查看
	 * 
	 */
	 @GetMapping("modifypage")

    public Result  modifypage(@RequestParam String id){
        Result res=new Result();
        Map<String, String> map = new HashMap<>();
        tool tl=new tool();
        try{
            map=huifangdao.gethuifangMap(id);//获取huifang 对象

            //String str=obj.toString();
            res.setCode(200);
            res.setMessage("查询成功");

            res.setData(tl.mtoj(map));//赋值 
        }catch(Exception e){
            e.printStackTrace();;
        }





        return res;
    }

vue前端设计


      <el-form  :model="form" :rules="rules" ref="beanForm"  label-width="80px" size="small" >

        <el-form-item label="用户名" prop="yhm"  >
          <el-input v-model="form.yhm" disabled  ></el-input>
       </el-form-item>
        <el-form-item label="密码" prop="mm"  >
          <el-input v-model="form.mm"  ></el-input>
       </el-form-item>
        <el-form-item label="姓名" prop="xm"  >
          <el-input v-model="form.xm"  ></el-input>
       </el-form-item>
        <el-form-item label="联系电话" prop="lxdh"  >
          <el-input v-model="form.lxdh"  ></el-input>
       </el-form-item>
        <el-form-item label="联系地址" prop="lxdz"  >
          <el-input v-model="form.lxdz"  ></el-input>
       </el-form-item>
        <el-form-item label="天然气表" prop="trqb"  >
      
          <el-input v-model="form.trqb"   disabled ></el-input>

       </el-form-item>
  
       
      </el-form>
      <div slot="footer" class="dialog-footer">
      
        <el-button type="primary" @click="save">确 定</el-button>
      </div>
      
 



    
  
 
  </div>
</template>

<script>
import {serverIp} from "../../public/config";

export default {
  name: "jumin",
  data() {
    return {
      serverIp: serverIp,
      tableData: [],
      trqbs: [],
      total: 0,
      pageNum: 1,
      pageSize: 10,
      yhm: "",
       form: {},
      dialogFormVisible: false,
      dialogDetailVisible:false,
      multipleSelection: [],
        vis: false,
      rules: {
        yhm: [
          { required: true, message: '请输入用户名', trigger: 'blur' }
        ],
        mm: [
          { required: true, message: '请输入密码', trigger: 'blur' }
        ],
        xm: [
          { required: true, message: '请输入姓名', trigger: 'blur' }
        ],
        lxdh: [
          { required: true, message: '请输入联系电话', trigger: 'blur' }
        ],
        lxdz: [
          { required: true, message: '请输入联系地址', trigger: 'blur' }
        ],
        trqb: [
          { required: true, message: '请输入天然气表', trigger: 'blur' }
        ],
      
      }
    }
  },
  created() {
    this.load()
  },
  methods: {
      indexMethod(index) {
        return index+1;
      },
   
    load() {
      this.request.get("/jumin/detail", {
        params: {
          id: localStorage.getItem("id"),
        }
      }).then(res => {
            console.log(res.data)
      this.form = JSON.parse(res.data)
       

      })

      this.request.get("/rizhi/log", {
        params: {
          rz: "居民个人信息修改",
       
          yh: localStorage.getItem("yhm")
        }
      }).then(res => {
            console.log(res.code)


      })

     
    },
    save() {
      //保存方法
      this.$refs['beanForm'].validate((valid) => {
        if (valid) {  // 表单校验合法


      this.request.post("/jumin/add", this.form).then(res => {

     

         // 表单校验合法
        if (res.code == '200') {
          this.$message.success(res.message)
      //    this.dialogFormVisible = false
       this.load()
        } else {
          this.$message.error(res.message)
        }

        
      })

        }
      });
      
     
    },
    handleAdd() {
      this.dialogFormVisible = true
      this.form = {}
    },

    handleEdit(row) {
      this.form = JSON.parse(JSON.stringify(row))
      this.dialogFormVisible = true
    },
       handleDetail(row) {
      this.form = JSON.parse(JSON.stringify(row))
      this.dialogDetailVisible = true
    },
    del(id) {//删除方法
      this.request.delete("/jumin/del/" + id).then(res => {
        if (res.code == '200') {
          this.$message.success(res.message)
          this.load()
        } else {
          this.$message.error("删除失败")
        }
      })
    },
    handleSelectionChange(val) {
      console.log(val)
      this.multipleSelection = val
    },

    reset() {//重置方法

      this.yhm = ""
      this.mm = ""
      this.xm = ""
      this.lxdh = ""
      this.lxdz = ""
      this.trqb = ""
      this.load()
    },
    handleSizeChange(pageSize) {
      console.log(pageSize)
      this.pageSize = pageSize
      this.load()
    },
    handleCurrentChange(pageNum) {
      console.log(pageNum)
      this.pageNum = pageNum
      this.load()
    },
  

  }
}
</script>

三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件\src\main\resources\application.properties
2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。
3、数据库文件名是javatrq.sql 系统名称trq
4、地址:http://128.0.0.1:8080/login

四 系统实现

需要源码 其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

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

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

相关文章

JNI详解

JNI简介 Java是跨平台的语言,但在有的时候仍需要调用本地代码(这些代码通常由C/C++编写的)。 Sun公司提供的JNI是Java平台的一个功能强大的接口,JNI接口提供了Java与操作系统本地代码互相调用的功能。 Java调C++ 1)使用javah命令生成native的头文件 javah com.studio.j…

优化|PyOptInterface:高效且灵活的Python优化建模语言

优化建模语言作为优化求解器与终端用户之间的桥梁&#xff0c;是构建、求解和分析优化模型的重要工具。建模语言的效率直接影响优化模型的构建和求解时间。PyOptInterface是一种基于Python编程语言的优化建模语言&#xff0c;相比现有建模语言兼具高效率和灵活性&#xff0c;在…

Kotlin设计模式:深入理解桥接模式

Kotlin设计模式&#xff1a;深入理解桥接模式 在软件开发中&#xff0c;随着系统需求的不断增长和变化&#xff0c;类的职责可能会变得越来越复杂&#xff0c;导致代码难以维护和扩展。桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过…

【MySQL】如果表被锁可以尝试看一下事务

今天在MySQL中删除表的时候&#xff0c;发现无法删除&#xff0c;一执行drop&#xff0c;navicat就卡死。 通过 SHOW PROCESSLIST显示被锁了 kill掉被锁的进程后依旧被锁 最后发现是由于存在为执行完的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX; kill掉这些事务以…

九泰智库 | 医械周刊- Vol.36

⚖️ 法规动态 广东药监局 | 8家医疗器械公司体系不合规被停产 6月17日&#xff0c;广东省药品监督管理局组织开展医疗器械生产企业监督检查&#xff0c;发现8家企业质量管理体系存在严重缺陷&#xff0c;不符合《医疗器械生产质量管理规范》相关规定&#xff0c;广东省药品监督…

美食解压视频素材无水印无字幕的在哪找?海外美食解压网站分享

在如今快节奏的生活中&#xff0c;观看美食视频已成为许多人缓解压力的一种方式。这些视频不仅唤醒人们的味觉记忆&#xff0c;还能在繁忙中带来片刻的放松。然而&#xff0c;对于视频创作者来说&#xff0c;寻找高品质的美食视频素材&#xff0c;特别是那些无水印、无字幕、可…

HALCON-从入门到入门-提取小票上的斑点

测试效果 在一张超市小票上提取点阵数字 处理步骤解析 首先读取两张图&#xff0c;一张是小票的图片&#xff0c;一张是静脉的图片 为了让点阵数字提取更加困难&#xff0c;我们将两张图片合成到一起 read_image (ImageNoise, angio-part) crop_part (ImageNoise, ImagePart…

面试-java多线程与并发

1.如何实现处理线程的返回值 (1)主线程等待法 主线程等待法&#xff1a;程序执行时&#xff0c;没有等到value值赋予完成&#xff0c;就直接在主函数 中执行打印value的值。 缺点&#xff1a;需要自己去实现循环等待的逻辑。若需要等待的变量变多&#xff0c;需要等待的时间可能…

Python22 Pandas库

Pandas 是一个Python数据分析库&#xff0c;它提供了高性能、易于使用的数据结构和数据分析工具。这个库适用于处理和分析输入数据&#xff0c;常见于统计分析、金融分析、社会科学研究等领域。 1.Pandas的核心功能 Pandas 库的核心功能包括&#xff1a; 1.数据结构&#xff…

python flask使用flask_migrate管理数据库迁移

&#x1f308;所属专栏&#xff1a;【Flask】✨作者主页&#xff1a; Mr.Zwq✔️个人简介&#xff1a;一个正在努力学技术的Python领域创作者&#xff0c;擅长爬虫&#xff0c;逆向&#xff0c;全栈方向&#xff0c;专注基础和实战分享&#xff0c;欢迎咨询&#xff01; 您的点…

openfeign的原理 ????

1、我们使用openfeign调用远程接口就像调用本地方法一样简单。 2、支持spring mvc 注解 3、整合了更多的扩展 &#xff08;请求重试策略、超时控制、请求拦截器&#xff09; 4、open Feign是基于aop的原理&#xff0c;他会通过所加FeignClient的接口&#xff0c;自动拼接接口…

使用gradle上传maven工件到新版maven central仓库central.sonatype.com

本文主要用到的插件是sonatype-uploader, 该插件主要功能是上传依赖文件夹到中央仓库。 该文件夹的生成也十分简单&#xff0c;不用担心。 前言 最近在研究maven插件的时候发现发布的网站发生了变化&#xff0c;使用之前的一些插件没能满足我发布依赖的需求&#xff0c;也可…

公司加密软件的主要功能(五款优秀公司加密软件)

在当今数字化和信息化的时代&#xff0c;企业面对的最大挑战之一就是如何保护其敏感数据不被泄露或篡改。无论是内部员工的操作失误还是外部黑客的恶意攻击&#xff0c;都可能导致严重的数据泄露事件。公司加密软件作为一种强有力的安全工具&#xff0c;能够有效地保护企业的敏…

解析分子筛自动填充高原制氧机的工作原理及优势

在高原地区&#xff0c;由于空气稀薄&#xff0c;氧气含量相对较低&#xff0c;这给人们的生活、工作和学习带来了诸多不便。为了解决这个问题&#xff0c;高原制氧机应运而生&#xff0c;其中分子筛自动填充高原制氧机以其高效、稳定、安全的特点受到了广泛的关注和应用。 一、…

PointCloudLib RANSAC算法实现点云粗配准 C++版本

0.实现效果 原始点云 粗配准后的点云 1.算法原理 RANSAC(Random Sample Consensus)算法,更常见的是RANSAC的变种RANSAC-ICP(Iterative Closest Point)或RANSAC结合其他点云配准技术,用于实现两个点云或3D模型之间的粗配准。在这里,我将简要描述一个使用RANSAC算法进行…

【SQL Server数据库】关系模式与关系代数

目录 一、请用关系代数完成下列查询 1. 求 供应工程J1 零件P1的供应商号码SNO&#xff1b; 2. 求 供应工程J1 零件&#xff08;P&#xff09;为红色 的供应商号码SNO&#xff1b; 3. 求 没有使用 天津供应商&#xff08;P&#xff09;生产的红色零件&#xff08;S&#xff0…

Win11 docker build拉取镜像失败(无法访问镜像仓库)

目录 遇到的问题&#xff1a; 修改docker配置 写了一个dockerfile(基于python的镜像)文件&#xff0c;在生成时&#xff0c;一直报错&#xff0c;换了好几个仓库&#xff0c;都是不行(包括阿里、南大、官网、网易、Azure中国镜像等都不行) 遇到的问题&#xff1a; 连接超时…

梅雨季,祛湿不健脾,湿气易反复!4个方法助您健脾胃,祛湿气!

进入梅雨季以来&#xff0c;苏州连续降雨&#xff0c;空气湿度增加&#xff0c;我们身体内的湿气也愈加严重&#xff1a;身上胖嘟嘟、脸上油乎乎、身体困重、乏力&#xff0c;极易疲劳&#xff0c;食欲减退&#xff0c;头昏昏沉沉的&#xff0c;大便也十分黏腻…… 关于祛湿&am…

【软件下载】Camtasia Studio 2024详细安装教程视频

习惯上来说Camtasia Studio是一款简单易用的高清录屏和视频编辑软件&#xff0c;拥有录制屏幕和配音、视频的剪辑和过场动画片、添加说明字幕和水印、制作视频封面和菜单、视频压缩和播放。不得不说Camtasia是一款屏幕录制和视频剪辑软件&#xff0c;教授课程&#xff0c;培训他…

RFID时尚产业链的创新引擎

在数智化浪潮的推动下&#xff0c;随着 RFID 技术的深入应用&#xff0c;时尚品牌不再仅仅局限于传统条码管理模式&#xff0c;而是选择与RFID紧密融合&#xff0c;从生产到销售&#xff0c;从管理到体验&#xff0c;都展现出了前所未有高效。 RFID技术凭借在库存管理、防伪等方…