Skip to content

由东北大学大一学生在2025年6月设计和编写的、基于JavaFX技术栈开发的、功能比较完备、基本实现全流程闭环管理的环保公众监督协同平台,作为课设。

Notifications You must be signed in to change notification settings

rocinc/NEP-Guard-System

Repository files navigation

东软环保公众监督系统

这是一个由东北大学大一学生在2025年6月设计和编写的、基于JavaFX技术栈开发的、功能比较完备、基本实现全流程闭环管理的环保公众监督协同平台,作为课设。项目旨在通过精细化、数字化的业务流程再造,解决传统环保监督模式中存在的流程僵化、职责不清、监管缺失和效率低下等痛点。


重要:项目环境依赖说明

本项目的UI实现中,部分图片的加载路径在代码中与数据库文件名进行了拼接,形成了指向特定本地目录的绝对路径。这是一个为了在课程设计环境中快速迭代和稳定演示而采取的设计。

因此,为了完整地体验所有功能,您需要在您的计算机上手动创建相应的文件夹,并将项目提供的图片资源放置到指定位置。详细步骤请参见下方的“快速开始”一节。


核心功能与创新点

  • 动态工作流引擎 (Dynamic Workflow Engine)

    • 摒弃硬编码逻辑,创新性地通过后台数据库的JSON配置,动态生成不同环保问题专属的、多步骤、多指标的复杂处理流程。
    • 实现了业务规则与程序代码的完全解耦,无需重新编译即可适应未来业务的快速变化,具备极高的灵活性可扩展性
  • 智能化审批与调度 (Intelligent Decision Support)

    • 带权复合排序: 借鉴经济学MCDA思想,通过归一化算法,解决了对不同单位、不同性质的异构环保指标进行科学优先级排序的难题。
    • 数据驱动的网格员调度: 基于网格员历史工作效能数据(如平均耗时、超时率、通过率),进行多维度评估和智能推荐,将任务分配从主观判断升级为数据决策。
  • 专业级持久化与数据可视化 (Professional Persistence & Visualization)

    • 采用业界主流的 MySQL + MyBatis 技术栈,通过复杂的动态SQL(含多表JOIN、GROUP BY、JSON字段查询),为数据看板和可视化图表提供强大的聚合数据支持。
    • 深入框架底层,自定义实现 MyBatis TypeHandler,优雅地解决了复杂Java对象与数据库JSON字段的自动映射问题,保证了代码的解耦。
  • 现代化的UI/UX与服务集成 (Modern UI/UX & Service Integration)

    • 采用 FXML与Java代码混合 的模式,通过“UI工厂” (DisplayUtil) 动态生成瀑布流卡片,实现了状态驱动的响应式UI
    • 成功集成百度地图API,并通过JavaBridge技术解决了JavaFX与JavaScript之间的跨语言通信难题,提供了地图搜索、点击选点等高级功能。
  • 企业级安全标准 (Enterprise-level Security)

    • 遵循业界安全最佳实践,实现了基于 盐值(Salt) + SHA-256 的密码哈希加密存储方案,有效保障用户账户安全。

技术栈

  • 前端: JavaFX 17, FXML, CSS
  • 后端: Java 17 (JDK 17)
  • 持久化框架: MyBatis 3.5.11
  • 数据库: MySQL 8.0
  • 项目管理: Apache Maven

快速开始 (含手动配置步骤)

请确保您的环境中已安装 Java 17 (JDK), Maven 和 MySQL 8.0。

  1. 克隆仓库

    git clone [https://github.com/rocinc/NEP-Guard-System.git](https://github.com/rocinc/NEP-Guard-System.git)
    cd NEP-Guard-System
  2. 手动配置图片路径 (关键!)

    • 在您的C盘,打开以下路径。请确保路径完全一致: C:\Users\Administrator\
    • 将项目根目录下的 nep_uploads 文件夹直接复制到这个路径,确保最终的图片路径是 C:\Users\Administrator\nep_uploads\xxx.png 这样的形式。
  3. 创建并初始化数据库

    • 登录您的MySQL。
    • 创建一个新的数据库: CREATE DATABASE nep_env_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    • 使用MySQL Workbench等数据库工具,依次执行项目根目录下的两个SQL文件:
      1. 先执行 schema.sql (创建表结构)
      2. 再执行 data.sql (导入初始数据)
  4. 配置数据库连接

    • 第一处:MyBatis配置文件
      • 打开 src/main/resources/mybatis-config.xml 文件。
      • 修改 <dataSource> 部分的 url, username, 和 password,使其与您的MySQL配置相匹配。
    • 第二处:数据库工具类
      • 打开 src/main/java/com/nep/nep_env/util/DatabaseUtil.java
      • 在文件中找到定义数据库连接信息的代码行,同样修改 URL, 用户名, 和密码
    • 注意: 请确保这两处的配置信息完全一致。
  5. 构建并运行项目

    • 在项目根目录下,使用Maven进行构建并运行:
      mvn clean javafx:run
  6. 登录任何角色或注册公众监管员帐户

    • 参照根目录附的 用户与密码对照表.txt

About

由东北大学大一学生在2025年6月设计和编写的、基于JavaFX技术栈开发的、功能比较完备、基本实现全流程闭环管理的环保公众监督协同平台,作为课设。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published