# cemdpm **Repository Path**: cheezhnn/cemdpm ## Basic Information - **Project Name**: cemdpm - **Description**: 公司数据中台项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-28 - **Last Updated**: 2026-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: MES, Java, Vue ## README # CEMDPM - 公司数据中台项目 ## 项目简介 CEMDPM(Company Enterprise Data Platform Management)是一个企业级数据中台管理系统,用于整合和管理公司的生产数据,提供实时数据可视化和查询功能。 ## 技术栈 ### 前端 - **Vue 3** - 渐进式JavaScript框架 - **Vite** - 下一代前端构建工具 - **Element Plus** - Vue 3组件库 - **ECharts** - 数据可视化图表库 - **Vue Router** - Vue.js官方路由管理器 - **Pinia** - Vue状态管理库 ### 后端 - **Spring Boot** - Java应用框架 - **Maven** - 项目管理和构建工具 - **JdbcTemplate** - Spring JDBC模板 - **SQL Server** - 数据库 ## 项目结构 ``` cemdpm/ ├── frontend/ # 前端项目 │ ├── src/ │ │ ├── components/ # Vue组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia状态管理 │ │ ├── views/ # 页面视图 │ │ └── App.vue # 根组件 │ ├── public/ # 静态资源 │ └── package.json # 前端依赖配置 ├── backend/ # 后端项目 │ ├── src/main/java/com/cemdpm/datasource/ │ │ ├── config/ # 配置类 │ │ ├── controller/ # 控制器 │ │ ├── model/ # 数据模型 │ │ └── service/ # 服务层 │ ├── src/main/resources/ │ │ └── application.yml # 应用配置 │ └── pom.xml # Maven依赖配置 └── README.md # 项目说明文档 ``` ## 功能特性 ### 生产看板 - 实时显示当日生产数据 - 装配、调试、包装三个工段的计划数和实际数 - 生产完成情况可视化(饼图) - 生产一部SMT贴片点数展示(折线图) - 生产一部车间数据展示(柱状图) - 生产二部至七部数据对比分析 - 定时自动刷新数据(默认30秒) - 可配置的刷新间隔(10秒、30秒、1分钟、2分钟、5分钟) - 显示上次刷新时间 ### 数据查询 - 支持自定义SQL查询 - 查询结果表格展示 - 查询历史记录管理 ### 工单物料追溯 - 工单基本信息查询与展示 - 物料追溯信息查询与展示 - 物料批次历史多层级查询 - 层级导航与追溯路径显示 - 工单物料数据导出Excel功能 - 支持中文表头、自适应列宽、指定字段顺序导出 - 日期格式化为"YYYY-MM-DD HH:MM:SS"格式 ### 设备运行状态 - 设备运行时间分析报告 - 各状态运行时间占比饼图 - 设备生产数折线图(每小时生产数据) - 整体运行统计(监控时长、运行时间、停止时间、警告时间、运行效率、生产数) - 支持设备编码和日期选择 - 定时自动刷新数据 - 可配置的刷新间隔 ## 安装步骤 ### 前置要求 - Node.js 16.x 或更高版本 - Java 11 或更高版本 - Maven 3.6 或更高版本 - SQL Server 数据库 ### 后端安装 1. **进入后端目录** ```bash cd backend ``` 2. **配置数据库连接** 编辑 `src/main/resources/application.yml` 文件,配置数据库连接信息: ```yaml spring: datasource: url: jdbc:sqlserver://your-database-server:1433;databaseName=your-database username: your-username password: your-password ``` 3. **编译并运行** ```bash mvn clean install mvn spring-boot:run ``` 4. **验证后端服务** 访问 `http://localhost:8080` 确认服务启动成功 ### 前端安装 1. **进入前端目录** ```bash cd frontend ``` 2. **安装依赖** ```bash npm install ``` 3. **启动开发服务器** ```bash npm run dev ``` 4. **访问应用** 打开浏览器访问 `http://localhost:5173` ## 使用说明 ### 生产看板 1. 选择日期查看对应日期的生产数据 2. 点击"刷新数据"按钮获取最新数据 3. 查看各类图表了解生产完成情况 4. 在右上角选择合适的刷新间隔(10秒、30秒、1分钟、2分钟、5分钟) 5. 系统会根据设置的间隔自动刷新数据 6. 查看"上次刷新时间"了解数据更新状态 ### 数据查询 1. 在查询页面输入SQL语句 2. 点击"执行查询"获取结果 3. 查看查询结果表格 ## 配置说明 ### 后端配置 - 数据库连接配置:`backend/src/main/resources/application.yml` - CORS跨域配置:`backend/src/main/java/com/cemdpm/datasource/config/CorsConfig.java` ### 前端配置 - API地址配置:`frontend/src/stores/serviceStore.js` - 路由配置:`frontend/src/router/index.js` ## 开发指南 ### 添加新的API接口 1. 在后端创建对应的Controller方法 2. 在前端创建对应的Service方法 3. 在Vue组件中调用Service方法 ### 添加新的页面 1. 在 `frontend/src/views/` 创建新的Vue组件 2. 在 `frontend/src/router/index.js` 添加路由配置 3. 在导航菜单中添加入口 ## 常见问题 ### 后端启动失败 - 检查数据库连接配置是否正确 - 确认数据库服务是否运行 - 查看日志文件排查具体错误 ### 前端无法访问后端API - 检查后端服务是否正常启动 - 确认CORS配置是否正确 - 查看浏览器控制台错误信息 ### 图表不显示 - 检查数据是否正确返回 - 确认ECharts容器是否正确初始化 - 查看控制台是否有JavaScript错误 ## 贡献指南 1. Fork本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建Pull Request ## 许可证 本项目采用 MIT 许可证 ## 联系方式 如有问题或建议,请通过以下方式联系: - 提交Issue - 发送邮件至项目维护者 ## 更新日志 ### v1.0.8 (2026-04-01) - 新增AOI设备运行状态API(/api/database/aoi-equipment-status) - 新增AOI设备每小时生产数据API(/api/database/aoi-equipment-hourly) - 前端添加AOI001和AOI002设备编码支持 - 实现AOI设备的API接口自动选择 - 优化前端数据处理逻辑,支持AOI设备的数据字段格式 - 修复AOI设备图表数据展示问题 ### v1.0.7 (2026-04-01) - 新增SPI设备运行状态API(/api/database/spi-equipment-status) - 新增SPI设备每小时生产数据API(/api/database/spi-equipment-hourly) - 前端添加1510B-S设备编码支持 - 优化设备状态页面表头显示,使其与设备选项的label一致 - 实现1510B-S设备的API接口自动选择 - 优化前端数据处理逻辑,支持SPI设备的数据字段格式 ### v1.0.6 (2026-03-31) - 新增印刷机设备运行状态API(/api/database/print-equipment-status) - 新增印刷机设备每小时生产数据API(/api/database/print-equipment-hourly) - 前端添加YSJ001设备编码支持 - 实现设备编码自动选择对应的API接口 - 优化前端数据处理逻辑,支持不同设备的数据字段格式 - 编写详细的API接口文档 ### v1.0.5 (2026-03-31) - 新增设备运行状态功能模块 - 实现设备运行时间分析报告 - 实现各状态运行时间占比饼图 - 实现设备生产数折线图(每小时生产数据) - 实现整体运行统计(监控时长、运行时间、停止时间、警告时间、运行效率、生产数) - 支持设备编码和日期选择 - 实现定时自动刷新数据功能 - 支持可配置的刷新间隔 - 优化设备切换时的数据刷新逻辑 ### v1.0.4 (2026-03-30) - 新增工单物料追溯功能模块 - 实现工单基本信息查询与展示 - 实现物料追溯信息查询与展示 - 实现物料批次历史多层级查询 - 实现层级导航与追溯路径显示 - 实现工单物料数据导出Excel功能 - 支持中文表头、自适应列宽、指定字段顺序导出 - 日期格式化为"YYYY-MM-DD HH:MM:SS"格式 - 修复层级导航累计问题 - 优化Excel导出格式 ### v1.0.3 (2026-03-28) - 优化页面刷新机制,实现平滑过渡效果 - 改进数据请求、传输、解析及渲染流程 - 增强后端API错误处理和数据结构一致性 - 实现前端数据变化检测,减少不必要的DOM重绘 - 优化图表更新方式,使用setOption(option, true)实现平滑过渡 - 改进自动刷新时的错误处理,保持页面稳定 - 增加数据验证和错误边界处理 - 修复页面刷新后数据显示异常的问题 ### v1.0.2 (2026-03-28) - 添加生产一部SMT贴片点数图表 - 修复横坐标标签显示不全的问题 - 将生产一部SMT贴片点数标题居中显示 ### v1.0.1 (2026-03-28) - 添加生产看板定时自动刷新功能 - 实现可配置的刷新间隔 - 添加上次刷新时间显示 - 优化图表更新体验 ### v1.0.0 (2026-03-28) - 初始版本发布 - 实现生产看板功能 - 实现数据查询功能 - 完成前后端集成 --- **注意:** 请勿在生产环境中使用默认配置,请根据实际需求修改相关配置文件。