chore: save local MES snapshot
This commit is contained in:
760
doc_old/MES_功能列表_页面_存储过程映射.md
Normal file
760
doc_old/MES_功能列表_页面_存储过程映射.md
Normal file
@@ -0,0 +1,760 @@
|
||||
# MES_Manage_View_V20 功能列表 — 页面 → 存储过程映射
|
||||
|
||||
> **生成日期**: 2026-05-18
|
||||
> **说明**: 系统采用动态菜单架构,页面路由由数据库表 `登录基础数据_二级菜单` 配置,前端通过 `this.CreateData(type, name, data)` 统一调用后端存储过程。
|
||||
> **通信协议**: 前端 → ASP.NET后端 → SQL Server存储过程,参数以JSON格式传递。
|
||||
|
||||
---
|
||||
|
||||
## 架构说明
|
||||
|
||||
```
|
||||
前端 Vue 组件
|
||||
│
|
||||
├── this.CreateData('1', '存储过程名', [参数数组])
|
||||
│ └── 查询操作 (type='1')
|
||||
│
|
||||
├── this.CreateData('2', '存储过程名', [参数数组])
|
||||
│ └── 增删改操作 (type='2')
|
||||
│
|
||||
└── this.CreateData('7', '存储过程名', jsonData, pageSize, pageList)
|
||||
└── 批量/JSON操作 (type='7')
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 一、登录与权限管理
|
||||
|
||||
### 1.1 用户登录
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **页面路径** | `/login` |
|
||||
| **Vue组件** | `src/views/login/index.vue` |
|
||||
| **功能描述** | 用户工号密码验证、多角色选择、记住密码(Cookie)、修改密码 |
|
||||
|
||||
| 操作 | 前端调用 type | 存储过程 / 后端名称 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 用户名密码验证 | 1 | `菜单模块系统_用户名密码_查询数据` → `MES_登录_工号密码验证` | 查询 `基础表_用户角色` |
|
||||
| 获取用户角色菜单 | 1 | `菜单模块系统_项目角色模块列表_二级_查询数据` → `View_账号权限信息` | 按角色编号返回菜单树 |
|
||||
| 修改密码 | 2 | `账号信息_修改密码_MESWORK` | 调用 `editPassword()` API |
|
||||
| 获取工位列表 | 1 | `MES_登录_工位与名称_查询` | 来自 `View_基础数据_工位` |
|
||||
| 获取班次信息 | 1 | `MES_登录_班次信息` | 来自 `YL_基础表_数据字典` |
|
||||
|
||||
**涉及数据库对象**:
|
||||
| 类型 | 名称 |
|
||||
|------|------|
|
||||
| 表 | `登录基础数据_人员信息`, `登录基础数据_角色信息`, `登录基础数据_人员权限角色`, `登录基础数据_二级菜单`, `基础表_用户角色` |
|
||||
| 视图 | `View_账号权限信息`, `View_基础数据_工位`, `登录基础数据_管理人员权限视图` |
|
||||
| 存储过程 | `MES_登录_工号密码验证`, `MES_登录_工位与名称_查询`, `MES_登录_班次信息` |
|
||||
|
||||
---
|
||||
|
||||
### 1.2 权限与菜单管理
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **功能描述** | 动态菜单路由生成、角色-菜单-按钮权限控制 |
|
||||
|
||||
| 类型 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| 表 | `登录基础数据_二级菜单` | 菜单树配置(id/pid/path/componet/name/title/icon/账号代码) |
|
||||
| 表 | `登录基础数据_角色信息` | 角色定义 |
|
||||
| 表 | `登录基础数据_人员权限角色` | 人员-角色关联 |
|
||||
| 表 | `登录基础数据_部门` | 组织架构 |
|
||||
| 视图 | `登录基础数据_管理人员权限视图` | 角色-人员-部门完整视图 |
|
||||
| 前端 | `src/permission.js` | 路由守卫 |
|
||||
| 前端 | `src/router/getTreeData.js` | 动态菜单树递归生成 |
|
||||
|
||||
---
|
||||
|
||||
## 二、生产排产管理
|
||||
|
||||
### 2.1 排产任务查询
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **页面路径** | 动态配置 (如 `/orderPlanned` 等) |
|
||||
| **功能描述** | 查询待排产任务、按多种条件筛选(订单号/合同号/物料/工序/时间范围/排产状态/工位) |
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 机加件排产查询 | 1 | `MES_OrderPlanned_Query` | 过滤: 物料类型=pit_Resource, 自制件属性=机加件, 任务状态<4 |
|
||||
| 装配件排产查询 | 1 | `MES_OrderPlanned_Queryzp` | 过滤: 自制件属性包含装配 |
|
||||
| 获取订单详细信息 | 1 | `Prog_MES_GetProductOrder_byAID` | 按TaskAID查订单工序详情 |
|
||||
|
||||
**涉及数据库对象**:
|
||||
| 类型 | 名称 |
|
||||
|------|------|
|
||||
| 视图 | `View_生产订单_MES` |
|
||||
| 表 | `MES_接口_生产计划`, `MES_接口_生产计划_生产任务`, `车间生产管理工艺_零件生产工艺_工艺库` |
|
||||
| 存储过程 | `MES_OrderPlanned_Query`, `MES_OrderPlanned_Queryzp`, `Prog_MES_GetProductOrder_byAID` |
|
||||
|
||||
---
|
||||
|
||||
### 2.2 单任务排产/拆分
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **功能描述** | 单个工序任务指派工位、拆分数量、设定计划时间 |
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 单任务排产指派 | 2 | `MES_OrderPlanned_SingleTaskPlanned` | 核心排产:指派数量<计划数量时自动拆分;>计划数量时合并/报错 |
|
||||
| 编辑任务排产信息 | 2 | `MES_OrderPlanned_EditTaskPlanned` | 动态SQL编辑排产字段 |
|
||||
| 编辑任务描述 | 2 | `MES_OrderPlanned_DescriptionEdit` | 编辑优先级/未完成说明/派工特殊说明 |
|
||||
|
||||
---
|
||||
|
||||
### 2.3 批量排产确认
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 批量排产确认 | 7 | `MES_OrderPlanned_Finish` | JSON格式批量传入,OPENJSON解析 |
|
||||
|
||||
---
|
||||
|
||||
### 2.4 子任务(二次派工)
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 新增子任务 | 2 | `MES_OrderPlanned_ChildTask_Add` | 插入 `MES_接口_生产计划_生产任务_子任务` |
|
||||
| 查询子任务 | 1 | `MES_OrderPlanned_ChildTask_Get` | 按父TaskAID查子任务列表 |
|
||||
|
||||
---
|
||||
|
||||
### 2.5 排产重置
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 重置排产 | 2 | `__Reset_ProductOrder` | @optType=0重置排产, @optType=1重置加工中心(TRUNCATE操作记录) |
|
||||
|
||||
---
|
||||
|
||||
## 三、生产订单管理
|
||||
|
||||
### 3.1 订单查询
|
||||
|
||||
| 页面路径 | 动态配置 |
|
||||
| **功能描述** | 多条件查询生产订单(订单号/合同号/物料/工序/排产状态/工位) |
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 机加件订单查询 | 1 | `MES_ProductAdmin_Query` | 含不合格数量/收料数量等 |
|
||||
| 装配件订单查询 | 1 | `MES_ProductAdmin_Query` | @物料类型='装配件' |
|
||||
| 订单工序任务获取 | 1 | `MES_ProductCenter_GetOrderTasks` | 按TaskAID查同订单所有工序及前序合格/不合格数 |
|
||||
|
||||
**涉及视图**: `View_生产订单_MES`, `View_生产订单全部(包括已关闭)`, `View_生产订单Temp_ERP`
|
||||
|
||||
---
|
||||
|
||||
### 3.2 ERP订单同步
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| SAP订单同步到MES | 2 | `MES_接口_生产计划_Insert` | 装配件自动生成生产任务行 |
|
||||
|
||||
**涉及外部数据源**: `SAP.SBO_YL.dbo.OWOR`, `SAP.SBO_YL.dbo.OWR1`, `SAP.SBO_YL.dbo.OWR4`
|
||||
|
||||
---
|
||||
|
||||
## 四、加工中心(生产执行)
|
||||
|
||||
### 4.1 任务查看
|
||||
|
||||
| 页面路径 | 动态配置 |
|
||||
| **功能描述** | 查看分配给当前工位的可执行/进行中任务 |
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 机加任务查询 | 1 | `MES_ProductCenter_GetTask` | 多条件筛选(订单号/零件编号/计划开工/生产状态/工位/用户ID) |
|
||||
| 装配任务查询 | 1 | `MES_ProductCenter_GetTask_zp` | 过滤装配工序 |
|
||||
| 获取进行中任务 | 1 | `MES_ProductCenter_DoingTask` | 按工位获取正在加工的任务 |
|
||||
| 获取操作记录 | 1 | `MES_ProductCenter_OptRecords` | 按工位查最近50条操作记录 |
|
||||
|
||||
---
|
||||
|
||||
### 4.2 生产操作流程
|
||||
|
||||
```
|
||||
收料 → 开始加工 → (暂停/恢复) → 报工
|
||||
→ 首检 → 巡检 → 序检
|
||||
```
|
||||
|
||||
| 操作步骤 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| **收料** | 2 | `MES_ProductTask_MaterialRecieved` | 更新收料数量,收料>0时任务变为可执行(1) |
|
||||
| **标记可执行** | 2 | `MES_ProductTask_Excutable` | 手动标记任务为可执行状态 |
|
||||
| **开始加工** | 2 | `MES_ProductTask_WorkingStart` | 任务状态→已开工(2),自动同步上序合格数为收料数 |
|
||||
| **暂停** | 2 | `MES_ProductTask_Rest` | 加工状态→暂停(5),关联开始记录 |
|
||||
| **报工** | 2 | `MES_ProductTask_ProdReport` | 核心报工:含加班计算、捆绑报工、前序不合格数、报工记录双写入 |
|
||||
| **辅助开始** | 2 | `MES_ProductTask_HelpStart` | 辅助工序开始 |
|
||||
| **辅助结束** | 2 | `MES_ProductTask_HelpEnd` | 含加班时长计算、休息日处理 |
|
||||
| **首检** | 2 | `MES_ProductTask_FirstCheck` | 生成首检操作记录 |
|
||||
| **送检(装配报工)** | 2 | `MES_ProductTask_SendInspection` | 装配工序的报工操作 |
|
||||
| **外协通知** | 2 | `MES_ProductTask_Notice` | 更新外协通知状态 |
|
||||
|
||||
**底层操作记录保存**:
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 操作记录统一保存 | - | `MES_ProductCenter_OptRecord_Save` | 被上述所有操作调用,处理暂停/开始/报工联动计算工时 |
|
||||
|
||||
**涉及数据库对象**:
|
||||
| 类型 | 名称 |
|
||||
|------|------|
|
||||
| 表 | `YL_加工中心_操作记录表`, `YL_加工中心_报工记录` |
|
||||
| 视图 | `View_生产工时视图`, `View_校验后的生产工时`, `v_CurrentProductionStatus` |
|
||||
| 索引 | `IX_YL_加工中心_操作记录表_TaskAID_操作内容` |
|
||||
|
||||
---
|
||||
|
||||
### 4.3 暂停状态管理
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 获取暂停状态 | 1 | `MES_操作记录_获取暂停状态` | 查询最近未结束的暂停记录(24小时内) |
|
||||
| 获取任务暂停状态 | 1 | `MES_操作记录_获取任务暂停状态` | 按TaskAID查暂停状态 |
|
||||
| 查找未完成开始记录 | 1 | `FindUnfinishedStartOperations` | 查询开始加工但未报工的记录 |
|
||||
|
||||
---
|
||||
|
||||
## 五、工时管理与校验
|
||||
|
||||
### 5.1 报工记录管理
|
||||
|
||||
| 页面路径 | 动态配置 |
|
||||
| **功能描述** | 查看/确认各班次报工记录 |
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 报工记录查询 | 1 | `MES_ProductAdmin_GetRptRecords` | 按日期/工位/合同号/订单号/操作人/确认状态筛选 |
|
||||
| 报工确认 | 2 | `MES_ProductAdmin_RptConfirm` | 确认工时、填写确认说明 |
|
||||
| 工时汇总查询 | 1 | `MES_ProductTask_WorkTimeSum` | 按TaskAID/工序汇总工时 |
|
||||
|
||||
**涉及数据库对象**:
|
||||
| 类型 | 名称 |
|
||||
|------|------|
|
||||
| 表 | `YL_加工中心_报工记录`, `生产管理_工时校验_校验工时表` |
|
||||
| 视图 | `View_生产工时视图`, `View_校验后的生产工时`, `View_报工人员` |
|
||||
|
||||
---
|
||||
|
||||
### 5.2 装配人员工时
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 开始记录 | 2 | `MES_人员工时记录_开始` | 装配人员开始加工 |
|
||||
| 结束记录 | 2 | `MES_人员工时记录_结束` | 含白班/加班/休息日完整工时计算 |
|
||||
| 检查进行中 | 1 | `MES_人员工时记录_检查是否存在` | 检查是否有未结束记录 |
|
||||
| 获取进行中任务 | 1 | `MES_人员工时记录_获取进行中任务` | 按用户ID查进行中装配任务 |
|
||||
| 获取所有进行中 | 1 | `MES_人员工时记录_获取进行中任务2` | 查所有未结束装配任务 |
|
||||
|
||||
---
|
||||
|
||||
## 六、质量管理
|
||||
|
||||
### 6.1 质检任务查询
|
||||
|
||||
| 页面路径 | 动态配置 |
|
||||
| **功能描述** | 多条件查询质检任务(计划号/零件编码/工艺编号/检测类型/检验结果/检测人/时间) |
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 质检记录查询 | 1 | `MES_QualityInspection_CheckRecord_Query` | 排除来料检验,含工艺编号关联 |
|
||||
| 质检任务查询 | 1 | `MES_QulityInspection_GetTask` | 查已开工/已完成任务(含首检/巡检/序检状态) |
|
||||
| 获取检测标准 | 1 | `MES_QulityInspection_GetItemStandard` | 按物料编号+工序名称编号+检测类别编号查标准 |
|
||||
| 获取检测数量 | 1 | `MES_QulityInspection_GetCheckCount` | 按TaskAID查检验总数 |
|
||||
| 获取检测零件 | 1 | `MES_QulityInspection_GetPart` | 按QT_AID查零件列表 |
|
||||
| 获取检测零件详情 | 1 | `MES_QualityInspection_GetInspectionParts` | 零件级检测结果 |
|
||||
| 获取检测明细数据 | 1 | `MES_QualityInspection_GetInspectionDetails` | 检测项目明细(理论值/实测值) |
|
||||
|
||||
---
|
||||
|
||||
### 6.2 质检操作
|
||||
|
||||
| 操作步骤 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| **收检** | 2 | `MES_QulityInspection_ReceiveCheck` | 事务性写入,总检测数=计划数时自动完成任务,收检合格触发下一工序可执行 |
|
||||
| **终检** | 2 | `MES_QulityInspection_FinalCheck` | 终检记录(含放行数量) |
|
||||
| **巡检** | 2 | `MES_QulityInspection_RoundCheck` | 更新不合格数+巡检标记 |
|
||||
| **序检** | 2 | `MES_QulityInspection_ProcessCheck` | 更新不合格数+序检标记 |
|
||||
| **首检记录查询** | 1 | `MES_QulityInspection_FirstCheckRecords` | 按工序/工位/订单号/零件/时间筛选 |
|
||||
| **保存检测数据** | 2 | `MES_QulityInspection_CheckItemData_Save` | 事务性三级写入(质检主表→零件表→检测数据表) |
|
||||
|
||||
---
|
||||
|
||||
### 6.3 不合格品处理
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 发起处理流程 | 2 | `MES_QulityInspection_NGPart_Add` | 含申请让步放行,自动创建首个审批节点 |
|
||||
| 新增审批节点 | 2 | `MES_QulityInspection_NGPart_FlowNode_Add` | 追加审批节点 |
|
||||
| 完成审批节点 | 2 | `MES_QulityInspection_NGPart_FlowNode_Update` | 填写处理意见/让步放行数量 |
|
||||
| 结束处理流程 | 2 | `MES_QulityInspection_NGPart_Finish` | 更新结束时间 |
|
||||
|
||||
**涉及数据库对象**:
|
||||
| 类型 | 名称 |
|
||||
|------|------|
|
||||
| 表 | `YL_质量检验_质检记录`, `YL_质量检验_质检记录_检测零件`, `YL_质量检验_质检记录_检测数据` |
|
||||
| 表 | `YL_质量检验_检测标准`, `YL_质量检验_量具信息` |
|
||||
| 表 | `YL_质量检验_不合格品处理`, `YL_质量检验_不合格品处理_处理节点` |
|
||||
| 视图 | `View_质量检验_质检记录`, `View_质量检验_质检记录_外协收检`, `View_质量检验_不合格品处理` |
|
||||
| 视图 | `View_外协质检`, `View_质检明细`, `View_终检状态`, `View_装配信息` |
|
||||
|
||||
---
|
||||
|
||||
### 6.4 量具管理
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 量具查询 | 1 | `MES_QulityInspection_MeasuringTool` | 按编号/名称/规格/制造商/状态/负责人筛选 |
|
||||
|
||||
**涉及表**: `YL_质量检验_量具信息`
|
||||
|
||||
---
|
||||
|
||||
### 6.5 SAP质检任务
|
||||
|
||||
| 类型 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| 表 | `质量检验_质检任务_SAP` | SAP来料检验任务同步表 |
|
||||
|
||||
---
|
||||
|
||||
## 七、设备管理
|
||||
|
||||
### 7.1 设备台账
|
||||
|
||||
| 页面路径 | 动态配置 |
|
||||
| **功能描述** | 设备台账增删改查、设备主数据管理 |
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 新增设备 | 2 | `MES_DeviceAdmin_BaseInfo` | 含设备编号唯一性校验 |
|
||||
| 设备查询 | 1 | (直接查 `YL_设备管理_设备台账`) | |
|
||||
| 点检表管理 | - | `基础数据_设备工位点检表` | 设备点检清单 |
|
||||
|
||||
---
|
||||
|
||||
### 7.2 设备生产状态
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 更新生产状态 | 2 | `MES_DeviceAdmin_DeviceProductState_Update` | 自动写入历史记录表 |
|
||||
| 状态查询(当前) | 1 | `MES_DeviceAdmin_ProductState_MobyQuery` | 当前设备生产状态 |
|
||||
| 状态查询(历史) | 1 | `MES_DeviceAdmin_ProductState_HistoryQuery` | 设备生产状态变更历史 |
|
||||
|
||||
**涉及表**: `YL_设备管理_设备生产状态_Moby`, `YL_设备管理_设备生产状态_Moby_历史记录`
|
||||
|
||||
---
|
||||
|
||||
### 7.3 维修记录
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 新增维修记录 | 2 | `MES_DeviceAdmin_RepairRecords_Add` | 记录故障描述/维修人员/完成时间 |
|
||||
| 维修记录查询 | 1 | `MES_DeviceAdmin_RepairRecords_Query` | 按工位/设备/故障/时间/人员筛选 |
|
||||
|
||||
**涉及表**: `YL_设备管理_维修记录`
|
||||
|
||||
---
|
||||
|
||||
### 7.4 设备工时
|
||||
|
||||
| 类型 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| 表 | `YL_设备管理_工时记录` | 设备循环时间采集记录 |
|
||||
|
||||
---
|
||||
|
||||
## 八、工艺管理
|
||||
|
||||
### 8.1 工序基础数据
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 工序查询 | 1 | `MES_ProcessManagement_ProcessGet` | 支持逗号分隔多ID查询 |
|
||||
| 新增工序 | 2 | `MES_ProcessManagement_ProcessAdd` | 自动计算工艺编号(max+1) |
|
||||
| 编辑工序 | 2 | `MES_ProcessManagement_ProcessEdit` | 按工艺编号修改工序名称 |
|
||||
| 删除工序 | 2 | `MES_ProcessManagement_ProcessDel` | 按工艺编号删除 |
|
||||
|
||||
**涉及表**: `基础表_工序`
|
||||
|
||||
---
|
||||
|
||||
### 8.2 标准工艺库
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 物料查询 | 1 | `MES_ProcessManagement_PartGet` | 查询SAP物料编码(TOP 100) |
|
||||
| 工艺绑定查询 | 1 | `MES_ProcessManagement_ProcessBindGet` | 按物料编号查关联的标准工艺工序 |
|
||||
|
||||
**涉及数据库对象**:
|
||||
| 类型 | 名称 |
|
||||
|------|------|
|
||||
| 表 | `车间生产管理工艺_零件工序_工艺库`, `车间生产管理工艺_零件生产工艺_工艺库` |
|
||||
| 视图 | `View_标准工艺视图`, `View_生产工艺视图`, `计划任务视图` |
|
||||
| 外部源 | `SAP.SBO_YL.dbo.UBT_OITM` |
|
||||
|
||||
---
|
||||
|
||||
## 九、看板与报表
|
||||
|
||||
### 9.1 首页看板
|
||||
|
||||
| 页面路径 | `/dashboard` |
|
||||
| **Vue组件** | `src/views/dashboard/index.vue` |
|
||||
| **功能描述** | 动态展示有权限的一级和二级菜单模块入口(九宫格布局) |
|
||||
|
||||
---
|
||||
|
||||
### 9.2 当前生产状态看板
|
||||
|
||||
| 操作 | type | 存储过程/视图 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 查询当前状态 | 1 | `v_CurrentProductionStatus` | 机加(加工中)+装配(加工中) UNION,含人员聚合(STRING_AGG) |
|
||||
|
||||
---
|
||||
|
||||
### 9.3 外协报表
|
||||
|
||||
| 视图 | 说明 |
|
||||
|------|------|
|
||||
| `View_外协报表视图` | 关联SAP采购数据(供应商/含税单价/材质/发料)的外协完整报表 |
|
||||
|
||||
---
|
||||
|
||||
### 9.4 生产订单完工视图
|
||||
|
||||
| 视图 | 说明 |
|
||||
|------|------|
|
||||
| `View_生产订单完工` | 复杂完工判定:合格数+不合格数=计划数量 |
|
||||
|
||||
---
|
||||
|
||||
### 9.5 图纸视图
|
||||
|
||||
| 视图 | 说明 |
|
||||
|------|------|
|
||||
| `View_图纸视图` | 零件图纸+物料描述关联 |
|
||||
| `View_生产计划零件图纸视图` | 生产订单+图纸关联 |
|
||||
|
||||
---
|
||||
|
||||
## 十、图纸与文件管理
|
||||
|
||||
### 10.1 零件图纸
|
||||
|
||||
| 功能 | 涉及表 |
|
||||
|------|------|
|
||||
| 图纸上传/预览/删除 | `物料基础数据_零件图纸` |
|
||||
| 图纸删除记录 | `物料基础数据_零件图纸删除记录` |
|
||||
| 工艺图纸 | `物料基础数据_工艺图纸` |
|
||||
| PDF在线预览 | pdfjs-dist 5.1.91 |
|
||||
|
||||
**文件操作 API**:
|
||||
| 操作 | URL | 说明 |
|
||||
|------|------|------|
|
||||
| 上传文件 | `{baseURL}/submit/MESUploadFile.ashx` | `MESUploadFile` |
|
||||
| 下载文件 | `{baseURL}/webpage/part/` | `MESDownFile` |
|
||||
|
||||
---
|
||||
|
||||
## 十一、实时监控与数据采集
|
||||
|
||||
### 11.1 设备变量缓存
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 缓存变量更新 | - | `Event_CaChe_Var_Update` | 设备实时数据写入/更新缓存,含循环时间触发工时记录 |
|
||||
| 看板查询 | 1 | `Event_CaChe_Var_看板查询` | Sort<11,按Zone+Sort排序 |
|
||||
|
||||
**涉及表**: `CaChe_Var`
|
||||
|
||||
---
|
||||
|
||||
### 11.2 设备数据采集
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 历史数据插入 | - | `Event_Device_Insert_CurrInfo` | 写入 `历史_设备数据_定时` |
|
||||
| 当前数据更新 | - | `Event_Device_Update_CurrInfo` | 更新 `当前_工位_通用` |
|
||||
|
||||
---
|
||||
|
||||
### 11.3 工位状态监控
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 状态插入 | - | `Event_StationStatus_Insert` | 写入 `历史_工位设备状态每分钟记录` |
|
||||
| 状态更新 | - | `Event_StationStatus_Update` | 更新 `基础_工位` 状态代码 |
|
||||
|
||||
**状态码**: -1关机, 0待机, 1工作, 2报警, 3暂停
|
||||
|
||||
---
|
||||
|
||||
### 11.4 报警管理
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 报警开始 | - | `Event_Alarm_Start` | 写入缓存表+设备状态备份 |
|
||||
| 报警结束 | - | `Event_Alarm_End` | 计算持续时间→迁移至历史表→删除缓存 |
|
||||
|
||||
**涉及表**: `报警_记录_历史`, `报警_记录_历史_缓存`, `EquipmentStatus_Backup`
|
||||
|
||||
---
|
||||
|
||||
### 11.5 设备数据历史
|
||||
|
||||
| 表 | 说明 |
|
||||
|------|------|
|
||||
| `历史_设备数据_定时` | 设备变量历史数据(在线状态/设备代码/变量名/值/单位) |
|
||||
| `历史_工位设备状态每分钟记录` | 每分钟工位状态快照(含电流1-3/线电压1-3/功率1-3/总功率/电能) |
|
||||
|
||||
---
|
||||
|
||||
### 11.6 PLC设备读写
|
||||
|
||||
| 方法 | 函数 | 说明 |
|
||||
|------|------|------|
|
||||
| 读设备 | `WebApi_ReadDevice(TagList)` | Cmd_Opc_Read |
|
||||
| 写设备 | `WebApi_WriteDevice(TagList)` | Cmd_Opc_Write |
|
||||
|
||||
**通信**: 前端 → `window.dt_Config.deviceApiAddress` → 设备网关,使用MQTT协议(`mqtt: 4.3.7`)
|
||||
|
||||
---
|
||||
|
||||
## 十二、工作流与审批
|
||||
|
||||
### 12.1 流程管理
|
||||
|
||||
| 涉及表 | 说明 |
|
||||
|------|------|
|
||||
| `流程表` | 审批流程主表(标题/描述/优先级/状态/发起人/当前节点/完成人) |
|
||||
| `流程节点表` | 审批节点(审批人/步骤序号/状态/转办) |
|
||||
| `流程完成记录表` | 流程完成记录 |
|
||||
| `流程转办表` | 审批转办记录 |
|
||||
| `审批记录表` | 审批意见记录 |
|
||||
|
||||
---
|
||||
|
||||
## 十三、系统管理
|
||||
|
||||
### 13.1 数据字典
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 按类别查询 | 1 | `Prog_MES_GetDictionar_ByType` | 按数据类别查词条列表 |
|
||||
| 按名称查ID | 1 | `MES_GetDicItemID_ByDicItemName` | 按词条名称+数据类别查编号 |
|
||||
|
||||
**涉及表**: `YL_基础表_数据字典`
|
||||
|
||||
**数据类别示例**: 生产操作(收料/开始加工/暂停/报工/首检)、班次、报工确认
|
||||
|
||||
---
|
||||
|
||||
### 13.2 操作日志
|
||||
|
||||
| 操作 | type | 存储过程 | 说明 |
|
||||
|------|:---:|------|------|
|
||||
| 插入操作日志 | - | `_日志_增加` | 按子组件名查菜单标题后插入,过滤高频查询 |
|
||||
| API请求日志 | - | `Event_Log_Request` | 记录请求内容/时间,返回AID |
|
||||
| API响应日志 | - | `Event_Log_Respond` | 按AID更新响应内容/时间 |
|
||||
|
||||
**涉及表**: `_日志`, `记录_日志_项目运行日志`
|
||||
|
||||
---
|
||||
|
||||
### 13.3 数据库备份
|
||||
|
||||
| 存储过程 | 说明 |
|
||||
|------|------|
|
||||
| `___DB_BAK` | 全量备份到 `C:\_MW\数据库\YL_MESDB_yyyy_MM_dd__HH_mm_ss_fff.bak` |
|
||||
|
||||
---
|
||||
|
||||
### 13.4 工具函数
|
||||
|
||||
| 存储过程 | 说明 |
|
||||
|------|------|
|
||||
| `p_PopFirstWord` | 逗号分隔字符串解析 |
|
||||
| `A_Update_T_Table01` | 测试用更新 |
|
||||
|
||||
---
|
||||
|
||||
### 13.5 附件管理
|
||||
|
||||
| 表 | 说明 |
|
||||
|------|------|
|
||||
| `Attachments` | 文件附件(FileName/FilePath/FileSize/FileType/Uploader/IsDeleted) |
|
||||
|
||||
---
|
||||
|
||||
## 十四、班次与人员管理
|
||||
|
||||
### 14.1 班次配置
|
||||
|
||||
| 涉及表 | 说明 |
|
||||
|------|------|
|
||||
| `班次表` | 班次定义(白班07:45-16:30, 夜班16:30-00:40) |
|
||||
| `班次人员绑定表` | 人员-班次绑定 |
|
||||
|
||||
---
|
||||
|
||||
### 14.2 工位人员绑定
|
||||
|
||||
| 涉及表 | 说明 |
|
||||
|------|------|
|
||||
| `工位人员绑定表` | 工位-人员绑定关系(唯一约束: 工位号+人员编号+绑定状态=1) |
|
||||
| `View_工位人员绑定数` | 每个人员的绑定设备数统计 |
|
||||
| `View_设备工位人员` | 设备-工位-人员-班次四维关联 |
|
||||
|
||||
---
|
||||
|
||||
## 十五、物料与BOM
|
||||
|
||||
| 涉及表 | 说明 |
|
||||
|------|------|
|
||||
| `物料数据` | 物料主数据缓存(编码/描述/分类/品牌/规格/仓库) |
|
||||
| `BOM数据` | BOM清单(父件编码/子件编码/子件数量) |
|
||||
|
||||
---
|
||||
|
||||
## 附录A:完整存储过程索引
|
||||
|
||||
| 序号 | 存储过程 | 所属模块 | 功能 |
|
||||
|:---:|------|------|------|
|
||||
| 1 | `___DB_BAK` | 系统管理 | 数据库备份 |
|
||||
| 2 | `__Reset_ProductOrder` | 排产管理 | 重置排产/加工中心 |
|
||||
| 3 | `_日志_增加` | 系统管理 | 操作日志插入 |
|
||||
| 4 | `A_Update_T_Table01` | 系统管理 | 测试用 |
|
||||
| 5 | `Event_Alarm_End` | 实时监控 | 报警结束处理 |
|
||||
| 6 | `Event_Alarm_Start` | 实时监控 | 报警开始处理 |
|
||||
| 7 | `Event_CaChe_Var_Update` | 实时监控 | 设备变量缓存更新 |
|
||||
| 8 | `Event_CaChe_Var_看板查询` | 实时监控 | 看板变量查询 |
|
||||
| 9 | `Event_Device_Insert_CurrInfo` | 实时监控 | 设备历史数据写入 |
|
||||
| 10 | `Event_Device_Update_CurrInfo` | 实时监控 | 设备当前数据更新 |
|
||||
| 11 | `Event_Log_Request` | 系统管理 | API请求日志 |
|
||||
| 12 | `Event_Log_Respond` | 系统管理 | API响应日志 |
|
||||
| 13 | `Event_StationStatus_Insert` | 实时监控 | 工位状态插入 |
|
||||
| 14 | `Event_StationStatus_Update` | 实时监控 | 工位状态更新 |
|
||||
| 15 | `FindUnfinishedStartOperations` | 加工中心 | 查未完成开始操作 |
|
||||
| 16 | `MES_DeviceAdmin_BaseInfo` | 设备管理 | 设备台账新增 |
|
||||
| 17 | `MES_DeviceAdmin_DeviceProductState_Update` | 设备管理 | 设备生产状态更新 |
|
||||
| 18 | `MES_DeviceAdmin_ProductState_HistoryQuery` | 设备管理 | 设备状态历史 |
|
||||
| 19 | `MES_DeviceAdmin_ProductState_MobyQuery` | 设备管理 | 设备状态当前 |
|
||||
| 20 | `MES_DeviceAdmin_RepairRecords_Add` | 设备管理 | 维修记录新增 |
|
||||
| 21 | `MES_DeviceAdmin_RepairRecords_Query` | 设备管理 | 维修记录查询 |
|
||||
| 22 | `MES_GetDicItemID_ByDicItemName` | 系统管理 | 字典项ID查询 |
|
||||
| 23 | `MES_OrderPlanned_ChildTask_Add` | 排产管理 | 子任务新增 |
|
||||
| 24 | `MES_OrderPlanned_ChildTask_Get` | 排产管理 | 子任务查询 |
|
||||
| 25 | `MES_OrderPlanned_DescriptionEdit` | 排产管理 | 任务描述编辑 |
|
||||
| 26 | `MES_OrderPlanned_EditTaskPlanned` | 排产管理 | 编辑排产信息 |
|
||||
| 27 | `MES_OrderPlanned_Finish` | 排产管理 | 批量排产确认 |
|
||||
| 28 | `MES_OrderPlanned_Query` | 排产管理 | 机加件排产查询 |
|
||||
| 29 | `MES_OrderPlanned_Queryzp` | 排产管理 | 装配件排产查询 |
|
||||
| 30 | `MES_OrderPlanned_SingleTaskPlanned` | 排产管理 | 单任务排产拆分 |
|
||||
| 31 | `MES_ProcessManagement_PartGet` | 工艺管理 | 物料查询 |
|
||||
| 32 | `MES_ProcessManagement_ProcessAdd` | 工艺管理 | 工序新增 |
|
||||
| 33 | `MES_ProcessManagement_ProcessBindGet` | 工艺管理 | 工艺绑定查询 |
|
||||
| 34 | `MES_ProcessManagement_ProcessDel` | 工艺管理 | 工序删除 |
|
||||
| 35 | `MES_ProcessManagement_ProcessEdit` | 工艺管理 | 工序编辑 |
|
||||
| 36 | `MES_ProcessManagement_ProcessGet` | 工艺管理 | 工序查询 |
|
||||
| 37 | `MES_ProductAdmin_GetRptRecords` | 工时管理 | 报工记录查询 |
|
||||
| 38 | `MES_ProductAdmin_Query` | 订单管理 | 生产订单查询 |
|
||||
| 39 | `MES_ProductAdmin_RptConfirm` | 工时管理 | 报工确认 |
|
||||
| 40 | `MES_ProductCenter_DoingTask` | 加工中心 | 获取进行中任务 |
|
||||
| 41 | `MES_ProductCenter_GetOrderTasks` | 加工中心 | 订单工序任务 |
|
||||
| 42 | `MES_ProductCenter_GetTask` | 加工中心 | 机加任务查询 |
|
||||
| 43 | `MES_ProductCenter_GetTask_zp` | 加工中心 | 装配任务查询 |
|
||||
| 44 | `MES_ProductCenter_OptRecord_Save` | 加工中心 | **操作记录保存核心** |
|
||||
| 45 | `MES_ProductCenter_OptRecords` | 加工中心 | 操作记录查询 |
|
||||
| 46 | `MES_ProductTask_Excutable` | 加工中心 | 标记可执行 |
|
||||
| 47 | `MES_ProductTask_FirstCheck` | 加工中心 | 首检操作 |
|
||||
| 48 | `MES_ProductTask_HelpEnd` | 加工中心 | 辅助结束(含加班) |
|
||||
| 49 | `MES_ProductTask_HelpStart` | 加工中心 | 辅助开始 |
|
||||
| 50 | `MES_ProductTask_MaterialRecieved` | 加工中心 | 收料操作 |
|
||||
| 51 | `MES_ProductTask_Notice` | 加工中心 | 外协通知 |
|
||||
| 52 | `MES_ProductTask_ProdReport` | 加工中心 | **报工核心(含加班)** |
|
||||
| 53 | `MES_ProductTask_Rest` | 加工中心 | 暂停操作 |
|
||||
| 54 | `MES_ProductTask_SendInspection` | 加工中心 | 送检(装配报工) |
|
||||
| 55 | `MES_ProductTask_WorkingStart` | 加工中心 | 开始加工 |
|
||||
| 56 | `MES_ProductTask_WorkTimeSum` | 工时管理 | 工时汇总 |
|
||||
| 57 | `MES_QualityInspection_CheckRecord_Query` | 质量管理 | 质检记录查询 |
|
||||
| 58 | `MES_QualityInspection_GetInspectionDetails` | 质量管理 | 检测明细查询 |
|
||||
| 59 | `MES_QualityInspection_GetInspectionParts` | 质量管理 | 检测零件查询 |
|
||||
| 60 | `MES_QulityInspection_CheckItemData_Save` | 质量管理 | **检测数据保存(事务)** |
|
||||
| 61 | `MES_QulityInspection_FinalCheck` | 质量管理 | 终检操作 |
|
||||
| 62 | `MES_QulityInspection_FirstCheckRecords` | 质量管理 | 首检记录查询 |
|
||||
| 63 | `MES_QulityInspection_GetCheckCount` | 质量管理 | 检测数量查询 |
|
||||
| 64 | `MES_QulityInspection_GetItemStandard` | 质量管理 | 检测标准查询 |
|
||||
| 65 | `MES_QulityInspection_GetPart` | 质量管理 | 检测零件查询 |
|
||||
| 66 | `MES_QulityInspection_GetTask` | 质量管理 | 质检任务查询 |
|
||||
| 67 | `MES_QulityInspection_MeasuringTool` | 质量管理 | 量具查询 |
|
||||
| 68 | `MES_QulityInspection_NGPart_Add` | 质量管理 | 不合格品处理发起 |
|
||||
| 69 | `MES_QulityInspection_NGPart_Finish` | 质量管理 | 不合格品处理结束 |
|
||||
| 70 | `MES_QulityInspection_NGPart_FlowNode_Add` | 质量管理 | 审批节点新增 |
|
||||
| 71 | `MES_QulityInspection_NGPart_FlowNode_Update` | 质量管理 | 审批节点完成 |
|
||||
| 72 | `MES_QulityInspection_ProcessCheck` | 质量管理 | 序检操作 |
|
||||
| 73 | `MES_QulityInspection_ReceiveCheck` | 质量管理 | **收检操作(联动下一工序)** |
|
||||
| 74 | `MES_QulityInspection_RoundCheck` | 质量管理 | 巡检操作 |
|
||||
| 75 | `MES_操作记录_获取任务暂停状态` | 加工中心 | 任务暂停状态 |
|
||||
| 76 | `MES_操作记录_获取暂停状态` | 加工中心 | 全局暂停状态 |
|
||||
| 77 | `MES_登录_工号密码验证` | 登录管理 | 用户验证 |
|
||||
| 78 | `MES_登录_工位与名称_查询` | 登录管理 | 工位列表 |
|
||||
| 79 | `MES_登录_班次信息` | 登录管理 | 班次字典 |
|
||||
| 80 | `MES_接口_生产计划_Insert` | 订单管理 | ERP订单同步 |
|
||||
| 81 | `MES_人员工时记录_获取进行中任务` | 工时管理 | 装配进行中(按用户) |
|
||||
| 82 | `MES_人员工时记录_获取进行中任务2` | 工时管理 | 装配进行中(全部) |
|
||||
| 83 | `MES_人员工时记录_检查是否存在` | 工时管理 | 检查进行中 |
|
||||
| 84 | `MES_人员工时记录_结束` | 工时管理 | 装配结束(含加班) |
|
||||
| 85 | `MES_人员工时记录_开始` | 工时管理 | 装配开始 |
|
||||
| 86 | `Prog_MES_GetDictionar_ByType` | 系统管理 | 字典查询 |
|
||||
| 87 | `Prog_MES_GetProductOrder_byAID` | 订单管理 | 订单详情查询 |
|
||||
| 88 | `p_PopFirstWord` | 系统管理 | 字符串解析工具 |
|
||||
|
||||
---
|
||||
|
||||
## 附录B:完整视图索引
|
||||
|
||||
| 序号 | 视图名称 | 功能分类 |
|
||||
|:---:|------|------|
|
||||
| 1 | `View_基础数据_工位` | 基础数据 |
|
||||
| 2 | `View_生产订单_MES` | **核心视图** |
|
||||
| 3 | `View_生产订单全部(包括已关闭)` | 订单管理 |
|
||||
| 4 | `View_生产订单Temp_ERP` | ERP集成 |
|
||||
| 5 | `View_工位人员绑定数` | 人员管理 |
|
||||
| 6 | `View_生产工时视图` | 工时管理 |
|
||||
| 7 | `View_校验后的生产工时` | 工时管理 |
|
||||
| 8 | `View_图纸视图` | 图纸管理 |
|
||||
| 9 | `View_生产计划零件图纸视图` | 图纸管理 |
|
||||
| 10 | `View_质量检验_质检记录` | 质量管理 |
|
||||
| 11 | `View_质量检验_质检记录_外协收检` | 质量管理 |
|
||||
| 12 | `View_质量检验_不合格品处理` | 质量管理 |
|
||||
| 13 | `View_标准工艺视图` | 工艺管理 |
|
||||
| 14 | `View_生产工艺视图` | 工艺管理 |
|
||||
| 15 | `View_账号权限信息` | 权限管理 |
|
||||
| 16 | `View_报工人员` | 工时管理 |
|
||||
| 17 | `View_设备工位人员` | 人员管理 |
|
||||
| 18 | `View_外协质检` | 质量管理 |
|
||||
| 19 | `View_装配信息` | 质量管理 |
|
||||
| 20 | `View_生产订单完工` | 订单管理 |
|
||||
| 21 | `View_终检状态` | 质量管理 |
|
||||
| 22 | `View_质检明细` | 质量管理 |
|
||||
| 23 | `View_外协报表视图` | 报表 |
|
||||
| 24 | `v_CurrentProductionStatus` | 看板 |
|
||||
| 25 | `登录基础数据_管理人员权限视图` | 权限管理 |
|
||||
| 26 | `计划任务视图` | 工艺管理 |
|
||||
|
||||
---
|
||||
|
||||
## 附录C:UDF函数
|
||||
|
||||
| 函数名称 | 参数 | 返回值 | 功能 |
|
||||
|------|------|:---:|------|
|
||||
| `计算班次重叠秒数` | @开始时间 datetime, @结束时间 datetime, @班次开始 time, @班次结束 time | int | 逐日循环计算时间段与班次重叠秒数,支持跨天班次,最大3天范围 |
|
||||
|
||||
---
|
||||
|
||||
> 📅 生成日期: 2026-05-18
|
||||
> 📊 总计: 15个功能模块 | 88个存储过程 | 26个视图 | 1个UDF函数 | 30+张表
|
||||
756
doc_old/MES_技术分析报告.md
Normal file
756
doc_old/MES_技术分析报告.md
Normal file
@@ -0,0 +1,756 @@
|
||||
# MES_Manage_View_V20 软件项目技术分析报告
|
||||
|
||||
> **项目名称**: MacroinfManage_MES (MES_Manage_View_V20)
|
||||
> **版本**: v1.1.0
|
||||
> **日期**: 2026-05-18
|
||||
> **作者**: MESWORK
|
||||
> **描述**: 山东元利科技有限公司制造执行系统(MES)管理视图平台
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
1. [项目概述](#1-项目概述)
|
||||
2. [技术架构路线](#2-技术架构路线)
|
||||
3. [前端技术详细分析](#3-前端技术详细分析)
|
||||
4. [数据库 script.sql 详细解析](#4-数据库-scriptsql-详细解析)
|
||||
5. [程序问题分析报告](#5-程序问题分析报告)
|
||||
|
||||
---
|
||||
|
||||
## 1. 项目概述
|
||||
|
||||
| 属性 | 内容 |
|
||||
|------|------|
|
||||
| 项目名称 | MacroinfManage_MES (MES_Manage_View_V20) |
|
||||
| 版本 | v1.1.0 |
|
||||
| 基础模板 | vue-element-admin (PanJiaChen) |
|
||||
| 数据库 | Microsoft SQL Server 2019 (兼容级别150) |
|
||||
| 数据库名 | YL_MESDB |
|
||||
| 外部集成 | SAP Business One (跨库查询) |
|
||||
| 设备通信 | MQTT 4.3.7 (物联网设备实时数据) |
|
||||
|
||||
---
|
||||
|
||||
## 2. 技术架构路线
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 前端层 (Frontend) │
|
||||
│ Vue 2.7.16 + Element UI 2.15.14 + Webpack 5 │
|
||||
│ ├── Vue Router 3.6.5 (权限动态路由) │
|
||||
│ ├── Vuex 3.6.2 (全局状态管理) │
|
||||
│ ├── Axios 0.21.4 (HTTP 通信) │
|
||||
│ ├── ECharts 5.4.3 (数据可视化/看板) │
|
||||
│ ├── FullCalendar 6.1.x (排产日历) │
|
||||
│ ├── MQTT 4.3.7 (设备实时数据/物联网通信) │
|
||||
│ └── xlsx / jspdf / docxtemplater (报表导出) │
|
||||
├──────────────────────────────────────────────────────────────────┤
|
||||
│ 中间层 (Middleware) │
|
||||
│ ├── ASP.NET / Node.js 后端API服务 │
|
||||
│ └── 存储过程调用 (后端直接调用SQL Server存储过程) │
|
||||
├──────────────────────────────────────────────────────────────────┤
|
||||
│ 数据库层 (Database) │
|
||||
│ Microsoft SQL Server 2019 (兼容级别150) │
|
||||
│ 数据库名: YL_MESDB │
|
||||
│ ├── 30+ 数据表 │
|
||||
│ ├── 20+ 视图 │
|
||||
│ ├── 1 用户自定义函数 │
|
||||
│ ├── 60+ 存储过程 │
|
||||
│ └── 外部数据源: SAP.SBO_YL (SAP Business One) │
|
||||
├──────────────────────────────────────────────────────────────────┤
|
||||
│ 外部集成 (Integration) │
|
||||
│ ├── SAP Business One (ERP系统,跨数据库查询) │
|
||||
│ │ ├── SAP.SBO_YL.dbo.UBT_OITM (物料主数据) │
|
||||
│ │ ├── SAP.SBO_YL.dbo.UBT_WW_MES_OPORandOPCH (采购订单) │
|
||||
│ │ └── SAP.SBO_YL.dbo.OWOR / OWR1 / OWR4 (生产订单) │
|
||||
│ ├── 设备PLC/SCADA (通过MQTT协议采集实时数据) │
|
||||
│ └── 文件服务器 (图纸/附件存储) │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 前端技术详细分析
|
||||
|
||||
### 3.1 核心框架与依赖
|
||||
|
||||
| 类别 | 技术 | 版本 | 用途 |
|
||||
|------|------|------|------|
|
||||
| 框架 | Vue.js | 2.7.16 | SPA 核心框架 |
|
||||
| UI库 | Element UI | 2.15.14 | 企业级UI组件 |
|
||||
| 路由 | Vue Router | 3.6.5 | 动态权限路由 |
|
||||
| 状态管理 | Vuex | 3.6.2 | 全局状态 |
|
||||
| HTTP | Axios | 0.21.4 | API通信 |
|
||||
| 图表 | ECharts | 5.4.3 | 看板/统计图表 |
|
||||
| 日历 | FullCalendar | 6.1.17 | 排产甘特视图 |
|
||||
| IoT | MQTT.js | 4.3.7 | 设备实时数据订阅 |
|
||||
| 构建 | Webpack | 5.89.0 | 模块打包 |
|
||||
| PDF | jsPDF / html2canvas | 2.5.1 / 1.4.1 | PDF导出 |
|
||||
| Excel | xlsx | 0.18.5 | 表格导入导出 |
|
||||
| Word | docxtemplater | 3.42.0 | Word模板生成 |
|
||||
| 条码 | qrcode | 1.5.3 | 二维码生成 |
|
||||
| PDF预览 | pdfjs-dist | 5.1.91 | 图纸在线预览 |
|
||||
|
||||
### 3.2 项目目录结构 (src/)
|
||||
|
||||
```
|
||||
src/
|
||||
├── main.js # 入口文件,全局注册
|
||||
├── App.vue # 根组件
|
||||
├── permission.js # 路由守卫/权限控制
|
||||
├── api/ # API接口层
|
||||
│ └── login.js # 登录/密码修改API
|
||||
├── router/
|
||||
│ ├── index.js # 路由配置
|
||||
│ ├── getTreeData.js # 动态菜单树生成
|
||||
│ └── menuComponentModule.js # 菜单组件映射
|
||||
├── store/
|
||||
│ ├── index.js # Vuex Store 入口
|
||||
│ └── modules/
|
||||
│ ├── app.js # 应用全局状态
|
||||
│ ├── user.js # 用户状态(登录/登出)
|
||||
│ ├── login.js # 登录时间跟踪
|
||||
│ ├── permission.js # 权限路由状态
|
||||
│ └── tagsView.js # 标签页状态
|
||||
├── views/ # 业务视图模块
|
||||
│ ├── layout/ # 布局组件
|
||||
│ ├── login/ # 登录页
|
||||
│ ├── dashboard/ # 看板首页
|
||||
│ └── [业务模块]/ # 各MES业务模块
|
||||
├── components/ # 公用组件
|
||||
├── styles/ # 全局样式
|
||||
├── utils/
|
||||
│ ├── auth.js # Token管理(Cookie)
|
||||
│ ├── request.js # Axios实例配置
|
||||
│ └── curd.js # 通用增删改查
|
||||
├── directive/ # 自定义指令
|
||||
│ └── el-dragDialog/ # 对话框拖拽指令
|
||||
├── icons/ # SVG图标
|
||||
└── vendor/ # 第三方工具(htmlToPdf)
|
||||
```
|
||||
|
||||
### 3.3 权限控制机制
|
||||
|
||||
```
|
||||
1. 用户登录 → 后端验证用户名/密码 → 返回角色列表
|
||||
2. 选择登录角色 → setToken(角色编号) → Cookie存储
|
||||
3. 路由守卫 permission.js 拦截:
|
||||
├── 无Token → 重定向 /login
|
||||
└── 有Token → GetInfo() → getTreeData() 构建动态路由树
|
||||
→ GenerateRoutes → router.addRoutes()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 数据库 script.sql 详细解析
|
||||
|
||||
### 4.1 数据库基础配置
|
||||
|
||||
```sql
|
||||
数据库名: YL_MESDB
|
||||
数据文件: D:\sqlData\YL_MESDB.mdf (初始 ~6.9GB, 自动增长64MB)
|
||||
日志文件: D:\sqlDataLog\YL_MESDB_log.ldf (初始 ~263GB, 最大2048GB)
|
||||
兼容级别: 150 (SQL Server 2019)
|
||||
恢复模式: FULL (完全恢复)
|
||||
排序规则: DATABASE_DEFAULT
|
||||
```
|
||||
|
||||
### 4.2 核心业务表一览
|
||||
|
||||
#### 生产计划与任务
|
||||
|
||||
| 表名 | 主键 | 说明 |
|
||||
|------|------|------|
|
||||
| `MES_接口_生产计划` | 订单编号 (int) | 从ERP同步的生产订单主表 |
|
||||
| `MES_接口_生产计划_生产任务` | AID (bigint) | 工序级任务拆分表,UK: (订单编号+订单行号+订单拆分内码) |
|
||||
| `MES_接口_生产计划_生产任务_子任务` | AID | 子任务(二次派工) |
|
||||
| `MES_接口_工艺路线主数据` | AID (int) | 工艺路线主数据接口表 |
|
||||
|
||||
**`MES_接口_生产计划_生产任务` 关键字段**:
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| 任务状态 | int | 0-待执行, 1-可执行, 2-已开工, 4-已完成 |
|
||||
| 加工状态 | int | 2-辅助开始, 3-辅助结束, 4-开始加工, 5-暂停, 6-报工 |
|
||||
| 指派对象/编号 | nvarchar(50) | 分配的工位/设备名称与编号 |
|
||||
| 指派数量 | decimal(16,2) | 本序计划生产数量 |
|
||||
| 二次派工 | nvarchar(500) | 多人协作分配(逗号分隔人员ID) |
|
||||
| 进度 | decimal(16,2) | 完成百分比 |
|
||||
|
||||
#### 资源与人员
|
||||
|
||||
| 表名 | 主键 | 说明 |
|
||||
|------|------|------|
|
||||
| `MES_资源主数据` | VisCode (nvarchar(50)) | 设备/工位主数据(SAP同步) |
|
||||
| `登录基础数据_人员信息` | Personnel_Number (int) | 人员账号表, UK: account |
|
||||
| `登录基础数据_角色信息` | Roles_number (int) | 角色定义表 |
|
||||
| `登录基础数据_人员权限角色` | ID (int) | 人员-角色多对多关联 |
|
||||
| `登录基础数据_二级菜单` | IDD (int) | 菜单/路由配置表 |
|
||||
| `登录基础数据_部门` | 部门编号 (int) | 组织架构 |
|
||||
| `工位人员绑定表` | 绑定编号 (int) | 工位-人员绑定关系 |
|
||||
| `班次表` | 班次编号 (nvarchar(50)) | 班次定义(白班07:45-16:30, 夜班16:30-00:40) |
|
||||
| `班次人员绑定表` | 绑定ID (int) | 人员-班次绑定 |
|
||||
|
||||
#### 操作记录与工时
|
||||
|
||||
| 表名 | 主键 | 说明 |
|
||||
|------|------|------|
|
||||
| `YL_加工中心_操作记录表` | AID (int) | **核心操作记录表**,含暂停/恢复/报工全流程 |
|
||||
| `YL_加工中心_报工记录` | AID (int) | 报工确认记录(生产工时/辅助工时) |
|
||||
| `生产管理_工时校验_校验工时表` | AID (int) | 工时审核校验(上传工时 vs 系统计算工时) |
|
||||
|
||||
**操作记录表关键字段**: `总时长`, `暂停总时长`, `实际工时` = 总时长 - 暂停总时长
|
||||
|
||||
| 操作类别 | 说明 |
|
||||
|----------|------|
|
||||
| 收料 | 物料接收确认 |
|
||||
| 开始加工 / 辅助开始 | 生产/辅助启动 |
|
||||
| 暂停 | 暂停加工 |
|
||||
| 报工 / 辅助结束 | 完成报工 |
|
||||
| 首检 | 首件质量检验 |
|
||||
| 加班 / 休息日加班 / 法定休息日加班 | 加班工时记录 |
|
||||
|
||||
#### 质量管理
|
||||
|
||||
| 表名 | 主键 | 说明 |
|
||||
|------|------|------|
|
||||
| `YL_质量检验_质检记录` | QT_AID (bigint) | 质检主记录 |
|
||||
| `YL_质量检验_质检记录_检测零件` | LJ_AID (bigint) | 每个被检零件的检测结果(1合格/0不合格) |
|
||||
| `YL_质量检验_质检记录_检测数据` | AID (bigint) | 检测项目明细(理论值/上限/下限/实测值) |
|
||||
| `YL_质量检验_检测标准` | AID (int) | 各物料工序的检测标准 |
|
||||
| `YL_质量检验_量具信息` | AID (int) | 量具台账 |
|
||||
| `YL_质量检验_不合格品处理` | FlowAID (int) | 不合格品处理流程(让步放行申请) |
|
||||
| `YL_质量检验_不合格品处理_处理节点` | (FlowAID, FlowNodeID) | 审批流程节点 |
|
||||
|
||||
| 检测类型编号 | 质检类型 |
|
||||
|-------------|----------|
|
||||
| 1 | 首检自检 |
|
||||
| 3 | 序检自检 |
|
||||
| 6 | 收检 (跨工序接收检验) |
|
||||
| 8 | 终检 (最终检验) |
|
||||
|
||||
#### 设备管理
|
||||
|
||||
| 表名 | 主键 | 说明 |
|
||||
|------|------|------|
|
||||
| `YL_设备管理_设备台账` | 设备ID (int) | 设备主数据, UK: 设备编号 |
|
||||
| `YL_设备管理_维修记录` | AID (int) | 设备故障维修记录 |
|
||||
| `YL_设备管理_工时记录` | ID (int) | 设备循环时间采集记录 |
|
||||
| `YL_设备管理_设备生产状态_Moby` | AID | 设备实时生产状态 |
|
||||
| `YL_设备管理_设备生产状态_Moby_历史记录` | AID | 设备状态变更历史 |
|
||||
| `基础数据_设备工位点检表` | 设备流水号 (int) | 设备点检清单 |
|
||||
|
||||
#### 实时监控与历史数据
|
||||
|
||||
| 表名 | 主键 | 说明 |
|
||||
|------|------|------|
|
||||
| `CaChe_Var` | AID (int) | 设备变量实时缓存 |
|
||||
| `历史_设备数据_定时` | AID (bigint) | 设备变量历史数据 |
|
||||
| `历史_工位设备状态每分钟记录` | AID_N (bigint) | 每分工位状态快照(含电流/电压/功率) |
|
||||
| `报警_记录_历史` | AID (int) | 报警历史记录 |
|
||||
| `报警_记录_历史_缓存` | AID (int) | 当前活跃报警缓存 |
|
||||
| `设备信息缓存表` | (无主键) | 工位任务信息缓存 |
|
||||
| `记录_日志_项目运行日志` | AID (bigint) | API请求/响应日志 |
|
||||
| `_日志` | ID (int) | 用户操作审计日志 |
|
||||
|
||||
#### 工艺与技术文档
|
||||
|
||||
| 表名 | 主键 | 说明 |
|
||||
|------|------|------|
|
||||
| `基础表_工序` | 工艺编号 (int) | 工序基础数据 |
|
||||
| `车间生产管理工艺_零件工序_工艺库` | id (int) | 标准工艺路线库 |
|
||||
| `车间生产管理工艺_零件生产工艺_工艺库` | id (int) | 生产订单关联工艺库(含订单编号) |
|
||||
| `物料基础数据_零件图纸` | id (int) | 零件图纸文件元数据 |
|
||||
| `物料基础数据_工艺图纸` | id (int) | 工艺图纸文件元数据 |
|
||||
| `物料基础数据_零件图纸删除记录` | ID (int) | 图纸删除审计日志 |
|
||||
|
||||
#### 工作流与审批
|
||||
|
||||
| 表名 | 主键 | 说明 |
|
||||
|------|------|------|
|
||||
| `流程表` | 流程ID (int) | 审批流程主表 |
|
||||
| `流程节点表` | 节点ID (int) | 审批流程节点 |
|
||||
| `流程完成记录表` | 完成记录ID (int) | 流程完成记录 |
|
||||
| `流程转办表` | 转办ID (int) | 审批转办记录 |
|
||||
| `审批记录表` | 记录ID (int) | 审批意见记录 |
|
||||
|
||||
#### 其他
|
||||
|
||||
| 表名 | 说明 |
|
||||
|------|------|
|
||||
| `物料数据` | 物料主数据缓存 |
|
||||
| `BOM数据` | BOM物料清单 |
|
||||
| `YL_基础表_数据字典` | 全局数据字典(操作类别/班次/报工确认等) |
|
||||
| `Attachments` | 文件附件管理 |
|
||||
| `质量检验_质检任务_SAP` | SAP来料检验任务 |
|
||||
|
||||
### 4.3 关键视图分析
|
||||
|
||||
| 视图名称 | 功能描述 |
|
||||
|----------|----------|
|
||||
| `View_生产订单_MES` | **核心视图**:联合生产计划+生产任务+资源+图纸的完整视图 |
|
||||
| `View_生产订单全部(包括已关闭)` | 同上但不过滤已关闭订单 |
|
||||
| `View_生产工时视图` | 整合操作记录+校验工时+生产订单的多表联查 |
|
||||
| `View_校验后的生产工时` | 仅显示已校验通过的生产工时 |
|
||||
| `v_CurrentProductionStatus` | **当前生产状态看板**:机加+装配UNION,含人员名称聚合 |
|
||||
| `View_外协报表视图` | 外协工序完整报表,联查SAP采购数据(s.含税行总计, s.供应商名称) |
|
||||
| `View_设备工位人员` | 设备-工位-人员-班次四维关联视图 |
|
||||
| `View_标准工艺视图` | 标准工艺+零件+工序关联 |
|
||||
| `View_生产工艺视图` | 生产订单工艺+物料+订单状态 |
|
||||
| `View_质检明细` | 质检记录+工位+合同号完整明细 |
|
||||
| `View_外协质检` | 外协收检记录视图 |
|
||||
| `View_装配信息` | 装配送检数/质检合格数统计 |
|
||||
| `View_生产订单完工` | 复杂完工判定逻辑(合格数+不合格数=计划数量) |
|
||||
| `View_终检状态` | 终检记录关联 |
|
||||
| `View_账号权限信息` | 人员-角色-菜单完整权限链路 |
|
||||
| `登录基础数据_管理人员权限视图` | 角色-人员-部门多维视图 |
|
||||
| `计划任务视图` | 工艺编号+订单编号+物料名称 |
|
||||
|
||||
### 4.4 用户自定义函数 (UDF)
|
||||
|
||||
#### `计算班次重叠秒数`
|
||||
|
||||
```sql
|
||||
计算班次重叠秒数(@开始时间 datetime, @结束时间 datetime,
|
||||
@班次开始 time, @班次结束 time) RETURNS int
|
||||
```
|
||||
|
||||
- 逐日循环计算打卡时间和班次时间的重叠秒数
|
||||
- 支持跨天班次(如夜班16:30-00:30)
|
||||
- 限制最大3天计算范围防止无限循环
|
||||
- 用于工时计算和加班判断
|
||||
|
||||
### 4.5 关键存储过程分析
|
||||
|
||||
#### 生产排产
|
||||
|
||||
| 存储过程 | 功能 |
|
||||
|----------|------|
|
||||
| `MES_OrderPlanned_SingleTaskPlanned` | **核心排产逻辑**:单任务拆分。当计划数量>指派数量时创建拆分任务;当计划数量<指派数量时删除未分配任务 |
|
||||
| `MES_OrderPlanned_Finish` | 批量排产确认,通过OPENJSON解析JSON任务列表更新指派信息 |
|
||||
| `MES_OrderPlanned_EditTaskPlanned` | 动态SQL编辑任务排产字段 |
|
||||
| `MES_OrderPlanned_ChildTask_Add` | 子任务(二次派工)新增 |
|
||||
| `MES_OrderPlanned_Query` / `_Queryzp` | 排产查询(自制件/装配件) |
|
||||
| `__Reset_ProductOrder` | 重置订单(排产或加工中心数据) |
|
||||
|
||||
#### 加工中心操作
|
||||
|
||||
| 存储过程 | 功能 |
|
||||
|----------|------|
|
||||
| `MES_ProductTask_MaterialRecieved` | 收料操作:更新收料数量,当收料>0时任务状态变为可执行 |
|
||||
| `MES_ProductTask_WorkingStart` | 开始加工:任务状态变为已开工(2),自动同步上序合格数作为收料数 |
|
||||
| `MES_ProductTask_Rest` | 暂停操作:加工状态变为暂停 |
|
||||
| `MES_ProductTask_ProdReport` | **报工核心**:含完整加班计算(白班/夜班拆分、休息日/法定休息日处理)、捆绑报工、前序不合格数处理、报工记录双插入(生产工时+辅助工时) |
|
||||
| `MES_ProductTask_HelpStart` | 辅助开始 |
|
||||
| `MES_ProductTask_HelpEnd` | 辅助结束:含加班时长计算、班次判断、特殊加班人员处理 |
|
||||
| `MES_ProductTask_FirstCheck` | 首检操作 |
|
||||
| `MES_ProductTask_Excutable` | 标记任务为可执行 |
|
||||
| `MES_ProductTask_SendInspection` | 送检(装配报工) |
|
||||
| `MES_ProductCenter_OptRecord_Save` | **操作记录保存核心**:处理暂停/开始/报工的联动逻辑,计算工时 |
|
||||
| `MES_ProductCenter_OptRecords` | 操作记录查询 |
|
||||
|
||||
#### 人员工时(装配)
|
||||
|
||||
| 存储过程 | 功能 |
|
||||
|----------|------|
|
||||
| `MES_人员工时记录_开始` | 装配人员开始加工记录 |
|
||||
| `MES_人员工时记录_结束` | 装配人员结束加工:含白班/加班/休息日完整计算,生成报工记录和加班记录 |
|
||||
| `MES_人员工时记录_检查是否存在` | 检查是否有未结束的开始记录 |
|
||||
| `MES_人员工时记录_获取进行中任务` | 按用户ID获取进行中的装配任务 |
|
||||
|
||||
#### 质量管理
|
||||
|
||||
| 存储过程 | 功能 |
|
||||
|----------|------|
|
||||
| `MES_QulityInspection_ReceiveCheck` | **收检处理**:事务性写入质检记录,总检测数=计划生产数时自动完成任务,收检合格后触发下一工序可执行 |
|
||||
| `MES_QulityInspection_FinalCheck` | 终检记录 |
|
||||
| `MES_QulityInspection_CheckItemData_Save` | **检测数据保存**:事务性三级写入(质检主表→零件表→检测数据表),支持批量零件检测 |
|
||||
| `MES_QulityInspection_FirstCheckRecords` | 首检记录查询 |
|
||||
| `MES_QulityInspection_RoundCheck` | 巡检操作 |
|
||||
| `MES_QulityInspection_ProcessCheck` | 序检操作 |
|
||||
| `MES_QulityInspection_GetItemStandard` | 获取检测标准 |
|
||||
| `MES_QulityInspection_GetInspectionDetails` | 获取检测明细数据 |
|
||||
| `MES_QulityInspection_GetInspectionParts` | 获取检测零件列表 |
|
||||
| `MES_QulityInspection_NGPart_Add` | 不合格品处理流程发起 |
|
||||
| `MES_QulityInspection_NGPart_FlowNode_Add` | 审批节点新增 |
|
||||
| `MES_QulityInspection_NGPart_FlowNode_Update` | 审批节点完成 |
|
||||
| `MES_QulityInspection_NGPart_Finish` | 不合格品处理流程结束 |
|
||||
|
||||
#### 设备管理与实时监控
|
||||
|
||||
| 存储过程 | 功能 |
|
||||
|----------|------|
|
||||
| `MES_DeviceAdmin_BaseInfo` | 设备台账新增 |
|
||||
| `MES_DeviceAdmin_RepairRecords_Add/Query` | 维修记录增查 |
|
||||
| `MES_DeviceAdmin_DeviceProductState_Update` | 设备生产状态更新(含历史记录) |
|
||||
| `Event_CaChe_Var_Update` | 设备变量实时缓存更新(含循环时间触发工时记录) |
|
||||
| `Event_Device_Insert_CurrInfo` | 设备数据历史写入 |
|
||||
| `Event_Device_Update_CurrInfo` | 设备变量当前值更新 |
|
||||
| `Event_StationStatus_Insert/Update` | 工位状态记录/更新 |
|
||||
| `Event_Alarm_Start/End` | 报警开始/结束处理(含缓存→历史迁移) |
|
||||
| `Event_Log_Request/Respond` | API请求/响应日志 |
|
||||
|
||||
#### 登录与用户
|
||||
|
||||
| 存储过程 | 功能 |
|
||||
|----------|------|
|
||||
| `MES_登录_工号密码验证` | 用户登录验证(查询基础表_用户角色) |
|
||||
| `MES_登录_工位与名称_查询` | 获取工位列表(来自View_基础数据_工位) |
|
||||
| `MES_登录_班次信息` | 获取班次数据字典 |
|
||||
| `Prog_MES_GetDictionar_ByType` | 按类别获取数据字典 |
|
||||
|
||||
#### 系统工具
|
||||
|
||||
| 存储过程 | 功能 |
|
||||
|----------|------|
|
||||
| `___DB_BAK` | 数据库全量备份到 C:\_MW\数据库\ |
|
||||
| `_日志_增加` | 用户操作日志插入 |
|
||||
| `p_PopFirstWord` | 逗号分隔字符串解析工具函数 |
|
||||
|
||||
### 4.6 外部系统集成 (SAP Business One)
|
||||
|
||||
```
|
||||
跨数据库查询链路:
|
||||
├── SAP.SBO_YL.dbo.UBT_OITM → 物料主数据(编码/名称/品牌)
|
||||
├── SAP.SBO_YL.dbo.UBT_WW_MES_OPORandOPCH → 采购订单(供应商/含税单价/材质)
|
||||
├── SAP.SBO_YL.dbo.OWOR → 生产订单(ERP侧)
|
||||
├── SAP.SBO_YL.dbo.OWR1 → 生产订单行
|
||||
└── SAP.SBO_YL.dbo.OWR4 → 生产订单阶段
|
||||
```
|
||||
|
||||
### 4.7 核心数据流
|
||||
|
||||
```
|
||||
ERP(SAP)订单下发
|
||||
│
|
||||
▼
|
||||
MES_接口_生产计划 (订单同步)
|
||||
│
|
||||
▼
|
||||
排产 (MES_OrderPlanned_SingleTaskPlanned)
|
||||
│ └── 任务拆分/工位指派/计划时间设定
|
||||
▼
|
||||
MES_接口_生产计划_生产任务 (工序级任务)
|
||||
│
|
||||
├── 收料 → 任务状态: 0(待执行) → 1(可执行)
|
||||
│
|
||||
├── 开始加工 → 任务状态: 1 → 2(已开工)
|
||||
│ │
|
||||
│ ├── 暂停/恢复循环 (关联开始记录 ↔ 关联暂停记录)
|
||||
│ │
|
||||
│ └── 报工 → 计算工时(总时长-暂停总时长)
|
||||
│ │
|
||||
│ ├── 生成报工记录(生产工时+辅助工时)
|
||||
│ ├── 判断加班(白班/夜班拆分/休息日)
|
||||
│ └── 任务状态: 2 → 4(已完成)
|
||||
│
|
||||
├── 首检 → 巡检 → 序检 (质检环节)
|
||||
│
|
||||
├── 收检 (MES_QulityInspection_ReceiveCheck)
|
||||
│ │ 合格数触发下一工序可执行
|
||||
│ └── 任务状态 → 4(已完成)
|
||||
│
|
||||
└── 终检 → 完工判定
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 程序问题分析报告
|
||||
|
||||
### 🔴 严重问题 (Critical)
|
||||
|
||||
#### 问题 1:SQL注入漏洞 — 60+个存储过程
|
||||
|
||||
**位置**: `script.sql` 中几乎所有动态SQL存储过程
|
||||
|
||||
所有使用 `sp_executesql` 拼接 `@whereStr` 的存储过程都存在SQL注入风险。用户输入直接通过字符串拼接插入SQL语句:
|
||||
|
||||
```sql
|
||||
-- MES_OrderPlanned_Query (line 3303)
|
||||
if(@合同号<>'') set @selectStrWhere = @selectStrWhere
|
||||
+ ' and [合同号] like ''%'+@合同号+'%'''
|
||||
```
|
||||
|
||||
**受影响的存储过程 (部分列表)**:
|
||||
- `MES_OrderPlanned_Query` / `MES_OrderPlanned_Queryzp`
|
||||
- `MES_ProductAdmin_Query` / `MES_ProductAdmin_GetRptRecords`
|
||||
- `MES_ProductCenter_OptRecords`
|
||||
- `MES_QulityInspection_CheckRecord_Query`
|
||||
- `MES_QulityInspection_FirstCheckRecords`
|
||||
- `MES_QulityInspection_MeasuringTool`
|
||||
- `MES_QulityInspection_GetTask`
|
||||
- `MES_ProductCenter_GetTask` / `MES_ProductCenter_GetTask_zp`
|
||||
|
||||
**修复建议**: 统一使用参数化查询模式:
|
||||
```sql
|
||||
SET @SQL = @SQL + ' AND [合同号] LIKE ''%'' + @合同号 + ''%'''
|
||||
EXEC sp_executesql @SQL, N'@合同号 nvarchar(50)', @合同号 = @合同号
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### 问题 2:明文密码存储于Cookie
|
||||
|
||||
**位置**: `src/views/login/index.vue` line 243-246
|
||||
|
||||
```javascript
|
||||
setCookie(username, password, checked) {
|
||||
Cookie.set('username', username, { expires: 7 })
|
||||
Cookie.set('password', password, { expires: 7 }) // ❌ 明文密码存7天
|
||||
Cookie.set('checked', checked, { expires: 7 })
|
||||
}
|
||||
```
|
||||
|
||||
密码以明文存储在客户端Cookie中持续7天,可被XSS攻击轻易窃取。
|
||||
|
||||
---
|
||||
|
||||
#### 问题 3:Axios已知CVE漏洞版本
|
||||
|
||||
**位置**: `package.json` line 17
|
||||
|
||||
```json
|
||||
"axios": "^0.21.4"
|
||||
```
|
||||
|
||||
axios 0.21.4 存在已知安全漏洞 CVE-2021-3749 (ReDoS攻击),当前最新版本为 1.7.x。
|
||||
|
||||
---
|
||||
|
||||
#### 问题 4:开发代理绕过HTTPS证书验证 + 死代码配置
|
||||
|
||||
**位置**: `config/index.js` line 18-19, 37-38
|
||||
|
||||
```javascript
|
||||
proxyTable: {
|
||||
'/api/b1s': {
|
||||
target: 'https://192.168.2.90:50000', // SAP B1
|
||||
secure: false, // ❌ 跳过SSL证书验证 — 中间人攻击风险
|
||||
},
|
||||
'/openapi/v1': {
|
||||
target: 'http://192.168.2.90:8082',
|
||||
pathRewrite: {
|
||||
'^/api/tm': '/openapi/v1' // ❌ 死代码:/openapi/v1 永远不会匹配 /api/tm
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
第二个代理的 pathRewrite 规则永远无法触发。
|
||||
|
||||
---
|
||||
|
||||
#### 问题 5:登录密码拼在URL参数中
|
||||
|
||||
**位置**: `src/api/login.js` line 13
|
||||
|
||||
```javascript
|
||||
param: `用户名=${username}&密码=${password}`
|
||||
```
|
||||
|
||||
密码作为URL查询参数传输,会被代理服务器日志、浏览器历史记录记录。
|
||||
|
||||
---
|
||||
|
||||
### 🟠 高优先级问题 (High)
|
||||
|
||||
#### 问题 6:修改密码验证器Bug (复制粘贴错误)
|
||||
|
||||
**位置**: `src/views/login/index.vue` line 119-130
|
||||
|
||||
```javascript
|
||||
const validateValue = (rules, value, callback) => {
|
||||
// ❌ 三个条件都检查同一个字段 — 明显的复制粘贴bug
|
||||
if (typeof (this.form.againPassword) === 'string' ||
|
||||
typeof (this.form.againPassword) === 'string' ||
|
||||
typeof (this.form.againPassword) === 'string') {
|
||||
callback(new Error('请输入英文字母组合')) // ❌ 字符串类型反而报错?
|
||||
}
|
||||
// ❌ 下面代码永远不会执行:已callback但未return
|
||||
if (this.form.newPassword !== this.form.againPassword) {
|
||||
callback(new Error('两次输入密码不同'))
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
该验证器应用于所有4个密码字段,导致密码修改功能**完全无法正常工作**。
|
||||
|
||||
---
|
||||
|
||||
#### 问题 7:Vuex Action中 this.$router 为undefined
|
||||
|
||||
**位置**: `src/store/modules/user.js` line 44-45
|
||||
|
||||
```javascript
|
||||
Login({ commit }, userInfo) {
|
||||
login(username, userInfo.password).then(response => {
|
||||
if (data.length === 0 || data.result === '0') {
|
||||
Message.error('账号或密码错误,请重新登录')
|
||||
this.$router.push({ path: '/login' }) // ❌ Vuex action中this不是Vue组件实例
|
||||
}
|
||||
```
|
||||
|
||||
在Vuex action中使用 `this.$router` 会抛出 `TypeError: Cannot read properties of undefined`。
|
||||
|
||||
---
|
||||
|
||||
#### 问题 8:GetInfo 硬编码角色为 'admin'
|
||||
|
||||
**位置**: `src/store/modules/user.js` line 83
|
||||
|
||||
```javascript
|
||||
GetInfo({ commit, state }) {
|
||||
getInfo(state.token).then(response => {
|
||||
commit('SET_ROLES', 'admin') // ❌ 无视后端返回的真实角色数据
|
||||
resolve(response)
|
||||
})
|
||||
}
|
||||
```
|
||||
|
||||
所有登录用户都被授予 `'admin'` 角色。`permission.js` 第13行 `roles.indexOf('admin') >= 0` 对所有用户放行,导致权限控制完全失效。
|
||||
|
||||
---
|
||||
|
||||
#### 问题 9:登录错误被静默吞掉
|
||||
|
||||
**位置**: `src/views/login/index.vue` line 198-200
|
||||
|
||||
```javascript
|
||||
}).catch(() => {
|
||||
this.loading = false // ❌ 无任何错误提示
|
||||
})
|
||||
```
|
||||
|
||||
网络故障或服务器错误时用户看不到任何反馈。
|
||||
|
||||
---
|
||||
|
||||
#### 问题 10:Webpack开发服务器强制HTTPS但无有效证书
|
||||
|
||||
**位置**: `build/webpack.dev.conf.js` line 31
|
||||
|
||||
```javascript
|
||||
devServer: {
|
||||
https: true, // ❌ 未配置证书 → 浏览器报安全错误
|
||||
```
|
||||
|
||||
本地开发时浏览器会因自签名证书阻止访问。
|
||||
|
||||
---
|
||||
|
||||
### 🟡 中优先级问题 (Medium)
|
||||
|
||||
#### 问题 11:Vue 2 已于 2023年12月 EOL
|
||||
|
||||
Vue 2.x 不再接收安全补丁和新功能。建议规划迁移至 Vue 3。
|
||||
|
||||
#### 问题 12:生产环境暴露 Source Map
|
||||
|
||||
**位置**: `config/index.js` line 110
|
||||
|
||||
```javascript
|
||||
devtool: 'source-map', // 生产环境暴露完整源码
|
||||
```
|
||||
|
||||
用户可通过浏览器开发者工具查看未压缩的完整源码。
|
||||
|
||||
#### 问题 13:`__Reset_ProductOrder` 存储过程执行 TRUNCATE
|
||||
|
||||
**位置**: `script.sql` line 2288-2289
|
||||
|
||||
```sql
|
||||
truncate table YL_加工中心_操作记录表
|
||||
truncate table YL_加工中心_报工记录
|
||||
```
|
||||
|
||||
当 `@optType=1` 时无条件清空全部操作记录和报工记录,误调用将导致数据永久丢失且无法回滚。
|
||||
|
||||
#### 问题 14:数据库日志文件初始263GB
|
||||
|
||||
**位置**: `script.sql` line 9
|
||||
|
||||
```sql
|
||||
LOG ON
|
||||
(NAME = N'YL_MESDB_log', FILENAME = N'D:\sqlDataLog\YL_MESDB_log.ldf',
|
||||
SIZE = 269688832KB) -- 约263GB
|
||||
```
|
||||
|
||||
恢复模式为FULL但只有全量备份,没有事务日志备份,日志文件会持续增长直至磁盘占满。
|
||||
|
||||
#### 问题 15:依赖项问题
|
||||
|
||||
**位置**: `package.json` line 26
|
||||
|
||||
```json
|
||||
"install": "^0.13.0" // ❌ "install"是一个真实的npm包但不应作为项目依赖
|
||||
```
|
||||
|
||||
这是脚手架残留或误操作引入。
|
||||
|
||||
#### 问题 16:关键ESLint规则被关闭
|
||||
|
||||
**位置**: `.eslintrc.js` line 83, 153
|
||||
|
||||
```javascript
|
||||
'no-console': 'off',
|
||||
'no-unused-vars': ['off', { ... }]
|
||||
```
|
||||
|
||||
大量 `console.log` 残留于生产代码,未使用变量不提示。
|
||||
|
||||
---
|
||||
|
||||
### 🟢 低优先级/建议 (Low)
|
||||
|
||||
| # | 问题 | 位置 |
|
||||
|---|------|------|
|
||||
| 17 | `vue$` alias 指向 `vue.esm.js` 而非 `vue.runtime.esm.js` | `webpack.base.conf.js` line 32 |
|
||||
| 18 | webpack dev 使用 `cache.type: 'filesystem'` 可能引起缓存过期问题 | `webpack.dev.conf.js` line 24 |
|
||||
| 19 | `devServer` 配置使用 Webpack 4 风格 (static/publicPath) | `webpack.dev.conf.js` |
|
||||
| 20 | `CopyWebpackPlugin` v11 API 已弃用 patterns 外层写法 | `webpack.dev.conf.js` line 61 |
|
||||
| 21 | SCSS loader 使用 Dart Sass 但配置了 `indentedSyntax: true` | `webpack.base.conf.js` line 165 |
|
||||
| 22 | 登录页用户名变更时清空密码 (可能非预期行为) | `login/index.vue` line 182 |
|
||||
| 23 | `config/index.js` 第9行 `networkInterfaces['WLAN']` 硬编码,可能在乙太网卡环境出错 | `config/index.js` line 9 |
|
||||
| 24 | Vue-loader 配置文件为空对象,未配置任何选项 | `build/vue-loader.conf.js` |
|
||||
|
||||
---
|
||||
|
||||
### 📊 问题汇总统计
|
||||
|
||||
| 级别 | 数量 | 影响 |
|
||||
|------|------|------|
|
||||
| 🔴 Critical | 5 | 安全漏洞、数据泄露风险 |
|
||||
| 🟠 High | 5 | 功能Bug、权限失效、运行时错误 |
|
||||
| 🟡 Medium | 6 | 可维护性、稳定性风险 |
|
||||
| 🟢 Low | 7 | 代码质量、最佳实践 |
|
||||
| **总计** | **23** | |
|
||||
|
||||
---
|
||||
|
||||
### 🔧 优先修复路线图
|
||||
|
||||
**第1阶段 (立即)**:
|
||||
1. 修复所有SQL注入漏洞 → 动态SQL改用参数化查询
|
||||
2. 移除Cookie明文密码 → 仅存Token
|
||||
3. 修复 `validateValue` 验证器Bug
|
||||
|
||||
**第2阶段 (本周)**:
|
||||
4. 升级 axios 到 1.7.x
|
||||
5. 修复 `GetInfo` 硬编码 admin 角色
|
||||
6. 修复 `this.$router` 在 Vuex 中的调用
|
||||
|
||||
**第3阶段 (本月)**:
|
||||
7. 配置事务日志定期备份策略
|
||||
8. 修复 webpack 生产环境 source-map 泄露
|
||||
9. 为 `__Reset_ProductOrder` 添加安全防护(备份确认/权限限制)
|
||||
|
||||
**第4阶段 (规划)**:
|
||||
10. 规划 Vue 3 迁移路线图
|
||||
11. 清理无用依赖和死代码
|
||||
12. 恢复 ESLint 关键规则并修复代码
|
||||
|
||||
---
|
||||
|
||||
> 📅 报告生成日期: 2026-05-18
|
||||
> 📝 分析范围: 全项目静态代码分析 (前端 + 数据库)
|
||||
680
doc_old/MES_用户操作手册.md
Normal file
680
doc_old/MES_用户操作手册.md
Normal file
@@ -0,0 +1,680 @@
|
||||
# MES 工业互联网平台 — 用户操作手册
|
||||
|
||||
> **版本**: v1.1.0
|
||||
> **适用岗位**: 生产操作工、质检员、班组长、车间主管、生产调度员
|
||||
> **日期**: 2026-05-18
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
- [1. 快速入门](#1-快速入门)
|
||||
- [1.1 登录系统](#11-登录系统)
|
||||
- [1.2 界面认知](#12-界面认知)
|
||||
- [1.3 通用操作方式](#13-通用操作方式)
|
||||
- [1.4 退出系统](#14-退出系统)
|
||||
- [2. 生产操作工日常操作](#2-生产操作工日常操作)
|
||||
- [2.1 查看我的任务](#21-查看我的任务)
|
||||
- [2.2 物料接收(收料)](#22-物料接收收料)
|
||||
- [2.3 开始加工](#23-开始加工)
|
||||
- [2.4 暂停与恢复加工](#24-暂停与恢复加工)
|
||||
- [2.5 完工报工](#25-完工报工)
|
||||
- [2.6 辅助工序操作](#26-辅助工序操作)
|
||||
- [2.7 首件自检](#27-首件自检)
|
||||
- [3. 质检员日常操作](#3-质检员日常操作)
|
||||
- [3.1 巡检操作](#31-巡检操作)
|
||||
- [3.2 序检操作](#32-序检操作)
|
||||
- [3.3 收检操作(工序交接)](#33-收检操作工序交接)
|
||||
- [3.4 终检操作](#34-终检操作)
|
||||
- [3.5 逐项检测数据录入](#35-逐项检测数据录入)
|
||||
- [3.6 不合格品处理](#36-不合格品处理)
|
||||
- [4. 班组长/主管日常操作](#4-班组长主管日常操作)
|
||||
- [4.1 生产排产](#41-生产排产)
|
||||
- [4.2 报工确认](#42-报工确认)
|
||||
- [4.3 工时查询](#43-工时查询)
|
||||
- [4.4 二次派工](#44-二次派工)
|
||||
- [5. 加班操作指南](#5-加班操作指南)
|
||||
- [5.1 工作日加班](#51-工作日加班)
|
||||
- [5.2 休息日加班](#52-休息日加班)
|
||||
- [5.3 特殊加班人员处理](#53-特殊加班人员处理)
|
||||
- [6. 其他常用功能](#6-其他常用功能)
|
||||
- [6.1 查看生产进度](#61-查看生产进度)
|
||||
- [6.2 图纸查看](#62-图纸查看)
|
||||
- [6.3 外协业务](#63-外协业务)
|
||||
- [6.4 装配工序操作](#64-装配工序操作)
|
||||
- [7. 附录](#7-附录)
|
||||
- [7.1 名词解释](#71-名词解释)
|
||||
- [7.2 快捷键与操作提示](#72-快捷键与操作提示)
|
||||
- [7.3 常见错误提示与处理](#73-常见错误提示与处理)
|
||||
|
||||
---
|
||||
|
||||
## 1. 快速入门
|
||||
|
||||
### 1.1 登录系统
|
||||
|
||||
```
|
||||
步骤1:打开浏览器,输入系统网址
|
||||
步骤2:在登录页面输入您的工号和密码
|
||||
步骤3:点击"登录"按钮
|
||||
步骤4(如有多个角色):在弹出框中选择本次使用的角色 → 点击"确定"
|
||||
```
|
||||
|
||||
**登录页面各区域说明**:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────┐
|
||||
│ │
|
||||
│ MES工业互联网平台 │
|
||||
│ │
|
||||
│ ┌──────────────────────┐ │
|
||||
│ │ 👤 请输入用户名 │ │
|
||||
│ └──────────────────────┘ │
|
||||
│ ┌──────────────────────┐ │
|
||||
│ │ 🔒 请输入密码 │ │
|
||||
│ └──────────────────────┘ │
|
||||
│ ☐ 记住账号 │
|
||||
│ ┌──────────────────────┐ │
|
||||
│ │ 登 录 │ │
|
||||
│ └──────────────────────┘ │
|
||||
│ 修改密码 │
|
||||
└──────────────────────────────────┘
|
||||
```
|
||||
|
||||
> 💡 **提示**: 勾选"记住账号"后,下次打开登录页会自动填入用户名和密码(有效期7天)。
|
||||
|
||||
**修改密码**:
|
||||
|
||||
```
|
||||
步骤1:点击"修改密码"
|
||||
步骤2:输入工号 → 原始密码 → 新密码 → 确认密码
|
||||
步骤3:点击"确定"
|
||||
```
|
||||
> ⚠️ 密码修改成功后需重新登录。
|
||||
|
||||
---
|
||||
|
||||
### 1.2 界面认知
|
||||
|
||||
登录成功后进入系统主界面,分为四个区域:
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ ☰ 面包屑导航 🔔消息 ✏修改密码 👤用户名 │ ← 顶栏
|
||||
├────────┬────────────────────────────────────────┤
|
||||
│ LOGO │ │
|
||||
│ │ │
|
||||
│ 菜单1 │ 主工作区域 │
|
||||
│ 菜单2 │ │
|
||||
│ 菜单3 │ (表格 / 表单 / 搜索区) │
|
||||
│ 菜单4 │ │
|
||||
│ ... │ │
|
||||
│ │ │
|
||||
│ │ │
|
||||
├────────┴────────────────────────────────────────┤
|
||||
│ 已打开的标签页: [首页] [排产管理] [加工中心] │ ← 标签栏
|
||||
└─────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
| 区域 | 位置 | 功能 |
|
||||
|------|------|------|
|
||||
| **侧边栏** | 左侧 | 显示功能菜单,单击展开子菜单,再单击进入功能页面 |
|
||||
| **顶栏** | 顶部 | 面包屑导航、未读报警消息、修改密码入口、用户头像(登出) |
|
||||
| **标签栏** | 底部(主区域上方) | 显示已打开的页面标签,可切换或关闭 |
|
||||
| **主工作区** | 中央 | 当前功能的操作界面(搜索条件+数据表格+操作按钮) |
|
||||
|
||||
**首页看板**:登录后默认进入首页,显示九宫格功能入口,按模块分组排列。直接点击图标即可进入对应功能。
|
||||
|
||||
---
|
||||
|
||||
### 1.3 通用操作方式
|
||||
|
||||
系统中所有数据管理页面遵循统一的操作模式:
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────┐
|
||||
│ 🔍 搜索条件区 │
|
||||
│ [订单号____] [物料____] [日期____] │
|
||||
│ [查询] [重置] │
|
||||
├────────────────────────────────────────┤
|
||||
│ 操作按钮区 │
|
||||
│ [新增] [编辑] [删除] [导出Excel] │
|
||||
├────────────────────────────────────────┤
|
||||
│ 数据表格区 │
|
||||
│ ┌────┬──────┬──────┬──────┬────┐ │
|
||||
│ │ 序号│ 订单号 │ 物料 │ 状态 │操作│ │
|
||||
│ ├────┼──────┼──────┼──────┼────┤ │
|
||||
│ │ 1 │10001 │零件A │可执行│编辑│ │
|
||||
│ │ 2 │10002 │零件B │已开工│编辑│ │
|
||||
│ └────┴──────┴──────┴──────┴────┘ │
|
||||
│ 共 50 条 ◀ 1 2 3 ... 5 ▶ │
|
||||
└────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
**通用操作按钮说明**:
|
||||
|
||||
| 按钮 | 图标 | 功能 |
|
||||
|------|:--:|------|
|
||||
| 查询 | 🔍 | 按搜索条件筛选数据 |
|
||||
| 重置 | 🔄 | 清空搜索条件 |
|
||||
| 新增 | ➕ | 打开新增表单 |
|
||||
| 编辑 | ✏ | 选中一行后打开编辑表单 |
|
||||
| 删除 | 🗑 | 选中一行后删除(需确认) |
|
||||
| 导出 | 📥 | 导出当前数据为Excel |
|
||||
|
||||
**表单操作通用规则**:
|
||||
- 红色星号 `*` 标记的为必填项
|
||||
- 下拉框可输入文字快速搜索
|
||||
- 日期选择器可直接输入或点击日历图标选择
|
||||
- 表单验证不通过时,该项下方显示红色提示文字
|
||||
|
||||
---
|
||||
|
||||
### 1.4 退出系统
|
||||
|
||||
```
|
||||
方式1:点击右上角用户头像 → 选择"Log Out"
|
||||
方式2:直接关闭浏览器标签页
|
||||
方式3:长时间无操作后自动退出(约30分钟)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. 生产操作工日常操作
|
||||
|
||||
> 📋 **典型工作流程**:
|
||||
> 登录 → 加工中心 → 查看任务 → 收料 → 开始加工 → (暂停/恢复) → 报工 → 完成
|
||||
|
||||
### 2.1 查看我的任务
|
||||
|
||||
**操作路径**:侧边栏 → **加工中心** → 任务列表
|
||||
|
||||
进入后显示分配给**当前工位**的生产任务。表格中包含以下关键信息:
|
||||
|
||||
| 列名 | 含义 | 示例 |
|
||||
|------|------|------|
|
||||
| 订单号 | 生产订单编号 | 10001234 |
|
||||
| 零件编码 | 物料编号 | YL-001-02 |
|
||||
| 零件名称 | 物料描述 | 轴承座 |
|
||||
| 工序名称 | 当前需执行的工序 | 车削 |
|
||||
| 分配数 | 本工序需完成的数量 | 200 |
|
||||
| 完成数量 | 已完成的合格数量 | 150 |
|
||||
| 收料 | 已接收上序来料数量 | 180 |
|
||||
| 任务状态 | 当前状态 | **可执行** |
|
||||
| 加工状态 | 加工进度 | 开始加工 |
|
||||
| 计划完成 | 要求完工日期 | 2026-05-25 |
|
||||
|
||||
**颜色含义**:
|
||||
- 🟢 **可执行**:可以开工
|
||||
- 🔵 **已开工**:正在加工
|
||||
- ⚪ **待执行**:等待来料
|
||||
- ✅ **已完成**:已报工完成
|
||||
|
||||
### 2.2 物料接收(收料)
|
||||
|
||||
> **场景**: 上道工序送来加工零件,清点数量后确认接收。
|
||||
|
||||
```
|
||||
步骤1:在任务列表中,找到需要收料的任务行
|
||||
步骤2:确认任务状态为"待执行"或"可执行"
|
||||
步骤3:点击该行的"收料"按钮
|
||||
步骤4:在弹出框中输入本次接收的数量
|
||||
步骤5:点击"确认"
|
||||
步骤6:任务状态自动变为"可执行"(收料数量 > 0 时)
|
||||
```
|
||||
|
||||
> ⚠️ **注意**: 首次开始加工时,系统会自动把上序合格数同步为收料数。
|
||||
|
||||
### 2.3 开始加工
|
||||
|
||||
> **场景**: 准备就绪,开始正式生产加工。
|
||||
|
||||
```
|
||||
步骤1:确认任务状态为"可执行"(绿色显示)
|
||||
步骤2:点击"开始加工"按钮
|
||||
步骤3:系统自动记录开始时间,任务状态变为"已开工"
|
||||
```
|
||||
|
||||
> 💡 **提示**:开始加工后计时器启动,工时从此刻开始计算。
|
||||
|
||||
### 2.4 暂停与恢复加工
|
||||
|
||||
> **场景**: 中途需要休息、换刀、等料等需要临时中断生产。
|
||||
|
||||
**暂停操作**:
|
||||
```
|
||||
步骤1:点击"暂停"按钮
|
||||
步骤2:系统记录暂停时间点,加工状态变为"暂停"
|
||||
```
|
||||
|
||||
**恢复操作**:
|
||||
```
|
||||
步骤1:点击"开始加工"按钮
|
||||
步骤2:系统自动计算上次暂停的持续时长
|
||||
步骤3:恢复计时,加工状态变为"开始加工"
|
||||
```
|
||||
|
||||
> 💡 **提示**:系统自动计算"总时长 - 暂停总时长 = 实际工时",无需手动计算。
|
||||
|
||||
### 2.5 完工报工
|
||||
|
||||
> **场景**: 本批零件加工完成,需要进行完工汇报。
|
||||
|
||||
```
|
||||
步骤1:确认任务状态为"已开工"
|
||||
步骤2:点击"报工"按钮
|
||||
步骤3:填写报工信息:
|
||||
├── 报工日期:默认为当天(可修改)
|
||||
├── 报工班次:选择白班/夜班
|
||||
├── 报工数量:本次完成的合格品数量
|
||||
├── 报工说明:备注(可选)
|
||||
├── 是否加班:超时工作选"是"(见第5章)
|
||||
├── 加班人员:填写加班人员姓名(逗号分隔)
|
||||
└── 特殊加班人员:非标准工时人员(逗号分隔)
|
||||
步骤4:点击"确认"
|
||||
步骤5:系统计算工时并保存报工记录
|
||||
```
|
||||
|
||||
**报工结果判断**:
|
||||
| 条件 | 结果 |
|
||||
|------|------|
|
||||
| 累计完成数量 < 指派数量 | 任务保持"已开工",可继续报工 |
|
||||
| 累计完成数量 = 指派数量 | 任务状态变为"已完成" |
|
||||
| 报工数量 > 剩余未完成数 | **报错**:超出指派数量,不可提交 |
|
||||
|
||||
### 2.6 辅助工序操作
|
||||
|
||||
> **场景**: 上下料、工装准备、设备清理等辅助性工作也需要记录工时。
|
||||
|
||||
```
|
||||
辅助开始:
|
||||
步骤1:在任务列表中点击"辅助开始"
|
||||
步骤2:系统记录辅助开始时间
|
||||
|
||||
辅助结束:
|
||||
步骤1:点击"辅助结束"
|
||||
步骤2:输入本次辅助完成的数量
|
||||
步骤3:如需加班,勾选"是否加班"并填写人员
|
||||
步骤4:点击"确认"
|
||||
```
|
||||
|
||||
**辅助工时**独立于生产工时计算。
|
||||
|
||||
### 2.7 首件自检
|
||||
|
||||
> **场景**: 每批零件加工的第一件需要自检确认。
|
||||
|
||||
```
|
||||
步骤1:加工完首件后,点击"首检"按钮
|
||||
步骤2:测量零件关键尺寸
|
||||
步骤3:选择检验结果:OK(合格)/ NG(不合格)
|
||||
步骤4:点击"确认"
|
||||
```
|
||||
|
||||
> ⚠️ 首检NG时,需调整设备/工艺后重新加工首件并再次首检。
|
||||
|
||||
---
|
||||
|
||||
## 3. 质检员日常操作
|
||||
|
||||
> 📋 **典型工作流程**:
|
||||
> 登录 → 质量管理 → 选择质检任务 → 巡检/序检/收检/终检 → 录入检测数据 → 不合格品处理
|
||||
|
||||
### 3.1 巡检操作
|
||||
|
||||
> **场景**: 生产过程中定期对加工零件进行抽检。
|
||||
|
||||
```
|
||||
步骤1:进入"质量管理"→"质检任务"
|
||||
步骤2:筛选条件选择"已开工"的任务
|
||||
步骤3:点击目标任务的"巡检"按钮
|
||||
步骤4:输入抽检数量和NG数量
|
||||
步骤5:填写检测说明(可选)
|
||||
步骤6:点击"保存"
|
||||
```
|
||||
|
||||
### 3.2 序检操作
|
||||
|
||||
> **场景**: 一道工序加工完成后对本序产品进行检验。
|
||||
|
||||
```
|
||||
步骤1:进入质检任务列表
|
||||
步骤2:筛选"已开工"的任务
|
||||
步骤3:点击"序检"
|
||||
步骤4:输入检验数量和不合格数量
|
||||
步骤5:填写检测说明
|
||||
步骤6:点击"保存"
|
||||
```
|
||||
|
||||
### 3.3 收检操作(工序交接)
|
||||
|
||||
> **场景**: 上道工序完工后,下道工序接收时进行检验确认。这是最重要的质检环节。
|
||||
|
||||
```
|
||||
步骤1:进入"质检任务"列表
|
||||
步骤2:质检类型选择"收检"
|
||||
步骤3:点击目标任务的"收检"
|
||||
步骤4:填入以下信息:
|
||||
├── 检验数量:本次抽检/全检的数量
|
||||
├── 合格数:判定合格的数量
|
||||
├── 不合格数:判定不合格的数量
|
||||
├── 检测人:自动取当前用户
|
||||
└── 检测说明:填写备注
|
||||
步骤5:点击"保存"
|
||||
```
|
||||
|
||||
**系统自动联动**:
|
||||
- ✅ 收检合格数 > 0 → 下一道工序自动变为"可执行"
|
||||
- ✅ 总检测数 = 计划生产数 → 当前工序自动标记为"已完成"
|
||||
|
||||
### 3.4 终检操作
|
||||
|
||||
> **场景**: 所有工序完成后,对成品进行最终检验。
|
||||
|
||||
```
|
||||
步骤1:进入质检任务列表
|
||||
步骤2:点击"终检"按钮
|
||||
步骤3:填入:
|
||||
├── 检测数量:本次检验总数
|
||||
├── 合格数:判定合格的数量
|
||||
├── 不合格数:判定不合格的数量
|
||||
└── 放行数量:让步放行的数量
|
||||
步骤4:点击"保存"
|
||||
```
|
||||
|
||||
### 3.5 逐项检测数据录入
|
||||
|
||||
> **场景**: 需要按检测标准逐项测量和记录的精密检验。
|
||||
|
||||
```
|
||||
步骤1:在质检任务中,点击"检测数据"进入详细录入界面
|
||||
步骤2:选择当前检测零件编号(第1件/第2件...)
|
||||
步骤3:逐项录入检测数据:
|
||||
┌─────────────────────────────────────────┐
|
||||
│ 检测项目 理论值 上限 下限 实测值 │
|
||||
│ 外径 50.00 50.05 49.95 [____] │
|
||||
│ 内径 30.00 30.03 29.97 [____] │
|
||||
│ 长度 100.00 100.10 99.90 [____] │
|
||||
└─────────────────────────────────────────┘
|
||||
步骤4:每输入一项实测值,系统自动判断合格/不合格
|
||||
步骤5:完成所有检测项目后点击"保存"
|
||||
步骤6:切换下一个零件编号继续检测
|
||||
```
|
||||
|
||||
**颜色标识**:
|
||||
- 🟢 绿色:实测值在上下限范围内 → 合格
|
||||
- 🔴 红色:实测值超出上下限范围 → 不合格
|
||||
|
||||
### 3.6 不合格品处理
|
||||
|
||||
> **场景**: 发现不合格品后,发起处理流程(让步放行申请等)。
|
||||
|
||||
```
|
||||
步骤1:在质检记录中,点击"不合格品处理"
|
||||
步骤2:填写处理申请:
|
||||
├── 不合格数量:自动带入
|
||||
├── 申请让步放行:勾选是否需要让步
|
||||
├── 申请内容:说明不合格情况和理由
|
||||
└── 接收人:选择审批人
|
||||
步骤3:点击"提交"
|
||||
步骤4:审批人会收到处理通知
|
||||
步骤5:审批人填写处理意见 → 完成审批节点
|
||||
步骤6:流程发起人可查看处理结果
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 班组长/主管日常操作
|
||||
|
||||
### 4.1 生产排产
|
||||
|
||||
> **场景**: 接到生产订单后,将任务分配到具体工位。
|
||||
|
||||
**4.1.1 查询待排产订单**
|
||||
|
||||
```
|
||||
步骤1:侧边栏 → "生产排产" → "排产任务"
|
||||
步骤2:设置条件:
|
||||
├── 物料类型:自制件/装配件
|
||||
├── 订单号:输入具体订单号
|
||||
├── 合同号:输入销售合同号
|
||||
├── 产品编码:模糊搜索
|
||||
├── 工序名称:指定工序
|
||||
├── 排产状态:未完成
|
||||
└── 指派对象:选择目标工位
|
||||
步骤3:点击"查询"
|
||||
```
|
||||
|
||||
**4.1.2 单任务排产**
|
||||
|
||||
```
|
||||
步骤1:在列表中选中一条任务
|
||||
步骤2:点击"排产"或"编辑"
|
||||
步骤3:填写排产信息:
|
||||
├── 指派对象(工位):必填,选择目标机床/工位
|
||||
├── 指派数量:输入本序计划生产数量
|
||||
├── 计划开始时间:最早可开工时间
|
||||
├── 计划完成时间:要求完成时间
|
||||
├── 最晚开始时间:最迟必须开工时间
|
||||
└── 派工特殊说明:备注(可选)
|
||||
步骤4:点击"保存"
|
||||
```
|
||||
|
||||
> 💡 **自动拆分规则**:如果指派数量 < 计划数量,系统会自动将剩余数量拆分为新任务条目。
|
||||
|
||||
**4.1.3 批量排产**
|
||||
|
||||
```
|
||||
步骤1:在列表中勾选多条待排产任务
|
||||
步骤2:点击"批量排产"
|
||||
步骤3:确认执行
|
||||
步骤4:系统批量更新指派信息
|
||||
```
|
||||
|
||||
### 4.2 报工确认
|
||||
|
||||
> **场景**: 核实操作工提交的报工数据,确认最终工时。
|
||||
|
||||
```
|
||||
步骤1:侧边栏 → "工时管理" → "报工记录"
|
||||
步骤2:选择报工日期
|
||||
步骤3:筛选条件(可选):工位/合同号/订单号/操作人
|
||||
步骤4:查看报工记录列表
|
||||
步骤5:核对"报工工时"与"确认工时"
|
||||
步骤6:如需调整,点击"确认"按钮
|
||||
步骤7:输入确认工时和确认说明
|
||||
步骤8:点击"保存"
|
||||
```
|
||||
|
||||
| 状态 | 含义 |
|
||||
|:---:|------|
|
||||
| 未确认 | 操作工已提交,待班组长确认 |
|
||||
| 已确认 | 班组长已核实确认 |
|
||||
|
||||
### 4.3 工时查询
|
||||
|
||||
```
|
||||
步骤1:侧边栏 → "工时管理" → "工时汇总"
|
||||
步骤2:设置时间范围(计划开工开始~结束)
|
||||
步骤3:点击"查询"
|
||||
步骤4:查看各任务/工序的工时汇总
|
||||
```
|
||||
|
||||
### 4.4 二次派工
|
||||
|
||||
> **场景**: 一道工序需要多人协作完成。
|
||||
|
||||
```
|
||||
步骤1:在排产任务中找到目标工序
|
||||
步骤2:点击"二次派工"
|
||||
步骤3:选择/输入多名操作人员(逗号分隔)
|
||||
步骤4:保存
|
||||
```
|
||||
|
||||
二次派工后,这些人员都可以看到该任务并进行操作。
|
||||
|
||||
---
|
||||
|
||||
## 5. 加班操作指南
|
||||
|
||||
### 5.1 工作日加班
|
||||
|
||||
> **场景**: 正常工作日,加工时间超出班次规定时间。
|
||||
|
||||
```
|
||||
白班加班(超过16:30):
|
||||
步骤1:报工时勾选"是否加班" = 是
|
||||
步骤2:填写"加班人员"(多个人员用逗号分隔)
|
||||
步骤3:系统自动计算超出白班时间的加班工时
|
||||
步骤4:确认提交
|
||||
|
||||
夜班加班(超过00:40):
|
||||
操作同上,系统自动识别夜班时间段
|
||||
```
|
||||
|
||||
**班次时间参考**:
|
||||
|
||||
| 班次 | 标准时间 | 超出后算加班 |
|
||||
|------|------|------|
|
||||
| 白班 | 07:45 - 16:30 | > 16:30 |
|
||||
| 夜班 | 16:30 - 00:40(次日) | > 00:40 |
|
||||
|
||||
### 5.2 休息日加班
|
||||
|
||||
> **场景**: 周末或节假日安排生产。
|
||||
|
||||
```
|
||||
步骤1:报工时勾选"是否休息日" = 是
|
||||
步骤2:或勾选"是否法定休息日" = 是
|
||||
步骤3:勾选"是否加班" = 是
|
||||
步骤4:填写加班人员
|
||||
步骤5:系统按休息日加班标准计算工时
|
||||
步骤6:确认提交
|
||||
```
|
||||
|
||||
> ⚠️ **休息日"不加班"选项**:如果休息日选择"不加班",则记录为普通工时,不按加班计算。
|
||||
|
||||
### 5.3 特殊加班人员处理
|
||||
|
||||
> **场景**: 部分人员非标准8小时工作制(如4小时/6小时班制)。
|
||||
|
||||
```
|
||||
步骤1:在"特殊加班人员"框中填写这些人员姓名(逗号分隔)
|
||||
步骤2:在"班次标准工时"中填入其标准工时(小时)
|
||||
步骤3:系统对该人员按特殊工时标准计算
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 其他常用功能
|
||||
|
||||
### 6.1 查看生产进度
|
||||
|
||||
> **场景**: 实时了解各工序生产完成情况。
|
||||
|
||||
```
|
||||
步骤1:侧边栏 → 看板/监控
|
||||
步骤2:查看"当前生产状态"看板
|
||||
```
|
||||
|
||||
看板显示各工位正在加工的任务信息:
|
||||
- 工位名称、操作人
|
||||
- 零件编码/名称
|
||||
- 工序名称、完成进度百分比
|
||||
- 首检/序检状态(OK/NG)
|
||||
|
||||
### 6.2 图纸查看
|
||||
|
||||
> **场景**: 在生产过程中查看零件图纸或工艺图纸。
|
||||
|
||||
```
|
||||
步骤1:进入"图纸管理"
|
||||
步骤2:输入物料编号搜索
|
||||
步骤3:点击图纸名称在线预览(支持PDF)
|
||||
步骤4:可放大、缩小、旋转、翻页
|
||||
```
|
||||
|
||||
### 6.3 外协业务
|
||||
|
||||
> **场景**: 管理外协工序(委托外部供应商加工)。
|
||||
|
||||
**外协工序操作流程**:
|
||||
```
|
||||
步骤1:排产时将工序指派对象设为"外协"
|
||||
步骤2:加工中心自动识别外协任务
|
||||
步骤3:外协完工后进行收检(质检员操作)
|
||||
步骤4:在"外协报表"中查看外协进度
|
||||
```
|
||||
|
||||
外协报表包含:供应商名称、采购单价、发料数量、收检合格/不合格数。
|
||||
|
||||
### 6.4 装配工序操作
|
||||
|
||||
> **场景**: 装配产线的生产操作。
|
||||
|
||||
装配工序使用独立的人员工时记录方式:
|
||||
|
||||
```
|
||||
开始装配:
|
||||
步骤1:在任务列表中点击"开始加工"
|
||||
步骤2:系统记录开始时间和人员
|
||||
|
||||
结束装配:
|
||||
步骤1:点击"结束"按钮
|
||||
步骤2:填写工序说明、异常说明(可选)
|
||||
步骤3:如需加班,勾选并填写加班人员
|
||||
步骤4:点击"确认"
|
||||
步骤5:系统自动计算工时并保存
|
||||
```
|
||||
|
||||
> 💡 装配工序的报工在"结束"时自动计算,无需单独报工。
|
||||
|
||||
---
|
||||
|
||||
## 7. 附录
|
||||
|
||||
### 7.1 名词解释
|
||||
|
||||
| 术语 | 解释 |
|
||||
|------|------|
|
||||
| **TaskAID** | 生产任务唯一标识号 |
|
||||
| **排产** | 将订单任务分配到具体工位并设定计划时间 |
|
||||
| **收料** | 确认接收上道工序移交的零件 |
|
||||
| **报工** | 完成加工后汇报完成数量 |
|
||||
| **首检** | 每批首个零件的质量检验 |
|
||||
| **巡检** | 生产过程中的巡回抽检 |
|
||||
| **序检** | 本工序完成后的检验 |
|
||||
| **收检** | 接收上序零件时的检验(跨工序交接关键环节) |
|
||||
| **终检** | 所有工序完成后的最终检验 |
|
||||
| **让步放行** | 不合格品经审批后允许使用 |
|
||||
| **二次派工** | 同一工序指派多名操作人员 |
|
||||
| **齐套** | 物料配套齐全可开工 |
|
||||
| **拣配** | 物料已从仓库拣选配齐 |
|
||||
|
||||
### 7.2 快捷键与操作提示
|
||||
|
||||
| 操作 | 方法 |
|
||||
|------|------|
|
||||
| 快速搜索下拉选项 | 在下拉框中直接输入文字筛选 |
|
||||
| 清空搜索条件 | 点击搜索区"重置"按钮 |
|
||||
| 日期快速选择 | 点击日历图标或直接输入 `2026-05-18` 格式 |
|
||||
| 刷新当前页面 | 按 `F5` 键 |
|
||||
| 关闭当前标签 | 点击标签上的 `×` |
|
||||
| 批量勾选 | 点击表头的复选框全选/取消全选 |
|
||||
|
||||
### 7.3 常见错误提示与处理
|
||||
|
||||
| 错误提示 | 原因 | 处理方法 |
|
||||
|------|------|------|
|
||||
| "账号或密码错误" | 输入凭证不正确 | 检查工号和密码,确认大小写 |
|
||||
| "指派数量大于剩余未分配数量" | 排产数量超过库存 | 减少本次指派数量 |
|
||||
| "报工数量与完成数量之和已超出指派数量" | 累计报工超过计划数 | 减少本次报工数量,或检查前序不合格数 |
|
||||
| "该用户已有未结束的开始记录" | 上一个任务未结束 | 先结束上一个加工任务 |
|
||||
| "检验数量超过计划生产数" | 质检数量超出计划 | 核对检验数量 |
|
||||
| "此账号登录失效,请重新登录" | 登录已过期 | 关闭弹窗,重新登录 |
|
||||
|
||||
---
|
||||
|
||||
> 📅 文档版本: v1.0
|
||||
> 📝 生成日期: 2026-05-18
|
||||
> 👤 适用岗位: 生产操作工 / 质检员 / 班组长 / 车间主管 / 生产调度员
|
||||
713
doc_old/MES_程序使用说明书.md
Normal file
713
doc_old/MES_程序使用说明书.md
Normal file
@@ -0,0 +1,713 @@
|
||||
# MES 工业互联网平台 — 程序使用说明书
|
||||
|
||||
> **项目名称**: MacroinfManage_MES (MES_Manage_View_V20)
|
||||
> **版本**: v1.1.0
|
||||
> **适用对象**: 系统管理员、开发工程师、运维人员
|
||||
> **日期**: 2026-05-18
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
- [一、系统概述](#一系统概述)
|
||||
- [二、环境要求与安装部署](#二环境要求与安装部署)
|
||||
- [三、项目目录结构](#三项目目录结构)
|
||||
- [四、配置文件说明](#四配置文件说明)
|
||||
- [五、系统启动与运行](#五系统启动与运行)
|
||||
- [六、功能模块操作指南](#六功能模块操作指南)
|
||||
- [七、数据库维护](#七数据库维护)
|
||||
- [八、常见问题与故障排除](#八常见问题与故障排除)
|
||||
- [九、附录](#九附录)
|
||||
|
||||
---
|
||||
|
||||
## 一、系统概述
|
||||
|
||||
### 1.1 系统简介
|
||||
|
||||
MES工业互联网平台是一套面向制造企业的生产执行管理系统,覆盖从ERP订单接收、生产排产、车间加工执行、质量检验、工时核算到设备监控的全流程管理。
|
||||
|
||||
### 1.2 技术架构一览
|
||||
|
||||
| 层级 | 技术 | 说明 |
|
||||
|------|------|------|
|
||||
| 前端框架 | Vue 2.7 + Element UI 2.15 | SPA单页应用 |
|
||||
| 构建工具 | Webpack 5.89 | 模块打包/开发服务器 |
|
||||
| 后端服务 | ASP.NET (IIS) | 通用处理程序 `MESCommonBase.ashx` |
|
||||
| 数据库 | SQL Server 2019 | 数据库名 `YL_MESDB` |
|
||||
| 外部集成 | SAP Business One | ERP数据同步 |
|
||||
| 设备通信 | MQTT 4.3.7 | 设备实时数据采集 |
|
||||
|
||||
### 1.3 系统访问地址
|
||||
|
||||
| 环境 | 地址 | 端口 |
|
||||
|------|------|:---:|
|
||||
| 开发环境 | `https://127.0.0.1` | 1997 |
|
||||
| 生产服务器 | `https://192.168.2.92` | 10101 |
|
||||
|
||||
---
|
||||
|
||||
## 二、环境要求与安装部署
|
||||
|
||||
### 2.1 硬件要求
|
||||
|
||||
| 组件 | 最低配置 | 推荐配置 |
|
||||
|------|------|------|
|
||||
| CPU | 4核心 | 8核心+ |
|
||||
| 内存 | 8 GB | 16 GB+ |
|
||||
| 磁盘 | 50 GB可用 | 200 GB SSD |
|
||||
| 网络 | 千兆局域网 | 千兆局域网 |
|
||||
|
||||
### 2.2 软件依赖
|
||||
|
||||
| 软件 | 版本要求 | 用途 |
|
||||
|------|------|------|
|
||||
| **Node.js** | >= 20.0.0 | 前端开发运行环境 |
|
||||
| **npm** | >= 9.0.0 | 包管理器 |
|
||||
| **Git Bash** | 最新版 | Windows下命令行工具(必须安装) |
|
||||
| **SQL Server** | 2019+ | 数据库服务器 |
|
||||
| **IIS** | 7.0+ | Web服务器(部署后端) |
|
||||
| **Chrome/Edge** | 最新版 | 推荐浏览器 |
|
||||
|
||||
### 2.3 安装步骤
|
||||
|
||||
#### 步骤1:安装 Node.js
|
||||
|
||||
```bash
|
||||
# 下载并安装 Node.js 20.x LTS
|
||||
# https://nodejs.org/
|
||||
|
||||
# 验证安装
|
||||
node --version # 应显示 v20.x.x
|
||||
npm --version # 应显示 9.x.x 或更高
|
||||
```
|
||||
|
||||
#### 步骤2:安装 Git Bash (Windows)
|
||||
|
||||
```bash
|
||||
# 下载 Git for Windows
|
||||
# https://git-scm.com/download/win
|
||||
|
||||
# 安装时选择 "Git Bash Here" 组件
|
||||
# 确保 C:\Program Files\Git\bin 已添加到系统 PATH
|
||||
```
|
||||
|
||||
#### 步骤3:安装项目依赖
|
||||
|
||||
```bash
|
||||
# 进入项目目录
|
||||
cd "c:\Users\meswork764\Desktop\元利\MacroinfManage_MES\MES_Manage_View_V20"
|
||||
|
||||
# 安装所有npm依赖
|
||||
npm install
|
||||
|
||||
# 如果遇到网络问题,可先配置镜像源
|
||||
npm config set registry https://registry.npmmirror.com
|
||||
npm install
|
||||
```
|
||||
|
||||
#### 步骤4:初始化数据库
|
||||
|
||||
```sql
|
||||
-- 1. 在SQL Server Management Studio中打开 script.sql
|
||||
-- 2. 修改文件路径以匹配实际环境:
|
||||
-- 数据文件路径: D:\sqlData\YL_MESDB.mdf
|
||||
-- 日志文件路径: D:\sqlDataLog\YL_MESDB_log.ldf
|
||||
|
||||
-- 3. 执行脚本创建数据库和所有对象
|
||||
-- 4. 验证数据库创建成功
|
||||
USE [YL_MESDB];
|
||||
SELECT COUNT(*) AS '表数量' FROM sys.tables;
|
||||
SELECT COUNT(*) AS '存储过程数量' FROM sys.procedures;
|
||||
```
|
||||
|
||||
#### 步骤5:配置后端服务
|
||||
|
||||
1. 在IIS中创建应用程序池和站点
|
||||
2. 指向后端发布目录
|
||||
3. 确保 `MESCommonBase.ashx` 和 `MESUploadFile.ashx` 可访问
|
||||
4. 配置数据库连接字符串
|
||||
|
||||
---
|
||||
|
||||
## 三、项目目录结构
|
||||
|
||||
```
|
||||
MES_Manage_View_V20/
|
||||
│
|
||||
├── index.html # HTML入口 (加载config.js)
|
||||
├── package.json # 项目配置与依赖声明
|
||||
├── babel.config.js # Babel转译配置
|
||||
├── .eslintrc.js # ESLint代码规范
|
||||
│
|
||||
├── static/ # 静态资源目录
|
||||
│ ├── config.js # ⭐ 运行环境配置(服务器地址等)
|
||||
│ └── jsQR.js # 二维码解析库
|
||||
│
|
||||
├── config/ # 构建配置
|
||||
│ ├── index.js # ⭐ Webpack + 开发服务器配置
|
||||
│ ├── dev.env.js # 开发环境变量
|
||||
│ └── prod.env.js # 生产环境变量
|
||||
│
|
||||
├── build/ # Webpack构建脚本
|
||||
│ ├── webpack.base.conf.js # 公共配置
|
||||
│ ├── webpack.dev.conf.js # 开发环境配置
|
||||
│ ├── webpack.prod.conf.js # 生产环境配置
|
||||
│ ├── vue-loader.conf.js # Vue Loader配置
|
||||
│ └── utils.js # 构建工具函数
|
||||
│
|
||||
├── src/ # 源代码目录
|
||||
│ ├── main.js # ⭐ 应用入口
|
||||
│ ├── App.vue # 根组件
|
||||
│ ├── permission.js # ⭐ 路由守卫/权限控制
|
||||
│ │
|
||||
│ ├── api/ # API接口层
|
||||
│ │ └── login.js # 登录相关API
|
||||
│ │
|
||||
│ ├── router/ # 路由配置
|
||||
│ │ ├── index.js # 路由主配置
|
||||
│ │ ├── getTreeData.js # 动态菜单树生成
|
||||
│ │ └── menuComponentModule.js # 组件懒加载
|
||||
│ │
|
||||
│ ├── store/ # Vuex状态管理
|
||||
│ │ ├── index.js # Store入口
|
||||
│ │ └── modules/ # 状态模块
|
||||
│ │ ├── app.js # 应用状态
|
||||
│ │ ├── user.js # ⭐ 用户状态(登录/权限)
|
||||
│ │ ├── login.js # 登录时间追踪
|
||||
│ │ ├── permission.js # 权限路由
|
||||
│ │ └── tagsView.js # 标签页
|
||||
│ │
|
||||
│ ├── views/ # ⭐ 业务页面组件
|
||||
│ │ ├── layout/ # 布局(侧边栏/顶栏/标签页)
|
||||
│ │ ├── login/ # 登录页
|
||||
│ │ ├── dashboard/ # 首页看板
|
||||
│ │ └── [业务模块]/ # 各MES业务模块页面
|
||||
│ │
|
||||
│ ├── components/ # 公用组件
|
||||
│ ├── utils/ # 工具函数
|
||||
│ │ ├── auth.js # Token/Cookie管理
|
||||
│ │ ├── request.js # ⭐ Axios实例配置
|
||||
│ │ └── curd.js # ⭐ 通用CRUD封装
|
||||
│ │
|
||||
│ ├── styles/ # 全局样式
|
||||
│ ├── icons/ # SVG图标
|
||||
│ ├── directive/ # 自定义指令
|
||||
│ └── vendor/ # 第三方工具
|
||||
│
|
||||
├── script.sql # ⭐ 数据库完整脚本
|
||||
├── dist/ # 构建输出目录 (npm run build 后生成)
|
||||
└── *.md # 项目文档
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、配置文件说明
|
||||
|
||||
### 4.1 运行环境配置 `static/config.js`
|
||||
|
||||
这是最重要的配置文件,控制前端连接的后端服务器地址。部署时需要修改此文件:
|
||||
|
||||
```javascript
|
||||
window.dt_Config = {
|
||||
// ⭐ 后端API地址 (存储过程调用)
|
||||
serverAddress: 'https://192.168.2.92:10101/submit/MESCommonBase.ashx',
|
||||
|
||||
// ⭐ 后端基础URL
|
||||
baseURL: 'https://192.168.2.92:10101',
|
||||
|
||||
// SAP Business One Service Layer 地址
|
||||
baseURLB1: 'https://192.168.2.92:9996/b1s',
|
||||
|
||||
// 其他API地址
|
||||
baseURLtm: 'https://192.168.2.92:9996/openapi',
|
||||
|
||||
// 首页路由配置
|
||||
constantRouter: {
|
||||
path: '主页',
|
||||
title: '主页',
|
||||
meta: { title: '主页', icon: 'MaterialManagement' },
|
||||
alwaysShow: true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**环境切换说明**:
|
||||
```javascript
|
||||
// 生产环境 (服务器)
|
||||
serverAddress: 'https://192.168.2.92:10101/submit/MESCommonBase.ashx'
|
||||
|
||||
// 备用服务器
|
||||
// serverAddress: 'https://192.168.2.228:10101/submit/MESCommonBase.ashx'
|
||||
|
||||
// 本地开发环境
|
||||
// serverAddress: 'http://127.0.0.1:10101/submit/MESCommonBase.ashx'
|
||||
```
|
||||
|
||||
### 4.2 开发服务器配置 `config/index.js`
|
||||
|
||||
```javascript
|
||||
dev: {
|
||||
host: '127.0.0.1', // 开发服务器地址
|
||||
port: 1997, // ⭐ 开发服务器端口 (如被占用自动+1)
|
||||
autoOpenBrowser: true, // 启动时自动打开浏览器
|
||||
proxyTable: { // API代理配置
|
||||
'/api/b1s': {
|
||||
target: 'https://192.168.2.90:50000', // SAP B1 地址
|
||||
changeOrigin: true,
|
||||
secure: false
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 4.3 构建输出配置
|
||||
|
||||
```javascript
|
||||
build: {
|
||||
assetsRoot: 'dist', // 构建输出目录
|
||||
assetsSubDirectory: 'static',
|
||||
assetsPublicPath: '/', // ⭐ 部署路径 (如非根路径需修改)
|
||||
productionSourceMap: false // 生产环境是否生成source map
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 五、系统启动与运行
|
||||
|
||||
### 5.1 开发模式启动
|
||||
|
||||
```bash
|
||||
# 进入项目根目录
|
||||
cd "c:\Users\meswork764\Desktop\元利\MacroinfManage_MES\MES_Manage_View_V20"
|
||||
|
||||
# 方式1:npm脚本
|
||||
npm run dev
|
||||
|
||||
# 方式2:直接使用webpack
|
||||
npm start
|
||||
|
||||
# 启动成功后控制台输出:
|
||||
# Your application is running here: http://127.0.0.1:1997
|
||||
```
|
||||
|
||||
### 5.2 生产构建
|
||||
|
||||
```bash
|
||||
# 构建生产版本
|
||||
npm run build
|
||||
|
||||
# 构建产物在 dist/ 目录下
|
||||
# 将 dist/ 目录内容部署到IIS站点即可
|
||||
|
||||
# 可选:构建并分析包体积
|
||||
npm run build --report
|
||||
```
|
||||
|
||||
### 5.3 访问系统
|
||||
|
||||
1. 打开浏览器访问 `http://127.0.0.1:1997` (开发) 或生产地址
|
||||
2. 输入工号和密码登录
|
||||
3. 如有多个角色,选择登录角色
|
||||
4. 进入系统首页看板
|
||||
|
||||
---
|
||||
|
||||
## 六、功能模块操作指南
|
||||
|
||||
### 6.1 用户登录
|
||||
|
||||
| 步骤 | 操作 | 说明 |
|
||||
|:---:|------|------|
|
||||
| 1 | 打开系统地址 | 进入登录页面 |
|
||||
| 2 | 输入用户名/密码 | 单击"登录"按钮 |
|
||||
| 3 | 选择角色 | 如有多角色,弹出角色选择框;单一角色直接进入 |
|
||||
| 4 | 进入首页 | 显示有权限的功能模块入口 |
|
||||
|
||||
**记住密码**: 勾选"记住账号",下次自动填充用户名和密码(Cookie存储7天)。
|
||||
|
||||
**修改密码**: 点击"修改密码"→ 输入工号/原密码/新密码/确认密码 → 确定。
|
||||
|
||||
### 6.2 首页看板
|
||||
|
||||
进入系统后显示**九宫格功能入口**,按一级菜单分组展示有权限的功能模块。点击模块图标进入对应功能页面。
|
||||
|
||||
### 6.3 生产排产管理
|
||||
|
||||
**功能入口**: 首页 → 生产排产
|
||||
|
||||
#### 6.3.1 查询待排产任务
|
||||
|
||||
| 步骤 | 操作 |
|
||||
|:---:|------|
|
||||
| 1 | 进入"排产任务查询"页面 |
|
||||
| 2 | 选择查询条件(订单号/合同号/物料/工序/时间范围/排产状态/工位) |
|
||||
| 3 | 点击"查询"按钮 |
|
||||
| 4 | 查看任务列表(含计划数量/指派对象/任务状态等) |
|
||||
|
||||
#### 6.3.2 单任务排产指派
|
||||
|
||||
| 步骤 | 操作 |
|
||||
|:---:|------|
|
||||
| 1 | 在任务列表中选中一条任务 |
|
||||
| 2 | 点击"排产"或"指派" |
|
||||
| 3 | 选择/输入工位、指派数量、计划开始/完成时间 |
|
||||
| 4 | 填写派工特殊说明(可选) |
|
||||
| 5 | 点击"保存" |
|
||||
|
||||
> ⚠️ **注意事项**: 指派数量**小于**计划数量时,系统自动拆分剩余数量为新任务;**大于**计划数量时会报错。
|
||||
|
||||
#### 6.3.3 批量排产确认
|
||||
|
||||
选中多条任务 → 点击"批量排产" → 确认执行。
|
||||
|
||||
### 6.4 加工中心(生产执行)
|
||||
|
||||
**功能入口**: 首页 → 加工中心
|
||||
|
||||
#### 6.4.1 查看任务列表
|
||||
|
||||
进入后显示分配给当前工位的任务列表:
|
||||
- **待执行**(任务状态=0): 已排产但未收料
|
||||
- **可执行**(任务状态=1): 已收料可开工
|
||||
- **已开工**(任务状态=2): 正在生产中
|
||||
- **已完成**(任务状态=4): 报工完成
|
||||
|
||||
#### 6.4.2 标准生产流程
|
||||
|
||||
```
|
||||
收料 → 可执行 → 开始加工 → [暂停/恢复] → 报工 → 完成
|
||||
```
|
||||
|
||||
| 步骤 | 按钮 | 说明 |
|
||||
|:---:|------|------|
|
||||
| 1 | **收料** | 输入收料数量 → 确认。任务变为"可执行" |
|
||||
| 2 | **开始加工** | 点击后任务变为"已开工",开始计时 |
|
||||
| 3 | **暂停** | 生产中断时点击,记录暂停开始时间 |
|
||||
| 4 | **恢复(开始加工)** | 从暂停恢复,自动计算暂停时长 |
|
||||
| 5 | **报工** | 输入本次完成数量 → 选择班次 → 确认 |
|
||||
|
||||
#### 6.4.3 报工界面说明
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| 报工日期 | 自动取当前日期 |
|
||||
| 报工班次 | 白班(07:45-16:30) / 夜班(16:30-00:40) |
|
||||
| 报工数量 | 本次完成的合格品数量 |
|
||||
| 报工说明 | 备注信息 |
|
||||
| 是否加班 | 如报工时间超过班次时间需勾选 |
|
||||
| 加班人员 | 逗号分隔多个加班人员姓名 |
|
||||
| 特殊加班人员 | 非标准工时(如4小时班)的特殊人员 |
|
||||
|
||||
> ⚠️ **休息日注意事项**: 休息日/法定休息日选择"加班"会计算加班工时,选择"不加班"记为普通工时。
|
||||
|
||||
#### 6.4.4 辅助工序操作
|
||||
|
||||
辅助工序(上下料、清理等)使用独立流程:**辅助开始 → 辅助结束**。操作方式同上。
|
||||
|
||||
### 6.5 质量管理
|
||||
|
||||
**功能入口**: 首页 → 质量管理
|
||||
|
||||
#### 6.5.1 质检类型说明
|
||||
|
||||
| 类型 | 时机 | 操作人 |
|
||||
|------|------|------|
|
||||
| **首检** | 每道工序开始生产时首批零件 | 操作工自检/质检员 |
|
||||
| **巡检** | 生产过程中定期抽检 | 质检员 |
|
||||
| **序检** | 工序加工完成后 | 质检员 |
|
||||
| **收检** | 跨工序交接时 | 接收工序操作工 |
|
||||
| **终检** | 全部工序完成后最终检验 | 质检员 |
|
||||
|
||||
#### 6.5.2 执行收检操作
|
||||
|
||||
| 步骤 | 操作 |
|
||||
|:---:|------|
|
||||
| 1 | 进入质检任务列表,筛选"收检"类型 |
|
||||
| 2 | 选中任务,点击"收检" |
|
||||
| 3 | 输入检验数量、合格数、不合格数 |
|
||||
| 4 | 填写检测说明 |
|
||||
| 5 | 点击"保存" |
|
||||
| 6 | 系统自动判断:合格数>0则下一工序变为"可执行" |
|
||||
|
||||
#### 6.5.3 终检操作
|
||||
|
||||
| 步骤 | 操作 |
|
||||
|:---:|------|
|
||||
| 1 | 进入质检任务列表 |
|
||||
| 2 | 选中任务,点击"终检" |
|
||||
| 3 | 输入检测数量、合格数、不合格数、放行数量 |
|
||||
| 4 | 点击"保存" |
|
||||
|
||||
#### 6.5.4 不合格品处理流程
|
||||
|
||||
```
|
||||
发现不合格品 → 发起处理流程 → 填写申请内容/让步放行数量
|
||||
→ 选择接收人 → 提交
|
||||
→ 审批人填写处理意见 → 完成节点
|
||||
→ 结束处理流程
|
||||
```
|
||||
|
||||
#### 6.5.5 检测数据录入(逐项检测)
|
||||
|
||||
| 步骤 | 操作 |
|
||||
|:---:|------|
|
||||
| 1 | 进入质检任务,点击"检测数据" |
|
||||
| 2 | 选择检测零件编号 |
|
||||
| 3 | 逐项录入实测值(系统自动对比上下限判定合格/不合格) |
|
||||
| 4 | 完成所有检测项目后保存 |
|
||||
| 5 | 系统自动聚合统计合格数/不合格数 |
|
||||
|
||||
### 6.6 工时管理与校验
|
||||
|
||||
**功能入口**: 首页 → 工时管理
|
||||
|
||||
| 功能 | 说明 |
|
||||
|------|------|
|
||||
| **报工记录查询** | 按日期/工位/人员/确认状态筛选报工记录 |
|
||||
| **报工确认** | 管理员核对报工数据,填入确认工时和说明 |
|
||||
| **工时汇总** | 按TaskAID/工序汇总生产工时 |
|
||||
| **装配工时记录** | 管理装配人员的开始/结束时间记录 |
|
||||
|
||||
### 6.7 设备管理
|
||||
|
||||
**功能入口**: 首页 → 设备管理
|
||||
|
||||
| 功能 | 操作 |
|
||||
|------|------|
|
||||
| **设备台账** | 增删改查设备基本信息(编号/名称/型号/制造商/车间/责任人) |
|
||||
| **维修记录** | 记录故障描述/故障时间/维修人员/完成时间 |
|
||||
| **生产状态** | 查看当前和历史设备生产状态 |
|
||||
| **设备点检** | 维护设备点检表(保养人员/监督人员/点检类型) |
|
||||
|
||||
### 6.8 工艺管理
|
||||
|
||||
**功能入口**: 首页 → 工艺管理
|
||||
|
||||
| 功能 | 操作 |
|
||||
|------|------|
|
||||
| **工序基础数据** | 维护工序名称和编号(增删改查) |
|
||||
| **标准工艺绑定** | 将工序按顺序绑定到物料编号 |
|
||||
| **工艺查询** | 按物料编号查看完整工艺路线 |
|
||||
| **物料查询** | 从SAP查询物料编码和名称 |
|
||||
|
||||
### 6.9 图纸管理
|
||||
|
||||
**功能入口**: 首页 → 图纸管理
|
||||
|
||||
| 功能 | 操作 |
|
||||
|------|------|
|
||||
| **上传图纸** | 选择物料 → 上传PDF/图片文件 |
|
||||
| **在线预览** | 点击图纸名称在线查看(PDF.js预览) |
|
||||
| **删除图纸** | 删除图纸(记录到删除日志) |
|
||||
|
||||
### 6.10 数据字典
|
||||
|
||||
**功能入口**: 系统管理 → 数据字典
|
||||
|
||||
维护系统全局配置项:
|
||||
|
||||
| 数据类别 | 词条示例 |
|
||||
|------|------|
|
||||
| 生产操作 | 收料(1), 开始加工(4), 暂停(5), 报工(6), 首检(7) |
|
||||
| 班次 | 白班, 夜班 |
|
||||
| 报工确认 | 已确认, 未确认 |
|
||||
| 质检类型 | 首检自检, 序检自检, 收检, 终检 |
|
||||
|
||||
### 6.11 实时监控看板
|
||||
|
||||
**功能入口**: 首页 → 生产监控
|
||||
|
||||
| 功能 | 说明 |
|
||||
|------|------|
|
||||
| **当前生产状态** | 显示机加和装配的当前加工中任务(含人员/工位/零件) |
|
||||
| **设备变量看板** | 实时显示设备运行参数(电流/电压/功率等) |
|
||||
| **报警记录** | 查看历史报警和当前活跃报警 |
|
||||
|
||||
---
|
||||
|
||||
## 七、数据库维护
|
||||
|
||||
### 7.1 数据库备份
|
||||
|
||||
```sql
|
||||
-- 执行全量备份存储过程
|
||||
EXEC [dbo].[___DB_BAK]
|
||||
|
||||
-- 备份文件位置:C:\_MW\数据库\YL_MESDB_yyyy_MM_dd__HH_mm_ss_fff.bak
|
||||
```
|
||||
|
||||
**建议**: 每日定时执行全量备份 + 每小时事务日志备份。
|
||||
|
||||
### 7.2 日志文件管理
|
||||
|
||||
```sql
|
||||
-- 查看日志文件大小
|
||||
EXEC sp_helpdb 'YL_MESDB'
|
||||
|
||||
-- 收缩日志文件(谨慎操作)
|
||||
USE [YL_MESDB]
|
||||
DBCC SHRINKFILE (N'YL_MESDB_log', 10240) -- 收缩到10GB
|
||||
```
|
||||
|
||||
### 7.3 重置排产数据
|
||||
|
||||
```sql
|
||||
-- 重置指定订单的排产数据(保留操作记录)
|
||||
EXEC [dbo].[__Reset_ProductOrder] @订单编号=10001, @optType=0
|
||||
|
||||
-- ⚠️ 重置全部数据并清空操作记录(危险操作!)
|
||||
EXEC [dbo].[__Reset_ProductOrder] @订单编号=-1, @optType=1
|
||||
```
|
||||
|
||||
> ⚠️ **警告**: `@optType=1` 会 **TRUNCATE** 操作记录表和报工记录表,数据不可恢复!
|
||||
|
||||
### 7.4 数据库结构更新
|
||||
|
||||
修改 `script.sql` 后重新执行或使用增量脚本:
|
||||
|
||||
```sql
|
||||
-- 逐步执行新增/修改部分(跳过已存在的对象)
|
||||
-- 注意:script.sql 中的 CREATE 语句需要改为 ALTER 或先 DROP 再 CREATE
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 八、常见问题与故障排除
|
||||
|
||||
### 8.1 安装与启动问题
|
||||
|
||||
| 问题 | 原因 | 解决方法 |
|
||||
|------|------|------|
|
||||
| `npm install` 失败 | 网络问题或node版本过低 | 1. 切换镜像源 `npm config set registry https://registry.npmmirror.com` 2. 确认 Node >= 20.0.0 |
|
||||
| `npm run dev` 报错 | 依赖未安装或端口被占用 | 1. 重新执行 `npm install` 2. 修改 `config/index.js` 中端口 |
|
||||
| 浏览器显示"无法访问" | dev server使用HTTPS但无证书 | Chrome地址栏输入 `thisisunsafe` 跳过警告,或修改 `webpack.dev.conf.js` 中 `https: false` |
|
||||
| `module not found` 错误 | Webpack 5 fallback配置缺失 | 检查 `webpack.base.conf.js` 中 `resolve.fallback` 配置 |
|
||||
|
||||
### 8.2 登录问题
|
||||
|
||||
| 问题 | 原因 | 解决方法 |
|
||||
|------|------|------|
|
||||
| 登录提示"账号或密码错误" | 凭证错误或后端不可达 | 1. 检查用户名密码 2. 确认 `static/config.js` 中 serverAddress 正确 |
|
||||
| 登录后页面空白 | Token过期或权限数据异常 | 清除浏览器Cookie后重新登录 |
|
||||
| 忘记密码 | - | 联系管理员重置,当前版本不支持自助找回密码 |
|
||||
|
||||
### 8.3 功能操作问题
|
||||
|
||||
| 问题 | 原因 | 解决方法 |
|
||||
|------|------|------|
|
||||
| 点"开始加工"无反应 | 任务状态不是"可执行" | 先执行"收料"操作,使任务变为可执行状态 |
|
||||
| 报工数量超过计划数 | 累计完成+不合格数超过指派数 | 减少本次报工数量,或先处理不合格品 |
|
||||
| 质检合格后下序仍不可执行 | 拆分内码不匹配或任务状态未更新 | 检查 `MES_接口_生产计划_生产任务` 表数据 |
|
||||
| 修改密码失败 | 验证器Bug(known issue) | 联系管理员在数据库中直接修改密码 |
|
||||
|
||||
### 8.4 数据库问题
|
||||
|
||||
| 问题 | 原因 | 解决方法 |
|
||||
|------|------|------|
|
||||
| 查询越来越慢 | 缺少索引或统计信息过期 | 更新统计信息: `EXEC sp_updatestats` |
|
||||
| 日志文件过大 | FULL恢复模式无日志备份 | 1. 切换为SIMPLE模式 2. 或配置日志备份作业 |
|
||||
| 外键约束错误 | 数据不一致 | 检查 `FK_MES_接口_生产计划_生产任务_MES_接口_生产计划` 等外键 |
|
||||
|
||||
### 8.5 浏览器兼容性
|
||||
|
||||
| 浏览器 | 支持情况 |
|
||||
|------|:---:|
|
||||
| Chrome 90+ | ✅ 推荐 |
|
||||
| Edge 90+ | ✅ 推荐 |
|
||||
| Firefox 90+ | ✅ 兼容 |
|
||||
| Safari 14+ | ⚠️ 部分兼容 |
|
||||
| IE 11 | ❌ 不支持 (browserslist 已排除) |
|
||||
|
||||
---
|
||||
|
||||
## 九、附录
|
||||
|
||||
### 9.1 状态码参考
|
||||
|
||||
**任务状态**:
|
||||
| 状态码 | 含义 | 说明 |
|
||||
|:---:|------|------|
|
||||
| 0 | 待执行 | 已排产但未收料 |
|
||||
| 1 | 可执行 | 已收料可开工 |
|
||||
| 2 | 已开工 | 正在加工中 |
|
||||
| 4 | 已完成 | 报工完成或终检完成 |
|
||||
|
||||
**加工状态**:
|
||||
| 状态码 | 含义 |
|
||||
|:---:|------|
|
||||
| 2 | 辅助开始 |
|
||||
| 3 | 辅助结束 |
|
||||
| 4 | 开始加工 |
|
||||
| 5 | 暂停 |
|
||||
| 6 | 报工 |
|
||||
|
||||
**设备状态**:
|
||||
| 状态码 | 含义 |
|
||||
|:---:|------|
|
||||
| -1 | 关机 |
|
||||
| 0 | 待机 |
|
||||
| 1 | 工作 |
|
||||
| 2 | 报警 |
|
||||
| 3 | 暂停 |
|
||||
|
||||
**质检结果**:
|
||||
| 值 | 含义 |
|
||||
|:---:|------|
|
||||
| 1 | 合格 |
|
||||
| 0 | 不合格 |
|
||||
|
||||
### 9.2 API通信协议
|
||||
|
||||
前端与后端通信采用统一的JSON格式:
|
||||
|
||||
```javascript
|
||||
// 请求格式
|
||||
{
|
||||
"type": "1", // 1=查询, 2=增删改, 7=批量JSON
|
||||
"name": "存储过程名称",
|
||||
"param": "[{\"name\":\"参数名\",\"value\":\"参数值\",\"type\":\"string\",\"output\":\"0\"}]",
|
||||
"pageSize": 20, // 分页大小(可选)
|
||||
"pageList": 1, // 页码(可选)
|
||||
"UserID": "当前用户ID",
|
||||
"UserName": "当前用户名",
|
||||
"ModularID": "当前路由path"
|
||||
}
|
||||
|
||||
// 响应格式
|
||||
{
|
||||
"data": [ ... ], // 查询结果数组
|
||||
"total": 100, // 总记录数
|
||||
"result": "1" // 1=成功, 0=失败
|
||||
}
|
||||
```
|
||||
|
||||
### 9.3 快捷键
|
||||
|
||||
| 快捷键 | 功能 |
|
||||
|------|------|
|
||||
| `Enter` | 登录页面提交登录 |
|
||||
| `Ctrl + F5` | 强制刷新页面 |
|
||||
|
||||
### 9.4 日志查看
|
||||
|
||||
| 日志类型 | 位置 |
|
||||
|------|------|
|
||||
| 用户操作日志 | 数据库表 `_日志` |
|
||||
| API请求日志 | 数据库表 `记录_日志_项目运行日志` |
|
||||
| 浏览器控制台 | F12 → Console |
|
||||
| 开发服务器日志 | 终端控制台输出 |
|
||||
|
||||
### 9.5 联系与支持
|
||||
|
||||
- **项目维护**: MESWORK
|
||||
- **数据库文档**: 见 `script.sql` (完整DDL)
|
||||
- **技术分析**: 见 `MES_技术分析报告.md`
|
||||
- **功能映射**: 见 `MES_功能列表_页面_存储过程映射.md`
|
||||
|
||||
---
|
||||
|
||||
> 📅 文档生成日期: 2026-05-18
|
||||
> 📝 版本: v1.0
|
||||
> 🔄 最后更新: 2026-05-18
|
||||
7
doc_old/MacroinfManage_MES.code-workspace
Normal file
7
doc_old/MacroinfManage_MES.code-workspace
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": ".."
|
||||
}
|
||||
]
|
||||
}
|
||||
69
doc_old/fix_机加设备生产运营看板_加急任务查询.sql
Normal file
69
doc_old/fix_机加设备生产运营看板_加急任务查询.sql
Normal file
@@ -0,0 +1,69 @@
|
||||
USE [YL_MESDB]
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[机加设备生产运营看板_加急任务查询]
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
[订单编号]
|
||||
,[合同号]
|
||||
,[订单类型]
|
||||
,[订单状态]
|
||||
,[物料编号]
|
||||
,[物料描述]
|
||||
,[计划数量]
|
||||
,[计量单位]
|
||||
,[下达日期]
|
||||
,[计划开始时间]
|
||||
,[计划完成]
|
||||
,[自制件属性]
|
||||
,加急总数 as 加急数量
|
||||
,工序名称
|
||||
,指派对象
|
||||
,外协分组
|
||||
,REPLACE(STUFF((
|
||||
SELECT
|
||||
' -> ' + ISNULL(d2.工序名称, '') + '(' + ISNULL(d2.指派对象, '') + ')'
|
||||
+ '|' + ISNULL(CAST(d2.加工状态 AS VARCHAR(10)), '0')
|
||||
+ '|' + ISNULL(CAST(CAST(ISNULL((
|
||||
SELECT SUM(合格数)
|
||||
FROM [dbo].[YL_质量检验_质检记录]
|
||||
WHERE TaskAID = d2.TaskAID
|
||||
), 0) AS INT) AS VARCHAR(10)), '0')
|
||||
+ '|' + ISNULL(CONVERT(VARCHAR(2), MONTH(d2.计划开始时间)) + '月' + CONVERT(VARCHAR(2), DAY(d2.计划开始时间)) + '日', '')
|
||||
+ '|' + ISNULL(CAST(d2.订单行号 AS VARCHAR(10)), '')
|
||||
+ '|' + ISNULL(CAST(d2.外协分组 AS NVARCHAR(50)), '')
|
||||
+ '|' + ISNULL(CAST(CAST(ISNULL((
|
||||
SELECT SUM(操作数值)
|
||||
FROM [dbo].[YL_加工中心_操作记录表]
|
||||
WHERE TaskAID = d2.TaskAID
|
||||
AND 操作类别 = '收料'
|
||||
), 0) AS INT) AS VARCHAR(10)), '0')
|
||||
+ '|' + ISNULL(CAST(CAST(ISNULL((
|
||||
SELECT SUM(不合格数)
|
||||
FROM [dbo].[YL_质量检验_质检记录]
|
||||
WHERE TaskAID = d2.TaskAID
|
||||
), 0) AS INT) AS VARCHAR(10)), '0')
|
||||
FROM [dbo].[View_生产订单_MES] d2
|
||||
WHERE d2.订单编号 = v.订单编号
|
||||
ORDER BY d2.订单行号
|
||||
FOR XML PATH('')
|
||||
), 1, 6, ''), '>', '>') AS 工序进度详情
|
||||
,(SELECT COUNT(DISTINCT 订单编号) FROM [YL_MESDB].[dbo].[View_生产订单_MES] WHERE 加急总数 > 0 AND 指派对象 NOT LIKE '%装配%') AS [加急订单总数]
|
||||
FROM [YL_MESDB].[dbo].[View_生产订单_MES] v
|
||||
WHERE 加急总数 > 0
|
||||
AND 指派对象 NOT LIKE '%装配%'
|
||||
AND 订单行号 = (
|
||||
SELECT MIN(订单行号)
|
||||
FROM [YL_MESDB].[dbo].[View_生产订单_MES]
|
||||
WHERE 订单编号 = v.订单编号
|
||||
)
|
||||
|
||||
END
|
||||
193
doc_old/fix_生产管理_外协报表_查询.sql
Normal file
193
doc_old/fix_生产管理_外协报表_查询.sql
Normal file
@@ -0,0 +1,193 @@
|
||||
-- ============================================================
|
||||
-- 修复: [dbo].[生产管理_外协报表_查询]
|
||||
-- 问题1: 供应商过滤在 HAVING 中,SELECT 用 MAX(供应商名称)
|
||||
-- → 搜索"大连金景义"可能显示"芯泰智能"
|
||||
-- 问题2: GROUP BY 加了供应商名称后,STUFF 子查询未限定供应商
|
||||
-- → 两个供应商行拿到完全相同的工序列表,看似重复
|
||||
-- 修复:
|
||||
-- ① 供应商过滤移到 WHERE(分组前过滤)
|
||||
-- ② GROUP BY 加入 供应商名称(每个供应商独立一行)
|
||||
-- ③ STUFF 子查询加 d2.供应商名称 = d.供应商名称(各行只取自己的工序)
|
||||
-- ④ ROW_NUMBER 加上 供应商名称(排序确定化)
|
||||
-- 日期: 2026-05-21
|
||||
-- ============================================================
|
||||
|
||||
USE [YL_MESDB]
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[生产管理_外协报表_查询]
|
||||
@订单号 int = 0,
|
||||
@合同号 nvarchar(50) = '',
|
||||
@产品编码 nvarchar(50) = '',
|
||||
@产品名称 nvarchar(50) = '',
|
||||
@计划号 nvarchar(50) = '',
|
||||
@供应商 nvarchar(100) = '',
|
||||
@状态过滤 int = 0,
|
||||
@PageCurrent int = 1,
|
||||
@PageSize int = 20,
|
||||
@PageCount int OUTPUT,
|
||||
@ItemCount int OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
|
||||
IF OBJECT_ID('tempdb..#MergedResult') IS NOT NULL DROP TABLE #MergedResult
|
||||
|
||||
;WITH 工单汇总 AS (
|
||||
SELECT
|
||||
订单号,
|
||||
拆分内码,
|
||||
供应商名称,
|
||||
MAX(计划号) AS 计划号,
|
||||
MAX(合同号) AS 合同号,
|
||||
MAX(产品编码) AS 产品编码,
|
||||
MAX(产品名称) AS 产品名称,
|
||||
MAX(指派数量) AS 指派数量,
|
||||
MAX(含税单价) AS 含税单价,
|
||||
MAX(含税行总计) AS 含税行总计,
|
||||
MAX(开始时间) AS 开始时间,
|
||||
MIN(计划开始时间) AS 计划开始时间,
|
||||
MIN(计划完成时间) AS 计划完成时间,
|
||||
MAX(采购预计到货日期) AS 采购预计到货日期,
|
||||
MAX(外协结束时间) AS 外协结束时间,
|
||||
MAX(收料数量) AS 收料数量,
|
||||
MAX(收检合格数) AS 收检合格数,
|
||||
MAX(收检不合格数) AS 收检不合格数,
|
||||
MAX(CASE WHEN ISNULL(开票数量, 0) > 0 THEN 1 ELSE 0 END) AS 开票数量,
|
||||
MAX(发料数量合计) AS 发料数量合计,
|
||||
MAX(收料数量_报工) AS 收料数量_报工,
|
||||
MAX(CAST(材质 AS NVARCHAR(MAX))) AS 材质,
|
||||
MAX(要求完工日期) AS 要求完工日期,
|
||||
MAX(工序计划数量) AS 工序计划数量,
|
||||
MAX(完成数量) AS 完成数量,
|
||||
MAX(收检合格数) AS 上序合格数,
|
||||
MAX(CASE WHEN 订单行号 = 1 OR ISNULL(收检合格数, 0) > 0 THEN 1 ELSE 0 END) AS 执行状态,
|
||||
-- ============ 修复点③ ============
|
||||
-- STUFF 子查询加上 供应商名称 关联:每个供应商行只聚合自己的工序
|
||||
STUFF((
|
||||
SELECT ',' + d2.工序名称
|
||||
FROM View_外协报表视图 d2
|
||||
WHERE d2.订单号 = d.订单号
|
||||
AND d2.拆分内码 = d.拆分内码
|
||||
AND ISNULL(d2.供应商名称, '') = ISNULL(d.供应商名称, '')
|
||||
ORDER BY d2.订单行号
|
||||
FOR XML PATH(''), TYPE
|
||||
).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS 工序名称列表,
|
||||
STUFF((
|
||||
SELECT ',' + CAST(d2.TaskAID AS VARCHAR(10))
|
||||
FROM View_外协报表视图 d2
|
||||
WHERE d2.订单号 = d.订单号
|
||||
AND d2.拆分内码 = d.拆分内码
|
||||
AND ISNULL(d2.供应商名称, '') = ISNULL(d.供应商名称, '')
|
||||
ORDER BY d2.订单行号
|
||||
FOR XML PATH(''), TYPE
|
||||
).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS TaskAID列表,
|
||||
-- ============ 修复点④ ============
|
||||
-- ROW_NUMBER 排序加上 供应商名称,确保分页结果稳定
|
||||
ROW_NUMBER() OVER (ORDER BY 订单号, 供应商名称) AS RowNum
|
||||
FROM View_外协报表视图 d
|
||||
WHERE 1=1
|
||||
-- 排除供应商为空的"脏数据"(无SAP采购单关联的行)
|
||||
AND ISNULL(d.供应商名称, '') <> ''
|
||||
-- ============ 修复点① ============
|
||||
-- 供应商过滤放在 WHERE(分组前),不会出现"搜A显示B"
|
||||
AND (@供应商 = '' OR d.供应商名称 LIKE '%' + @供应商 + '%')
|
||||
-- ====================================
|
||||
AND (@订单号 = 0 OR d.订单号 = @订单号)
|
||||
AND (@计划号 = '' OR d.计划号 = @计划号)
|
||||
AND (@合同号 = '' OR d.合同号 LIKE '%' + @合同号 + '%')
|
||||
AND (@产品编码 = '' OR d.产品编码 LIKE '%' + @产品编码 + '%')
|
||||
AND (@产品名称 = '' OR d.产品名称 LIKE '%' + @产品名称 + '%')
|
||||
-- ============ 修复点② ============
|
||||
-- 按 订单号 + 拆分内码 + 供应商名称 分组,每个供应商独立一行
|
||||
GROUP BY 订单号, 拆分内码, 供应商名称
|
||||
-- ====================================
|
||||
HAVING
|
||||
-- 状态过滤依赖聚合值,保留在 HAVING
|
||||
(@状态过滤 = 0 OR MAX(CASE WHEN ISNULL(收料数量_报工, 0) < ISNULL(发料数量合计, 0) THEN 1 ELSE 0 END) = 1)
|
||||
)
|
||||
SELECT
|
||||
计划号,
|
||||
合同号,
|
||||
订单号,
|
||||
产品编码,
|
||||
产品名称,
|
||||
工序名称列表 AS 工序名称,
|
||||
供应商名称,
|
||||
指派数量,
|
||||
含税单价,
|
||||
含税行总计,
|
||||
开始时间,
|
||||
计划开始时间,
|
||||
计划完成时间,
|
||||
采购预计到货日期,
|
||||
外协结束时间,
|
||||
收料数量,
|
||||
收检合格数,
|
||||
收检不合格数,
|
||||
开票数量,
|
||||
发料数量合计,
|
||||
收料数量_报工,
|
||||
材质,
|
||||
要求完工日期,
|
||||
工序计划数量,
|
||||
TaskAID列表 AS TaskAID,
|
||||
拆分内码,
|
||||
执行状态,
|
||||
CASE WHEN 执行状态 = 1 THEN '可执行' ELSE '不可执行' END AS 执行状态文本,
|
||||
完成数量,
|
||||
上序合格数,
|
||||
RowNum
|
||||
INTO #MergedResult
|
||||
FROM 工单汇总
|
||||
|
||||
SELECT @ItemCount = COUNT(*) FROM #MergedResult
|
||||
|
||||
IF @ItemCount = 0
|
||||
SET @PageCount = 0
|
||||
ELSE
|
||||
SET @PageCount = CEILING(CAST(@ItemCount AS FLOAT) / @PageSize)
|
||||
|
||||
SELECT
|
||||
计划号,
|
||||
合同号,
|
||||
订单号,
|
||||
产品编码,
|
||||
产品名称,
|
||||
工序名称,
|
||||
供应商名称,
|
||||
指派数量,
|
||||
含税单价,
|
||||
含税行总计,
|
||||
开始时间,
|
||||
计划开始时间,
|
||||
计划完成时间,
|
||||
采购预计到货日期,
|
||||
外协结束时间,
|
||||
收料数量,
|
||||
收检合格数,
|
||||
收检不合格数,
|
||||
开票数量,
|
||||
发料数量合计,
|
||||
收料数量_报工,
|
||||
材质,
|
||||
要求完工日期,
|
||||
工序计划数量,
|
||||
TaskAID,
|
||||
拆分内码,
|
||||
执行状态,
|
||||
执行状态文本,
|
||||
完成数量,
|
||||
上序合格数
|
||||
FROM #MergedResult
|
||||
WHERE RowNum BETWEEN (@PageCurrent - 1) * @PageSize + 1 AND @PageCurrent * @PageSize
|
||||
ORDER BY 订单号, 供应商名称
|
||||
|
||||
DROP TABLE #MergedResult
|
||||
END
|
||||
GO
|
||||
152
doc_old/fix_质量管理_入库质检任务_查询.sql
Normal file
152
doc_old/fix_质量管理_入库质检任务_查询.sql
Normal file
@@ -0,0 +1,152 @@
|
||||
-- ============================================================
|
||||
-- 修复: [dbo].[质量管理_质量检验_入库质检任务_查询]
|
||||
-- 错误1: CheckedQuantity CTE 末尾多余逗号 (语法错误)
|
||||
-- 错误2: QualityData 中 检测类型编号 硬编码6 vs WHERE过滤5 (不一致)
|
||||
-- 错误3: 检测说明 列缺少表前缀 (歧义)
|
||||
-- 错误4: GROUP BY 含不必要的 cq.聚合字段
|
||||
-- 日期: 2026-05-22
|
||||
-- ============================================================
|
||||
|
||||
USE [YL_MESDB]
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[质量管理_质量检验_入库质检任务_查询]
|
||||
@订单号 NVARCHAR(100) = '',
|
||||
@零件编号 NVARCHAR(100) = '',
|
||||
@零件名称 NVARCHAR(100) = '',
|
||||
@检测日期_Start NVARCHAR(20) = '',
|
||||
@检测日期_End NVARCHAR(20) = '',
|
||||
@检测结果 NVARCHAR(10) = '',
|
||||
@检测人 NVARCHAR(50) = '',
|
||||
@状态 NVARCHAR(10) = '',
|
||||
@单据码 NVARCHAR(50) = ''
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @SQL NVARCHAR(MAX)
|
||||
DECLARE @WhereConditions NVARCHAR(MAX) = ''
|
||||
DECLARE @TaskWhere NVARCHAR(MAX) = ''
|
||||
DECLARE @OuterWhere NVARCHAR(MAX) = ''
|
||||
|
||||
-- 构建任务表筛选条件(用于内层)
|
||||
SET @TaskWhere = @TaskWhere + ' AND (task.订单类型 = ''20'') '
|
||||
IF @单据码 <> ''
|
||||
SET @TaskWhere = @TaskWhere + ' AND task.单据码 LIKE ''%' + @单据码 + '%'''
|
||||
IF @订单号 <> ''
|
||||
SET @TaskWhere = @TaskWhere + ' AND task.订单编号 LIKE ''%' + @订单号 + '%'''
|
||||
IF @零件编号 <> ''
|
||||
SET @TaskWhere = @TaskWhere + ' AND task.物料编码 LIKE ''%' + @零件编号 + '%'''
|
||||
IF @零件名称 <> ''
|
||||
SET @TaskWhere = @TaskWhere + ' AND task.物料名称 LIKE ''%' + @零件名称 + '%'''
|
||||
|
||||
-- 构建外层筛选条件(用于计算结果)
|
||||
IF @检测结果 <> ''
|
||||
SET @OuterWhere = @OuterWhere + ' AND 检测结果 = ' + @检测结果
|
||||
IF @状态 <> ''
|
||||
SET @OuterWhere = @OuterWhere + ' AND 状态 = ''' + @状态 + ''''
|
||||
IF @检测人 <> ''
|
||||
SET @OuterWhere = @OuterWhere + ' AND 检测人 LIKE ''%' + @检测人 + '%'''
|
||||
IF @检测日期_Start <> '' AND @检测日期_End <> ''
|
||||
SET @OuterWhere = @OuterWhere + ' AND CAST(检验时间 AS DATE) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''
|
||||
|
||||
-- 构建内层WHERE
|
||||
DECLARE @InnerWhere NVARCHAR(MAX) = ''
|
||||
IF LEN(@TaskWhere) > 0
|
||||
SET @InnerWhere = ' WHERE ' + SUBSTRING(@TaskWhere, 5, LEN(@TaskWhere))
|
||||
|
||||
SET @SQL = '
|
||||
WITH QualityData AS (
|
||||
SELECT
|
||||
计划号,
|
||||
检验数量,
|
||||
合格数,
|
||||
不合格数,
|
||||
检测人,
|
||||
检测时间,
|
||||
检测类型编号 -- ============ 修复点②:不要硬编码,取实际值 ============
|
||||
FROM [dbo].[YL_质量检验_质检记录]
|
||||
WHERE 检测类型编号 = 5 -- ← WHERE 和 SELECT 一致了
|
||||
),
|
||||
-- 统计已检验数量和合格数
|
||||
CheckedQuantity AS (
|
||||
SELECT
|
||||
计划号,
|
||||
行号,
|
||||
订单类型 AS 质检订单类型,
|
||||
SUM(检验数量) AS 已检验数量,
|
||||
SUM(合格数) AS 累计合格数,
|
||||
SUM(不合格数) AS 累计不合格数,
|
||||
MAX(检测说明) AS 检测说明 -- ============ 修复点①:去掉末尾多余的逗号 ============
|
||||
FROM [dbo].[YL_质量检验_质检记录]
|
||||
WHERE 检测类型编号 = 5
|
||||
GROUP BY 计划号, 行号, 订单类型
|
||||
),
|
||||
AggregatedData AS (
|
||||
SELECT
|
||||
task.订单编号 AS 计划号,
|
||||
task.单据码,
|
||||
task.订单类型,
|
||||
task.物料编码,
|
||||
task.物料名称,
|
||||
task.到货数,
|
||||
task.入库数量,
|
||||
task.加急状态,
|
||||
task.行号,
|
||||
task.采购到货时间,
|
||||
task.存放位置,
|
||||
task.加急总数,
|
||||
-- 使用累计数据
|
||||
ISNULL(cq.已检验数量, 0) AS 检验数量,
|
||||
ISNULL(cq.累计合格数, 0) AS 合格数,
|
||||
ISNULL(cq.累计不合格数, 0) AS 不合格数,
|
||||
ISNULL(cq.已检验数量, 0) AS 已检验数量,
|
||||
cq.检测说明 AS 备注, -- ============ 修复点③:加上表前缀 cq. ============
|
||||
task.入库数量 - ISNULL(cq.已检验数量, 0) AS 剩余待检数量,
|
||||
-- 检测人(取最新的或合并多人)
|
||||
CASE
|
||||
WHEN COUNT(DISTINCT qd.检测人) = 1 THEN MAX(qd.检测人)
|
||||
ELSE STUFF((
|
||||
SELECT DISTINCT '', '' + 检测人
|
||||
FROM QualityData qd2
|
||||
WHERE qd2.计划号 = task.订单编号
|
||||
AND ISNULL(qd2.检测人, '''') <> ''''
|
||||
FOR XML PATH('''')), 1, 2, '''')
|
||||
END AS 检测人,
|
||||
MAX(qd.检测时间) AS 检验时间,
|
||||
-- 检测结果(基于累计数据)
|
||||
CASE
|
||||
WHEN ISNULL(cq.累计不合格数, 0) > 0 THEN 2
|
||||
WHEN ISNULL(cq.累计合格数, 0) > 0 THEN 1
|
||||
ELSE 0
|
||||
END AS 检测结果,
|
||||
-- 检验状态
|
||||
CASE
|
||||
WHEN ISNULL(cq.已检验数量, 0) >= task.入库数量 AND task.入库数量 > 0 THEN ''1''
|
||||
ELSE ''0''
|
||||
END AS 状态
|
||||
FROM [dbo].[质量检验_质检任务_SAP] task
|
||||
LEFT JOIN QualityData qd ON task.订单编号 = qd.计划号
|
||||
LEFT JOIN CheckedQuantity cq ON task.订单编号 = cq.计划号 AND task.行号 = cq.行号 AND task.订单类型 = cq.质检订单类型
|
||||
' + @InnerWhere + '
|
||||
GROUP BY
|
||||
task.订单编号, task.单据码, task.订单类型,
|
||||
task.物料编码, task.物料名称, task.到货数,
|
||||
task.入库数量, task.加急状态, task.行号,
|
||||
task.采购到货时间, task.存放位置, task.加急总数,
|
||||
cq.已检验数量, cq.累计合格数, cq.累计不合格数,
|
||||
cq.检测说明 -- ============ 修复点④:GROUP BY 加入新增的检测说明列 ============
|
||||
)
|
||||
SELECT * FROM AggregatedData
|
||||
WHERE 1=1' + @OuterWhere + '
|
||||
ORDER BY 加急状态 DESC'
|
||||
|
||||
PRINT @SQL
|
||||
EXEC sp_executesql @SQL
|
||||
END
|
||||
GO
|
||||
16
doc_old/index.html
Normal file
16
doc_old/index.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<title><%= htmlWebpackPlugin.options.title %></title>
|
||||
<link rel="icon" href="favicon.ico">
|
||||
</head>
|
||||
<body style="background-color: #eeeeee">
|
||||
<script src="./static/config.js"></script>
|
||||
<script src="./static/jsQR.js"></script>
|
||||
<div id="app"></div>
|
||||
<script></script>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
||||
81
doc_old/sql_异常提醒_装配及时送检_查询.sql
Normal file
81
doc_old/sql_异常提醒_装配及时送检_查询.sql
Normal file
@@ -0,0 +1,81 @@
|
||||
USE [YL_MESDB]
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE OR ALTER PROCEDURE [dbo].[异常提醒_装配及时送检_查询]
|
||||
@订单号 int = 0,
|
||||
@合同号 nvarchar(50) = N'',
|
||||
@产品编码 nvarchar(50) = N'',
|
||||
@产品名称 nvarchar(50) = N'',
|
||||
@工序名称 nvarchar(50) = N'',
|
||||
@辅助配件 nvarchar(50) = N'不含'
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
;WITH 装配任务 AS (
|
||||
SELECT
|
||||
CASE WHEN v.[物料描述] LIKE N'%系统%' THEN N'系统类' ELSE N'阀类' END AS 任务类型,
|
||||
v.[合同号],
|
||||
v.[订单编号] AS 订单号,
|
||||
v.[物料编号] AS 产品编码,
|
||||
v.[物料描述] AS 产品名称,
|
||||
TRIM('.' FROM TRIM('0' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数量,
|
||||
v.[工序名称],
|
||||
v.[指派对象],
|
||||
v.[计划开始时间],
|
||||
v.[计划完成时间],
|
||||
v.[齐套时间],
|
||||
v.[钣金预达时间],
|
||||
CASE
|
||||
WHEN v.[物料描述] LIKE N'%系统%'
|
||||
THEN ISNULL(v.[预计送检日期], DATEADD(DAY, 3, v.[钣金预达时间]))
|
||||
ELSE ISNULL(v.[预计送检日期], DATEADD(DAY, 3, v.[齐套时间]))
|
||||
END AS 预计送检日期,
|
||||
CASE WHEN ISNULL(v.[加急状态], 0) = 1 THEN N'加急' ELSE N'' END AS 加急状态
|
||||
FROM [dbo].[View_生产订单_MES] v
|
||||
WHERE v.[物料类型] = 'pit_Resource'
|
||||
AND v.[自制件属性] LIKE N'%装配%'
|
||||
AND ISNULL(v.[任务状态], 0) < 4
|
||||
AND (@订单号 <= 0 OR v.[订单编号] = @订单号)
|
||||
AND (@合同号 = N'' OR v.[合同号] LIKE N'%' + @合同号 + N'%')
|
||||
AND (@产品编码 = N'' OR v.[物料编号] LIKE N'%' + @产品编码 + N'%')
|
||||
AND (@产品名称 = N'' OR v.[物料描述] LIKE N'%' + @产品名称 + N'%')
|
||||
AND (@工序名称 = N'' OR v.[工序名称] = @工序名称)
|
||||
AND (
|
||||
@辅助配件 <> N'不含'
|
||||
OR (
|
||||
v.[物料描述] NOT LIKE N'%软管总成%'
|
||||
AND v.[物料描述] NOT LIKE N'%发货部件%'
|
||||
)
|
||||
)
|
||||
AND v.[不装配] <> N'否'
|
||||
)
|
||||
SELECT
|
||||
任务类型,
|
||||
合同号,
|
||||
订单号,
|
||||
产品编码,
|
||||
产品名称,
|
||||
计划数量,
|
||||
工序名称,
|
||||
指派对象,
|
||||
计划开始时间,
|
||||
计划完成时间,
|
||||
齐套时间,
|
||||
钣金预达时间,
|
||||
预计送检日期,
|
||||
加急状态
|
||||
FROM 装配任务
|
||||
WHERE 预计送检日期 IS NOT NULL
|
||||
AND CONVERT(date, 预计送检日期) <= CONVERT(date, GETDATE())
|
||||
ORDER BY
|
||||
CONVERT(date, 预计送检日期),
|
||||
CASE WHEN 加急状态 = N'加急' THEN 0 ELSE 1 END,
|
||||
订单号;
|
||||
END
|
||||
GO
|
||||
BIN
doc_old/~$开发计划与新增需求分析记录_2026-05-27.docx
Normal file
BIN
doc_old/~$开发计划与新增需求分析记录_2026-05-27.docx
Normal file
Binary file not shown.
77
doc_old/今后开发计划_2026-05-27.md
Normal file
77
doc_old/今后开发计划_2026-05-27.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# 今后开发计划与新增需求分析记录
|
||||
|
||||
生成日期:2026-05-27
|
||||
项目:MES_Manage_View_V20
|
||||
|
||||
## 一、排期口径
|
||||
|
||||
- 按“最终调整”数字从小到大排序。
|
||||
- 从 2026-05-28 开始排期。
|
||||
- 按工作日递推,跳过周六、周日。
|
||||
- 跳过端午节、中秋节、国庆节法定放假日期。
|
||||
- 调休日按工作日处理。
|
||||
- 暂按单开发线串行排期。
|
||||
|
||||
节假日口径:
|
||||
|
||||
- 端午节:2026-06-19 至 2026-06-21。
|
||||
- 中秋节:2026-09-25 至 2026-09-27。
|
||||
- 国庆节:2026-10-01 至 2026-10-07。
|
||||
- 调休上班日:2026-09-20、2026-10-10。
|
||||
|
||||
## 二、开发计划排期
|
||||
|
||||
| 顺序 | 需求 | 预估 | 开始 | 结束 | 备注 |
|
||||
|---:|---|---:|---|---|---|
|
||||
| 1 | 及时开工报表 | 1天 | 5.28 | 5.29 | 增加正选/反选查询 |
|
||||
| 2 | 机加件排产-表单 | 4天 | 5.29 | 6.04 | 日期筛选优化 + 历史工时查询;SAP新增字段不算MES开发 |
|
||||
| 3 | 装配已排产需求 | 12天 | 6.04 | 6.23 | 大需求,建议分阶段交付 |
|
||||
| 4 | 生产日报-送检(机加/装配) | 3天 | 6.23 | 6.26 | 建议统一报表,部门做筛选维度 |
|
||||
| 5 | 及时齐套跟踪结果报表 | 5天 | 6.26 | 7.03 | 依赖SAP缺件明细实时接口 |
|
||||
| 6 | 生产计划跟踪 | 3天 | 7.03 | 7.08 | 工序状态、颜色、标准工时、订单状态 |
|
||||
| 7 | 外协任务检验 | 3天 | 7.08 | 7.13 | 增加指派对象、供应商、SAP采购收货单号 |
|
||||
| 8 | 异常管控 | 5天 | 7.13 | 7.20 | 报工页面直接报异常,多审批人可见一人处理 |
|
||||
| 9 | 机加班次产量表 | 3天 | 7.20 | 7.23 | 新增报表 |
|
||||
| 10 | 发货通知列表 | 1天 | 7.23 | 7.24 | SAP数据已提供,可新增查询报表 |
|
||||
| 11 | 质检任务早知道 | 1天 | 7.24 | 7.27 | 依赖“装配已排产需求”的装配完成时间 |
|
||||
| 12 | 生产工艺 | 2天 | 7.27 | 7.29 | 无生产工艺时自动带出标准工艺 |
|
||||
| 13 | 工时报表 + 备注类小改 | 2天 | 7.29 | 7.31 | 指派对象、机加领料备注、机加/装配退库备注、保存提示等合并处理 |
|
||||
| 14 | 生产订单关闭 | 4天 | 7.31 | 8.06 | 批量更新SAP订单状态,风险较高 |
|
||||
| 15 | 及时检验报表 | 4天 | 8.06 | 8.12 | 报工超过2天未检验 |
|
||||
| 16 | 工序流转卡 | 1天 | 8.12 | 8.13 | 增加打印原料编码 |
|
||||
| 17 | 一楼质检大屏幕 | 4天 | 8.13 | 8.19 | 及时率、关键工序 |
|
||||
| 18 | 机加现场大屏幕 | 3天 | 8.19 | 8.24 | 缺勤、关键工序 |
|
||||
| 19 | 装配现场大屏幕 | 4天 | 8.24 | 8.28 | 缺勤、及时送检 |
|
||||
| 20 | 编程任务清单 | 4天 | 8.28 | 9.03 | 按装配类似逻辑做编程报工 |
|
||||
| 21 | 设备档案管理 | 2天 | 9.03 | 9.07 | 需先确认字段归属 |
|
||||
| 22 | 设备数据采集 | 8天 | 9.07 | 9.17 | 采集接口、落库、状态汇总 |
|
||||
| 23 | 设备指标/OEE | 6天 | 9.17 | 9.24 | 依赖设备采集和标准工时口径 |
|
||||
| 24 | 工时查询-设备采集联动 | 2天 | 9.24 | 9.29 | 程序工时字段对接采集数据 |
|
||||
| 25 | 手续确认报表 | 3天 | 9.29 | 10.09 | 装配/电气齐套列表 + 手续确认 |
|
||||
| 26 | 产品合格率(工位) | 3天 | 10.09 | 10.13 | 需确认良品/总产量口径 |
|
||||
| 27 | 让步接收记录 | 2天 | 10.13 | 10.15 | 新增查询页面 |
|
||||
| 28 | 设计任务报工模块 | 6天 | 10.15 | 10.23 | MES自建设计任务、设计工时 |
|
||||
| 29 | 工时异常报表 | 2天 | 10.23 | 10.27 | 依赖标准工时和实际单件工时 |
|
||||
| 30 | 正在加工状态 | 1天 | 10.27 | 10.28 | 机加正在进行中状态 |
|
||||
|
||||
## 三、暂不直接排期 / 需等前置条件
|
||||
|
||||
| 需求 | 原因 |
|
||||
|---|---|
|
||||
| 及时拣配(机加)MES | 等SAP数据、条码规则、状态写回规则 |
|
||||
| 及时拣配(装配)MES | 等SAP数据、条码规则、状态写回规则 |
|
||||
| 及时送检报表 | 需确认发料齐套时间/SAP字段是否稳定;若SAP数据已到,可插入0.5天 |
|
||||
| 工艺内容修改 | 已开工任务怎么处理未定 |
|
||||
| 标牌打印操作 | 需求未确定 |
|
||||
| 首检、巡检 | 需求内容为空,无法估时 |
|
||||
| 外协采购订单收检结果 | 需求内容为空,无法估时 |
|
||||
| 不合格品单据打印 | 需求内容为空,无法估时 |
|
||||
|
||||
## 四、排期结论
|
||||
|
||||
按以上单线工作日计划,已明确可做事项预计到 2026-10-28 完成。
|
||||
|
||||
实际执行建议先做 5.28 到 6.23 的前三项,因为它们优先级最高,且“装配已排产需求”会影响后面的质检早知道、日计划、及时送检等需求。
|
||||
|
||||
## 五、新增需求分析与开发记录原文
|
||||
|
||||
BIN
doc_old/今后开发计划与新增需求分析记录_2026-05-27.docx
Normal file
BIN
doc_old/今后开发计划与新增需求分析记录_2026-05-27.docx
Normal file
Binary file not shown.
137
doc_old/今日工作汇报_2026-05-23.txt
Normal file
137
doc_old/今日工作汇报_2026-05-23.txt
Normal file
@@ -0,0 +1,137 @@
|
||||
今日工作汇报
|
||||
|
||||
日期:2026年5月23日
|
||||
|
||||
一、今日已处理问题
|
||||
|
||||
1. 修复采购收货检备注问题
|
||||
已处理采购收货检验相关备注字段异常,保证备注信息能够正常记录、查询和展示。
|
||||
|
||||
2. 查询序检因已入库导致质检失败的原因
|
||||
已排查序检过程中因生产订单或物料已入库导致质检失败的问题,明确该类失败与当前入库状态校验逻辑有关,后续如需优化,需要结合入库状态、质检状态和业务允许范围进一步确认处理规则。
|
||||
|
||||
3. 修改生产任务看板未按期齐套任务数据
|
||||
已调整生产任务看板中“未按期齐套任务”相关数据逻辑,修正看板展示数据与实际业务状态不一致的问题。
|
||||
|
||||
二、今日需求分析记录
|
||||
|
||||
1. 工艺内容修改
|
||||
已分析该需求。由于涉及已开工任务,当前结论是不允许直接修改。后续如要支持,需要设计工艺版本、任务快照和已开工任务处理规则,目前暂不开发。
|
||||
|
||||
2. 机加件排产-表单
|
||||
已分析计划开始时间、计划完成时间筛选逻辑,后续改为按单日期查询。
|
||||
同时分析新增历史工时查询:在机加件已排产页面增加总工时字段,点击后弹窗查看明细,按设备、日期分组显示生产任务和工时合计,查询方式参考工时查询页面。
|
||||
|
||||
3. 工序流转卡
|
||||
已确认打印内容需要增加原料编码,开发周期约0.2天。
|
||||
|
||||
4. 生产计划跟踪
|
||||
已分析当前序展示逻辑。后续需要在当前序中显示完整工艺路线,并根据任务状态判断哪道序正在加工、哪些序等待加工。
|
||||
进度显示规则示例:当前工序加工中显示“打磨中”,当前工序完成后显示“打磨毕待喷漆”。
|
||||
括号内容为指派对象,外协工序括号中也显示指派对象。
|
||||
同时需要增加标准工时和订单状态字段。
|
||||
|
||||
5. 设计任务报工模块
|
||||
已分析该模块为MES自建任务,不依赖生产订单,不上传SAP。
|
||||
设计工时单独记录,后续用于报表和工时统计。
|
||||
质量、装配、机加工时分别来自各自业务模块,后续可按系统角色权限区分。
|
||||
|
||||
6. 工时报表
|
||||
已确认作业者工时新增指派对象字段,开发周期约0.1天。
|
||||
作业者工时一对多计算问题当前暂不修改,因为当前版本已不再按旧逻辑计算,需要后续重新确认规则。
|
||||
|
||||
7. 工时查询
|
||||
程序工时字段需要结合设备数据采集计算,后续可能新增设备信息。目前等待设备采集数据,不进入开发。
|
||||
|
||||
8. 生产领料(补充)-机加
|
||||
已确认领料单需要新增备注字段,开发周期约0.2天。
|
||||
|
||||
9. 生产退库-机加
|
||||
已确认按照装配退库方式增加备注字段,开发周期约0.2天。
|
||||
|
||||
10. 生产退库-装配
|
||||
已确认需要增加备注字段,开发周期约0.1天。
|
||||
|
||||
11. 机加班次产量表
|
||||
已分析为新增报表,按设备分组,设备下按日期、班次展示每天每班次干了哪些任务,支持时间和班次筛选。
|
||||
|
||||
12. 外协任务报表(采购)
|
||||
已确认增加采购到货期说明字段,开发周期约0.1天。
|
||||
|
||||
13. 外协任务检验 / 序检
|
||||
已分析需要记录指派对象、供应商、SAP采购收货单号。
|
||||
当前表中没有记录设备,只记录工序,所以后续如果要做设备合格率暂时无法实现;增加供应商后,可以支持外协供应商合格率相关统计。
|
||||
|
||||
14. 手续确认报表
|
||||
已分析为新增页面。装配、电气发料齐套时间列表合并显示,展示内容参考装配中心。
|
||||
新增“手续确认”字段,点击选择已完成后消失。
|
||||
消失条件包括:手续确认已完成、生产订单取消/关闭、整单已入库。
|
||||
|
||||
15. 及时检验报表
|
||||
已分析为新增报表。统计生产报工完成后超过2天未检验的任务。
|
||||
数据依据为[YL_加工中心_操作记录表],条件包括操作类别为报工、操作数值大于0,并以结束时间作为起算时间。
|
||||
|
||||
16. 及时齐套跟踪结果报表
|
||||
已分析为新增报表。缺件明细为实时数据,来源SAP,通过生产订单号查询加急件明细。
|
||||
缺料物料的生产订单号需要绑定主生产订单号,支持多个子订单包含关系。
|
||||
页面需要支持展开查看缺件明细,并显示当前进度、排序、预计完成时间、预计可执行时间等信息。
|
||||
|
||||
17. 及时送检报表
|
||||
已确认为新需求,基于发料齐套时间,SAP数据已到,预计开发周期约0.5天。
|
||||
|
||||
18. 生产日报-送检(机加 / 装配)
|
||||
已分析后续可能根据多个部门拆分多个报表,也可以先按部门筛选方式设计,避免重复开发。
|
||||
|
||||
19. 编程任务清单
|
||||
已分析本质为编程报工,类似装配中心的任务列表算法。
|
||||
后续需要按设备展示任务清单,并支持编程开始、结束、工时统计等功能。
|
||||
|
||||
20. 标牌打印操作
|
||||
当前需求未确定,暂不排开发周期。
|
||||
|
||||
21. 发货通知列表
|
||||
SAP已提供数据,大屏已显示,后续需要新增报表页面,预计开发周期约0.5天。
|
||||
|
||||
22. 生产订单关闭
|
||||
已分析需要新增批量更新SAP订单状态功能。
|
||||
后续开发时需要支持批量选择、调用SAP、记录成功失败结果,并防止重复关闭。
|
||||
|
||||
23. 制定标准工艺
|
||||
已确认点击保存时增加提示信息,开发周期约0.1天。
|
||||
|
||||
24. 生产工艺
|
||||
已分析编辑时如果没有生产工艺,需要自动带出标准工艺。
|
||||
带出内容作为编辑草稿,不应直接覆盖保存,避免误改生产工艺。
|
||||
|
||||
25. 异常管控
|
||||
已分析报工页面需要支持选择任务后直接报异常,不再进入异常页面后重新选择任务。
|
||||
审批人改为多选,一人处理即可,其他被选审批人也能看到任务。
|
||||
审批人来源不固定,可能来自部门、角色、组织层级或任意人员,因此都需要支持。
|
||||
|
||||
26. 及时开工报表
|
||||
已分析当前是指派对象反选查询,客户还需要正选查询页面。
|
||||
后续需要支持指派对象正选和反选两种查询方式。
|
||||
|
||||
27. 让步接收记录
|
||||
已分析为新增查询页面。数据来源为质检记录中让步接收字段不为空的数据。
|
||||
|
||||
28. 装配已排产需求
|
||||
已完成重点分析。该需求需要新增装配已排产需求界面,增加系统/非系统筛选。
|
||||
高压单元为系统,阀类为非系统,判断方式暂按物料名称关键字。
|
||||
新增装配完成时间,来源为发料齐套时间加3天,可手动修改,字段落库到生产计划表。
|
||||
还需要显示SAP派工时间、合同交货期,增加钣金预达、钣金到达、泵、当前对应人员、当前对应内容、累计工时、预计总工时、合同工时汇总、合同进度参考、预计剩余工时、生产异常等字段。
|
||||
工时按装配、质量、设计分类,装配来自装配报工,质量来自质检报工,设计来自新设计任务报工模块。
|
||||
同步需要做日计划报表,按装配完成时间分组,支持导出和打印。
|
||||
|
||||
29. 质检任务早知道
|
||||
已分析为新增页面,基于装配已排产需求中的装配完成时间,去掉已完成任务后,按装配完成时间分组展示。
|
||||
|
||||
三、今日分析结论
|
||||
|
||||
今日除已处理的三个问题外,主要完成了新增需求的逐项梳理,明确了哪些可以直接开发、哪些依赖SAP、哪些依赖设备采集、哪些需求暂不明确、哪些当前无法修改。
|
||||
|
||||
其中可直接进入开发的小项包括:工序流转卡原料编码、工时报表指派对象、领料/退库备注、外协采购到货期说明、发货通知列表、标准工艺保存提示等。
|
||||
|
||||
需要重点设计后再开发的需求包括:装配已排产需求、生产计划跟踪、及时齐套跟踪结果报表、设计任务报工、异常管控、手续确认报表。
|
||||
|
||||
依赖外部数据的需求包括:SAP派工时间、合同交货期、发料齐套时间、及时齐套缺件明细、设备数据采集工时。
|
||||
151
doc_old/今日工作汇报_2026-05-25.md
Normal file
151
doc_old/今日工作汇报_2026-05-25.md
Normal file
@@ -0,0 +1,151 @@
|
||||
# 元利 MES 项目 — 今日工作汇报
|
||||
|
||||
日期:2026-05-25
|
||||
项目:MES_Manage_View_V20
|
||||
|
||||
## 一、今日主要工作
|
||||
|
||||
### 1. 完成 `src/views` 页面与 SAP 交互分析整理
|
||||
|
||||
基于 `元利项目详细分析.md`,对主系统 `src/views` 中涉及 SAP 的页面调用进行了梳理,明确了 SAP 交互主要集中在以下业务链路:
|
||||
|
||||
| 业务链路 | 涉及页面 | SAP 交互内容 |
|
||||
|---|---|---|
|
||||
| 机加/装配排产 | `SelfMakePlan`、`SelfMakePlando`、`SelfMakePlandone`、`InstallMakePlan`、`InstallMakePlanDo` | 回写 SAP 生产订单计划日期、派工信息、优先级、未完成说明 |
|
||||
| 生产订单关闭 | `PlannOrderClose` | 更新 SAP 生产订单关闭状态 |
|
||||
| 工序基础数据 | `ProcedureManagement` | 新增、查询、修改 SAP RouteStages |
|
||||
| 工位资源维护 | `WorkstationManagement` | 新增、修改 SAP Resources |
|
||||
| 外协业务 | `OutsourceMange`、`SaleOutsourceMange`、装配排产相关页面 | 创建 SAP 采购申请 |
|
||||
| 工时校验/投料 | `WorkHoursCheck` | 查询 SAP 生产订单、更新工序资源、提交 InventoryGenExits |
|
||||
| 质检/收货 | `processReceive`、`materialReturn`、`QualityCenter` | 查询 SAP 订单、创建采购收货单、生成库存任务 |
|
||||
|
||||
分析结论:
|
||||
- 当前系统不是单点 SAP 对接,而是计划、工艺、工位、生产、外协、质检、工时多个模块共同对接 SAP。
|
||||
- SAP 写操作失败会造成 MES 与 SAP 状态不一致,需要在后续开发中保留失败原因、同步状态和重试依据。
|
||||
- 生产订单关闭、工时校验、外协采购申请、采购收货是高风险操作,需要重点检查重复提交和半成功问题。
|
||||
|
||||
### 2. 生成元利项目详细流程图
|
||||
|
||||
已根据 `元利项目详细分析.md` 生成:
|
||||
|
||||
- `元利项目详细流程图.md`
|
||||
|
||||
内容包括:
|
||||
- 系统总体架构流程
|
||||
- 登录、菜单、权限流程
|
||||
- 基础资料维护流程
|
||||
- 标准工艺/生产工艺流程
|
||||
- 机加排产与 SAP 回写流程
|
||||
- 装配排产与采购申请流程
|
||||
- 机加生产执行流程
|
||||
- 装配中心执行流程
|
||||
- 质检流程
|
||||
- 外协流程
|
||||
- 工时校验与 SAP 投料流程
|
||||
- 异常管控流程
|
||||
- 生产订单关闭与 SAP 状态同步流程
|
||||
- 看板数据汇总流程
|
||||
- 新增需求与维护入口判断流程
|
||||
|
||||
### 3. 生成新增需求界面原型设计
|
||||
|
||||
已根据 `新增需求分析与开发记录_2026-05-23.md` 生成:
|
||||
|
||||
- `新增需求界面原型设计_2026-05-25.md`
|
||||
|
||||
主要覆盖以下页面原型:
|
||||
- 设计任务报工
|
||||
- 机加班次产量表
|
||||
- 手续确认报表
|
||||
- 及时检验报表
|
||||
- 及时齐套跟踪结果报表
|
||||
- 生产日报-送检
|
||||
- 编程任务清单/编程报工
|
||||
- 让步接收记录
|
||||
- 装配已排产需求
|
||||
- 质检任务早知道
|
||||
- 及时送检报表
|
||||
- 发货通知列表
|
||||
- 工时异常报表
|
||||
|
||||
同时补充了现有页面改造说明,包括机加已排产、生产计划跟踪、序检收检、生产订单关闭、生产工艺、异常管控、及时开工报表、工时报表、领料/退库/外协小字段等。
|
||||
|
||||
### 4. 生成元利项目详细用户使用说明书
|
||||
|
||||
已根据 `元利项目详细分析.md` 生成:
|
||||
|
||||
- `元利项目详细用户使用说明书.md`
|
||||
|
||||
内容覆盖:
|
||||
- 登录与通用操作
|
||||
- 基础资料维护
|
||||
- 工艺与图纸管理
|
||||
- 计划排产管理
|
||||
- 生产执行管理
|
||||
- 外协业务
|
||||
- 质检管理
|
||||
- 工时与报表
|
||||
- 异常管控
|
||||
- 设备管理与采集
|
||||
- 看板使用
|
||||
- 销售与交付查询
|
||||
- 新增需求相关页面使用
|
||||
- 系统维护
|
||||
- 常见问题和名词解释
|
||||
|
||||
### 5. 修正新增需求分析口径
|
||||
|
||||
对前期新增需求分析进行了补充修正,重点明确不能只判断“是否新增页面”,还必须判断:
|
||||
|
||||
1. 数据来源是什么。
|
||||
2. 字段在哪里维护。
|
||||
3. 是否已有业务页面承载。
|
||||
4. 是否需要新增维护页面。
|
||||
5. 是否影响历史任务、报表和看板。
|
||||
|
||||
已补充的关键结论:
|
||||
- 缺勤人员不能从“没有报工”反推,必须有应到人员和实到人员来源。
|
||||
- 关键工序应在标准工艺和生产工艺中维护,任务下发时做快照。
|
||||
- 看板只读取缺勤、关键工序、OEE、及时率等指标,不作为主维护入口。
|
||||
|
||||
## 二、今日修改工作
|
||||
|
||||
### 1. 工时校验报工培训
|
||||
|
||||
今日进行了工时校验和报工相关培训,重点说明:
|
||||
- 报工数据与工时校验之间的关系。
|
||||
- MES 工时与 SAP 工时提交的关系。
|
||||
- 工时校验页面中 SAP 订单、工序、资源、投料的核对方式。
|
||||
- SAP 提交失败时需要查看失败原因,避免重复提交。
|
||||
|
||||
### 2. 质检历史数据修复
|
||||
|
||||
已处理质检历史数据修复工作,重点围绕历史质检记录、任务状态和相关查询口径进行校正,减少历史数据对当前质检查询和报表统计的影响。
|
||||
|
||||
### 3. 修改生产订单关闭判断条件
|
||||
|
||||
已修改生产订单关闭相关判断条件,调整关闭前校验逻辑,避免不符合条件的订单被错误关闭,同时减少已完成、已入库、已取消等状态判断不一致带来的问题。
|
||||
|
||||
### 4. 修复休息日加班和法定加班计算 Bug
|
||||
|
||||
已修复休息日加班和法定加班计算异常问题,调整加班类型对应的计算逻辑,避免休息日加班和法定加班工时统计错误。
|
||||
|
||||
## 三、今日产出文档
|
||||
|
||||
| 文档 | 说明 |
|
||||
|---|---|
|
||||
| `元利项目详细流程图.md` | 根据详细分析生成系统级和业务级流程图 |
|
||||
| `新增需求界面原型设计_2026-05-25.md` | 根据新增需求生成界面原型和页面说明 |
|
||||
| `元利项目详细用户使用说明书.md` | 根据详细分析生成面向用户的完整操作说明 |
|
||||
| `新增需求分析与开发记录_2026-05-23.md` | 补充数据来源、维护入口、是否新建页面等分析 |
|
||||
| `隐性需求综合分析_2026-05-25.md` | 补充维护入口和隐性需求判断规则 |
|
||||
| `MES_Manage_View_V20_src_views_逐页面详细分析.md` | 补充页面归属、缺勤、关键工序、看板维护边界说明 |
|
||||
|
||||
## 四、当前结论
|
||||
|
||||
1. 元利 MES 与 SAP 的交互范围较广,后续所有涉及 SAP 写操作的功能都需要补同步状态、失败原因和重试机制。
|
||||
2. 新增需求不能简单按“新增页面”评估,要同步判断维护入口、数据来源、历史数据和看板影响。
|
||||
3. 工时、质检、订单关闭、加班计算属于当前重点稳定性工作,已完成培训和部分修复。
|
||||
4. 后续开发建议优先处理低风险、小范围功能,再推进装配已排产需求、及时齐套、设计/编程报工、OEE 等跨模块功能。
|
||||
|
||||
|
||||
143
doc_old/今日工作汇报_2026-05-26.md
Normal file
143
doc_old/今日工作汇报_2026-05-26.md
Normal file
@@ -0,0 +1,143 @@
|
||||
# 元利 MES 项目 — 今日工作汇报
|
||||
|
||||
日期:2026-05-26
|
||||
项目:MES_Manage_View_V20
|
||||
|
||||
## 一、今日主要工作
|
||||
|
||||
### 1. 丰富并修改元利项目详细流程图
|
||||
|
||||
今日继续完善 `元利项目详细流程图.md`,在原有系统级流程基础上,进一步补充页面级、业务级流程说明。
|
||||
|
||||
重点补充内容:
|
||||
- 登录、菜单权限、动态路由生成流程。
|
||||
- 工艺、图纸、生产订单、排产、生产执行、质检、外协、工时校验、生产订单关闭等模块之间的衔接关系。
|
||||
- 机加排产、装配排产、机加中心、装配中心、质量中心、工时校验等关键页面的详细业务流。
|
||||
- SAP 回写、SAP 查询、WMS/库存任务、MES 存储过程之间的数据流转关系。
|
||||
- 将流程图尽量调整为“框 + 箭头 + 文字”的形式,减少字母节点指引,便于培训和现场讲解。
|
||||
|
||||
本次调整后,流程图更适合用于:
|
||||
- 给客户讲解整体 MES 业务闭环。
|
||||
- 给实施人员定位页面与数据流关系。
|
||||
- 给开发人员判断新增需求影响范围。
|
||||
|
||||
### 2. 工时校验数据对接梳理
|
||||
|
||||
今日继续梳理工时校验页面与 MES/SAP 数据之间的对接关系,重点围绕 `ProductionManagement/WorkHoursCheck`。
|
||||
|
||||
已梳理内容:
|
||||
- 对接数据时发现装配人员工时数据错误,经检查由于用户重复提交导致的问题
|
||||
- 在排查过程中发现装配人员报工加班时,同时生成了正常报工的工时
|
||||
|
||||
|
||||
### 3. 生产订单关闭培训与相关数据处理
|
||||
|
||||
今日进行了生产订单关闭相关培训和数据处理,重点说明生产订单关闭页面的使用边界。
|
||||
|
||||
培训内容:
|
||||
- 生产订单关闭前需要先确认订单在 MES 中的任务完成情况。
|
||||
- 关闭前需要核对生产订单状态、入库情况、报工情况和 SAP 状态。
|
||||
- 批量关闭时要区分已成功关闭、关闭失败、不能关闭三类结果。
|
||||
- SAP 关闭失败时不应重复点击,应先确认 SAP 返回原因。
|
||||
|
||||
数据处理内容:
|
||||
- 协助检查生产订单关闭相关数据。
|
||||
- 梳理关闭条件与当前订单状态之间的关系。
|
||||
- 对异常数据进行核对,避免误关或重复关闭。
|
||||
|
||||
### 4. 沟通报工结果数据上传到 SAP 的影响
|
||||
|
||||
今日围绕报工结果上传 SAP 的影响进行了沟通和确认。
|
||||
|
||||
沟通重点:
|
||||
- 超过班次工作时间部分的工时 如果不选择加班,系统自动记录这段工时
|
||||
- 这段工时如果上次到SAP会导致其他生成订单工时不准确的问题,因为计算方法核算的是当日总报工时间记为8小时
|
||||
- 这段时间如果上传,就会导致其他工时减少
|
||||
- 休息日/法定时选择不加班工时记录的问题,讨论结果是MES正常记录 但是不传输给SAP
|
||||
|
||||
|
||||
### 5. 修改装配报工数据重复问题
|
||||
|
||||
今日处理装配报工数据重复问题。
|
||||
|
||||
处理重点:
|
||||
- 排查装配报工过程中可能重复写入的数据链路。
|
||||
- 核对装配任务、报工记录、质检/送检记录之间的关联关系。
|
||||
- 调整重复数据产生场景,避免同一任务重复形成报工结果。
|
||||
- 修改后重点关注装配中心报工、送检、任务完成状态的回显是否一致。
|
||||
|
||||
处理结果:
|
||||
- 已针对装配报工重复问题进行修正。
|
||||
- 后续需要继续观察现场报工数据,确认是否仍存在重复写入或重复统计。
|
||||
|
||||
### 6. 丰富并修改用户使用说明书
|
||||
|
||||
今日重点丰富 `元利项目详细用户使用说明书.md`。
|
||||
|
||||
主要修改内容:
|
||||
- 将第 21 章逐页说明整体扩展,不再只写笼统功能说明。
|
||||
- 对 78 个页面按源码逐页补充:
|
||||
- 页面用途
|
||||
- 具体操作步骤
|
||||
- 查询条件/输入项
|
||||
- 结果表重点列
|
||||
- 页面按钮/状态/页签
|
||||
- 弹窗/表单重点项
|
||||
- 后台处理/外部接口
|
||||
- 操作注意事项
|
||||
- 将第 21 章页面标题从英文页面名改为中文页面名,例如:
|
||||
- `WorkHoursCheck` 改为 `工时校验`
|
||||
- `SelfMakePlandone` 改为 `机加已排产`
|
||||
- `MachiningCenter` 改为 `机加中心`
|
||||
- `QualityCenter` 改为 `质量中心`
|
||||
- 对 `机加已排产` 章节进行了重点细化,补充日程拖拽、指派数量、拆分派工、二次派工、原料状态、图纸、外协分组、最晚开始、红色加急排序、SAP 日期同步等操作。
|
||||
|
||||
说明书修改后更适合:
|
||||
- 现场用户培训。
|
||||
- 新员工快速熟悉页面。
|
||||
- 实施人员按页面排查问题。
|
||||
- 后续新增需求评审时对照现有功能。
|
||||
|
||||
### 7. 修改原料退库检,增加加急显示
|
||||
|
||||
今日处理原料退库检页面加急显示需求。
|
||||
|
||||
涉及页面:
|
||||
- `QualityManagement/CheckTask/materialReturn.vue`
|
||||
|
||||
处理内容:
|
||||
- 在原料退库检任务中增加加急状态/加急信息显示。
|
||||
- 方便质检人员优先识别加急退库检任务。
|
||||
- 便于后续按加急任务排序、提醒或优先处理。
|
||||
|
||||
业务影响:
|
||||
- 质检人员在原料退库检页面可以更直观看到加急任务。
|
||||
- 加急退库检任务可优先处理,减少对生产或后续流程的影响。
|
||||
|
||||
## 二、今日产出与修改文件
|
||||
|
||||
| 文件 | 今日处理内容 |
|
||||
|---|---|
|
||||
| `元利项目详细流程图.md` | 丰富业务流程图,补充多页面、多模块数据流 |
|
||||
| `元利项目详细用户使用说明书.md` | 扩展第 21 章逐页操作说明,标题改为中文页面名 |
|
||||
| `ProductionManagement/WorkHoursCheck` | 梳理工时校验与 SAP 上传关系 |
|
||||
| `PlanManagement/PlannOrderClose` | 生产订单关闭培训与数据处理 |
|
||||
| 装配报工相关页面/数据 | 修正装配报工重复数据问题 |
|
||||
| `QualityManagement/CheckTask/materialReturn.vue` | 原料退库检增加加急显示 |
|
||||
|
||||
## 三、今日沟通事项
|
||||
|
||||
1. 与相关人员沟通工时校验数据上传 SAP 的影响,明确报工结果、工时、SAP 工序资源之间的关系。
|
||||
2. 对生产订单关闭进行培训,说明关闭前校验、关闭失败处理和数据风险。
|
||||
3. 结合装配报工重复问题,沟通现场报工操作和后台数据写入逻辑。
|
||||
4. 结合用户说明书和流程图,明确后续培训资料需要按页面逐步讲解,不能只写功能概述。
|
||||
|
||||
## 四、当前风险与注意事项
|
||||
|
||||
| 风险点 | 影响 | 处理建议 |
|
||||
|---|---|---|
|
||||
| 工时上传 SAP 重复提交 | 可能造成 SAP 工时或库存单据重复 | 上传失败时先查失败原因,不要连续重复提交 |
|
||||
| 生产订单关闭条件不一致 | 可能误关订单或关闭失败 | 关闭前核对 MES 任务、入库、报工和 SAP 状态 |
|
||||
| 装配报工重复 | 影响工时、任务进度、质检/送检统计 | 修复后继续观察现场数据 |
|
||||
| 加急任务未突出显示 | 质检处理优先级不明确 | 原料退库检已增加加急显示,后续可扩展排序 |
|
||||
| 用户手册仍需继续细化 | 培训时可能仍有页面操作细节不足 | 后续按重点业务页面继续逐页补强 |
|
||||
142
doc_old/今日工作汇报_20260522.md
Normal file
142
doc_old/今日工作汇报_20260522.md
Normal file
@@ -0,0 +1,142 @@
|
||||
# 元利MES项目 — 今日工作汇报
|
||||
|
||||
> **日期**: 2026-05-22
|
||||
> **汇报人**: MESWORK
|
||||
> **状态**: 📋 工作记录与计划
|
||||
|
||||
---
|
||||
|
||||
## 一、今日已完成的修复
|
||||
|
||||
### Bug修复
|
||||
|
||||
| # | 问题 | 状态 | 文件 |
|
||||
|:--:|------|:--:|------|
|
||||
| 1 | 外协收料发料重复问题 | ✅ 已修复 | — |
|
||||
| 2 | 序检数量错误 | ✅ 已修复 | — |
|
||||
| 3 | SAP沟通更改错误数量 | ✅ 已完成 | — |
|
||||
| 4 | 采购质检页面备注字段读取 | ✅ 已修复 | `fix_质量管理_入库质检任务_查询.sql` |
|
||||
| 5 | 外协报表供应商搜索Bug | ✅ 已修复 | `fix_生产管理_外协报表_查询.sql` |
|
||||
| 6 | 外协报表界面加载慢 | ✅ 已优化 | — |
|
||||
| 7 | 原设备状态报表名称修改 | ✅ 已完成 | — |
|
||||
|
||||
### 基础设施
|
||||
|
||||
| # | 事项 | 状态 |
|
||||
|:--:|------|:--:|
|
||||
| 8 | 部署 Codex + GPT-5.5 | ✅ 已部署 |
|
||||
| 9 | Codex+GPT分析元利项目整体技术路线和页面功能 | ✅ 已完成(产出4份技术文档) |
|
||||
|
||||
---
|
||||
|
||||
## 二、甲方需求汇总(按模块分类)
|
||||
|
||||
### 2.1 工艺管理
|
||||
|
||||
| 编号 | 页面 | 需求 | 优先级 | 备注 |
|
||||
|:--:|------|------|:--:|------|
|
||||
| GM-01 | 工艺内容修改 | 需要修改工艺(尤其是已开工任务怎么处理) | 🟠 | **待讨论** |
|
||||
| GM-02 | 制定标准工艺 | 点击保存提示信息 | 🟡 | UI优化 |
|
||||
| GM-03 | 生产工艺 | 点击编辑时,若没有生产工艺则自动带出标准工艺 | 🟡 | 逻辑优化 |
|
||||
|
||||
### 2.2 生产排产
|
||||
|
||||
| 编号 | 页面 | 需求 | 优先级 | 备注 |
|
||||
|:--:|------|------|:--:|------|
|
||||
| PC-01 | 机加件排产-表单 | SAP需要增加字段信息 | 🟢 | 非MES,需SAP配合 |
|
||||
| PC-02 | 已排产表单 | 筛选日期需要优化 | 🟡 | |
|
||||
|
||||
### 2.3 生产计划跟踪
|
||||
|
||||
| 编号 | 页面 | 需求 | 优先级 | 备注 |
|
||||
|:--:|------|------|:--:|------|
|
||||
| JH-01 | 生产计划跟踪 | 工序文字根据状态变颜色(已开工→绿色) | 🟡 | |
|
||||
| JH-02 | 生产计划跟踪 | 进度显示:未完成→"工作中(打磨中)",已完成→"打磨毕待淬火" | 🟡 | 状态文案定制 |
|
||||
| JH-03 | 生产计划跟踪 | 增加标准工时字段 | 🟡 | |
|
||||
| JH-04 | 生产计划跟踪 | 增加订单状态字段 | 🟡 | |
|
||||
|
||||
### 2.4 报工与工时
|
||||
|
||||
| 编号 | 页面 | 需求 | 优先级 | 备注 |
|
||||
|:--:|------|------|:--:|------|
|
||||
| BG-01 | 报工-技术-MES | **新建研发任务报工模块**(设计任务报工) | 🔴 | 新模块 |
|
||||
| BG-02 | 报工-技术-MES | 报工方式:跟装配报工类似 | 🔴 | |
|
||||
| BG-03 | 报工-技术-MES | 工时不需要上传SAP,需要单独做报表 | 🟠 | 后续可能调用数据计算 |
|
||||
| BG-04 | 报工-技术-MES | 是否需要根据SAP进行交互 | 🟡 | **待确认** |
|
||||
| BG-05 | 工时报表 | 作业者工时新增"指派对象"字段 | 🟠 | |
|
||||
| BG-06 | 工时报表 | 作业者工时一对多问题(报工结束后直接计算) | 🟠 | 上版本报工是计算的,后面改了 |
|
||||
| BG-07 | 工时查询 | 程序工时字段需跟设备数据采集计算,可能新增其他设备信息 | 🟡 | 依赖设备数据 |
|
||||
| BG-08 | 历史工时查询 | 按设备、日期分组显示生产任务+工时合计 → **工位任务汇总表** | 🔴 | 见需求分析文档 |
|
||||
| BG-09 | 机加班次产量表 | 每天每个每班次干什么活(时间+班次筛选) | 🟠 | 新报表 |
|
||||
|
||||
### 2.5 外协管理
|
||||
|
||||
| 编号 | 页面 | 需求 | 优先级 | 备注 |
|
||||
|:--:|------|------|:--:|------|
|
||||
| WX-01 | 外协任务报表(采购) | 增加字段:采购到货期说明 | 🟠 | |
|
||||
| WX-02 | 外协任务检验 | 记录"指派对象"、供应商、SAP采购收货单号 | 🔴 | 涉及存储过程改造 |
|
||||
| WX-03 | 外协任务检验 | 后续报表需根据新增字段修改计算方式 | 🟡 | 依赖WX-02 |
|
||||
|
||||
### 2.6 生产领料/退库
|
||||
|
||||
| 编号 | 页面 | 需求 | 优先级 | 备注 |
|
||||
|:--:|------|------|:--:|------|
|
||||
| LL-01 | 生产领料-机加 | 领料单添加备注字段 | 🟡 | |
|
||||
| LL-02 | 生产退库-机加 | 添加备注字段(按装配方式修改) | 🟡 | |
|
||||
| LL-03 | 生产退库-装配 | 无备注字段,需添加 | 🟡 | |
|
||||
|
||||
### 2.7 报表类(新建)
|
||||
|
||||
| 编号 | 报表名称 | 需求说明 | 优先级 | 数据来源 |
|
||||
|:--:|------|------|:--:|------|
|
||||
| RP-01 | 手续确认报表 | 装配/电气发料齐套时间列表(同装配中心),增加"手续确认"字段(点击选择),已完成消失条件:已完成/订单取消关闭/已入库 | 🔴 | MES+SAP |
|
||||
| RP-02 | 及时检验报表 | 报检任务超过2天未检验 | 🟠 | MES |
|
||||
| RP-03 | 不合格品单据打印 | — | 🟡 | MES |
|
||||
| RP-04 | 及时齐套跟踪结果报表 | 显示缺件明细(实时),数据来源SAP;缺料物料的生产订单号绑定主生产订单号(多包含) | 🔴 | SAP |
|
||||
| RP-05 | 及时拣配(机加)MES | 新需求 | 🟡 | 等SAP数据 |
|
||||
| RP-06 | 及时拣配(装配)MES | 新需求 | 🟡 | 等SAP数据 |
|
||||
| RP-07 | 及时送检报表 | 发料齐套时间 | 🟡 | 等SAP数据 |
|
||||
| RP-08 | 生产日报-送检(机加) | 可能按多部门出多个报表 | 🟡 | MES |
|
||||
| RP-09 | 生产日报-送检(装配) | 可能按多部门出多个报表 | 🟡 | MES |
|
||||
| RP-10 | 发货通知列表 | SAP已提供数据,大屏已显示,需新增报表 | 🟠 | SAP |
|
||||
| RP-11 | 及时开工报表 | 目前反选查询,要求正选页面 | 🟡 | MES |
|
||||
| RP-12 | 编程任务清单 | 某设备的任务列表,算法跟装配类似 | 🟡 | MES |
|
||||
|
||||
### 2.8 其他
|
||||
|
||||
| 编号 | 页面 | 需求 | 优先级 | 备注 |
|
||||
|:--:|------|------|:--:|------|
|
||||
| OT-01 | 工序流转卡 | 增加打印信息:原料编码 | 🟡 | |
|
||||
| OT-02 | 异常管控 | 报工页面选择任务直接报异常;选择审批人都能看到任务(同级多人可选) | 🟠 | |
|
||||
| OT-03 | 生产订单关闭 | 批量更新SAP订单状态 | 🟡 | |
|
||||
| OT-04 | 标牌打印操作 | 需求未确定 | 🟢 | 待定 |
|
||||
| OT-05 | 机加/装配/质量图纸查看 | — | 🟡 | 待补充 |
|
||||
|
||||
---
|
||||
|
||||
## 三、问题分类统计
|
||||
|
||||
| 类别 | 数量 | 占比 |
|
||||
|------|:--:|:--:|
|
||||
| 🔴 新模块/新报表 | 6 | 18% |
|
||||
| 🟠 字段新增/逻辑改造 | 12 | 35% |
|
||||
| 🟡 UI优化/文案修改 | 11 | 32% |
|
||||
| 🟢 待SAP配合/待定 | 5 | 15% |
|
||||
| **合计** | **34** | — |
|
||||
|
||||
---
|
||||
|
||||
## 四、关键风险与阻塞点
|
||||
|
||||
| 风险 | 影响范围 | 建议 |
|
||||
|------|------|------|
|
||||
| ⚠️ SAP数据未到位 | RP-04(及时齐套)、RP-05/06(及时拣配)、RP-07(及时送检) 共4个报表无法启动 | 催促SAP接口对接,确定时间节点 |
|
||||
| ⚠️ 已开工任务工艺修改 | GM-01 处理逻辑未定 | 尽快与甲方沟通确认方案 |
|
||||
| ⚠️ 设计任务报工模块 | BG-01~04 全新模块,工作量较大 | 需要详细需求评审 |
|
||||
| ⚠️ 外协检验字段改造 | WX-02 需要改存储过程+视图+前端 | 涉及数据迁移,需谨慎 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
> 📅 日期: 2026-05-22
|
||||
> 📊 需求总数: 34项 | 已修复: 9项 | 待处理: 25项
|
||||
22
doc_old/修改注意事项.txt
Normal file
22
doc_old/修改注意事项.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
import * as XLSX from 'xlsx'
|
||||
|
||||
/deep/ 替换成 ::v-deep
|
||||
css 中@import 替换成 @use
|
||||
|
||||
|
||||
|
||||
sidebar.scss
|
||||
@use './variables.scss';
|
||||
&:hover {
|
||||
background-color: variables.$menuHover !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Layout.vue
|
||||
@use "../../styles/mixin.scss";
|
||||
.app-wrapper {
|
||||
@include mixin.clearfix;
|
||||
9794
doc_old/元利项目详细分析.md
Normal file
9794
doc_old/元利项目详细分析.md
Normal file
File diff suppressed because it is too large
Load Diff
551
doc_old/元利项目详细流程图.Mermaid
Normal file
551
doc_old/元利项目详细流程图.Mermaid
Normal file
@@ -0,0 +1,551 @@
|
||||
# 元利 MES 项目详细流程图
|
||||
|
||||
生成日期:2026-05-25
|
||||
依据文档:`元利项目详细分析.md`
|
||||
|
||||
说明:
|
||||
- 本文把 `元利项目详细分析.md` 中的页面、存储过程、SAP 调用、看板和新增隐性需求整理为可维护的 Mermaid 流程图。
|
||||
- 图中页面路径以 `src/views/...` 为主,过程名称以文档分析到的 `CreateData(type, name, params)` 调用为主。
|
||||
- `type=11` 通常表示查询/读取或通用执行,`type=12` 通常表示写入/业务动作,具体仍以后端实现为准。
|
||||
|
||||
## 1. 系统总体架构流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
U[用户/班组/计划/质检/设备/管理层] --> FE[Vue 2.7 前端页面]
|
||||
FE --> ROUTE[动态菜单/路由/权限]
|
||||
ROUTE --> PAGE[src/views 业务页面]
|
||||
|
||||
PAGE --> CD[CreateData type + procedure + params]
|
||||
CD --> ED[ExecDatabase 统一后端接口]
|
||||
ED --> SP[SQL Server 存储过程]
|
||||
SP --> DB[(YL_MESDB)]
|
||||
|
||||
PAGE --> B1[src/api/b1s.js]
|
||||
B1 --> SAP[SAP B1 Service Layer]
|
||||
SP --> SAPDB[(SAP.SBO_YL 跨库/同步表)]
|
||||
|
||||
PAGE --> TM[tm 仓储/条码任务接口]
|
||||
TM --> WMS[库存/条码任务服务]
|
||||
|
||||
DB --> VIEW[业务视图/报表视图]
|
||||
VIEW --> PAGE
|
||||
VIEW --> DASH[生产/装配/质检/机加/综合看板]
|
||||
SAPDB --> VIEW
|
||||
SAP --> PAGE
|
||||
WMS --> PAGE
|
||||
```
|
||||
|
||||
关键链路:
|
||||
- 前端页面不直接写 SQL,而是通过 `CreateData` 组装过程名和参数。
|
||||
- SAP 既有前端直接调用 B1 Service Layer,也有 SQL 跨库或同步表读取。
|
||||
- 看板主要读存储过程和视图,本身通常不维护业务数据。
|
||||
|
||||
## 2. 登录、菜单、权限与页面访问流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[进入登录页 src/views/login] --> B[输入工号/密码]
|
||||
B --> C[登录基础数据_人员信息_登陆检查密码]
|
||||
C --> D{校验通过?}
|
||||
D -- 否 --> E[提示登录失败]
|
||||
D -- 是 --> F[写入 Token/用户信息]
|
||||
F --> G[加载用户角色/菜单权限]
|
||||
G --> H[登录基础数据_二级菜单/角色权限]
|
||||
H --> I[生成动态路由]
|
||||
I --> J[进入 Layout]
|
||||
J --> K[侧边栏/标签页/AppMain]
|
||||
K --> L[打开具体业务页面]
|
||||
```
|
||||
|
||||
涉及页面:
|
||||
- `src/views/login/index.vue`
|
||||
- `src/views/layout/Layout.vue`
|
||||
- `src/views/layout/components/Sidebar`
|
||||
- `src/views/SystemMaintenance/MenuManagement`
|
||||
- `src/views/SystemMaintenance/SystemRrolemaintenance`
|
||||
|
||||
## 3. 基础资料维护总流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[系统基础资料] --> B[人员/组织/角色]
|
||||
A --> C[工位/设备/SAP Resource]
|
||||
A --> D[班次/人员绑定]
|
||||
A --> E[工序/物料/图纸/产品结构]
|
||||
|
||||
B --> B1[PersonnelManagement/OrgManagement/SystemRole]
|
||||
B1 --> B2[人员、岗位、班组、权限]
|
||||
|
||||
C --> C1[WorkstationManagement]
|
||||
C1 --> C2[维护工位]
|
||||
C2 --> C3{是否同步 SAP Resource?}
|
||||
C3 -- 是 --> C4[POST/PATCH /Resources]
|
||||
C3 -- 否 --> C5[仅 MES 保存]
|
||||
C4 --> C6[记录同步状态/失败原因]
|
||||
C5 --> C6
|
||||
|
||||
C --> C7[DeviceInformation]
|
||||
C7 --> C8[设备名称/型号/类型/工位/点检/能力]
|
||||
|
||||
D --> D1[ShiftManagement/PersonnelBinding]
|
||||
D1 --> D2[班次规则/人员工位绑定]
|
||||
|
||||
E --> E1[ProcedureManagement]
|
||||
E1 --> E2[工序基础数据]
|
||||
E2 --> E3{是否同步 SAP RouteStages?}
|
||||
E3 -- 是 --> E4[POST/PATCH /RouteStages]
|
||||
E3 -- 否 --> E5[MES 本地维护]
|
||||
```
|
||||
|
||||
维护口径:
|
||||
- 缺勤人员不能由看板维护,必须来自班次/排班、人员工位绑定和实到来源。
|
||||
- 设备 OEE 基础数据应分散在设备档案、工位、工艺、采集配置中维护,不应只靠看板公式。
|
||||
|
||||
## 4. 工艺、图纸、标准工艺、生产工艺流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[产品/物料/图纸基础] --> B[产品结构维护 CraftMaintain]
|
||||
A --> C[零件图纸 PartDrawing]
|
||||
A --> D[工艺图纸 ProcessDrawing]
|
||||
A --> E[工序基础 ProcedureManagement]
|
||||
|
||||
B --> F[制定标准工艺 ProcessesDevelop]
|
||||
C --> F
|
||||
D --> F
|
||||
E --> F
|
||||
|
||||
F --> G[标准工艺库]
|
||||
G --> G1[工序顺序]
|
||||
G --> G2[标准工时/准备工时]
|
||||
G --> G3[是否关键工序]
|
||||
|
||||
G --> H[生产工艺 ProcessProduct]
|
||||
H --> I{订单是否已有生产工艺?}
|
||||
I -- 是 --> J[编辑订单级生产工艺]
|
||||
I -- 否 --> K[按物料带出标准工艺草稿]
|
||||
K --> L{用户保存?}
|
||||
L -- 否 --> M[不写入生产工艺]
|
||||
L -- 是 --> N[写入生产工艺库]
|
||||
|
||||
J --> O[启用/下发生产工艺]
|
||||
N --> O
|
||||
O --> P[生成任务可用工艺快照]
|
||||
P --> Q[排产/报工/质检/看板读取]
|
||||
```
|
||||
|
||||
关键结论:
|
||||
- `关键工序` 应在标准工艺和生产工艺维护。
|
||||
- 生产任务下发时应快照关键工序和标准工时,避免后续改标准工艺影响历史任务。
|
||||
- 质检大屏、机加大屏只读取关键工序,不作为维护入口。
|
||||
|
||||
## 5. 生产订单、机加排产与 SAP 回写流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[SAP/MES 生产订单同步] --> B[MES_接口_生产计划]
|
||||
B --> C[待排产 SelfMakePlan]
|
||||
C --> D[选择订单/工序/设备/工位/时间]
|
||||
D --> E[排产保存]
|
||||
E --> F[MES_接口_生产计划_生产任务]
|
||||
F --> G[任务排产状态=已排产]
|
||||
|
||||
E --> H{是否回写 SAP 生产订单日期?}
|
||||
H -- 是 --> I[PATCH /ProductionOrders]
|
||||
I --> J{SAP 回写成功?}
|
||||
J -- 是 --> K[记录同步成功]
|
||||
J -- 否 --> L[记录失败原因/待重试]
|
||||
H -- 否 --> M[仅 MES 排产]
|
||||
|
||||
G --> N[已排产 SelfMakePlando/SelfMakePlandone]
|
||||
N --> O[生产计划跟踪/及时开工/机加中心]
|
||||
```
|
||||
|
||||
涉及页面:
|
||||
- `PlanManagement/SelfMakePlan`
|
||||
- `PlanManagement/SelfMakePlando`
|
||||
- `PlanManagement/SelfMakePlandone`
|
||||
- `ProductionManagement/ProductionPlanTrack`
|
||||
- `AnomalousManagement/PunctualWork`
|
||||
|
||||
风险点:
|
||||
- MES 排产成功但 SAP 回写失败时,需要保留同步状态和失败原因。
|
||||
- 已排产页面新增历史工时、总工时后,必须明确工时来源是生产报工、质检、异常还是设备采集。
|
||||
|
||||
## 6. 装配排产、外购申请与 SAP 流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[装配/电气/系统相关订单] --> B[InstallMakePlan 待排产]
|
||||
B --> C[选择装配任务/计划时间/优先级]
|
||||
C --> D[保存装配排产]
|
||||
D --> E[生成装配生产任务]
|
||||
|
||||
C --> F{需要采购申请?}
|
||||
F -- 是 --> G[POST /PurchaseRequests]
|
||||
G --> H{SAP 采购申请成功?}
|
||||
H -- 是 --> I[记录 SAP 采购请求号]
|
||||
H -- 否 --> J[记录失败/允许重试]
|
||||
F -- 否 --> K[不生成采购申请]
|
||||
|
||||
D --> L{是否回写 SAP 生产订单?}
|
||||
L -- 是 --> M[PATCH /ProductionOrders]
|
||||
M --> N[同步派工/日期/说明]
|
||||
L -- 否 --> O[仅 MES 保存]
|
||||
|
||||
E --> P[InstallMakePlanDo/装配中心/装配看板]
|
||||
```
|
||||
|
||||
涉及页面:
|
||||
- `PlanManagement/InstallMakePlan`
|
||||
- `PlanManagement/InstallMakePlanDo`
|
||||
- `ProductionManagement/AssemblyCenter`
|
||||
- `装配任务看板`
|
||||
|
||||
新增需求影响:
|
||||
- 发料齐套时间、装配完成时间、手续确认、送检状态会反向要求装配排产和装配中心补字段。
|
||||
|
||||
## 7. 机加生产执行流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[已排产机加任务] --> B[MachiningCenter 机加中心]
|
||||
B --> C{任务是否可开工?}
|
||||
C -- 否 --> C1[显示不可操作原因: 未齐套/上序未合格/异常/编程未完成/设备占用]
|
||||
C -- 是 --> D[开始加工/开工]
|
||||
|
||||
D --> E[操作记录表写入开始时间/人员/设备]
|
||||
E --> F[加工过程]
|
||||
F --> G{是否异常?}
|
||||
G -- 是 --> H[直接报异常]
|
||||
H --> I[AbnormalControl 异常管控]
|
||||
I --> F
|
||||
|
||||
F --> J[结束报工]
|
||||
J --> K[写入 YL_加工中心_操作记录表]
|
||||
K --> L[更新完成数量/工时/任务状态]
|
||||
|
||||
L --> M{是否需要质检?}
|
||||
M -- 是 --> N[进入质检任务/序检/首检/终检]
|
||||
M -- 否 --> O[进入下序或完成]
|
||||
|
||||
O --> P{是否入库/转序/外协?}
|
||||
P -- 转序 --> A
|
||||
P -- 入库 --> Q[入库/库存任务]
|
||||
P -- 外协 --> R[外协流程]
|
||||
```
|
||||
|
||||
涉及对象:
|
||||
- `YL_加工中心_操作记录表`
|
||||
- `MES_接口_生产计划_生产任务`
|
||||
- `View_生产订单_MES`
|
||||
- `ProductionManagement/MachiningCenter`
|
||||
|
||||
新增需求影响:
|
||||
- 编程任务完成状态可能成为开工前置条件。
|
||||
- 设备采集工时、程序工时、人工报工工时需要区分。
|
||||
- 条码拣配会影响齐套、发料、可开工状态。
|
||||
|
||||
## 8. 装配中心执行流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[已排产装配任务] --> B[AssemblyCenter 装配中心]
|
||||
B --> C[查询 SAP/MES 订单、物料、发料、齐套]
|
||||
C --> D{发料/齐套是否满足?}
|
||||
D -- 否 --> E[缺件/待发料/不可开工]
|
||||
E --> F[缺件明细/预计可执行时间]
|
||||
D -- 是 --> G[开始装配]
|
||||
|
||||
G --> H[装配报工/工时记录]
|
||||
H --> I{是否产生异常?}
|
||||
I -- 是 --> J[直接报异常 -> AbnormalControl]
|
||||
I -- 否 --> K[继续装配]
|
||||
|
||||
K --> L[装配完成/更新任务状态]
|
||||
L --> M{是否需要送检?}
|
||||
M -- 是 --> N[送检/质检任务]
|
||||
M -- 否 --> O[入库/发货/后续确认]
|
||||
|
||||
L --> P[手续确认报表]
|
||||
P --> Q{手续确认完成?}
|
||||
Q -- 否 --> R[待办保留]
|
||||
Q -- 是 --> S[从待办消失]
|
||||
|
||||
O --> T[装配看板/生产任务看板]
|
||||
```
|
||||
|
||||
关键新增字段:
|
||||
- 发料齐套时间
|
||||
- 装配完成时间
|
||||
- 送检状态/送检时间
|
||||
- 手续确认、确认人、确认时间
|
||||
- 当前对应人员/当前对应内容
|
||||
|
||||
## 9. 质检业务流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[质检任务来源] --> A1[机加报工后待检]
|
||||
A --> A2[装配送检]
|
||||
A --> A3[采购入库检]
|
||||
A --> A4[序检收检/外协收检]
|
||||
A --> A5[退库/销售退货/其他入库]
|
||||
|
||||
A1 --> B[QualityCenter/CheckTask]
|
||||
A2 --> B
|
||||
A3 --> B
|
||||
A4 --> B
|
||||
A5 --> B
|
||||
|
||||
B --> C[录入检验结果]
|
||||
C --> D{合格?}
|
||||
D -- 是 --> E[合格数量/质检完成]
|
||||
D -- 否 --> F[不合格处理 Unqualified]
|
||||
|
||||
F --> G{处置方式}
|
||||
G -- 返工 --> H[回生产/返修]
|
||||
G -- 报废 --> I[报废记录]
|
||||
G -- 让步接收 --> J[让步接收字段]
|
||||
G -- 复检 --> K[生成复检/再次检验]
|
||||
|
||||
E --> L{是否 SAP 收货/库存动作?}
|
||||
L -- 是 --> M[PurchaseDeliveryNotes 或库存任务]
|
||||
L -- 否 --> N[MES 本地完成]
|
||||
|
||||
J --> O[让步接收记录查询页]
|
||||
E --> P[质检看板/及时检验/生产日报]
|
||||
```
|
||||
|
||||
涉及页面:
|
||||
- `QualityManagement/QualityCenter`
|
||||
- `QualityManagement/CheckTask/processReceive`
|
||||
- `QualityManagement/CheckTask/purchaseIncoming`
|
||||
- `QualityManagement/CheckTask/final`
|
||||
- `QualityManagement/Unqualified`
|
||||
- `QualityManagement/QualityDetails`
|
||||
|
||||
新增需求影响:
|
||||
- 及时检验要以生产完成/报工完成时间为起点。
|
||||
- 关键工序要从工艺/任务快照读取。
|
||||
- 让步接收记录页只查询,不应成为维护入口。
|
||||
|
||||
## 10. 外协业务流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[生产任务指派对象=外协] --> B[OutsourceMange 外协管理]
|
||||
B --> C[生成外协任务/采购申请]
|
||||
C --> D{是否提交 SAP 采购申请?}
|
||||
D -- 是 --> E[POST /PurchaseRequests]
|
||||
E --> F{SAP 成功?}
|
||||
F -- 是 --> G[记录采购请求/单据关系]
|
||||
F -- 否 --> H[记录失败/重试]
|
||||
D -- 否 --> I[MES 本地外协任务]
|
||||
|
||||
G --> J[外协加工/供应商交付]
|
||||
I --> J
|
||||
J --> K[序检收检/外协收货]
|
||||
K --> L[记录供应商/SAP采购收货单号/指派对象]
|
||||
L --> M{质检合格?}
|
||||
M -- 是 --> N[SAP PurchaseDeliveryNotes/入库]
|
||||
M -- 否 --> O[不合格/返修/让步]
|
||||
N --> P[外协报表/供应商质量统计]
|
||||
O --> P
|
||||
```
|
||||
|
||||
涉及页面:
|
||||
- `ProductionManagement/OutsourceMange`
|
||||
- `ProductionManagement/OutsourceSheet`
|
||||
- `ProductionManagement/SaleOutsourceMange`
|
||||
- `QualityManagement/CheckTask/processReceive`
|
||||
|
||||
关键修正:
|
||||
- 供应商、SAP 采购收货单号、指派对象应在外协/序检收检链路维护,报表只消费这些字段。
|
||||
|
||||
## 11. 工时、SAP 工时校验与投料流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[报工/设备采集/质检/装配] --> B[工时来源汇总]
|
||||
B --> B1[人工报工工时]
|
||||
B --> B2[设备运行工时]
|
||||
B --> B3[程序工时]
|
||||
B --> B4[质检/装配/设计/编程工时]
|
||||
|
||||
B1 --> C[Workhours/Timesheet/WorkHoursCheck]
|
||||
B2 --> C
|
||||
B3 --> C
|
||||
B4 --> C
|
||||
|
||||
C --> D[工时校验]
|
||||
D --> E{是否提交 SAP?}
|
||||
E -- 否 --> F[MES 工时报表/绩效]
|
||||
E -- 是 --> G[GET /ProductionOrders]
|
||||
G --> H[匹配 SAP 工序/资源]
|
||||
H --> I[POST /InventoryGenExits 投料]
|
||||
H --> J[PATCH /ProductionOrders 更新工序资源/工时]
|
||||
I --> K{SAP 成功?}
|
||||
J --> K
|
||||
K -- 是 --> L[记录提交成功]
|
||||
K -- 否 --> M[记录失败原因/允许重试]
|
||||
```
|
||||
|
||||
涉及页面:
|
||||
- `ProductionManagement/WorkHoursCheck`
|
||||
- `ProductionManagement/WorkhoursEdit`
|
||||
- `ProductionManagement/Workhours`
|
||||
- `ProductionManagement/Timesheet`
|
||||
|
||||
风险点:
|
||||
- 程序工时、设备工时、人工工时不是同一口径。
|
||||
- 上 SAP 的工时要明确是否包含设计、编程、质检、装配、异常。
|
||||
|
||||
## 12. 异常管控流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[报工/质检/外协/装配/设计/编程页面] --> B[选择任务]
|
||||
B --> C[点击报异常]
|
||||
C --> D[带出任务/订单/工序/人员信息]
|
||||
D --> E[填写异常类型/说明/附件]
|
||||
E --> F[选择审批人 多选]
|
||||
F --> G[保存异常]
|
||||
G --> H[AbnormalControl 异常管控]
|
||||
|
||||
H --> I[审批人待办可见]
|
||||
I --> J{任一审批人处理?}
|
||||
J -- 否 --> K[异常未关闭]
|
||||
J -- 是 --> L[记录实际处理人]
|
||||
L --> M[异常进入下一状态/关闭]
|
||||
|
||||
K --> N[影响任务可操作性/及时开工/看板]
|
||||
M --> O[任务恢复或结束]
|
||||
```
|
||||
|
||||
关键规则:
|
||||
- 多审批人不是会签,是多人可见、一人处理。
|
||||
- 异常需要带业务域、任务、工序、责任部门,否则看板异常数会混淆。
|
||||
|
||||
## 13. 生产订单关闭与 SAP 状态同步流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[生产订单关闭 PlannOrderClose] --> B[查询可关闭订单]
|
||||
B --> C[选择单个或批量订单]
|
||||
C --> D[二次确认]
|
||||
D --> E[逐单 PATCH /ProductionOrders]
|
||||
E --> F{单据关闭成功?}
|
||||
F -- 是 --> G[记录成功/更新 MES 状态]
|
||||
F -- 否 --> H[记录失败原因]
|
||||
H --> I[失败项重试]
|
||||
G --> J[刷新关闭页]
|
||||
H --> J
|
||||
J --> K[影响排产页/生产中心/手续确认/看板]
|
||||
```
|
||||
|
||||
要求:
|
||||
- 批量关闭不应“一条失败全批失败”,应逐单记录成功/失败。
|
||||
- 关闭结果要被排产、生产中心、装配看板、手续确认报表识别。
|
||||
|
||||
## 14. 看板数据汇总流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[主系统业务数据] --> B[统一视图/存储过程]
|
||||
C[SAP 同步表/跨库表] --> B
|
||||
D[设备采集缓存/历史] --> B
|
||||
E[质检记录/报工记录] --> B
|
||||
|
||||
B --> P[生产任务看板]
|
||||
B --> Q[装配任务看板]
|
||||
B --> R[质检任务看板]
|
||||
B --> S[机加设备生产运营看板]
|
||||
B --> T[TableTV 工位监控]
|
||||
B --> U[board_view 综合大屏]
|
||||
|
||||
P --> P1[齐套率/待排产/未及时开工/加急/未入库]
|
||||
Q --> Q1[装配任务/发货状态/缺件/异常/缺勤]
|
||||
R --> R1[未清/及时率/关键工序/当天完成]
|
||||
S --> S1[设备状态/在制/关键工序/缺勤/OEE]
|
||||
U --> U1[合同进度/工时/采购/库存/OEE]
|
||||
```
|
||||
|
||||
看板治理规则:
|
||||
- 看板只展示和钻取,不作为主维护入口。
|
||||
- SAP 类指标必须有同步时间和同步状态。
|
||||
- `GETDATE()` 型实时指标如要做日报/历史回看,应补统计日期或日快照。
|
||||
- `board_view` 中 OEE、采购、库存等占位指标上线前必须接真实数据或隐藏。
|
||||
|
||||
## 15. 新增需求与维护入口判断流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[收到新增需求/新增字段] --> B{字段性质是什么?}
|
||||
B -- 主数据 --> C[找基础维护页: 人员/班次/工位/设备/工序/工艺]
|
||||
B -- 订单过程数据 --> D[找业务页: 计划/排产/装配/机加/质检]
|
||||
B -- SAP 同步数据 --> E[找 SAP 同步表/接口/同步时间]
|
||||
B -- 设备采集数据 --> F[找采集原始表/设备状态历史/任务绑定]
|
||||
B -- 人工确认 --> G[待办页维护并记录确认人时间]
|
||||
B -- 计算指标 --> H[统一视图/过程/快照]
|
||||
|
||||
C --> I{现有页面能承载?}
|
||||
D --> I
|
||||
E --> I
|
||||
F --> I
|
||||
G --> I
|
||||
H --> I
|
||||
|
||||
I -- 是 --> J[扩展现有页面/过程]
|
||||
I -- 否 --> K[新增维护页或业务页]
|
||||
J --> L[同步菜单/权限/日志/历史策略]
|
||||
K --> L
|
||||
L --> M[检查影响看板/报表/SAP/历史数据]
|
||||
M --> N[开发排期]
|
||||
```
|
||||
|
||||
典型判断:
|
||||
- 缺勤人员:先确认排班/应到和实到来源;没有维护入口则新增或扩展排班/出勤维护。
|
||||
- 关键工序:在标准工艺和生产工艺维护,任务下发快照,看板只读取。
|
||||
- 让步接收:质检中心维护,记录页只查询。
|
||||
- OEE:设备采集、报工、质检、工艺标准工时共同计算,不是人工维护字段。
|
||||
|
||||
## 16. 端到端生产业务主流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[SAP/MES 生产订单] --> B[工艺准备]
|
||||
B --> B1[标准工艺]
|
||||
B1 --> B2[生产工艺]
|
||||
B2 --> B3[任务工艺快照]
|
||||
|
||||
A --> C[计划排产]
|
||||
C --> C1[机加排产]
|
||||
C --> C2[装配排产]
|
||||
C1 --> D[生产执行]
|
||||
C2 --> E[装配执行]
|
||||
|
||||
D --> F[报工/工时/设备采集]
|
||||
E --> G[装配报工/发料/齐套/送检]
|
||||
|
||||
F --> H[质检]
|
||||
G --> H
|
||||
H --> I{质量结果}
|
||||
I -- 合格 --> J[入库/转序/交付]
|
||||
I -- 不合格 --> K[返工/报废/让步接收/复检]
|
||||
K --> D
|
||||
|
||||
J --> L[工时校验/SAP 投料/订单状态]
|
||||
L --> M[订单关闭]
|
||||
M --> N[报表/看板/日报]
|
||||
|
||||
D --> O[异常管控]
|
||||
E --> O
|
||||
H --> O
|
||||
O --> N
|
||||
|
||||
N --> P[管理层 KPI/现场大屏/追溯查询]
|
||||
```
|
||||
|
||||
这个主流程是后续所有新增需求的评估底图:任何新增字段都要判断它落在工艺准备、计划排产、生产执行、质检、入库交付、SAP 回写、看板报表中的哪一环。
|
||||
2929
doc_old/元利项目详细流程图.md
Normal file
2929
doc_old/元利项目详细流程图.md
Normal file
File diff suppressed because it is too large
Load Diff
7410
doc_old/元利项目详细用户使用说明书.md
Normal file
7410
doc_old/元利项目详细用户使用说明书.md
Normal file
File diff suppressed because it is too large
Load Diff
BIN
doc_old/技术开发详细方案_2026-05-27.docx
Normal file
BIN
doc_old/技术开发详细方案_2026-05-27.docx
Normal file
Binary file not shown.
3441
doc_old/技术开发详细方案_2026-05-27.md
Normal file
3441
doc_old/技术开发详细方案_2026-05-27.md
Normal file
File diff suppressed because it is too large
Load Diff
1555
doc_old/新增需求分析与开发记录_2026-05-23.md
Normal file
1555
doc_old/新增需求分析与开发记录_2026-05-23.md
Normal file
File diff suppressed because it is too large
Load Diff
524
doc_old/新增需求界面原型设计_2026-05-25.md
Normal file
524
doc_old/新增需求界面原型设计_2026-05-25.md
Normal file
@@ -0,0 +1,524 @@
|
||||
# 新增需求界面原型设计
|
||||
|
||||
生成日期:2026-05-25
|
||||
依据文档:`新增需求分析与开发记录_2026-05-23.md`
|
||||
说明:本文只描述界面原型、字段、按钮、弹窗和交互,不涉及代码修改。
|
||||
|
||||
## 一、界面设计总原则
|
||||
|
||||
1. 报表页只负责查询、展示、导出、钻取;不把基础字段维护塞进报表页。
|
||||
2. 待办页可以承担确认动作,例如手续确认、异常处理。
|
||||
3. 工艺、关键工序、标准工时仍在标准工艺/生产工艺页面维护。
|
||||
4. 缺勤、班次、人员、工位类数据需要来源于班次/排班/人员工位绑定,不在大屏直接维护。
|
||||
5. 所有新增页面保留系统现有风格:顶部查询区、右侧操作按钮、下方表格、必要时弹窗明细。
|
||||
|
||||
## 二、新增页面总览
|
||||
|
||||
| 页面名称 | 页面类型 | 菜单建议 | 是否新增页面 | 是否维护数据 |
|
||||
|---|---|---|---|---|
|
||||
| 设计任务报工 | 业务操作页 | 生产管理/报工管理 | 是 | 是 |
|
||||
| 机加班次产量表 | 报表页 | 报表中心/生产报表 | 是 | 否 |
|
||||
| 手续确认报表 | 待办确认页 | 报表中心/装配报表 | 是 | 是,确认状态 |
|
||||
| 及时检验报表 | 催办报表页 | 报表中心/质检报表 | 是 | 否 |
|
||||
| 及时齐套跟踪结果报表 | 查询 + 部分维护页 | 报表中心/齐套报表 | 是 | 可维护预计可执行时间 |
|
||||
| 生产日报-送检 | 日报页 | 报表中心/生产日报 | 是或扩展 | 否 |
|
||||
| 编程任务清单/编程报工 | 业务操作页 | 生产管理/报工管理 | 是 | 是 |
|
||||
| 让步接收记录 | 查询追溯页 | 质量管理/质量报表 | 是 | 否 |
|
||||
| 装配已排产需求 | 交付进度页 | 生产管理/装配管理 | 是 | 部分字段可维护 |
|
||||
| 质检任务早知道 | 预告报表页 | 质量管理/质量报表 | 是 | 否 |
|
||||
| 及时送检报表 | 催办报表页 | 报表中心/质检报表 | 是或扩展 | 否 |
|
||||
| 发货通知列表 | SAP 查询页 | 销售/交付报表 | 是 | 否 |
|
||||
| 工时异常报表 | 异常分析页 | 报表中心/工时报表 | 是或扩展 | 可增加异常确认 |
|
||||
|
||||
## 三、页面原型
|
||||
|
||||
### 1. 设计任务报工
|
||||
|
||||
定位:MES 自建设计任务和设计工时,不关联生产订单,不上传 SAP。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 设计任务报工 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 查询区 │
|
||||
│ 任务名称 [________] 设计人员 [____] 状态 [全部▼] 日期 [____至____] │
|
||||
│ [查询] [重置] [新增设计任务] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 任务列表 │
|
||||
│ □ 任务编号 | 任务名称 | 设计人员 | 状态 | 开始时间 | 结束时间 | 工时 │
|
||||
│ | 工作内容 | 结束说明 | 创建人 | 创建时间 | 操作 │
|
||||
│ ------------------------------------------------------------------ │
|
||||
│ 操作:[开始报工] [结束报工] [工时记录] [编辑] [删除] │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
弹窗:
|
||||
|
||||
| 弹窗 | 字段/按钮 |
|
||||
|---|---|
|
||||
| 新增设计任务 | 任务名称、设计人员、计划开始、计划完成、任务说明、保存、取消 |
|
||||
| 开始报工 | 任务信息只读、开始时间默认当前、工作内容、确认开始 |
|
||||
| 结束报工 | 任务信息只读、结束时间默认当前、结束说明、确认结束 |
|
||||
| 工时记录 | 开始时间、结束时间、工时、工作内容、操作人 |
|
||||
|
||||
状态:
|
||||
- 未开始
|
||||
- 进行中
|
||||
- 已完成
|
||||
- 已取消
|
||||
|
||||
### 2. 机加班次产量表
|
||||
|
||||
定位:报表页,查看每天每台设备每班次干了什么活。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 机加班次产量表 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 日期 [____至____] 班次 [全部▼] 设备 [全部▼] 操作人 [____] │
|
||||
│ [查询] [重置] [导出] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 汇总卡:设备数 班次数 总数量 总工时 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 分组表 │
|
||||
│ ▶ 设备:CNC-01 合计数量 合计工时 │
|
||||
│ ▶ 日期:2026-05-25 班次:白班 小计数量 小计工时 │
|
||||
│ 生产订单 | 物料编码 | 物料名称 | 工序 | 开始 | 结束 | 工时 | 数量 | 操作人 │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
字段:
|
||||
- 设备名称
|
||||
- 日期
|
||||
- 班次
|
||||
- 生产订单
|
||||
- 物料编码
|
||||
- 物料名称
|
||||
- 工序名称
|
||||
- 开始时间
|
||||
- 结束时间
|
||||
- 工时
|
||||
- 数量
|
||||
- 操作人
|
||||
|
||||
说明:
|
||||
- 班次规则来自班次管理。
|
||||
- 该页面不维护班次,只读取班次和报工记录。
|
||||
|
||||
### 3. 手续确认报表
|
||||
|
||||
定位:装配、电气发料齐套后的待办确认页。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 手续确认报表 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 生产订单 [____] 合同号 [____] 物料 [____] 指派对象 [全部▼] │
|
||||
│ 发料齐套日期 [____至____] 手续确认 [未完成▼] │
|
||||
│ [查询] [重置] [导出] [批量确认完成] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ □ 生产订单 | 合同号 | 物料编码 | 物料名称 | 指派对象 | 发料齐套时间 │
|
||||
│ 装配完成时间 | 当前状态 | 手续确认 | 确认人 | 确认时间 | 操作 │
|
||||
│ ------------------------------------------------------------------ │
|
||||
│ 操作:[确认完成] [查看装配明细] [查看异常] │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
消失条件:
|
||||
- 手续确认 = 已完成
|
||||
- 生产订单取消
|
||||
- 生产订单关闭
|
||||
- 整单已入库
|
||||
|
||||
确认弹窗:
|
||||
- 生产订单
|
||||
- 物料名称
|
||||
- 当前发料齐套时间
|
||||
- 确认备注
|
||||
- 确认完成
|
||||
- 取消
|
||||
|
||||
### 4. 及时检验报表
|
||||
|
||||
定位:生产报工完成超过 2 天仍未检验的催办报表。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 及时检验报表 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 生产订单 [____] 物料 [____] 工序 [全部▼] 指派对象 [全部▼] │
|
||||
│ 报工结束日期 [____至____] 超期天数 [>= 2] │
|
||||
│ [查询] [重置] [导出] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 生产订单 | 物料编码 | 物料名称 | 工序 | 指派对象 | 报工数量 │
|
||||
│ 已检数量 | 未检数量 | 报工结束时间 | 超期天数 | 责任人 | 操作 │
|
||||
│ ------------------------------------------------------------------ │
|
||||
│ 操作:[查看报工] [查看质检记录] [生成催办] │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
字段:
|
||||
- 生产订单
|
||||
- 物料编码
|
||||
- 物料名称
|
||||
- 工序名称
|
||||
- 指派对象
|
||||
- 报工数量
|
||||
- 已检数量
|
||||
- 未检数量
|
||||
- 报工结束时间
|
||||
- 超期天数
|
||||
|
||||
### 5. 及时齐套跟踪结果报表
|
||||
|
||||
定位:主订单齐套跟踪,支持展开查看 SAP 缺件明细。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 及时齐套跟踪结果报表 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 主生产订单 [____] 合同号 [____] 物料 [____] 齐套状态 [全部▼] │
|
||||
│ 预计可执行时间 [____至____] SAP同步时间 [____至____] │
|
||||
│ [查询] [重置] [导出] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ ▶ 主生产订单 | 合同号 | 物料编码 | 物料名称 | 计划数量 | 齐套状态 │
|
||||
│ 缺件数 | 当前进度 | 预计可执行时间 | SAP同步时间 | 操作 │
|
||||
│ ------------------------------------------------------------------ │
|
||||
│ 展开明细: │
|
||||
│ 缺料物料 | 名称 | 缺件数量 | 属性 | 对应单据号 | 当前进度 │
|
||||
│ 全序展示 | 单条预计完成时间 | 预计可执行时间 | 操作 │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
可维护字段:
|
||||
- 预计可执行时间
|
||||
- 预计可执行说明
|
||||
- 主订单与缺料子订单人工绑定关系
|
||||
|
||||
弹窗:
|
||||
- 编辑预计可执行时间
|
||||
- 查看 SAP 缺件明细
|
||||
- 主子订单关系维护
|
||||
|
||||
### 6. 生产日报-送检
|
||||
|
||||
定位:机加/装配送检日报,建议一个页面两个页签。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 生产日报-送检 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 页签:[机加送检日报] [装配送检日报] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 日期 [____] 部门 [全部▼] 生产订单 [____] 物料 [____] │
|
||||
│ [查询] [重置] [导出日报] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 日汇总:送检数量 已检数量 合格数量 不合格数量 未检数量 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 日期 | 部门 | 生产订单 | 物料编码 | 物料名称 | 工序 | 送检数量 │
|
||||
│ 已检数量 | 合格数量 | 不合格数量 | 送检时间 | 检验时间 | 状态 │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
说明:
|
||||
- 部门归属规则需确认。
|
||||
- 该页面不维护送检和检验结果。
|
||||
|
||||
### 7. 编程任务清单 / 编程报工
|
||||
|
||||
定位:编程任务和编程工时管理。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 编程任务清单 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 设备 [全部▼] 工位 [全部▼] 程序员 [____] 状态 [全部▼] │
|
||||
│ 生产订单 [____] 日期 [____至____] │
|
||||
│ [查询] [重置] [新增编程任务] [导出] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 任务编号 | 生产订单 | 物料编码 | 物料名称 | 工序 | 设备/工位 │
|
||||
│ 程序号 | 编程人员 | 状态 | 开始时间 | 结束时间 | 工时 | 操作 │
|
||||
│ ------------------------------------------------------------------ │
|
||||
│ 操作:[开始编程] [结束编程] [编辑程序号] [工时记录] [报异常] │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
弹窗:
|
||||
- 新增编程任务
|
||||
- 开始编程
|
||||
- 结束编程
|
||||
- 工时记录
|
||||
- 程序号维护
|
||||
|
||||
状态:
|
||||
- 未开始
|
||||
- 编程中
|
||||
- 已完成
|
||||
- 已取消
|
||||
- 异常中
|
||||
|
||||
### 8. 让步接收记录
|
||||
|
||||
定位:查询质检记录中让步接收字段不为空的数据。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 让步接收记录 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 生产订单 [____] 物料 [____] 检验人 [____] 检验日期 [____至____] │
|
||||
│ 让步接收类型 [全部▼] │
|
||||
│ [查询] [重置] [导出] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 生产订单 | 物料编码 | 物料名称 | 工序 | 检验数量 | 不合格数量 │
|
||||
│ 让步接收 | 检验人 | 检验时间 | 处置说明 | 操作 │
|
||||
│ ------------------------------------------------------------------ │
|
||||
│ 操作:[查看质检记录] [查看不合格处置] │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
说明:
|
||||
- 页面只查询,不维护让步接收。
|
||||
- 让步接收仍在质检中心或不合格处置维护。
|
||||
|
||||
### 9. 装配已排产需求
|
||||
|
||||
定位:装配交付进度中心,整合 SAP 字段、MES 报工、工时、异常、齐套和日计划。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 装配已排产需求 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 系统分类 [全部▼] 合同号 [____] 生产订单 [____] 物料 [____] │
|
||||
│ 发料齐套时间 [____至____] 装配完成时间 [____至____] 状态 [全部▼] │
|
||||
│ [查询] [重置] [导出] [批量维护] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 生产订单 | 合同号 | 物料编码 | 物料名称 | 系统/非系统 | 派工时间 │
|
||||
│ 合同交货期 | 发料齐套时间 | 装配完成时间 | 当前人员 | 当前内容 │
|
||||
│ 累计工时 | 异常数 | 钣金预达 | 钣金到达 | 泵预达 | 泵到达 | 备注 | 操作 │
|
||||
│ ------------------------------------------------------------------ │
|
||||
│ 操作:[查看工时] [查看异常] [查看缺件] [维护字段] [生成日计划] │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
字段分组:
|
||||
- SAP 字段:派工时间、合同交货期
|
||||
- MES 计算字段:装配完成时间、累计工时、异常数
|
||||
- 手工维护字段:钣金预达、钣金到达、泵预达、泵到达、备注、当前对应内容
|
||||
|
||||
弹窗:
|
||||
- 工时明细
|
||||
- 异常明细
|
||||
- 缺件明细
|
||||
- 手工字段维护
|
||||
- 日计划预览
|
||||
|
||||
### 10. 质检任务早知道
|
||||
|
||||
定位:根据装配已排产需求预测即将进入质检的任务。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 质检任务早知道 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 装配完成时间 [____至____] 合同号 [____] 生产订单 [____] │
|
||||
│ 物料 [____] 状态 [待质检▼] │
|
||||
│ [查询] [重置] [导出] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 预计质检日期 | 生产订单 | 合同号 | 物料编码 | 物料名称 | 装配完成时间 │
|
||||
│ 当前人员 | 当前内容 | 累计工时 | 异常状态 | 质检状态 | 操作 │
|
||||
│ ------------------------------------------------------------------ │
|
||||
│ 操作:[查看装配进度] [查看异常] [查看质检记录] │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
说明:
|
||||
- 强依赖装配已排产需求。
|
||||
- 不直接维护质检结果。
|
||||
|
||||
### 11. 及时送检报表
|
||||
|
||||
定位:发料齐套后超过规则时间未送检的任务催办。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 及时送检报表 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 生产订单 [____] 合同号 [____] 物料 [____] 指派对象 [全部▼] │
|
||||
│ 发料齐套时间 [____至____] 送检状态 [未送检▼] 超期天数 [>= 2] │
|
||||
│ [查询] [重置] [导出] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 生产订单 | 合同号 | 物料编码 | 物料名称 | 指派对象 | 发料齐套时间 │
|
||||
│ 是否送检 | 送检时间 | 超期天数 | 加急 | 当前状态 | 操作 │
|
||||
│ ------------------------------------------------------------------ │
|
||||
│ 操作:[查看装配任务] [查看质检任务] [生成催办] │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 12. 发货通知列表
|
||||
|
||||
定位:SAP 已提供数据,大屏已展示,新增普通报表查询页。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 发货通知列表 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 发货通知号 [____] 合同号 [____] 客户 [____] 状态 [全部▼] │
|
||||
│ 要求发货日期 [____至____] SAP同步时间 [____至____] │
|
||||
│ [查询] [重置] [导出] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 发货通知号 | 合同号 | 客户 | 物料编码 | 物料名称 | 数量 │
|
||||
│ 要求发货日期 | 发货状态 | SAP同步时间 | 备注 | 操作 │
|
||||
│ ------------------------------------------------------------------ │
|
||||
│ 操作:[查看明细] [查看关联生产订单] │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
说明:
|
||||
- 默认只读 SAP 或 SAP 同步表。
|
||||
- 如需 MES 备注,建议单独建本地备注扩展字段。
|
||||
|
||||
### 13. 工时异常报表
|
||||
|
||||
定位:单件实际工时大于标准单件工时的异常分析。
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ 工时异常报表 │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 日期 [____至____] 设备 [全部▼] 工位 [全部▼] 操作人 [____] │
|
||||
│ 物料 [____] 工序 [全部▼] 超出比例 [>=____%] 状态 [全部▼] │
|
||||
│ [查询] [重置] [导出] │
|
||||
├────────────────────────────────────────────────────────────────────┤
|
||||
│ 设备/工位 | 生产订单 | 物料编码 | 物料名称 | 工序 | 操作人 │
|
||||
│ 标准单件工时 | 实际单件工时 | 超出时长 | 超出比例 | 班次 | 状态 | 操作 │
|
||||
│ ------------------------------------------------------------------ │
|
||||
│ 操作:[查看工时明细] [确认异常] [填写原因] │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
异常确认弹窗:
|
||||
- 异常原因
|
||||
- 责任部门
|
||||
- 处理说明
|
||||
- 确认人
|
||||
- 确认时间
|
||||
|
||||
## 四、现有页面改造界面说明
|
||||
|
||||
### 1. 机加件已排产页面
|
||||
|
||||
改造点:
|
||||
- `计划开始时间` 改为单日期选择。
|
||||
- `计划完成时间` 改为单日期选择。
|
||||
- 表格增加 `总工时` 列。
|
||||
- 点击总工时打开历史工时明细弹窗。
|
||||
|
||||
```text
|
||||
查询区:计划开始日期 [____] 计划完成日期 [____]
|
||||
表格列:... | 总工时 | 操作
|
||||
总工时点击弹窗:设备 -> 日期 -> 任务明细
|
||||
```
|
||||
|
||||
### 2. 生产计划跟踪
|
||||
|
||||
改造点:
|
||||
- 当前序展示完整工艺路线。
|
||||
- 工序按状态变色。
|
||||
- 增加标准工时、订单状态。
|
||||
|
||||
```text
|
||||
工艺路线:打磨(张三) -> 淬火(外协) -> 精磨(李四)
|
||||
状态颜色:进行中高亮、已完成置灰、待加工普通色、异常红色
|
||||
```
|
||||
|
||||
### 3. 序检收检/外协任务检验
|
||||
|
||||
改造点:
|
||||
- 增加指派对象。
|
||||
- 增加供应商。
|
||||
- 增加 SAP 采购收货单号。
|
||||
|
||||
建议在检验记录表格和检验详情弹窗中同时展示。
|
||||
|
||||
### 4. 生产订单关闭
|
||||
|
||||
改造点:
|
||||
- 表格增加多选。
|
||||
- 增加 `批量关闭 SAP 订单` 按钮。
|
||||
- 增加批量关闭结果弹窗。
|
||||
|
||||
结果弹窗字段:
|
||||
- 生产订单
|
||||
- SAP 单据号
|
||||
- 执行结果
|
||||
- 失败原因
|
||||
- 是否可重试
|
||||
|
||||
### 5. 生产工艺
|
||||
|
||||
改造点:
|
||||
- 点击编辑时,若无生产工艺,弹窗提示“未找到生产工艺,是否带出标准工艺作为草稿?”
|
||||
- 带出后不自动保存。
|
||||
- 保存后才写入生产工艺。
|
||||
|
||||
### 6. 异常管控 + 全部报工页面
|
||||
|
||||
改造点:
|
||||
- 所有报工页面增加 `报异常` 按钮。
|
||||
- 选中任务后打开统一异常弹窗。
|
||||
- 异常弹窗支持多选审批人。
|
||||
|
||||
异常弹窗字段:
|
||||
- 异常类型
|
||||
- 异常说明
|
||||
- 附件
|
||||
- 审批人,多选
|
||||
- 关联订单/任务/工序,只读
|
||||
|
||||
### 7. 及时开工报表
|
||||
|
||||
改造点:
|
||||
- 指派对象查询增加模式选择。
|
||||
|
||||
```text
|
||||
指派对象 [多选] 查询模式 [包含▼ / 排除▼]
|
||||
```
|
||||
|
||||
### 8. 工时报表
|
||||
|
||||
改造点:
|
||||
- 增加指派对象字段。
|
||||
- 后续支持工时类型和来源模块。
|
||||
|
||||
### 9. 领料/退库/外协报表小字段
|
||||
|
||||
| 页面 | 界面改造 |
|
||||
|---|---|
|
||||
| 生产领料(机加) | 增加备注输入/备注列 |
|
||||
| 生产退库(机加) | 增加备注输入/备注列 |
|
||||
| 生产退库(装配) | 增加备注输入/备注列 |
|
||||
| 外协任务报表(采购) | 增加采购到货期说明列 |
|
||||
| 工序流转卡 | 打印模板增加原料编码 |
|
||||
| 制定标准工艺 | 保存成功/失败提示明确化 |
|
||||
|
||||
## 五、优先原型顺序
|
||||
|
||||
| 优先级 | 页面 |
|
||||
|---|---|
|
||||
| P0 | 手续确认报表、及时检验报表、发货通知列表、生产订单关闭批量 SAP |
|
||||
| P0 | 生产工艺自动带出标准工艺、异常管控直接报异常 |
|
||||
| P1 | 装配已排产需求、及时齐套跟踪结果报表、质检任务早知道 |
|
||||
| P1 | 设计任务报工、编程任务清单/编程报工 |
|
||||
| P1 | 机加班次产量表、生产日报-送检、及时送检报表 |
|
||||
| P2 | 工时异常报表、OEE/设备采集相关界面、现场大屏缺勤/关键工序 |
|
||||
|
||||
## 六、客户确认清单
|
||||
|
||||
1. 新增页面菜单位置是否按本文建议放置。
|
||||
2. 手续确认、预计可执行时间、装配已排产需求中的手工字段是否允许页面维护。
|
||||
3. 设计任务、编程任务是否需要审批或只做报工。
|
||||
4. 缺勤人员是否已有排班/考勤来源。
|
||||
5. 关键工序是否确认在标准工艺和生产工艺维护。
|
||||
6. 及时检验、及时送检的超期天数是否统一为 2 天。
|
||||
7. 发货通知列表是否只读 SAP 数据,是否需要 MES 备注。
|
||||
8. 工时异常是否需要确认闭环,还是只做查询。
|
||||
419
doc_old/问题修复方案与今日沟通规划.md
Normal file
419
doc_old/问题修复方案与今日沟通规划.md
Normal file
@@ -0,0 +1,419 @@
|
||||
# 问题修复方案与今日沟通规划
|
||||
|
||||
> **日期**: 2026-05-21
|
||||
> **版本**: v1.0
|
||||
> **目标**: 将23个问题转化为可执行的修复方案,明确责任人、工期和沟通计划
|
||||
|
||||
---
|
||||
|
||||
## 一、问题优先级总览
|
||||
|
||||
```
|
||||
🔴 Critical (今日必须启动): 5个 — 安全漏洞、数据泄露
|
||||
🟠 High (本周内完成): 5个 — 功能Bug、权限失效
|
||||
🟡 Medium (本月计划): 6个 — 可维护性、稳定性
|
||||
🟢 Low (持续优化): 7个 — 代码质量、最佳实践
|
||||
────────────────────────────────────────────
|
||||
总计: 23个
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 二、🔴 Critical — 今日立即处理
|
||||
|
||||
### 问题 1:SQL 注入漏洞(60+ 存储过程)
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **风险等级** | 🔴 极高 — 攻击者可构造恶意输入窃取/篡改数据库 |
|
||||
| **影响范围** | script.sql 中所有 `sp_executesql` + 字符串拼接的 SP |
|
||||
| **核心原因** | 用户输入直接 `+` 拼接到 SQL,未使用参数化 |
|
||||
|
||||
**受影响的存储过程(高频调用类)**:
|
||||
|
||||
| 存储过程 | 用途 | 调用频率 |
|
||||
|------|------|:---:|
|
||||
| `MES_OrderPlanned_Query` | 排产查询 | 高 |
|
||||
| `MES_OrderPlanned_Queryzp` | 装配排产查询 | 高 |
|
||||
| `MES_ProductCenter_GetTask` | 机加任务查询 | **极高** |
|
||||
| `MES_ProductCenter_GetTask_zp` | 装配任务查询 | **极高** |
|
||||
| `MES_ProductAdmin_Query` | 订单查询 | 高 |
|
||||
| `MES_ProductAdmin_GetRptRecords` | 报工记录查询 | 高 |
|
||||
| `MES_QulityInspection_GetTask` | 质检任务查询 | 高 |
|
||||
| `MES_QulityInspection_CheckRecord_Query` | 质检记录查询 | 高 |
|
||||
| `MES_QulityInspection_FirstCheckRecords` | 首检记录查询 | 中 |
|
||||
| `MES_QulityInspection_MeasuringTool` | 量具查询 | 低 |
|
||||
| `MES_ProductCenter_OptRecords` | 操作记录查询 | 中 |
|
||||
|
||||
**修复方案**:
|
||||
|
||||
```sql
|
||||
-- ❌ 修复前(字符串拼接)
|
||||
if(@合同号<>'') set @selectStrWhere = @selectStrWhere
|
||||
+ ' and [合同号] like ''%' + @合同号 + '%'''
|
||||
EXEC sp_executesql @selectStr
|
||||
|
||||
-- ✅ 修复后(参数化查询)
|
||||
if(@合同号<>'') set @selectStrWhere = @selectStrWhere
|
||||
+ ' and [合同号] like ''%'' + @合同号 + ''%'''
|
||||
-- 传入参数定义
|
||||
EXEC sp_executesql @selectStr,
|
||||
N'@合同号 nvarchar(50), @订单号 int, ...',
|
||||
@合同号=@合同号, @订单号=@订单号, ...
|
||||
```
|
||||
|
||||
**执行计划**:
|
||||
|
||||
| 步骤 | 内容 | 工时 |
|
||||
|:---:|------|:---:|
|
||||
| 1 | 按调用频率排序,先修复 **高频 SP**(GetTask/Query 类) | 1天 |
|
||||
| 2 | 修复中等频率 SP(CheckRecord/FirstCheck 类) | 0.5天 |
|
||||
| 3 | 修复低频率 SP(MeasuringTool/OptRecords 类) | 0.5天 |
|
||||
| 4 | 逐条测试验证 | 0.5天 |
|
||||
| 5 | 上线部署 | 0.5天 |
|
||||
|
||||
> 📅 **建议**: 先创建一个统一的参数化模板,后续新增 SP 必须遵循。
|
||||
|
||||
---
|
||||
|
||||
### 问题 2:明文密码存储于 Cookie
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **风险等级** | 🔴 高 — XSS 可窃取密码,同一密码可能用于其他系统 |
|
||||
| **位置** | `src/views/login/index.vue` line 243-246 |
|
||||
| **核心原因** | `Cookie.set('password', password, { expires: 7 })` 明文存7天 |
|
||||
|
||||
**修复方案**:
|
||||
|
||||
```javascript
|
||||
// ❌ 修复前
|
||||
setCookie(username, password, checked) {
|
||||
Cookie.set('username', username, { expires: 7 })
|
||||
Cookie.set('password', password, { expires: 7 }) // 明文
|
||||
Cookie.set('checked', checked, { expires: 7 })
|
||||
}
|
||||
|
||||
// ✅ 修复后 — 方案A:去掉密码存储,只记住用户名
|
||||
setCookie(username, password, checked) {
|
||||
Cookie.set('username', username, { expires: 7 })
|
||||
// 不再存储密码
|
||||
Cookie.set('rememberUser', checked ? '1' : '0', { expires: 7 })
|
||||
}
|
||||
getCookie() {
|
||||
this.loginForm.username = Cookie.get('username') || ''
|
||||
this.loginForm.password = '' // 永不清空密码框
|
||||
this.loginForm.checked = Cookie.get('rememberUser') === '1'
|
||||
}
|
||||
|
||||
// ✅ 修复后 — 方案B(如需自动登录):存 Token 代替密码
|
||||
// 登录成功后,后端返回 refreshToken 存入 httpOnly Cookie
|
||||
```
|
||||
|
||||
| 步骤 | 内容 | 工时 |
|
||||
|:---:|------|:---:|
|
||||
| 1 | 修改 `setCookie()` 去掉密码存储 | 15分钟 |
|
||||
| 2 | 修改 `getCookie()` 只回填用户名 | 10分钟 |
|
||||
| 3 | 修改 `clearCookie()` 同步更新 | 5分钟 |
|
||||
| 4 | 测试登录流程 | 10分钟 |
|
||||
|
||||
---
|
||||
|
||||
### 问题 3:Axios 已知 CVE
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **风险等级** | 🔴 中 — CVE-2021-3749 ReDoS |
|
||||
| **位置** | `package.json` — `"axios": "^0.21.4"` |
|
||||
| **目标版本** | `"axios": "^1.7.2"` (最新稳定版) |
|
||||
|
||||
**修复方案**:
|
||||
|
||||
```bash
|
||||
# 升级 axios
|
||||
npm install axios@^1.7.2
|
||||
|
||||
# 注意:axios 1.x 有 Breaking Changes
|
||||
# 1. 取消请求 API 从 CancelToken 改为 AbortController
|
||||
# 2. headers 配置格式略有变化
|
||||
# 3. 需要检查项目中的 axios 用法是否兼容
|
||||
```
|
||||
|
||||
| 步骤 | 内容 | 工时 |
|
||||
|:---:|------|:---:|
|
||||
| 1 | 执行 `npm install axios@^1.7.2` | 5分钟 |
|
||||
| 2 | 检查 `src/utils/request.js` 兼容性 | 15分钟 |
|
||||
| 3 | 检查所有 API 调用是否正常 | 15分钟 |
|
||||
| 4 | 回归测试 | 15分钟 |
|
||||
|
||||
---
|
||||
|
||||
### 问题 4:开发代理 HTTPS 证书绕过 + 死代码
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **风险等级** | 🔴 低(仅开发环境) |
|
||||
| **位置** | `config/index.js` line 18-38 |
|
||||
|
||||
**修复方案**:
|
||||
|
||||
```javascript
|
||||
// ❌ 修复前
|
||||
proxyTable: {
|
||||
'/api/b1s': {
|
||||
target: 'https://192.168.2.90:50000',
|
||||
secure: false, // 跳过证书验证
|
||||
},
|
||||
'/openapi/v1': { // ← 死代码路径
|
||||
pathRewrite: { '^/api/tm': '/openapi/v1' } // ← 永远不匹配
|
||||
}
|
||||
}
|
||||
|
||||
// ✅ 修复后
|
||||
proxyTable: {
|
||||
'/api/b1s': {
|
||||
target: 'https://192.168.2.90:50000',
|
||||
secure: true, // 启用证书验证(生产环境必须)
|
||||
// 如为自签名证书,配置 ca 字段
|
||||
// ca: fs.readFileSync('path/to/cert.pem')
|
||||
},
|
||||
'/api/tm': { // ← 修正路由
|
||||
target: 'http://192.168.2.90:8082',
|
||||
changeOrigin: true,
|
||||
pathRewrite: { '^/api/tm': '/openapi/v1' } // ← 正确匹配
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
| 步骤 | 内容 | 工时 |
|
||||
|:---:|------|:---:|
|
||||
| 1 | 修正 `/api/tm` 代理路径 | 5分钟 |
|
||||
| 2 | SAP B1 证书处理(联系IT获取证书) | 视情况 |
|
||||
| 3 | 测试代理是否正常 | 10分钟 |
|
||||
|
||||
---
|
||||
|
||||
### 问题 5:登录密码拼在 URL 参数中
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **位置** | `src/api/login.js` line 13 |
|
||||
|
||||
**修复方案**:
|
||||
|
||||
```javascript
|
||||
// ❌ 修复前
|
||||
param: `用户名=${username}&密码=${password}`
|
||||
|
||||
// ✅ 修复后 — 将密码放入 JSON body 而非 URL param
|
||||
data: {
|
||||
UserID: state.state.user.id,
|
||||
ModularID: router.currentRoute.path,
|
||||
type: '1',
|
||||
name: '菜单模块系统_用户名密码_查询数据',
|
||||
param: JSON.stringify([
|
||||
{ name: '用户名', value: username, type: 'string', output: '0' },
|
||||
{ name: '密码', value: password, type: 'string', output: '0' }
|
||||
])
|
||||
}
|
||||
```
|
||||
|
||||
> 💡 注意:这需要后端 `MESCommonBase.ashx` 也支持从 body 中解析参数。如果短期无法改后端,至少对密码做 **Base64 混淆**(非加密但比明文好)。
|
||||
|
||||
---
|
||||
|
||||
## 三、🟠 High — 本周必须完成
|
||||
|
||||
### 问题 6:修改密码验证器 Bug(复制粘贴错误)
|
||||
|
||||
**位置**: `src/views/login/index.vue` line 119-130
|
||||
|
||||
```javascript
|
||||
// ❌ 三个 typeof 都检查同一个字段
|
||||
if (typeof(this.form.againPassword) === 'string' ||
|
||||
typeof(this.form.againPassword) === 'string' ||
|
||||
typeof(this.form.againPassword) === 'string')
|
||||
|
||||
// ✅ 修复后:移除无意义的验证器
|
||||
// 这个 validator 逻辑本身就是错误的,应该删除并简化:
|
||||
rules: {
|
||||
againPassword: [
|
||||
{ required: true, message: '请输入确认密码', trigger: 'blur' },
|
||||
{ validator: (rule, value, callback) => {
|
||||
if (value !== this.form.newPassword) {
|
||||
callback(new Error('两次输入密码不一致'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}, trigger: 'blur' }
|
||||
],
|
||||
Account: [{ required: true, message: '请输入工号', trigger: 'blur' }],
|
||||
beforPassword: [{ required: true, message: '请输入原密码', trigger: 'blur' }],
|
||||
newPassword: [{ required: true, message: '请输入新密码', trigger: 'blur' }]
|
||||
}
|
||||
```
|
||||
|
||||
**工时**: 20分钟
|
||||
|
||||
---
|
||||
|
||||
### 问题 7:Vuex Action 中 `this.$router` undefined
|
||||
|
||||
**位置**: `src/store/modules/user.js` line 44-45
|
||||
|
||||
```javascript
|
||||
// ❌ 修复前
|
||||
this.$router.push({ path: '/login' })
|
||||
|
||||
// ✅ 修复后
|
||||
import router from '@/router'
|
||||
// ...
|
||||
router.push({ path: '/login' })
|
||||
```
|
||||
|
||||
**工时**: 5分钟
|
||||
|
||||
---
|
||||
|
||||
### 问题 8:GetInfo 硬编码 admin 角色
|
||||
|
||||
**位置**: `src/store/modules/user.js` line 83
|
||||
|
||||
```javascript
|
||||
// ❌ 修复前
|
||||
commit('SET_ROLES', 'admin')
|
||||
|
||||
// ✅ 修复后(使用后端返回的真实角色)
|
||||
getInfo(state.token).then(response => {
|
||||
const data = response.data
|
||||
if (data && data.length > 0) {
|
||||
commit('SET_ROLES', data[0].Roles_Function || [])
|
||||
}
|
||||
resolve(response)
|
||||
})
|
||||
```
|
||||
|
||||
**工时**: 15分钟
|
||||
|
||||
---
|
||||
|
||||
### 问题 9:登录错误静默吞掉
|
||||
|
||||
**位置**: `src/views/login/index.vue` line 198-200
|
||||
|
||||
```javascript
|
||||
// ❌ 修复前
|
||||
}).catch(() => {
|
||||
this.loading = false
|
||||
})
|
||||
|
||||
// ✅ 修复后
|
||||
}).catch((error) => {
|
||||
this.loading = false
|
||||
this.$message.error('登录失败:' + (error.message || '网络异常,请联系管理员'))
|
||||
})
|
||||
```
|
||||
|
||||
**工时**: 5分钟
|
||||
|
||||
---
|
||||
|
||||
### 问题 10:DevServer 强制 HTTPS 无证书
|
||||
|
||||
**位置**: `build/webpack.dev.conf.js` line 31
|
||||
|
||||
```javascript
|
||||
// 方案A:本地开发关闭 HTTPS
|
||||
devServer: {
|
||||
https: false, // 本地开发无需HTTPS
|
||||
}
|
||||
|
||||
// 方案B:配置自签名证书(如需测试HTTPS)
|
||||
devServer: {
|
||||
https: {
|
||||
cert: fs.readFileSync('path/to/localhost.crt'),
|
||||
key: fs.readFileSync('path/to/localhost.key')
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**工时**: 10分钟
|
||||
|
||||
---
|
||||
|
||||
## 四、今日沟通规划
|
||||
|
||||
### 4.1 上午 (9:00 - 12:00) — 问题确认与方案评审
|
||||
|
||||
| 时间 | 主题 | 参与人 | 目标 |
|
||||
|------|------|------|------|
|
||||
| 9:00-9:30 | **安全漏洞通报**(SQL注入/明文密码/Axios CVE) | 技术负责人 + DBA | 确认修复优先级,授权立即启动 |
|
||||
| 9:30-10:00 | **SQL注入修复方案评审** | DBA + 后端开发 | 确定参数化模板,分工修复 |
|
||||
| 10:00-10:30 | **前端安全问题修复方案**(Cookie密码/密码URL传参/GetInfo admin) | 前端开发 | 分配任务,确定代码改动范围 |
|
||||
| 10:30-11:00 | **生产环境配置审查**(HTTPS证书/SourceMap/代理) | 运维 + 开发 | 审查 config/index.js 和 build 配置 |
|
||||
| 11:00-12:00 | **开始修复 Critical 问题** | 开发团队 | 实际编码 |
|
||||
|
||||
### 4.2 下午 (13:30 - 17:30) — 修复执行与验证
|
||||
|
||||
| 时间 | 主题 | 参与人 | 目标 |
|
||||
|------|------|------|------|
|
||||
| 13:30-15:00 | **SQL注入修复(第1批:高频SP)** | DBA | 完成 GetTask/Query 类 SP 改造 |
|
||||
| 13:30-14:30 | **前端安全问题修复** | 前端开发 | 完成问题2/3/5/7/8/9 |
|
||||
| 14:30-15:00 | **Webpack/构建配置修复** | 前端开发 | 完成问题4/10 |
|
||||
| 15:00-16:00 | **集成测试** | 全体 | 验证修复后功能正常 |
|
||||
| 16:00-16:30 | **修复 verifyValue 验证器 Bug** | 前端开发 | 完成问题6 |
|
||||
| 16:30-17:00 | **代码 Review + 提交** | 技术负责人 | 审查所有改动,提交 Git |
|
||||
| 17:00-17:30 | **今日总结 + 明日计划** | 全体 | 回顾进展,规划明天 Medium 问题 |
|
||||
|
||||
### 4.3 沟通要点
|
||||
|
||||
| 议题 | 需要确认 | 决策人 |
|
||||
|------|------|:---:|
|
||||
| SQL注入修复范围 | 是否全部SP都要改?还是先改高频? | 技术负责人 |
|
||||
| Axios 升级风险 | 1.x Breaking Changes 是否影响现有功能? | 前端开发 |
|
||||
| Cookie 密码 | 去掉后用户每次都要输入密码,接受吗? | 项目负责人 |
|
||||
| 后端支持 JSON body | `MESCommonBase.ashx` 能否改造成接收JSON? | 后端开发 |
|
||||
| 数据库日志263GB | 是否可以切 SIMPLE 恢复模式? | DBA |
|
||||
|
||||
---
|
||||
|
||||
## 五、修复进度跟踪表
|
||||
|
||||
| # | 问题 | 优先级 | 状态 | 负责人 | 预计工时 |
|
||||
|:--:|------|:--:|:--:|------|:--:|
|
||||
| 1 | SQL注入 (高频SP) | 🔴 | ⬜ 待开始 | DBA | 3天 |
|
||||
| 2 | 明文密码Cookie | 🔴 | ⬜ 待开始 | 前端 | 0.5h |
|
||||
| 3 | Axios CVE升级 | 🔴 | ⬜ 待开始 | 前端 | 1h |
|
||||
| 4 | 代理配置修正 | 🔴 | ⬜ 待开始 | 前端 | 0.5h |
|
||||
| 5 | 密码URL传参 | 🔴 | ⬜ 待开始 | 前端+后端 | 2h |
|
||||
| 6 | validateValue Bug | 🟠 | ⬜ 待开始 | 前端 | 0.5h |
|
||||
| 7 | this.$router undefined | 🟠 | ⬜ 待开始 | 前端 | 0.2h |
|
||||
| 8 | GetInfo admin硬编码 | 🟠 | ⬜ 待开始 | 前端 | 0.3h |
|
||||
| 9 | 登录错误静默 | 🟠 | ⬜ 待开始 | 前端 | 0.2h |
|
||||
| 10 | DevServer HTTPS | 🟠 | ⬜ 待开始 | 前端 | 0.2h |
|
||||
| 11 | 外协报表供应商Bug | 🟠 | ✅ 已完成 | DBA | 已修复 |
|
||||
| 12 | SourceMap泄露 | 🟡 | ⬜ 待开始 | 前端 | 0.2h |
|
||||
| 13 | TRUNCATE风险 | 🟡 | ⬜ 待开始 | DBA | 1h |
|
||||
| 14 | 日志263GB | 🟡 | ⬜ 待开始 | DBA | 2h |
|
||||
| 15 | 无用依赖install | 🟡 | ⬜ 待开始 | 前端 | 0.2h |
|
||||
| 16 | ESLint规则 | 🟡 | ⬜ 待开始 | 前端 | 1h |
|
||||
| 17 | Vue 2 EOL | 🟢 | ⬜ 规划中 | 架构 | 长期 |
|
||||
| 18-23 | 其他低优先级 | 🟢 | ⬜ 待排期 | 团队 | 碎片时间 |
|
||||
|
||||
---
|
||||
|
||||
## 六、今日预计产出
|
||||
|
||||
| 产出物 | 形式 | 说明 |
|
||||
|------|------|------|
|
||||
| ✅ SQL注入修复(高频SP) | `fix_sql_injection_batch1.sql` | 10个高频 SP 参数化改造 |
|
||||
| ✅ 前端安全修复 | Git commit | 问题2/7/8/9 代码修改 |
|
||||
| ✅ 构建配置修正 | Git commit | 问题4/10 配置修改 |
|
||||
| ✅ Axios 升级 | `package.json` | 升级到 1.7.x |
|
||||
| ✅ Git 提交记录 | Git log | 所有修改的提交历史 |
|
||||
| 📋 明日计划 | 本文档更新 | Medium 问题修复安排 |
|
||||
|
||||
---
|
||||
|
||||
> 📅 文档日期: 2026-05-21
|
||||
> 🔄 更新频率: 每日更新进度状态
|
||||
860
doc_old/隐性需求综合分析_2026-05-25.md
Normal file
860
doc_old/隐性需求综合分析_2026-05-25.md
Normal file
@@ -0,0 +1,860 @@
|
||||
# MES_Manage_View_V20 新增需求后的整体影响与隐性需求综合分析
|
||||
|
||||
生成日期:2026-05-25
|
||||
|
||||
分析依据:
|
||||
- `新增需求分析与开发记录_2026-05-23.md`
|
||||
- `今日工作汇报_2026-05-23.txt`
|
||||
- `需求分析_自制件与工位汇总表.md`
|
||||
- `MES_Manage_View_V20_src_views_逐页面详细分析.md`
|
||||
|
||||
## 一、分析视角调整
|
||||
|
||||
本文不单纯从“客户后续可能要什么”出发,而是从系统整体出发,分析这些新增需求如果逐步落地,会对现有 MES 产生什么连锁影响:
|
||||
|
||||
1. 会新增哪些业务数据。
|
||||
2. 会改变哪些原有统计口径。
|
||||
3. 会冲击哪些已完成页面、报表、看板。
|
||||
4. 会让哪些现有字段含义变得不够用。
|
||||
5. 会产生哪些必须补做的隐性能力。
|
||||
6. 客户基于新数据和新功能,后续还可能继续提出什么。
|
||||
|
||||
核心判断:
|
||||
|
||||
这些需求不是孤立新增页面。它们会把系统从“生产任务执行系统”推向“生产进度、质量、工时、齐套、异常、SAP 状态一体化追踪系统”。一旦新增字段、报表、SAP 回写、设计/编程报工、装配已排产需求进入系统,很多已完成页面也要重新解释和调整。
|
||||
|
||||
## 二、总体连锁影响
|
||||
|
||||
| 新增能力 | 直接新增数据 | 产生的问题 | 隐性需求 | 已完成页面/报表是否需要改 |
|
||||
|---|---|---|---|---|
|
||||
| 设计任务报工 | 设计任务、设计工时、工作内容、开始/结束时间 | 原有工时只覆盖生产/质检/装配,合同总工时会漏设计 | 工时分类、合同工时汇总、设计任务权限、设计工时报表 | 装配已排产需求、工时报表、合同进度、日报需要纳入设计工时 |
|
||||
| 编程任务清单/编程报工 | 编程任务、编程工时、设备/工位、人员、说明 | 编程是否影响生产任务可开工不明确 | 编程完成状态、编程工时独立统计、任务前置条件 | 机加中心、生产计划跟踪、工时报表、及时开工可能需要增加编程状态 |
|
||||
| 装配已排产需求 | 发料齐套时间、装配完成时间、SAP 派工时间、合同交货期、钣金/泵、当前人员、累计工时、异常 | 原装配排产页只管排产,新页面会变成交付进度中心 | 装配进度模型、日计划、合同进度、异常汇总、手工字段维护历史 | `InstallMakePlan`、`AssemblyCenter`、生产任务看板、质检任务早知道、日报都要联动 |
|
||||
| 历史工时查询 | 任务总工时、设备/日期分组明细 | 原列表只显示任务状态,新总工时会引出明细追溯 | 汇总到明细钻取、工时来源标识、重复报工处理 | `SelfMakePlandone`、工时查询、班次产量表、合同工时汇总要统一口径 |
|
||||
| 机加班次产量表 | 班次、设备、日期、任务、数量、工时 | 原工时和产量按任务查,现在要按班次归属 | 班次日历、跨天班次规则、设备日合计、人员归属 | 设备看板、工位汇总表、工时报表、生产日报需要统一班次口径 |
|
||||
| 外协检验字段增强 | 指派对象、供应商、SAP 采购收货单号 | 原质检记录只到工序,供应商/单据链不完整 | 供应商合格率、SAP 单据追溯、外协质检报表 | 外协报表、质检记录、供应商统计、序检收检页面需要补字段 |
|
||||
| 手续确认报表 | 手续确认状态、确认人、确认时间 | 原任务消失规则依赖已入库/关闭,现在又增加人工确认维度 | 待办清单、确认日志、取消/关闭/入库同步规则 | 装配中心、发料齐套列表、生产任务看板、订单关闭后状态需要同步 |
|
||||
| 及时检验报表 | 报工完成时间、未检数量、超期天数 | 原质检任务是业务操作,新报表要求按时间催办 | 质检责任人、催办、超期规则、已检数量核算 | 质检中心、生产日报、异常提醒、看板需要展示未检/超期 |
|
||||
| 及时齐套跟踪结果报表 | 主订单与缺料子订单关系、SAP 缺件明细、预计可执行时间 | SAP 实时数据和 MES 落库数据会不一致 | SAP 缓存、展开加载、主子订单关系维护 | 生产任务看板、装配已排产、及时开工、发料齐套报表需要统一缺件状态 |
|
||||
| 生产日报-送检 | 送检、已检、合格、不合格、部门 | 原质检记录按任务查,现在要按部门/日报统计 | 部门归属规则、日报快照、合计口径 | 质检报表、工位汇总、日报、看板需要改统计维度 |
|
||||
| 生产订单批量关闭 SAP | SAP 关闭结果、失败原因、操作日志 | MES/SAP 状态可能部分成功、重复关闭 | 批量结果表、重试机制、二次确认、权限 | 订单关闭页、排产页、生产中心、手续确认报表都要识别 SAP 关闭 |
|
||||
| 异常管控入口统一 | 异常关联任务、审批人多选、附件、处理状态 | 原异常页面独立,新增入口后所有报工页都要联动 | 异常状态流转、待办、任务暂停规则、异常统计 | 机加/装配/质检/外协/设计/编程报工页面都要加入口和状态 |
|
||||
| 生产工艺自动带出标准工艺 | 标准工艺草稿、生产工艺映射 | 原工艺一旦生成就被任务使用,修改会影响历史 | 工艺版本、任务快照、字段映射 | 生产计划跟踪、排产、流转卡、工时报表都要按任务快照而非最新工艺 |
|
||||
| 发货通知列表 | SAP 发货通知数据、状态、单据号 | 原大屏展示变为报表查询后要支持筛选和追溯 | SAP 数据同步/实时查询、导出、状态解释 | 大屏、销售/生产交付类报表可能要统一发货状态 |
|
||||
|
||||
## 三、最主要的问题不是新增页面,而是口径被改变
|
||||
|
||||
### 1. 工时口径会被重构
|
||||
|
||||
新增需求之前,系统主要工时来源集中在生产执行和质检相关记录,典型对象包括:
|
||||
- `YL_加工中心_操作记录表`
|
||||
- `生产管理_工时校验_校验工时表`
|
||||
- 装配报工记录
|
||||
- 质检记录或质检报工
|
||||
|
||||
新增需求之后,工时会被拆成更多类别:
|
||||
- 机加工时
|
||||
- 装配工时
|
||||
- 质检工时
|
||||
- 设计工时
|
||||
- 编程工时
|
||||
- 设备运行工时
|
||||
- 程序工时
|
||||
- 人员工时
|
||||
- 合同工时
|
||||
- 预计总工时
|
||||
- 剩余工时
|
||||
|
||||
会产生的问题:
|
||||
|
||||
1. 原来“总工时”字段含义不够用了。
|
||||
- `SelfMakePlandone` 要加总工时。
|
||||
- 装配已排产需求要显示生产订单累计工时、合同工时汇总。
|
||||
- 班次产量表要按设备、日期、班次汇总工时。
|
||||
- 工时报表要加指派对象。
|
||||
- 如果都叫“总工时”,但来源不一致,页面数字会对不上。
|
||||
|
||||
2. 合同进度会和生产任务工时产生冲突。
|
||||
- 装配已排产需求提出“合同进度 = 累计工时 / 预计总工时”。
|
||||
- 但累计工时是否包含设计、质检、编程、装配、返工、异常工时,需要明确。
|
||||
- 如果不明确,合同进度会成为争议字段。
|
||||
|
||||
3. 已完成报表需要增加工时分类。
|
||||
- 原工时报表只要显示工时即可。
|
||||
- 新增设计/编程后,必须能区分工时类型。
|
||||
- 否则设计工时可能被误算进生产工时,或者合同总工时漏算。
|
||||
|
||||
需要跟着调整的已完成页面/报表:
|
||||
|
||||
| 页面/报表 | 需要调整原因 | 建议调整 |
|
||||
|---|---|---|
|
||||
| `ProductionManagement/Timesheet` | 作业者工时新增指派对象,后续还会受到设计/编程工时影响 | 增加工时类型、来源模块、指派对象 |
|
||||
| `ProductionManagement/WorkHoursCheck` | SAP 工时/投料校验与 MES 工时会产生差异 | 显示本次提交、历史提交、SAP 返回结果 |
|
||||
| `PlanManagement/SelfMakePlandone` | 新增总工时和明细弹窗 | 总工时必须注明来源,仅统计生产报工还是包含质检/异常 |
|
||||
| `ProductionManagement/AssemblyCenter` | 装配工时要进入装配已排产需求和合同进度 | 输出可复用的装配工时汇总字段 |
|
||||
| 工位汇总表 | 新增班次、设备、人员、程序工时后口径变化 | 增加班次维度,区分设备工时/人工工时 |
|
||||
| 自制件汇总表 | 合同工时和订单工时可能要求纳入新工时类型 | 增加工时类型过滤和明细钻取 |
|
||||
|
||||
产生的隐性需求:
|
||||
- 统一工时事实视图或工时汇总表。
|
||||
- 工时来源字段:生产、装配、质检、设计、编程、设备采集。
|
||||
- 工时单位统一:秒、分钟、小时。
|
||||
- 工时快照:报表发布后是否允许历史数据随新规则变化。
|
||||
- 工时差异解释:人工工时、设备工时、SAP 工时不一致时显示差异原因。
|
||||
|
||||
客户可能继续要:
|
||||
- 合同维度工时明细。
|
||||
- 人员维度工时排名。
|
||||
- 设备维度利用率。
|
||||
- 设计/装配/质检工时占比。
|
||||
- 超预算工时预警。
|
||||
|
||||
### 2. 状态口径会被重新拉通
|
||||
|
||||
现有系统中已经出现很多状态:
|
||||
- 排产状态
|
||||
- 派工状态
|
||||
- 任务状态
|
||||
- 加工状态
|
||||
- 收料状态
|
||||
- 发料状态
|
||||
- 质检状态
|
||||
- 入库状态
|
||||
- 加急状态
|
||||
- 外协通知
|
||||
- SAP 订单状态
|
||||
- 手续确认状态
|
||||
- 异常状态
|
||||
- 编程完成状态
|
||||
- 设计任务状态
|
||||
|
||||
会产生的问题:
|
||||
|
||||
1. 一个任务在不同页面可能显示成不同状态。
|
||||
- 排产页面看 `排产状态`、`派工状态`。
|
||||
- 生产中心看 `任务状态`、`加工状态`。
|
||||
- 质检页面看检验记录。
|
||||
- 手续确认报表看手续确认、入库、关闭。
|
||||
- SAP 订单关闭后,MES 任务可能仍显示未完成。
|
||||
|
||||
2. 新增状态会影响原来的“消失条件”。
|
||||
- 手续确认报表中,已完成、取消、关闭、整单已入库都要消失。
|
||||
- 质检任务早知道也要排除已入库、关闭、取消任务。
|
||||
- 及时检验报表要排除已检足数量的任务。
|
||||
- 如果状态判断不统一,会出现同一任务在 A 页面消失,在 B 页面仍提醒。
|
||||
|
||||
3. 异常状态会打断原流程。
|
||||
- 报异常后是否允许继续报工?
|
||||
- 异常未关闭时是否允许质检?
|
||||
- 异常是否影响及时开工/及时检验/齐套报表?
|
||||
- 这些都不是当前页面能单独决定的。
|
||||
|
||||
需要跟着调整的已完成页面/报表:
|
||||
|
||||
| 页面/报表 | 受影响点 | 建议调整 |
|
||||
|---|---|---|
|
||||
| `AnomalousManagement/PunctualWork` | 及时开工按任务状态筛选,新增异常/编程/齐套后可能影响可执行判断 | 增加异常、编程、齐套条件说明 |
|
||||
| `PlanManagement/InstallMakePlan` | 排产完成后还要看 SAP 订单状态、发料齐套、装配完成时间 | 查询结果补 SAP/齐套相关状态 |
|
||||
| `PlanManagement/PlannOrderClose` | 批量关闭 SAP 后,MES 页面必须识别关闭结果 | 增加 SAP 关闭状态、失败原因、重试入口 |
|
||||
| `ProductionManagement/MachiningCenter` | 异常入口、编程完成、设备占用都会影响可开工 | 增加任务不可操作原因 |
|
||||
| `ProductionManagement/AssemblyCenter` | 装配完成时间、手续确认、异常都会影响任务显示 | 增加装配进度状态 |
|
||||
| `QualityManagement/QualityCenter` | 已入库/关闭/异常/让步接收会影响质检操作 | 增加质检可操作性判断 |
|
||||
| 生产任务看板 | 新增齐套、及时检验、手续确认、异常后看板指标会变化 | 重算指标口径 |
|
||||
|
||||
产生的隐性需求:
|
||||
- 生产任务状态总表。
|
||||
- 页面状态与数据库状态映射表。
|
||||
- 状态优先级规则:关闭 > 入库 > 异常 > 未检 > 未开工 等。
|
||||
- “不可操作原因”统一返回,而不是前端各页面自己判断。
|
||||
- 批量状态校验接口。
|
||||
|
||||
客户可能继续要:
|
||||
- 任务状态流转图。
|
||||
- 状态变更历史。
|
||||
- 状态异常看板。
|
||||
- 一键修复状态不一致。
|
||||
- 已关闭/已入库任务仍可查询但不可操作。
|
||||
|
||||
### 3. SAP 与 MES 数据一致性问题会放大
|
||||
|
||||
今天逐页面分析中,SAP 相关调用已经覆盖多个核心流程:
|
||||
- 排产确认:`PATCH /ProductionOrders(...)`
|
||||
- 订单关闭:`PATCH /ProductionOrders(...)`
|
||||
- 工时校验/发料:`GET /ProductionOrders`、`POST /InventoryGenExits`、`PATCH ProductionOrders(...)`
|
||||
- 外协采购申请:`POST /PurchaseRequests`
|
||||
- 外协采购收货:`POST /PurchaseDeliveryNotes`
|
||||
- 工位资源:`POST /Resources`、`PATCH /Resources(...)`
|
||||
- 工序:`POST /RouteStages`、`PATCH /RouteStages(...)`
|
||||
|
||||
新增需求后,SAP 相关数据还会增加:
|
||||
- SAP 派工时间
|
||||
- 合同交货期
|
||||
- 发料齐套时间
|
||||
- 缺件明细
|
||||
- 发货通知
|
||||
- 采购收货单号
|
||||
- SAP 订单取消/关闭状态
|
||||
|
||||
会产生的问题:
|
||||
|
||||
1. 实时查 SAP 和 MES 落库字段会不一致。
|
||||
- 及时齐套缺件明细要求 SAP 实时查询。
|
||||
- 装配已排产需求要求 SAP 派工时间、合同交货期。
|
||||
- 发货通知列表来源 SAP。
|
||||
- 如果某些页面读 SAP 实时,某些页面读 MES 同步表,数字和状态可能不同。
|
||||
|
||||
2. SAP 写操作失败会产生半成功数据。
|
||||
- MES 排产已完成,但 SAP 生产订单未更新。
|
||||
- MES 工时校验已保存,但 `InventoryGenExits` 失败。
|
||||
- 批量关闭 SAP 订单时,部分成功部分失败。
|
||||
- 外协采购请求成功,但 MES 未记录单号。
|
||||
|
||||
3. 新增报表会追问 SAP 数据更新时间。
|
||||
- 合同交货期什么时候同步?
|
||||
- 发料齐套时间是否最新?
|
||||
- 缺件明细是否实时?
|
||||
- 发货通知状态是否已更新?
|
||||
|
||||
需要跟着调整的已完成页面/报表:
|
||||
|
||||
| 页面/报表 | 受影响点 | 建议调整 |
|
||||
|---|---|---|
|
||||
| `PlanManagement/SelfMakePlan/SelfMakePlando/SelfMakePlandone` | 排产同步 SAP 后缺少同步结果留痕 | 增加 SAP 同步状态、失败提示、重试依据 |
|
||||
| `PlanManagement/InstallMakePlan/InstallMakePlanDo` | 装配新增 SAP 派工时间、合同交货期、发料齐套时间 | 查询和导出补 SAP 字段来源 |
|
||||
| `ProductionManagement/WorkHoursCheck` | 已有 SAP 工序、资源、发料操作 | 增加 SAP 请求/返回日志和失败重试 |
|
||||
| `QualityManagement/CheckTask/processReceive` | SAP 采购收货单号成为后续统计字段 | 保存 SAP 单号、行号、供应商 |
|
||||
| `ProductionManagement/OutsourceMange` | 外协采购请求后要追踪 SAP 单据 | 记录采购请求号/采购订单关系 |
|
||||
| `SystemMaintenance/WorkstationManagement` | 工位资源同步 SAP 后要防重复 | 增加 SAP 资源编码校验 |
|
||||
| 发货通知大屏/新增报表 | 大屏已有数据,新增报表要求查询/导出 | 明确实时或同步数据源 |
|
||||
|
||||
产生的隐性需求:
|
||||
- SAP 调用日志表。
|
||||
- SAP 同步状态字段。
|
||||
- SAP 失败重试页面。
|
||||
- SAP 单据关系表:MES 任务 -> SAP 生产订单/采购请求/收货单/发货通知。
|
||||
- 数据更新时间展示。
|
||||
- 批量操作结果明细。
|
||||
|
||||
客户可能继续要:
|
||||
- SAP 同步失败列表。
|
||||
- 手工重推 SAP。
|
||||
- SAP 与 MES 差异对账。
|
||||
- 每张 SAP 单据反查 MES 来源任务。
|
||||
- 批量关闭/批量回写的成功失败导出。
|
||||
|
||||
### 4. 报表会从结果展示变成数据追溯
|
||||
|
||||
新增需求中报表很多:
|
||||
- 机加班次产量表
|
||||
- 手续确认报表
|
||||
- 及时检验报表
|
||||
- 及时齐套跟踪结果报表
|
||||
- 生产日报-送检
|
||||
- 让步接收记录
|
||||
- 及时送检报表
|
||||
- 发货通知列表
|
||||
- 质检任务早知道
|
||||
- 设计工时报表
|
||||
- 自制件汇总表
|
||||
- 工位汇总表
|
||||
|
||||
会产生的问题:
|
||||
|
||||
1. 报表之间会互相引用同一批数据。
|
||||
- 及时检验依赖报工记录和质检记录。
|
||||
- 生产日报-送检依赖送检和质检记录。
|
||||
- 质检任务早知道依赖装配完成时间。
|
||||
- 装配已排产需求依赖工时、异常、齐套、SAP 字段。
|
||||
- 如果每个报表各写一套 SQL,口径会分裂。
|
||||
|
||||
2. 报表新增字段会要求历史数据补齐。
|
||||
- 外协检验新增供应商后,历史质检记录没有供应商。
|
||||
- 发料齐套时间新增后,历史生产计划没有该字段。
|
||||
- 手续确认新增后,历史任务默认是否“未确认”需要确定。
|
||||
- 设计/编程工时新增后,历史合同进度是否重算需要确定。
|
||||
|
||||
3. 报表会反向要求修改业务页面。
|
||||
- 报表要统计供应商合格率,就要求质检页面必须保存供应商。
|
||||
- 报表要统计及时检验,就要求报工结束时间必须准确。
|
||||
- 报表要统计手续确认,就要求业务页面维护确认状态。
|
||||
- 报表要统计合同进度,就要求所有工时都有合同号。
|
||||
|
||||
需要跟着调整的已完成页面/报表:
|
||||
|
||||
| 已完成页面/报表 | 因新增需求需要调整什么 |
|
||||
|---|---|
|
||||
| 生产任务看板 | 增加及时齐套、及时检验、手续确认、装配完成时间等新指标或修正原指标 |
|
||||
| 机加设备/生产运营看板 | 班次产量、设备工时、程序工时进入后,需要重算设备利用和产量口径 |
|
||||
| 装配任务看板 | 装配完成时间、发料齐套、合同交货期、质检任务早知道会影响待办和逾期 |
|
||||
| 质检任务看板 | 新增及时检验、质检任务早知道、让步接收后,待检数量口径要改 |
|
||||
| 自制件汇总表 | 新增历史工时、设计/编程/质检工时后,总工时口径要扩展 |
|
||||
| 工位汇总表 | 班次和设备采集数据进入后,按工位+日期的统计需要支持班次和设备维度 |
|
||||
| 外协任务报表 | 增加供应商、采购到货期说明、SAP 收货单号后,导出和统计都要改 |
|
||||
| 工时报表 | 指派对象、工时分类、设计/编程工时进入后,需要新增字段和筛选 |
|
||||
|
||||
产生的隐性需求:
|
||||
- 报表数据口径说明。
|
||||
- 报表明细钻取。
|
||||
- 报表导出字段配置。
|
||||
- 报表历史快照。
|
||||
- 历史数据补录/默认值策略。
|
||||
- 跨报表公共视图。
|
||||
|
||||
客户可能继续要:
|
||||
- 每个报表点击数字看明细。
|
||||
- 报表导出与页面一致。
|
||||
- 报表按部门、班组、班次、人员、设备切换。
|
||||
- 报表定时推送。
|
||||
- 历史报表锁定,不随后续数据变化。
|
||||
|
||||
## 四、已完成页面/报表需要关注的改造清单
|
||||
|
||||
### 1. 计划排产相关页面
|
||||
|
||||
| 页面 | 需要关注的新增影响 | 是否需要修改 |
|
||||
|---|---|---|
|
||||
| `PlanManagement/SelfMakePlan` | SAP 回写状态、排产字段、计划时间口径、总工时 | 需要,至少补同步状态和字段口径 |
|
||||
| `PlanManagement/SelfMakePlando` | 待排产转已排产后,装配/机加新字段是否继承 | 需要,确认新增字段默认值 |
|
||||
| `PlanManagement/SelfMakePlandone` | 单日期筛选、总工时、历史明细、SAP 状态 | 已明确需要改 |
|
||||
| `PlanManagement/InstallMakePlan` | 装配已排产需求会复用其数据,新增 SAP 派工时间、合同交货期、发料齐套 | 需要,至少 SQL 返回字段要扩展 |
|
||||
| `PlanManagement/InstallMakePlanDo` | 同上,且涉及采购请求/SAP 回写 | 需要,补 SAP 单据和失败处理 |
|
||||
| `PlanManagement/PlannOrderClose` | 批量关闭 SAP 后影响所有任务显示 | 需要,增加批量结果、失败原因、日志 |
|
||||
|
||||
### 2. 生产执行相关页面
|
||||
|
||||
| 页面 | 需要关注的新增影响 | 是否需要修改 |
|
||||
|---|---|---|
|
||||
| `ProductionManagement/MachiningCenter` | 编程状态、异常入口、设备工时、程序工时、及时检验起算 | 需要,新增入口和不可操作原因 |
|
||||
| `ProductionManagement/AssemblyCenter` | 装配完成时间、手续确认、装配工时、异常、发料任务状态 | 需要,作为装配已排产需求的数据来源 |
|
||||
| `ProductionManagement/ProductionTaskManage` | 生产任务状态增加异常/齐套/质检/关闭维度 | 需要,查询字段和状态说明要扩展 |
|
||||
| `ProductionManagement/AssembleTaskManage` | 装配任务将进入日计划和质检任务早知道 | 需要,补装配完成时间和任务排除规则 |
|
||||
| `ProductionManagement/WorkHoursCheck` | SAP 工时校验、发料、订单工序资源更新风险扩大 | 需要,补 SAP 日志、重试、差异说明 |
|
||||
| `ProductionManagement/Timesheet` | 指派对象、设计/编程工时、工时分类 | 需要,补字段和筛选 |
|
||||
|
||||
### 3. 质检相关页面
|
||||
|
||||
| 页面 | 需要关注的新增影响 | 是否需要修改 |
|
||||
|---|---|---|
|
||||
| `QualityManagement/QualityCenter` | 及时检验、让步接收、外协供应商、已入库限制 | 需要,补状态和字段 |
|
||||
| `QualityManagement/CheckTask/processReceive` | SAP 采购收货单号、供应商、外协指派对象 | 需要,新增保存和查询字段 |
|
||||
| `QualityManagement/CheckTask/purchaseIncoming` | 采购检验备注、供应商统计、到货期说明 | 需要,至少补导出字段 |
|
||||
| `QualityManagement/CheckTask/materialReturn` | 退库备注、库存任务状态 | 可能需要,跟退库备注和库存任务联动 |
|
||||
| `QualityManagement/Unqualified` | 供应商合格率、让步接收、不合格统计口径 | 需要,补供应商/让步接收字段 |
|
||||
| 质检任务看板 | 质检任务早知道和及时检验会改变待检数量 | 需要,重算待检/超期口径 |
|
||||
|
||||
### 4. 外协相关页面
|
||||
|
||||
| 页面 | 需要关注的新增影响 | 是否需要修改 |
|
||||
|---|---|---|
|
||||
| `ProductionManagement/OutsourceMange` | 外协采购请求、供应商、发料/收料/质检闭环 | 需要,补 SAP 单据关系 |
|
||||
| `ProductionManagement/OutsourceSheet` | 采购到货期说明、供应商、SAP 收货单号、外协质检 | 需要,查询和导出都要补 |
|
||||
| `ProductionManagement/SaleOutsourceMange` | 销售外协同样受采购请求和供应商统计影响 | 需要,保持与外协管理一致 |
|
||||
|
||||
### 5. 工艺和基础数据页面
|
||||
|
||||
| 页面 | 需要关注的新增影响 | 是否需要修改 |
|
||||
|---|---|---|
|
||||
| `ProcessManagement/ProcessProduct` | 自动带出标准工艺后,生产任务快照问题变明显 | 需要,避免覆盖已开工任务 |
|
||||
| `CraftManagement/CraftMaintain` | 工艺版本、标准工艺字段映射 | 需要,补版本/草稿概念 |
|
||||
| `ProcessManagement/ProcedureManagement` | SAP `RouteStages` 同步后要防止 MES/SAP 工序不一致 | 需要,补同步状态 |
|
||||
| `SystemMaintenance/WorkstationManagement` | SAP `Resources` 新增/修改后要防重复和同步失败 | 需要,补资源同步状态 |
|
||||
|
||||
### 6. 已完成看板和报表
|
||||
|
||||
| 看板/报表 | 新增功能导致的新数据 | 需要调整 |
|
||||
|---|---|---|
|
||||
| 生产任务看板 | 发料齐套、及时齐套、装配完成时间、及时检验、异常 | 指标口径需要重算 |
|
||||
| 装配任务看板 | 装配完成时间、合同交货期、质检预告、手续确认 | 新增逾期和待办指标 |
|
||||
| 质检任务看板 | 及时检验、质检任务早知道、让步接收 | 待检、超期、预告分开 |
|
||||
| 机加设备生产运营看板 | 班次产量、程序工时、设备采集 | 设备利用率和产量来源需要统一 |
|
||||
| 自制件汇总表 | 总工时、设计/编程/质检分类 | 工时口径要扩展 |
|
||||
| 工位汇总表 | 班次、设备、人员、程序工时 | 增加班次/设备维度或说明不支持 |
|
||||
|
||||
## 五、新增数据会带来的数据治理问题
|
||||
|
||||
### 1. 新字段放哪里
|
||||
|
||||
容易新增到生产计划/任务表的字段:
|
||||
- 发料齐套时间
|
||||
- 装配完成时间
|
||||
- 手续确认
|
||||
- 当前对应人员
|
||||
- 当前对应内容
|
||||
- 钣金预达
|
||||
- 钣金到达
|
||||
- 泵
|
||||
- 生产异常标记
|
||||
|
||||
问题:
|
||||
- 这些字段有些是 SAP 来的,有些是手工维护,有些是计算结果。
|
||||
- 全部塞进 `MES_接口_生产计划` 或 `MES_接口_生产计划_生产任务` 会让主表越来越混乱。
|
||||
- 手工维护字段还需要修改历史,否则无法解释是谁改了装配完成时间。
|
||||
|
||||
建议:
|
||||
- SAP 同步字段、手工维护字段、计算字段分开存。
|
||||
- 手工维护字段建议用扩展表。
|
||||
- 计算字段优先用视图或报表过程生成。
|
||||
|
||||
### 2. 历史数据怎么处理
|
||||
|
||||
新增字段会导致历史数据为空:
|
||||
- 历史外协质检没有供应商。
|
||||
- 历史质检没有 SAP 收货单号。
|
||||
- 历史生产计划没有发料齐套时间。
|
||||
- 历史任务没有手续确认。
|
||||
- 历史任务没有设计/编程工时。
|
||||
|
||||
问题:
|
||||
- 报表默认查全部时,历史数据会被算成未完成、未确认、未齐套。
|
||||
- 用户可能认为系统数据异常。
|
||||
|
||||
建议:
|
||||
- 每个新增字段定义历史默认规则。
|
||||
- 报表上区分“无数据”和“未完成”。
|
||||
- 对考核类报表增加启用日期。
|
||||
|
||||
### 3. 新增数据是否参与已完成报表
|
||||
|
||||
例如:
|
||||
- 设计工时是否参与合同进度?
|
||||
- 编程工时是否参与生产订单累计工时?
|
||||
- 让步接收是否算合格?
|
||||
- 外协供应商合格率是否包含历史无供应商数据?
|
||||
- 已入库补检是否进入及时检验统计?
|
||||
|
||||
这些会直接影响已完成报表。
|
||||
|
||||
建议:
|
||||
- 新增需求上线前,同步输出“影响报表清单”。
|
||||
- 每个报表明确是否纳入新数据。
|
||||
- 如果纳入,是否重算历史。
|
||||
|
||||
## 六、系统级隐性需求清单
|
||||
|
||||
这些不是客户一开始直接说的需求,但只要新增功能落地,基本会被迫出现。
|
||||
|
||||
| 隐性需求 | 触发原因 | 不做的后果 |
|
||||
|---|---|---|
|
||||
| 字段来源字典 | 新字段来自 MES、SAP、手工、设备采集 | 联调时无法解释字段来源,报表口径反复变 |
|
||||
| 状态总字典 | 状态分散在排产、生产、质检、入库、SAP | 同一任务不同页面显示不同状态 |
|
||||
| SAP 调用日志 | 多页面写 SAP,且可能失败 | 无法排查 MES/SAP 不一致 |
|
||||
| SAP 失败重试 | 批量关闭、工时校验、外协采购都可能部分失败 | 人工只能改库或重复操作 |
|
||||
| 工时统一视图 | 新增设计、编程、设备、合同工时 | 各报表总工时对不上 |
|
||||
| 报表明细钻取 | 汇总类报表越来越多 | 客户无法核对数字,只能反复查 SQL |
|
||||
| 报表历史快照 | 报表用于日报/周报/考核 | 历史报表随数据变化,无法对账 |
|
||||
| 手工字段维护历史 | 装配完成时间、钣金、泵、手续确认等可人工维护 | 无法追溯谁改了关键交期字段 |
|
||||
| 批量操作结果表 | 批量关闭 SAP、批量排产、批量确认 | 部分成功/失败无法恢复 |
|
||||
| 异常统一入口组件 | 所有报工页都要报异常 | 每页重复开发,状态不一致 |
|
||||
| 任务追溯详情页 | 报表要解释数字来源 | 每个报表都要临时加明细 |
|
||||
| 菜单/权限自动配置规范 | 新增页面很多 | 页面上线后权限、菜单容易漏 |
|
||||
| 数据启用日期配置 | 新字段历史为空 | 历史数据被误算为异常 |
|
||||
| 不可操作原因接口 | 关闭、入库、异常、未齐套都影响操作 | 前端提示不一致,用户不知道为什么不能点 |
|
||||
|
||||
## 七、客户可能继续提出的需求
|
||||
|
||||
保留从客户使用角度推导出的后续需求,但这些需求都是由前面的整体影响引出来的。
|
||||
|
||||
### 1. 围绕工时
|
||||
|
||||
- 合同总工时明细。
|
||||
- 设计/编程/装配/质检/机加工时占比。
|
||||
- 按人员、设备、班次统计工时。
|
||||
- 工时超预算预警。
|
||||
- 工时与 SAP 上传差异对比。
|
||||
- 一键查看某订单所有工时来源。
|
||||
|
||||
### 2. 围绕状态和进度
|
||||
|
||||
- 生产任务全流程状态图。
|
||||
- 每个状态变更历史。
|
||||
- 为什么任务不可开工/不可质检/不可关闭的原因说明。
|
||||
- 已关闭/已入库任务仍可查询但禁止操作。
|
||||
- 任务异常状态看板。
|
||||
|
||||
### 3. 围绕 SAP
|
||||
|
||||
- SAP 同步失败清单。
|
||||
- 手工重推 SAP。
|
||||
- SAP 与 MES 状态对账。
|
||||
- SAP 单据号反查 MES 任务。
|
||||
- 批量 SAP 操作结果导出。
|
||||
- SAP 数据最后同步时间展示。
|
||||
|
||||
### 4. 围绕质检
|
||||
|
||||
- 供应商合格率。
|
||||
- 设备合格率。
|
||||
- 让步接收审批。
|
||||
- 质检超期催办。
|
||||
- 已入库补检。
|
||||
- 质检记录按订单、供应商、人员、工序多维分析。
|
||||
|
||||
### 5. 围绕报表
|
||||
|
||||
- 所有汇总数字可点开明细。
|
||||
- 报表导出字段自定义。
|
||||
- 报表按部门/班组/班次拆分。
|
||||
- 报表定时推送。
|
||||
- 日报/周报历史锁定。
|
||||
|
||||
### 6. 围绕异常
|
||||
|
||||
- 所有报工页面直接报异常。
|
||||
- 异常审批待办。
|
||||
- 异常处理超期提醒。
|
||||
- 异常关闭后自动恢复任务。
|
||||
- 异常原因统计。
|
||||
|
||||
## 八、建议的开发控制策略
|
||||
|
||||
### 1. 每个新增需求都必须补“四张表”
|
||||
|
||||
不是数据库表,而是分析表:
|
||||
|
||||
1. 字段影响表:新增字段来自哪里,写到哪里,哪些页面显示。
|
||||
2. 状态影响表:是否改变排产/派工/任务/质检/入库/SAP 状态。
|
||||
3. 报表影响表:哪些已完成报表要纳入新数据。
|
||||
4. SAP 影响表:是否读 SAP、写 SAP、是否需要日志和重试。
|
||||
|
||||
### 2. 不建议继续只按页面单点开发
|
||||
|
||||
原因:
|
||||
- 新增页面会越来越多,但数据源高度重叠。
|
||||
- 如果每个页面单独写 SQL,口径很快分裂。
|
||||
- 新增字段一旦被报表引用,历史数据和导出口径都会受影响。
|
||||
|
||||
建议:
|
||||
- 工时类先建统一视图。
|
||||
- 状态类先建统一解释。
|
||||
- SAP 类先建日志。
|
||||
- 报表类先建公共明细查询。
|
||||
|
||||
### 3. 新增字段优先走扩展表
|
||||
|
||||
适合放扩展表的字段:
|
||||
- 手工维护字段。
|
||||
- SAP 同步字段。
|
||||
- 报表补充字段。
|
||||
- 后续可能继续变动的字段。
|
||||
|
||||
不建议直接塞入主任务表的字段:
|
||||
- 钣金预达、钣金到达、泵、当前对应内容。
|
||||
- 手续确认说明。
|
||||
- SAP 同步状态明细。
|
||||
- 合同级汇总字段。
|
||||
|
||||
### 4. 报表先定口径,再开发页面
|
||||
|
||||
尤其是:
|
||||
- 及时检验。
|
||||
- 及时送检。
|
||||
- 生产日报-送检。
|
||||
- 机加班次产量。
|
||||
- 装配已排产需求。
|
||||
- 合同工时汇总。
|
||||
|
||||
这些报表一旦上线,后续就是管理依据,不能边用边改口径。
|
||||
|
||||
## 九、结论
|
||||
|
||||
新增需求真正带来的影响不是“多几个页面”,而是会改变现有系统的数据结构和统计口径。
|
||||
|
||||
最需要提前处理的是:
|
||||
|
||||
1. 工时统一,否则总工时、合同进度、班次产量、日报都会互相对不上。
|
||||
2. 状态统一,否则排产、生产、质检、入库、关闭、异常在不同页面显示不一致。
|
||||
3. SAP 日志和重试,否则批量关闭、工时校验、外协采购、质检收货都会出现无法排查的半成功状态。
|
||||
4. 报表影响清单,否则新增字段上线后已完成报表会漏算或错算。
|
||||
5. 历史数据策略,否则新增字段为空会被误判为未完成、未确认、未齐套。
|
||||
|
||||
因此后续评估新增需求时,应先问一个问题:这个需求新增的数据,会不会改变现有页面、报表、看板、SAP 状态和历史统计。如果会,就必须同步改受影响页面,而不是只开发新页面。
|
||||
|
||||
## 十、同级项目数据看板带来的额外连锁影响
|
||||
|
||||
这次补充分析的同级看板包括:`生产任务看板`、`装配任务看板`、`质检任务看板`、`机加设备生产运营看板`、`机加设备生产运营看板二`、`TableTV`、`board_view`、`新建文件夹`。这些项目不是普通查询页,而是管理层和车间现场会持续观看的大屏。它们把 MES、SAP、设备采集、质检和工时数据压缩成几个关键数字,因此新增需求影响到看板时,问题会比普通页面更明显:不是某个按钮不可用,而是管理层看到的 KPI 可能直接变错。
|
||||
|
||||
### 1. 新增功能会让现有看板指标失真的位置
|
||||
|
||||
| 看板指标 | 当前主要来源 | 新增需求/功能变化 | 可能失真结果 | 必须同步改造 |
|
||||
|---|---|---|---|---|
|
||||
| 生产任务看板“按期齐套率” | `生产任务综合看板_按期齐套率`,按 `View_生产订单_MES.齐套` 汇总 | 及时齐套跟踪、SAP 缺件明细、部分齐套、预计齐套时间 | 只有“齐套/未齐套”会掩盖部分齐套和预计可执行状态 | 增加齐套状态字典、缺件明细、预计齐套日期、SAP 同步时间 |
|
||||
| 生产任务看板“未及时开工” | `计划开始时间、开工时间、加工状态、合格数` | 设计/编程前置、异常暂停、二次派工、手续确认 | 被设计/编程/异常卡住的任务仍被算作生产未及时开工 | 增加未开工原因维度,区分“计划原因、前置原因、异常原因、人员/设备原因” |
|
||||
| 生产任务看板“加急件” | SAP `ubt_OPKL_UrgentMaterials_ALL` + MES 计划 | 加急从订单级变为物料/工序/质检级 | 加急总数与页面明细、装配缺件、质检加急互相对不上 | 建统一加急来源视图,明确订单级/工序级/物料级 |
|
||||
| 装配看板“发货状态” | `View_生产订单_MES.发货状态` + SAP `UBT_ODRF_ODLNMES` | 发货通知列表、仓库出库、SAP 发货回写 | 页面显示“发货状态”但可能混合通知、待出库、已出库、已交货 | 增加发货状态分层:通知、备货、出库、交货、SAP 回写 |
|
||||
| 装配看板“在制缺件” | SAP 缺件表 + MES 装配计划 | 及时齐套跟踪、替代料、部分到货 | 只能看到缺件,无法知道是否已经采购、何时可恢复 | 增加缺件原因、预计到货、替代料、主子订单关系 |
|
||||
| 装配看板“异常未关闭” | `流程表.完成人 is null` | 异常管控入口统一,机加/质检/外协都能发异常 | 未限定装配范围时,装配看板可能统计到其他部门异常 | 异常流程必须带业务域、任务、工序、责任部门 |
|
||||
| 质检看板“未清任务” | `质量任务看板_未完成统计/明细` | 及时检验、复检、返工、让步接收、免检 | 未清数量会把复检/返工/免检混为同一类待检 | 增加质检状态流转、复检批次、处置结果、免检标识 |
|
||||
| 质检看板“当天完成” | `View_质量检验_质检记录` 当天检测时间 | 生产日报-送检、部门日报、班次统计 | 当天完成按自然日统计,日报/班次按业务日统计会不一致 | 增加班次/日报快照口径 |
|
||||
| 机加看板“设备运行状态” | `CaChe_Var` 当前缓存 | 机加班次产量、真实 OEE、设备运行工时 | 设备运行与任务报工可能不同步,OEE 无法解释 | 统一设备状态、任务状态、报工状态的时间轴 |
|
||||
| 机加看板“当天完成/合格率” | 复用质检完成汇总 | 生产完成、质检完成、入库完成都被要求展示 | “完成”可能被理解成生产完成,但实际是质检完成 | 页面标题和过程改名,或新增生产完成口径 |
|
||||
| `TableTV` 当前工位任务 | `设备管理_设备状态_查询` | 班次维护、人员绑定、二次派工 | 班次阈值写死后,人员归属与班次管理不一致 | 过程改读班次表,不再硬编码 7.5/16.5 |
|
||||
| `board_view` 合同/项目进度 | `看板_*`,采购/库存/OEE 多处为 0 或样例 | 发货通知、采购到货、合同工时、真实 OEE | 综合大屏展示为“项目全貌”,但采购、库存、OEE 仍不真实 | 优先补真实数据源,否则不要作为经营口径 |
|
||||
|
||||
### 2. 已完成页面、报表、看板必须同步修改的清单
|
||||
|
||||
| 变更来源 | 必须同步修改的看板/报表 | 原因 |
|
||||
|---|---|---|
|
||||
| 设计任务报工、编程任务报工 | `board_view` 工时消耗、未完工工时;工时报表;合同进度类报表 | 当前大屏工时主要来自生产工时,新增设计/编程后合同总工时会漏算 |
|
||||
| 装配已排产需求 | `生产任务看板`、`装配任务看板`、`board_view` 装配进度 | 装配计划、齐套、发货、异常、累计工时都会进入交付进度 |
|
||||
| 及时检验报表 | `质检任务看板`、`机加设备生产运营看板`、生产日报-送检 | 质检及时率必须从静态/占位指标变成真实过程 |
|
||||
| 及时齐套跟踪 | `生产任务看板` 齐套率/未齐套任务、`装配任务看板` 缺件、`board_view` 合同进度 | 缺件从单一状态变成主子订单、SAP 缺料、预计可执行时间 |
|
||||
| 发货通知列表 | `装配任务看板` 发货状态、`board_view` 合同/交付区域 | 发货状态需要区分 SAP 通知、仓库出库、MES 任务完成 |
|
||||
| 机加班次产量表 | `TableTV`、机加运营看板、设备工时报表 | 班次、设备、人员、产量、工时必须按同一业务日归属 |
|
||||
| 异常管控入口统一 | 装配看板异常数、机加看板未及时开工、生产任务看板风险数 | 异常暂停不应被误算为未及时开工或未完成 |
|
||||
| SAP 生产订单批量关闭 | 生产任务看板、装配看板、计划关闭页、手续确认报表 | SAP 部分成功/失败会造成 MES 任务仍显示在看板上 |
|
||||
| 外协检验字段增强 | 质检看板、外协报表、供应商质量统计 | 质检任务要按供应商、采购收货单、指派对象追溯 |
|
||||
|
||||
### 3. 看板暴露出的系统级隐性需求
|
||||
|
||||
1. **统一指标口径层**
|
||||
现在不同看板各自写存储过程:`生产任务综合看板_*`、`装配中心任务看板_*`、`质量任务看板_*`、`机加设备生产运营看板_*`、`看板_*`。这些过程大量重复读取 `View_生产订单_MES`、`YL_质量检验_质检记录`、`YL_加工中心_操作记录表`。后续应建立统一口径视图,例如:
|
||||
- `View_MES_任务状态统一口径`
|
||||
- `View_MES_齐套缺件统一口径`
|
||||
- `View_MES_质检待办统一口径`
|
||||
- `View_MES_工时统一口径`
|
||||
- `View_MES_设备任务运行统一口径`
|
||||
|
||||
2. **统一状态字典**
|
||||
当前看板内同时出现 `任务状态`、`加工状态`、`排产状态`、`齐套`、`发料状态`、`拣配状态`、`发货状态`、`加急状态`、`质检状态`、`设备状态`。这些状态来自不同表,且有的前端再次转换。必须补一张状态解释表或统一视图,避免同一个 `0/1/2/4` 在不同页面含义不同。
|
||||
|
||||
3. **SAP 同步状态与时间戳**
|
||||
看板不是实时调用 B1 Service Layer,而是通过 SQL 读取 SAP 跨库表或 SAP 同步落地表,例如 `ubt_OPKL_UrgentMaterials_ALL`、`UBT_ODRF_ODLNMES`、`质量检验_质检任务_SAP`。因此大屏上所有 SAP 相关指标都应该显示或记录同步时间、同步结果、失败原因。否则用户看到缺件、发货、加急时无法判断是 SAP 最新状态还是 MES 缓存状态。
|
||||
|
||||
4. **指标钻取能力**
|
||||
`board_view` 已经有中央订单点击钻取明细,其他看板多数只有汇总和滚动表。新增需求上线后,客户很可能要求点击“未及时开工、未清质检、缺件、异常、加急、未齐套”直接看到来源明细。不能只返回总数,过程应统一支持“汇总 + 明细 + 字段来源”。
|
||||
|
||||
5. **历史快照**
|
||||
大屏是实时结果,但日报、周报、月报需要历史定版。当前很多过程使用 `GETDATE()` 实时计算,例如当天完成、近 3 天装配合格率、当月计划执行率。新增管理报表后,必须保存日快照或允许传入统计日期,否则第二天无法复现昨天看板上的数字。
|
||||
|
||||
6. **占位指标清理**
|
||||
`board_view` 中 OEE、环境、水电气、采购部进度、库存/在购字段存在样例或占位;生产任务看板中采购未及时到货、质检及时率、未及时入库也有静态值或未完整接入。上线前必须清理占位指标:要么接真实过程,要么隐藏,不要和真实指标混放。
|
||||
|
||||
### 4. 统一改造建议
|
||||
|
||||
| 优先级 | 改造项 | 解决的问题 |
|
||||
|---|---|---|
|
||||
| P0 | 给所有看板指标补“口径说明 + 来源过程 + 来源字段” | 防止管理层把不同含义的“完成、齐套、加急、在制”混用 |
|
||||
| P0 | 把 `GETDATE()` 型过程改造为可传统计日期,实时看板默认当天 | 让日报/历史回看能复现 |
|
||||
| P0 | 为 SAP 相关看板补同步时间和同步状态 | 判断数据新旧,排查 SAP/MES 不一致 |
|
||||
| P1 | 统一质检待办过程,覆盖未清、及时率、关键工序、当天完成 | 避免 `质量任务看板_*` 和 `Visualization_QcTask_*` 两套接口并行 |
|
||||
| P1 | 统一机加任务/设备状态过程,区分任务在制、设备运行、报工完成 | 防止设备状态与任务状态互相替代 |
|
||||
| P1 | 统一装配发货/缺件过程,串起 SAP 发货通知、缺件、齐套、仓库出库 | 让装配看板真正反映交付风险 |
|
||||
| P2 | 将 `board_view` 的占位采购、库存、OEE 接入真实数据或移除 | 避免综合大屏成为混合真实/样例数据的经营看板 |
|
||||
|
||||
### 5. 客户可能继续提出的看板类需求
|
||||
|
||||
这些不是主分析角度,但从现有看板形态看,客户后续很可能继续要求:
|
||||
|
||||
- 点击任意 KPI 下钻明细,例如未齐套、加急、未及时开工、未清质检、装配缺件。
|
||||
- 看板按项目、合同、车间、班组、设备筛选。
|
||||
- 看板显示 SAP 同步时间和异常提示。
|
||||
- 看板支持历史日期回看,而不是只能看当前实时数据。
|
||||
- 质检看板增加及时率趋势和超期责任人。
|
||||
- 装配看板增加预计发货、预计齐套、缺件到货日期。
|
||||
- 机加看板增加真实 OEE、设备利用率、程序运行时长、班次产量。
|
||||
- 生产任务综合看板增加“设计/编程是否完成”作为开工前置条件。
|
||||
- 大屏数据定时快照,日报/周报自动引用同一口径。
|
||||
|
||||
## 十一、设备数据采集与现场大屏专项影响分析
|
||||
|
||||
本次新增的设备档案、设备数据采集、OEE、工时异常、条码拣配和一楼/机加/装配现场大屏需求,会把系统从“任务报工驱动”进一步推向“设备实时数据 + MES 任务 + 质检结果 + 现场人员 + SAP 物料状态”的综合分析系统。它的影响不只在新增几个看板,而是会改变工时、产量、合格率、齐套、送检、缺勤、设备状态的基础口径。
|
||||
|
||||
### 1. 总体影响链路
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[设备档案/主要设备/标准工时] --> B[设备数据采集]
|
||||
B --> C[设备状态时长]
|
||||
B --> D[程序工时/单件工时]
|
||||
C --> E[设备利用率]
|
||||
D --> F[性能开动率]
|
||||
G[MES 报工/计划产量] --> H[产能利用率]
|
||||
I[质检记录/良品不良品] --> J[产品合格率]
|
||||
E --> K[OEE]
|
||||
F --> K
|
||||
J --> K
|
||||
D --> L[工时异常报表]
|
||||
M[条码拣配] --> N[齐套/发料/拣配状态]
|
||||
N --> O[生产/装配看板]
|
||||
P[关键工序标识] --> Q[质检/机加关键任务大屏]
|
||||
R[班次/岗位/工位/考勤] --> S[缺勤人员大屏]
|
||||
```
|
||||
|
||||
### 2. 对现有数据模型的冲击
|
||||
|
||||
| 新需求 | 新增或必须明确的数据 | 冲击对象 | 主要问题 |
|
||||
|---|---|---|---|
|
||||
| 设备档案管理 | 主要设备、参与 OEE、设备/工位关系、标准工时来源 | 设备档案、工位管理、工艺维护 | 标准工时放设备、工艺还是设备+工序能力表必须明确 |
|
||||
| 设备数据采集 | 程序工时、单件工时、设备状态时长、程序号、采集时间 | `CaChe_Var`、历史设备数据、设备状态记录、工时报表 | 当前多为当前缓存或历史状态,缺少可直接算单件工时的任务绑定 |
|
||||
| OEE 指标 | 计划产量、实际产量、设备工时、标准工时、标准单件工时、实际单件工时、良品数 | 机加看板、`board_view`、设备报表 | OEE 三个组成指标必须同设备、同日期、同班次,否则乘出来没有管理意义 |
|
||||
| 工时异常报表 | 实际单件工时、标准单件工时、超出比例、异常原因 | 工时查询、工时校验、异常管控 | 设备采集工时与人工报工工时不一致时,谁作为异常依据需要确定 |
|
||||
| 条码拣配 | 条码、物料、批次、任务、拣配人、拣配时间、状态写回 | 机加中心、装配中心、齐套看板 | 条码扫描会改变 `拣配状态/齐套/发料状态`,看板和生产任务必须同步 |
|
||||
| 质检及时率 | 最后一次生产完成时间、报检时间、检验完成时间、超期天数 | 质检看板、生产日报-送检 | 以生产完成时间作为起算点,会改变现有“未清任务”定义 |
|
||||
| 关键工序 | 工艺关键标识、任务快照、关键工序应检/未检/在制 | 工艺维护、生产任务、质检/机加大屏 | 关键工序如果只存在工艺库,会影响历史任务重算 |
|
||||
| 缺勤人员 | 岗位、工位、人员、应到、实到、班次 | 班次管理、人员绑定、机加/装配大屏 | 不能从“没有报工”直接判断缺勤,必须有排班和考勤/上岗数据 |
|
||||
| 装配及时送检 | 发料齐套时间、送检状态、送检时间、超期天数 | 装配中心、装配看板、质检任务 | 发料齐套后 2 天未送检会新增一种介于“可开工/待检”之间的风险状态 |
|
||||
|
||||
### 3. OEE 不是一个单独公式,而是一组口径治理
|
||||
|
||||
当前讨论公式为:
|
||||
|
||||
- 产能利用率(单台)= 实际产量 / 计划产量 * 100%
|
||||
- 设备利用率(单台)= 设备工时 / 标准工时
|
||||
- 设备性能开动率(单台)= 标准单件工时 / 实际单件工时
|
||||
- 产品合格率(工位)= 良品数 / 总产量
|
||||
- OEE = 设备利用率 * 开动率 * 合格率
|
||||
|
||||
这些公式看起来简单,但真正的隐性需求是统一统计边界:
|
||||
|
||||
1. **设备边界**:只算主要设备,还是所有设备都算。辅助设备、测试设备、维修设备是否排除。
|
||||
2. **时间边界**:自然日、班次日、订单周期、计划周期不能混用。
|
||||
3. **产量边界**:实际产量来自 MES 报工、设备计数还是质检数量。三者时间上可能不一致。
|
||||
4. **合格率边界**:良品数来自报工良品还是质检合格数。若质检晚于生产,日合格率会滞后。
|
||||
5. **标准工时边界**:标准工时可能来自工艺标准工时、设备能力标准、班次可用工时。三个字段不能都叫标准工时。
|
||||
6. **实际单件工时边界**:设备采集循环时间、设备运行时间/产量、人工报工工时/产量是不同口径。
|
||||
|
||||
因此 OEE 不能只在大屏上增加几个公式。必须先建立设备指标明细层,至少包含设备、工位、日期、班次、任务、物料、工序、计划产量、实际产量、良品、不良、标准工时、设备运行工时、标准单件工时、实际单件工时和采集质量标识。
|
||||
|
||||
### 4. 对已完成页面和看板的必要改造
|
||||
|
||||
| 页面/看板 | 必须新增或调整 | 原因 |
|
||||
|---|---|---|
|
||||
| `DeviceManagement/DeviceInformation` | 主要设备、是否参与 OEE、采集点位、标准工时来源 | 设备档案是设备采集和 OEE 的基础 |
|
||||
| `SystemMaintenance/WorkstationManagement` | 工位与设备、人员、岗位的一对多关系 | 缺勤人员要显示岗位、工位、姓名,多工位需合并 |
|
||||
| `ProcessManagement/ProcessProduct` / 工艺维护 | 是否关键工序、标准单件工时 | 质检和机加大屏需要关键工序汇总和明细 |
|
||||
| `PlanManagement/SelfMakePlan/SelfMakePlandone` | 任务设备绑定、计划产量、标准工时字段确认 | 单台设备产能利用率需要按任务落到设备 |
|
||||
| `ProductionManagement/MachiningCenter` | 条码拣配入口、拣配状态写回、设备采集任务绑定 | 机加及时拣配和设备采集都要关联生产任务 |
|
||||
| `ProductionManagement/AssemblyCenter` | 条码拣配入口、发料齐套时间、送检状态 | 装配及时拣配和及时送检都要从这里进入 |
|
||||
| `ProductionManagement/WorkHoursCheck` | 程序工时、设备工时、人工工时差异、异常确认 | 工时异常报表会反向要求工时校验解释差异 |
|
||||
| `QualityManagement/QualityCenter` | 最后生产完成时间、报检时间、超期天数、关键工序 | 质检及时率和关键工序任务必须有来源 |
|
||||
| `质检任务看板` | 质检及时率真实过程、超 2 天未检明细、关键工序汇总/明细 | 当前看板未完整实现及时率真实口径 |
|
||||
| `机加设备生产运营看板` | OEE、设备利用率、开动率、合格率、关键工序任务、缺勤人员 | 现有设备状态和 OEE 仍不足以支撑新指标 |
|
||||
| `装配任务看板` | 缺勤人员、及时送检任务颜色/排序、发料齐套后 2 天未送检 | 新需求直接改变装配现场大屏列表逻辑 |
|
||||
| `TableTV` | 设备采集状态、单件工时、异常颜色 | 现场卡片应展示设备真实状态和工时风险 |
|
||||
| `board_view` | 真实 OEE 替换样例、设备/产能/质量指标统一 | 综合大屏不能继续使用固定 OEE 样例 |
|
||||
|
||||
### 5. 工时异常报表会反向推动工时体系重构
|
||||
|
||||
工时异常条件是“单件工时 > 标准工时”。这会带来三个隐性问题:
|
||||
|
||||
1. **异常来源不只设备**
|
||||
单件工时超标可能来自设备状态异常、程序问题、刀具/工装、人员操作、物料质量、等待质检、等待发料。报表如果只列超标,不记录原因,会变成无法闭环的告警列表。
|
||||
|
||||
2. **需要区分程序工时和人工工时**
|
||||
程序工时用于判断设备加工效率;人工工时用于人工绩效和 SAP 工时上传。两者差异本身就是一个分析点,不能用程序工时直接覆盖人工报工。
|
||||
|
||||
3. **需要异常确认流程**
|
||||
如果报表用于管理考核,就必须支持确认:是否真实异常、原因分类、责任部门、处理说明、确认人、确认时间。否则数据会被质疑。
|
||||
|
||||
### 6. 条码拣配会改变齐套和开工状态
|
||||
|
||||
及时拣配(机加/装配)表面是扫码需求,实际会改动任务状态链:
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A[条码扫描] --> B[识别物料/任务]
|
||||
B --> C[更新拣配记录]
|
||||
C --> D[更新拣配状态]
|
||||
D --> E[计算齐套]
|
||||
E --> F[影响发料状态]
|
||||
F --> G[影响是否可开工]
|
||||
G --> H[影响生产/装配看板]
|
||||
```
|
||||
|
||||
如果扫码只记录日志,不写回 `拣配状态/齐套/发料状态`,看板仍然显示未齐套;如果扫码直接写回状态,但没有 SAP 库存校验,又可能造成 MES 显示已齐套、SAP 库存不足。因此需要明确 MES 与 SAP 谁作为库存和发料主口径。
|
||||
|
||||
### 7. 三类大屏的新增字段影响
|
||||
|
||||
| 大屏 | 新增指标 | 需要的新增字段/过程 |
|
||||
|---|---|---|
|
||||
| 一楼质检大屏 | 质检及时率、超 2 天未检、关键工序检验汇总/明细 | 最后生产完成时间、报检时间、检验完成时间、是否关键工序、超期天数 |
|
||||
| 机加现场大屏 | 缺勤人员、关键工序任务汇总/明细、设备 OEE | 岗位、工位、姓名、应到/实到、是否关键工序、设备运行工时、单件工时 |
|
||||
| 装配现场大屏 | 缺勤人员、及时送检任务列表、加急后排序、颜色区分 | 岗位、工位、姓名、发料齐套时间、送检状态、送检时间、超期天数 |
|
||||
|
||||
### 8. 需要优先确认的问题
|
||||
|
||||
1. 设备采集数据由谁写入 MES,接口频率是多少。
|
||||
2. 设备采集如何绑定到 MES 任务,是靠设备+时间段、程序号、条码,还是人工绑定。
|
||||
3. 标准单件工时来自生产工艺,还是设备能力表。
|
||||
4. 实际产量以 MES 报工、设备计数、质检数量中的哪一个为准。
|
||||
5. 良品数以报工良品还是质检合格数为准。
|
||||
6. 质检及时率的“最后一次生产完成时间”取操作记录的报工、辅助结束,还是任务完成时间。
|
||||
7. 关键工序标识是否影响历史任务,建议只影响新下发任务或做任务快照。
|
||||
8. 缺勤人员的“应到”来源是班次绑定、排班表还是岗位配置。
|
||||
9. 装配“发料齐套后 2 天未送检”的发料齐套时间来自哪个表。
|
||||
10. 条码拣配是否需要 SAP 库存校验和失败重试。
|
||||
|
||||
## 十二、补充修正:新增需求必须同时判断“维护入口”
|
||||
|
||||
前面的分析已经覆盖了工时、状态、SAP、报表、看板的连锁影响,但还需要补一个更基础的判断:客户提出一个报表或看板字段时,不等于只新增一个展示页面。必须同时判断这个字段从哪里来、由谁维护、在哪个页面维护。
|
||||
|
||||
如果不先确认维护入口,会出现三类问题:
|
||||
|
||||
1. 报表页面有字段,但没有地方录入,最终只能写死、手工改库或长期为空。
|
||||
2. 看板显示了 KPI,但基础字段散落在多个页面,用户不知道该去哪里修正。
|
||||
3. 同一个字段在标准数据、订单数据、任务快照、SAP 同步表中重复维护,导致历史统计和当前查询对不上。
|
||||
|
||||
### 1. 判断框架
|
||||
|
||||
| 判断项 | 需要回答的问题 | 典型结论 |
|
||||
|---|---|---|
|
||||
| 字段性质 | 是主数据、订单过程数据、任务执行数据、外部同步数据、计算结果,还是人工确认结果 | 主数据进基础维护页;过程数据进业务页;计算结果进视图/报表 |
|
||||
| 数据来源 | MES、SAP、设备采集、考勤/排班、人工维护,还是多来源融合 | 多来源字段必须记录来源和更新时间 |
|
||||
| 维护责任人 | 工艺、计划、生产、质检、仓库、设备、班组长、系统管理员谁维护 | 决定页面权限和菜单归属 |
|
||||
| 维护入口 | 现有页面能否承载,还是必须新建页面 | 优先扩展现有业务页面,缺口大时才新建维护页 |
|
||||
| 历史影响 | 修改后是否影响已下发任务和历史报表 | 影响历史的字段要做任务快照或维护历史 |
|
||||
| 看板影响 | 是否会改变已有 KPI 口径 | 看板过程必须同步改,不只改主系统页面 |
|
||||
|
||||
### 2. 按字段类型划分维护位置
|
||||
|
||||
| 字段/能力类型 | 应优先维护的位置 | 不建议的做法 |
|
||||
|---|---|---|
|
||||
| 人员、岗位、班次、排班、出勤 | 人员管理、班次管理、工位人员绑定,必要时新增排班/出勤维护页 | 在机加/装配大屏里直接维护缺勤 |
|
||||
| 工序、关键工序、标准工时、准备工时 | 标准工艺、生产工艺、工序基础数据 | 单独做一个脱离工艺的关键工序表但不和任务快照同步 |
|
||||
| 设备、工位、采集点位、是否参与 OEE | 设备档案、工位管理、设备采集配置 | 把设备标准工时简单塞进设备档案并用于所有零件 |
|
||||
| 生产订单过程字段 | 生产计划、排产、装配已排产需求、生产工艺 | 只在报表页维护,不写回业务主链路 |
|
||||
| 质检处置字段 | 质检中心、不合格处置、序检收检 | 让步接收记录页反向维护质检结果 |
|
||||
| SAP 同步字段 | SAP 同步表或 MES 扩展表,只读展示同步时间和状态 | 前端手工覆盖 SAP 字段但不留来源 |
|
||||
| 人工确认字段 | 待办类页面维护,例如手续确认报表,同时记录确认人和时间 | 把确认状态隐藏在 SQL 过滤里,没有操作日志 |
|
||||
| 统计/看板指标 | 统一视图、存储过程、日报快照 | 每个看板各写一套 SQL 重新定义口径 |
|
||||
|
||||
### 3. 典型字段修正结论
|
||||
|
||||
| 需求点 | 修正结论 |
|
||||
|---|---|
|
||||
| 缺勤人员 | 必须先有“应到人员”和“实到人员”来源。应到来自班次/排班/岗位工位人员绑定,实到来自考勤/上岗/登录/报工。若现有系统没有排班入口,需要新增或扩展排班/出勤维护页;看板只查询缺勤结果。 |
|
||||
| 关键工序 | 属于工艺属性,应在标准工艺和生产工艺维护。生产任务下发时快照 `是否关键工序`,质检和机加大屏读取快照。不能只在大屏或质检报表里临时标记。 |
|
||||
| 标准单件工时 | 优先来自标准工艺/生产工艺,必要时增加设备+工序能力表。设备档案只维护设备能力参数和 OEE 参与属性。 |
|
||||
| 发料齐套时间 | 如果来自 SAP,必须同步到 MES 并记录同步时间;如果允许人工修正,应放在生产计划/装配排产业务链路或装配已排产需求页,并保留维护历史。 |
|
||||
| 装配完成时间 | 规则计算字段可以在装配已排产需求中显示;人工调整时要作为订单过程字段保存,不应只存在前端。 |
|
||||
| 预计可执行时间 | 依赖 SAP 缺件、主子订单关系和人工判断。可以在及时齐套跟踪页维护,但要记录维护人、维护时间和依据。 |
|
||||
| 让步接收 | 质检结果字段应在质检中心或不合格处置维护;让步接收记录页只做查询、导出和追溯。 |
|
||||
| 外协供应商/SAP 收货单号 | 应在外协任务、序检收检或外协收货链路补字段;供应商质量报表只消费这些字段。 |
|
||||
| OEE | OEE 是计算结果,不是人工维护字段。基础数据分别来自设备采集、MES 报工、质检记录、工艺标准工时和班次规则。 |
|
||||
|
||||
### 4. 对已完成页面的新增影响
|
||||
|
||||
| 现有页面 | 新增维护责任 |
|
||||
|---|---|
|
||||
| `ProcessManagement/ProcessProduct` 生产工艺 | 维护订单级关键工序、标准工时、标准工艺带出后的生产工艺草稿;保存时形成任务可用快照 |
|
||||
| `ProcessManagement/ProcessesDevelop` 制定标准工艺 | 维护标准关键工序、标准单件工时、准备工时,作为生产工艺默认来源 |
|
||||
| `SystemMaintenance/WorkstationManagement` | 补工位与设备、岗位、人员关系,支持缺勤和 OEE 维度 |
|
||||
| `BasicData/ShiftManagement` 或现有班次管理 | 支持班次时间、跨天规则、应到人员或排班规则 |
|
||||
| `BasicData/PersonnelManagement`、人员角色绑定 | 支持人员岗位、班组、工位范围,为缺勤和权限提供来源 |
|
||||
| `ProductionManagement/AssemblyCenter` | 维护/展示装配执行、发料、送检、异常、手续确认相关过程字段 |
|
||||
| `ProductionManagement/MachiningCenter` | 维护/展示机加扫码、设备绑定、报工、异常、关键工序执行状态 |
|
||||
| `QualityManagement/QualityCenter` | 维护质检结果、让步接收、送检/已检数量、关键工序质检状态 |
|
||||
| `DeviceManagement/DeviceInformation` | 维护主要设备、采集点位、OEE 参与标识,不独立承担所有标准工时 |
|
||||
|
||||
### 5. 后续评估新增需求的强制问题
|
||||
|
||||
后续每个新需求都要在开发前回答:
|
||||
|
||||
1. 这个字段是展示、维护、确认,还是计算。
|
||||
2. 如果要维护,是否已有页面可以维护。
|
||||
3. 如果新增页面,它是查询页、待办页,还是主数据维护页。
|
||||
4. 数据是否需要修改历史;如果需要,是否留维护日志。
|
||||
5. 是否需要任务快照,避免标准数据变化影响历史任务。
|
||||
6. 是否影响生产任务看板、装配看板、质检看板、机加看板或 `board_view`。
|
||||
|
||||
只有这六个问题明确后,才能判断是“新增页面”、 “扩展现有页面”、 “新增维护页”,还是“只改 SQL/视图/看板口径”。
|
||||
254
doc_old/需求分析_自制件与工位汇总表.md
Normal file
254
doc_old/需求分析_自制件与工位汇总表.md
Normal file
@@ -0,0 +1,254 @@
|
||||
# 需求分析:自制件汇总表 & 工位汇总表
|
||||
|
||||
> **日期**: 2026-05-21
|
||||
> **状态**: 🔍 需求讨论阶段(不动代码)
|
||||
> **目标**: 理清数据来源、字段映射、缺口和实现方案,产出后续工作计划
|
||||
|
||||
---
|
||||
|
||||
## 一、需求确认清单
|
||||
|
||||
| # | 需求项 | 确认结果 |
|
||||
|:--:|------|------|
|
||||
| 1 | **自制件汇总表** — 汇总维度 | 按 **订单+工序** 汇总工时 |
|
||||
| 2 | **自制件汇总表** — 时间范围 | **自定义起止日期**(用户选择) |
|
||||
| 3 | **工位汇总表** — 汇总维度 | 按 **工位+日期** 汇总 |
|
||||
| 4 | **工位汇总表** — 展示字段 | **产量统计** + **工时统计** |
|
||||
| 5 | **使用场景** | **生产日报/周报**(报表导出) |
|
||||
|
||||
---
|
||||
|
||||
## 二、自制件汇总表(按订单+工序汇总工时)
|
||||
|
||||
### 2.1 需求理解
|
||||
|
||||
> 每行 = 一个订单的一道自制件工序,展示该工序的 **计划工时 vs 实际工时** 及差异。
|
||||
|
||||
### 2.2 数据源分析
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ 自制件汇总表 数据流向 │
|
||||
│ │
|
||||
│ MES_接口_生产计划 (订单主表) │
|
||||
│ ├── 订单编号, 合同号, 物料编号, 物料描述, 自制件属性 │
|
||||
│ │ 过滤: 自制件属性 = '机加件', 单据状态 IS NULL │
|
||||
│ │ │
|
||||
│ └──→ MES_接口_生产计划_生产任务 (工序明细) │
|
||||
│ ├── 订单行号, 工序名称, 顺序编号 │
|
||||
│ ├── 指派对象(工位), 指派数量, 完成数量 │
|
||||
│ │ │
|
||||
│ ├──→ 车间生产管理工艺_零件生产工艺_工艺库 (标准工时) │
|
||||
│ │ └── 标准工时, 准备工时, 工时合计 │
|
||||
│ │ JOIN: 工艺库.订单编号 = 生产任务.订单编号 │
|
||||
│ │ AND 工艺库.工艺顺序 = 生产任务.订单行号 │
|
||||
│ │ │
|
||||
│ └──→ YL_加工中心_操作记录表 (实际工时) │
|
||||
│ └── SUM(实际工时) WHERE 操作类别='报工' │
|
||||
│ GROUP BY TaskAID │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 2.3 目标字段清单
|
||||
|
||||
| 序号 | 字段名 | 数据来源 | 说明 |
|
||||
|:--:|------|------|------|
|
||||
| 1 | 订单号 | `MES_接口_生产计划.订单编号` | |
|
||||
| 2 | 合同号 | `MES_接口_生产计划.合同号` | |
|
||||
| 3 | 物料编号 | `MES_接口_生产计划.物料编号` | |
|
||||
| 4 | 物料描述 | `MES_接口_生产计划.物料描述` | |
|
||||
| 5 | 订单行号 | `MES_接口_生产计划_生产任务.订单行号` | 工序序号 |
|
||||
| 6 | 工序名称 | `MES_接口_生产计划_生产任务.工序名称` | |
|
||||
| 7 | 指派工位 | `MES_接口_生产计划_生产任务.指派对象` | |
|
||||
| 8 | **计划工时** | `车间生产管理工艺_零件生产工艺_工艺库.标准工时` | 分钟单位 |
|
||||
| 9 | **准备工时** | `车间生产管理工艺_零件生产工艺_工艺库.准备工时` | 分钟单位 |
|
||||
| 10 | **工时合计(计划)** | `工艺库.工时合计` = 标准工时 + 准备工时 | |
|
||||
| 11 | **实际工时** | `SUM(YL_加工中心_操作记录表.实际工时)` | 秒→分钟转换 |
|
||||
| 12 | **总时长** | `SUM(YL_加工中心_操作记录表.总时长)` | 含暂停的总耗时 |
|
||||
| 13 | **工时差异** | 实际工时 − 计划工时合计 | 正=超时,负=提前 |
|
||||
| 14 | 操作人 | STRING_AGG 或取主要操作人 | 多操作人用逗号分隔 |
|
||||
| 15 | 报工日期 | MAX(报工日期) | 取最后报工日期 |
|
||||
|
||||
### 2.4 现有可复用的数据
|
||||
|
||||
| 来源 | 可用字段 | 缺口 |
|
||||
|------|------|------|
|
||||
| `View_生产工时视图` | 加工工时, 总时长, 报工日期, 订单号, 工序名称 | ✅ 基本够用 |
|
||||
| `View_生产订单_MES` | 订单号, 合同号, 物料, 工序, 指派对象 | ✅ |
|
||||
| `车间生产管理工艺_零件生产工艺_工艺库` | 标准工时, 准备工时, 工时合计 | ⚠️ 需确认有哪些订单已录入 |
|
||||
|
||||
### 2.5 待确认问题
|
||||
|
||||
| # | 问题 | 建议 |
|
||||
|:--:|------|------|
|
||||
| Q1 | 工艺库中标准工时数据覆盖率?很多订单可能没有录入标准工时 | 需 DBA 查一下 `SELECT COUNT(*) FROM 工艺库 WHERE 标准工时 > 0` |
|
||||
| Q2 | 同一工序多次报工,取 SUM 还是最后一次? | 建议 **SUM**(累计工时) |
|
||||
| Q3 | 工时单位展示用分钟还是小时? | 建议 **分钟**(与工艺库标准工时单位一致) |
|
||||
| Q4 | 是否区分已校验/未校验工时? | 建议加一列:`已校验工时` vs `未校验工时` |
|
||||
| Q5 | 是否只查"已完成"的?还是包含进行中? | 建议默认查 **全部**,加筛选条件 |
|
||||
|
||||
---
|
||||
|
||||
## 三、工位汇总表(按工位+日期汇总)
|
||||
|
||||
### 3.1 需求理解
|
||||
|
||||
> 每行 = 一个工位在某一天的生产汇总。展示两个维度:**产量统计** + **工时统计**。
|
||||
|
||||
### 3.2 数据源分析
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ 工位汇总表 数据流向 │
|
||||
│ │
|
||||
│ MES_资源主数据 (工位基础数据) │
|
||||
│ ├── VisCode(工位编号), Name(工位名称), Type │
|
||||
│ │ 过滤: Type='rtMachine', Active='tYES' │
|
||||
│ │ │
|
||||
│ ├──→ 当日产量统计 │
|
||||
│ │ ├── 计划数量: SUM(生产任务.指派数量) │
|
||||
│ │ │ WHERE 指派对象编号=X AND 计划开始时间=@日期 │
|
||||
│ │ ├── 完成数量: SUM(操作记录.操作数值) │
|
||||
│ │ │ WHERE 工位编号=X AND 操作类别='报工' │
|
||||
│ │ │ AND CAST(开始时间 AS DATE)=@日期 │
|
||||
│ │ ├── 合格数: SUM(质检记录.合格数) │
|
||||
│ │ │ WHERE 工位关联 AND CAST(检测时间 AS DATE)=@日期 │
|
||||
│ │ └── 不合格数: SUM(质检记录.不合格数) │
|
||||
│ │ │
|
||||
│ └──→ 当日工时统计 │
|
||||
│ ├── 设备运行工时: SUM(操作记录.实际工时) │
|
||||
│ ├── 人员工时: SUM(操作记录.总时长) 或 SUM(报工.工时) │
|
||||
│ └── 闲置时间: 24h - 运行时间(分钟) │
|
||||
│ 数据源: 历史_工位设备状态每分钟记录 │
|
||||
│ WHERE 工位号=X AND CAST(创建时间 AS DATE)=@日期 │
|
||||
│ SUM(CASE WHEN 设备状态 IN(-1,0,3) THEN 1 END) │
|
||||
│ → 每分钟一条,直接计数即为分钟数 │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 3.3 目标字段清单
|
||||
|
||||
| 序号 | 字段名 | 数据来源 | 说明 |
|
||||
|:--:|------|------|------|
|
||||
| 1 | 工位编号 | `MES_资源主数据.VisCode` | |
|
||||
| 2 | 工位名称 | `MES_资源主数据.Name` | |
|
||||
| 3 | 统计日期 | 用户选择的日期 | DATE 类型 |
|
||||
| 4 | **计划数量** | SUM(生产任务.指派数量) | 当天计划开工的任务指派数 |
|
||||
| 5 | **完成数量** | SUM(操作记录.操作数值) | 当天报工的完成数 |
|
||||
| 6 | **合格数** | SUM(质检记录.合格数) | 当天收检的合格数 |
|
||||
| 7 | **不合格数** | SUM(质检记录.不合格数) | 当天收检的不合格数 |
|
||||
| 8 | **设备运行工时** | SUM(操作记录.实际工时) / 60 | 转换为分钟 |
|
||||
| 9 | **人员工时** | SUM(操作记录.总时长) / 60 | 含暂停的总耗时 |
|
||||
| 10 | **闲置时间** | COUNT(状态记录 WHERE 状态 IN(-1,0,3)) | 每分钟一条=分钟数 |
|
||||
| 11 | **设备利用率** | 运行工时 / (运行+闲置) × 100% | 可选指标 |
|
||||
|
||||
### 3.4 现有可复用的数据
|
||||
|
||||
| 来源 | 可用字段 | 缺口 |
|
||||
|------|------|------|
|
||||
| `View_生产工时视图` | 工位编号, 工位名称, 开始时间, 加工工时, 总时长 | ✅ |
|
||||
| `View_生产订单_MES` | 指派对象编号, 指派数量 | ✅ |
|
||||
| `历史_工位设备状态每分钟记录` | 工位号, 设备状态, 创建时间 | ⚠️ 需确认数据采集是否覆盖所有工位 |
|
||||
|
||||
### 3.5 待确认问题
|
||||
|
||||
| # | 问题 | 建议 |
|
||||
|:--:|------|------|
|
||||
| Q1 | "日期"以哪个时间为准?报工日期还是操作日期? | 建议用 **报工日期** (CAST(操作记录.开始时间 AS DATE)) |
|
||||
| Q2 | 闲置时间——所有工位都有设备状态记录吗? | 需DBA确认 `历史_工位设备状态每分钟记录` 的覆盖率 |
|
||||
| Q3 | 如果没有状态记录表数据,闲置时间怎么算? | 备选方案:`24×60 − SUM(实际工时÷60)` 粗略估算 |
|
||||
| Q4 | 跨天任务怎么算?比如夜班从22:00做到次日02:00 | 建议按 **开始时间归属日期**(22:00→当天) |
|
||||
| Q5 | 是否需要展示班次维度(白班/夜班分开)? | 当前需求未要求,可后期迭代 |
|
||||
|
||||
---
|
||||
|
||||
## 四、实现方案对比
|
||||
|
||||
| 方案 | 方式 | 优点 | 缺点 |
|
||||
|------|------|------|------|
|
||||
| **A. 新建视图** | 创建 `View_自制件工时汇总` 和 `View_工位日汇总` 两个VIEW | 性能好、前端直接查 | 不够灵活 |
|
||||
| **B. 新建存储过程** | 创建带参数的 SP 如 `报表_自制件工时汇总(@开始日期,@结束日期)` | 灵活、支持参数筛选和分页 | 需前后端联调 |
|
||||
| **C. 改造已有SP** | 在 `View_生产工时视图` 基础上增加聚合查询 SP | 复用现有逻辑 | 可能影响现有功能 |
|
||||
| ✅ **推荐方案** | **方案B**:新建2个存储过程 + 前端新建2个报表页面 | 最佳实践 | — |
|
||||
|
||||
---
|
||||
|
||||
## 五、后续工作计划
|
||||
|
||||
### 第一阶段:数据验证(1天)
|
||||
|
||||
| 步骤 | 内容 | 执行人 |
|
||||
|:---:|------|:---:|
|
||||
| 1 | 查询工艺库标准工时覆盖率 | DBA |
|
||||
| 2 | 查询设备状态每分钟记录覆盖率(按工位) | DBA |
|
||||
| 3 | 抽样验证:取1个订单,手动计算工时,对比 SP 结果 | DBA |
|
||||
| 4 | 确认工时单位统一(秒→分钟 or 小时) | 全体 |
|
||||
|
||||
### 第二阶段:存储过程开发(2天)
|
||||
|
||||
| 步骤 | 内容 | 执行人 |
|
||||
|:---:|------|:---:|
|
||||
| 1 | 创建 `报表_自制件工时汇总` SP | DBA |
|
||||
| 2 | 创建 `报表_工位日汇总` SP | DBA |
|
||||
| 3 | 编写测试SQL验证结果准确性 | DBA |
|
||||
| 4 | Review 两个 SP | 技术负责人 |
|
||||
|
||||
### 第三阶段:前端报表页面(2天)
|
||||
|
||||
| 步骤 | 内容 | 执行人 |
|
||||
|:---:|------|:---:|
|
||||
| 1 | 新建"自制件工时汇总"页面(搜索条件+表格+导出) | 前端 |
|
||||
| 2 | 新建"工位日汇总"页面(搜索条件+表格+导出) | 前端 |
|
||||
| 3 | 在菜单表中配置页面路由 | 前端/DBA |
|
||||
| 4 | 联调测试 | 全体 |
|
||||
|
||||
### 第四阶段:上线验证(0.5天)
|
||||
|
||||
| 步骤 | 内容 | 执行人 |
|
||||
|:---:|------|:---:|
|
||||
| 1 | 用真实数据跑一次日报 | 用户 |
|
||||
| 2 | 与人工统计对比验证 | 用户 |
|
||||
| 3 | 修复问题、调整格式 | 开发 |
|
||||
|
||||
---
|
||||
|
||||
## 六、需要DBA协助验证的SQL
|
||||
|
||||
```sql
|
||||
-- 1. 工艺库标准工时覆盖率
|
||||
SELECT
|
||||
COUNT(*) AS 总工艺记录数,
|
||||
SUM(CASE WHEN ISNULL(标准工时,0) > 0 THEN 1 ELSE 0 END) AS 有标准工时,
|
||||
SUM(CASE WHEN ISNULL(标准工时,0) = 0 THEN 1 ELSE 0 END) AS 无标准工时
|
||||
FROM 车间生产管理工艺_零件生产工艺_工艺库
|
||||
WHERE 启用 = 1
|
||||
|
||||
-- 2. 设备状态记录覆盖率(最近7天,按工位)
|
||||
SELECT
|
||||
工位号,
|
||||
COUNT(*) AS 记录数,
|
||||
MIN(创建时间) AS 最早,
|
||||
MAX(创建时间) AS 最晚
|
||||
FROM 历史_工位设备状态每分钟记录
|
||||
WHERE 创建时间 >= DATEADD(DAY, -7, GETDATE())
|
||||
GROUP BY 工位号
|
||||
ORDER BY 记录数 DESC
|
||||
|
||||
-- 3. 抽查一个订单的实际工时
|
||||
SELECT
|
||||
TaskAID,
|
||||
工序名称,
|
||||
操作类别,
|
||||
SUM(ISNULL(实际工时,0)) AS 实际工时合计_秒,
|
||||
SUM(ISNULL(总时长,0)) AS 总时长合计_秒,
|
||||
COUNT(*) AS 报工次数
|
||||
FROM YL_加工中心_操作记录表
|
||||
WHERE 订单编号 = '10001' -- 替换为实际订单号
|
||||
AND 操作类别 = '报工'
|
||||
GROUP BY TaskAID, 工序名称, 操作类别
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> 📅 文档日期: 2026-05-21
|
||||
> 🔍 状态: 需求讨论阶段(待DBA数据验证后进入开发)
|
||||
942
doc_old/项目功能技术路线数据库分析报告_2026-05-22.md
Normal file
942
doc_old/项目功能技术路线数据库分析报告_2026-05-22.md
Normal file
@@ -0,0 +1,942 @@
|
||||
# MES 主系统与看板项目综合分析报告
|
||||
|
||||
生成日期:2026-05-22
|
||||
分析范围:
|
||||
|
||||
- 主系统:`MES_Manage_View_V20`
|
||||
- 同级看板项目:`board_view`、`TableTV`、`机加设备生产运营看板`、`机加设备生产运营看板二`、`生产任务看板`、`装配任务看板`、`质检任务看板`
|
||||
- 数据库脚本:更新后的 `MES_Manage_View_V20/script.sql`,最后修改时间为 2026-05-22 13:23:04
|
||||
|
||||
排除范围:
|
||||
|
||||
- 所有 `.7z`、`.zip` 压缩包和备份包
|
||||
- `dist/`、`node_modules/` 构建产物和依赖目录
|
||||
- 同级旧版主系统副本 `MacroinfManage_MES`、`test`、`新建文件夹` 未纳入本轮业务分析
|
||||
|
||||
## 1. 总体结论
|
||||
|
||||
当前目录不是单一前端项目,而是一组围绕同一 MES 数据库和 `.ashx` 网关运行的前端应用:
|
||||
|
||||
- `MES_Manage_View_V20` 是主业务系统,覆盖计划、工艺、生产、质量、设备、外协、工时、系统权限等完整 MES 功能。
|
||||
- 上一层目录中的多个项目是看板端,用于大屏展示生产、机加设备、装配、质检、设备状态等实时指标。
|
||||
- 主系统和新版看板共用同一个后端入口:`https://192.168.2.92:10101/submit/MESCommonBase.ashx`。
|
||||
- 主系统和看板项目都采用“前端传入存储过程名 + 参数,后端 `.ashx` 执行 SQL Server 存储过程”的协议。
|
||||
- 更新后的 `script.sql` 已包含看板端依赖的关键存储过程,尤其是 `机加设备生产运营看板_*`、`生产任务综合看板_*`、`装配中心任务看板_*`、`质量任务看板_*` 等。
|
||||
- 但主系统页面仍有 16 个前端调用过程未在当前 `script.sql` 中找到,主要集中在产品结构、摄像头/设备查看权限、点检类型、设备重复校验等非看板功能。
|
||||
|
||||
数据库对象统计以更新后的 `script.sql` 为准:
|
||||
|
||||
| 对象类型 | 数量 |
|
||||
| --- | ---: |
|
||||
| 表 | 50 |
|
||||
| 视图 | 26 |
|
||||
| 存储过程 | 345 |
|
||||
| 函数 | 至少 1 个:`计算班次重叠秒数` |
|
||||
|
||||
## 2. 项目组成
|
||||
|
||||
### 2.1 主系统 `MES_Manage_View_V20`
|
||||
|
||||
技术栈:
|
||||
|
||||
- Vue 2.7.16
|
||||
- Vue Router 3.6.5
|
||||
- Vuex 3.6.2
|
||||
- Element UI 2.15.14
|
||||
- Webpack 5
|
||||
- Axios 0.21.4
|
||||
- ECharts、FullCalendar、TinyMCE、xlsx、pdfjs、mqtt 等
|
||||
|
||||
定位:
|
||||
|
||||
主系统是管理端和业务操作端,面向计划员、工艺人员、生产现场、质检人员、设备管理人员、系统管理员。
|
||||
|
||||
核心目录:
|
||||
|
||||
| 路径 | 说明 |
|
||||
| --- | --- |
|
||||
| `src/views` | 业务页面,共 76 个 `.vue`,业务页面约 67 个 |
|
||||
| `src/utils/request.js` | 主 Axios 实例,读取 `window.dt_Config.serverAddress` |
|
||||
| `src/utils/curd.js` | `CreateData`、`ExecDatabase`、表单/表格通用方法、设备 API |
|
||||
| `src/router` | 固定路由、动态路由、数据库菜单组件映射 |
|
||||
| `src/store` | 登录、角色、路由、标签页等状态 |
|
||||
| `static/config.js` | 运行时服务地址配置 |
|
||||
| `script.sql` | SQL Server 表、视图、存储过程 |
|
||||
|
||||
主系统接口地址:
|
||||
|
||||
```js
|
||||
window.dt_Config = {
|
||||
serverAddress: 'https://192.168.2.92:10101/submit/MESCommonBase.ashx',
|
||||
baseURL: 'https://192.168.2.92:10101',
|
||||
baseURLB1: 'https://192.168.2.92:9996/b1s',
|
||||
baseURLtm: 'https://192.168.2.92:9996/openapi'
|
||||
}
|
||||
```
|
||||
|
||||
### 2.2 旧版综合看板 `board_view`
|
||||
|
||||
技术栈:
|
||||
|
||||
- Vue 2.5
|
||||
- Webpack 3
|
||||
- `@jiaminghi/data-view`
|
||||
- ECharts 5
|
||||
- `vue-seamless-scroll`
|
||||
- Axios
|
||||
- `speak-tts`
|
||||
|
||||
定位:
|
||||
|
||||
旧版综合生产监控大屏,页面主体为 `src/views/left.vue`。它展示订单看板、装配看板、未完成工序、环境/水电气、OEE、质量等综合信息。
|
||||
|
||||
配置:
|
||||
|
||||
```js
|
||||
window.ConnectConfig = {
|
||||
url2: 'https://192.168.2.92:10101',
|
||||
requestConfig: '/submit/MESCommonBase.ashx',
|
||||
zonePageInterval: 10000,
|
||||
iframeUrl: 'http://192.168.2.92:10008'
|
||||
}
|
||||
```
|
||||
|
||||
注意:`request.js` 里仍保留 `window.ConnectConfig.url` 的实例,但当前配置只启用了 `url2`,实际可用的是 `instance2`。
|
||||
|
||||
主要调用过程:
|
||||
|
||||
- `看板_主页六个关键数据_查询`
|
||||
- `看板_左上订单看板_表格_查询`
|
||||
- `看板_左中装配看板_表格_查询`
|
||||
- `看板_左下未完成看板_表格_查询`
|
||||
- `看板_右上合同看板_表格_查询`
|
||||
- `看板_右下质量看板_表格_查询`
|
||||
- `看板_右下质量看板_饼图_查询`
|
||||
- `看板_中间主体订单_表格_查询`
|
||||
- `看板_中间主体订单详情_表格_查询`
|
||||
- `看板_中间实时OEE数据展示_查询`
|
||||
- `看板_左上计划执行情况_曲线_查询`
|
||||
- `Event_CaChe_Var_看板查询`
|
||||
- `设备管理_设备状态_查询`
|
||||
|
||||
### 2.3 通用表格看板 `TableTV`
|
||||
|
||||
技术栈:
|
||||
|
||||
- Vue 3.5
|
||||
- Vite 5
|
||||
- Element Plus
|
||||
- TDesign Vue Next
|
||||
- Pinia
|
||||
- Axios
|
||||
|
||||
定位:
|
||||
|
||||
通用工位/任务卡片式滚动看板。`public/config.js` 中配置了标题和目标 SQL:
|
||||
|
||||
```js
|
||||
window.g = {
|
||||
API_WEB_URL: 'https://192.168.2.92:10101',
|
||||
TV_TITLE: '元利流体 · 生产计划看板',
|
||||
TV_SQL: 'TV_视图看板_查询'
|
||||
}
|
||||
```
|
||||
|
||||
实际代码观察:
|
||||
|
||||
- `src/views/index.vue` 当前直接调用 `设备管理_设备状态_查询`。
|
||||
- `TV_SQL` 当前未在页面取数逻辑中使用。
|
||||
- 页面每 5 秒刷新一次数据。
|
||||
|
||||
这是一个配置与实现不一致的点:如果设计目标是可配置 SQL 看板,应把 `window.g.TV_SQL` 接入 `fetchData`。
|
||||
|
||||
### 2.4 机加设备生产运营看板一
|
||||
|
||||
路径:`../机加设备生产运营看板`
|
||||
|
||||
技术栈:
|
||||
|
||||
- Vue 3.5
|
||||
- Vite 5
|
||||
- Element Plus
|
||||
- TDesign Vue Next
|
||||
- `@kjgl77/datav-vue3`
|
||||
- ECharts 6
|
||||
- Axios
|
||||
- Pinia
|
||||
|
||||
定位:
|
||||
|
||||
机加设备生产运营看板一,展示设备运行状态、计划执行率、未及时开工、不良品、当天完成、设备任务与明细。
|
||||
|
||||
配置:
|
||||
|
||||
```js
|
||||
window.g = {
|
||||
API_WEB_URL: 'https://192.168.2.92:10101'
|
||||
}
|
||||
```
|
||||
|
||||
主要调用过程:
|
||||
|
||||
- `机加设备生产运营看板_设备任务查询`
|
||||
- `机加设备生产运营看板_不良品查询`
|
||||
- `质量任务看板_当天已完成汇总`
|
||||
- `机加设备生产运营看板_当天已完成明细`
|
||||
- `机加设备生产运营看板_设备运行状态查询`
|
||||
- `机加设备生产运营看板_未及时开工查询`
|
||||
- `机加设备生产运营看板_计划执行率`
|
||||
|
||||
### 2.5 机加设备生产运营看板二
|
||||
|
||||
路径:`../机加设备生产运营看板二`
|
||||
|
||||
技术栈与看板一基本一致。
|
||||
|
||||
定位:
|
||||
|
||||
机加设备生产运营看板二,侧重加急任务、机加在制任务及机加在制扩展视图。
|
||||
|
||||
主要调用过程:
|
||||
|
||||
- `机加设备生产运营看板_加急任务查询`
|
||||
- `机加设备生产运营看板_机加在制查询`
|
||||
- `机加设备生产运营看板_机加在制查询2`
|
||||
|
||||
### 2.6 生产任务看板
|
||||
|
||||
路径:`../生产任务看板`
|
||||
|
||||
技术栈:
|
||||
|
||||
- Vue 3.5
|
||||
- Vite 5
|
||||
- Element Plus
|
||||
- TDesign Vue Next
|
||||
- ECharts 6
|
||||
- Axios
|
||||
|
||||
定位:
|
||||
|
||||
生产任务综合看板,关注齐套、无工艺未排产、加急任务、未及时开工、未按期齐套等生产计划执行风险。
|
||||
|
||||
主要调用过程:
|
||||
|
||||
- `生产任务综合看板_按期齐套率`
|
||||
- `生产任务综合看板_未排产无工艺查询`
|
||||
- `生产任务综合看板_加急任务查询`
|
||||
- `生产任务综合看板_未及时开工查询`
|
||||
- `生产任务综合看板_未按期齐套任务`
|
||||
|
||||
### 2.7 装配任务看板
|
||||
|
||||
路径:`../装配任务看板`
|
||||
|
||||
技术栈:
|
||||
|
||||
- Vue 3.5
|
||||
- Vite 5
|
||||
- Element Plus
|
||||
- TDesign Vue Next
|
||||
- `datav-vue3`
|
||||
- ECharts 6
|
||||
|
||||
定位:
|
||||
|
||||
装配中心任务大屏,展示异常未关闭、发货状态、在制品缺件、加急任务、装配任务、装配合格率、已完成任务等。
|
||||
|
||||
主要调用过程:
|
||||
|
||||
- `装配中心任务看板_异常未关闭总数`
|
||||
- `装配中心任务看板_发货状态查询`
|
||||
- `装配中心任务看板_在制品缺件查询`
|
||||
- `装配中心任务看板_加急任务总数查询`
|
||||
- `装配中心任务看板_装配任务查询`
|
||||
- `装配中心任务看板_装配合格率`
|
||||
- `装配中心任务看板_已完成任务`
|
||||
|
||||
补充:
|
||||
|
||||
该项目内还有 `ProductionTaskDashboard.vue`,复用了生产任务综合看板的 5 个过程,说明装配看板项目中包含生产任务综合看板的备用或切换页面。
|
||||
|
||||
### 2.8 质检任务看板
|
||||
|
||||
路径:`../质检任务看板`
|
||||
|
||||
技术栈:
|
||||
|
||||
- Vue 3.5
|
||||
- Vite 5
|
||||
- Element Plus
|
||||
- TDesign Vue Next
|
||||
- ECharts 6
|
||||
|
||||
定位:
|
||||
|
||||
质量任务看板,关注未完成质检任务、不同类型任务统计、未完成明细、当天已完成汇总与明细。
|
||||
|
||||
主要调用过程:
|
||||
|
||||
- `质量任务看板_未完成统计`
|
||||
- `质量任务看板_未完成明细查询`
|
||||
- `质量任务看板_当天已完成汇总`
|
||||
- `质量任务看板_当天已完成明细`
|
||||
|
||||
## 3. 统一接口协议
|
||||
|
||||
### 3.1 主系统 Vue2 协议
|
||||
|
||||
主系统通过 `src/utils/curd.js` 提供全局方法:
|
||||
|
||||
```text
|
||||
业务页面
|
||||
-> this.CreateData(type, procedureName, params, pageSize, pageList)
|
||||
-> this.ExecDatabase(data)
|
||||
-> axios POST window.dt_Config.serverAddress
|
||||
-> MESCommonBase.ashx
|
||||
-> SQL Server 存储过程
|
||||
```
|
||||
|
||||
请求对象主要字段:
|
||||
|
||||
| 字段 | 说明 |
|
||||
| --- | --- |
|
||||
| `type` | 操作类型。常见为 `11` 查询、`12` 写入/更新、`2001` 导出。准确语义由后端 `.ashx` 定义。 |
|
||||
| `name` | 存储过程名 |
|
||||
| `param` | 参数 JSON 字符串,数组项包含 `name/value/type/output` |
|
||||
| `pageSize` | 分页大小 |
|
||||
| `pageList` | 页码或分页参数 |
|
||||
| `UserID` | 当前用户 ID |
|
||||
| `UserName` | 当前用户姓名 |
|
||||
| `ModularID` | 当前路由路径 |
|
||||
|
||||
### 3.2 新版 Vue3 看板协议
|
||||
|
||||
Vite/Vue3 看板项目通过 `src/utils/curdVue3.js` 或 `src/utils/curd.js` 注入:
|
||||
|
||||
- `CreateData`
|
||||
- `ExecDatabase`
|
||||
- `ExecDatabaseByParam`
|
||||
|
||||
接口地址统一为:
|
||||
|
||||
```js
|
||||
window.g.API_WEB_URL + '/submit/MESCommonBase.ashx'
|
||||
```
|
||||
|
||||
大多数新版看板请求超时时间为 5 秒,明显短于主系统的 25 分钟超时,更适合大屏定时刷新,但也要求看板查询过程必须足够快。
|
||||
|
||||
### 3.3 旧版 `board_view` 协议
|
||||
|
||||
旧版看板使用 `window.ConnectConfig.url2 + requestConfig` 访问同一 `.ashx` 网关,通过自定义 `CreateData1` 调用 `看板_*` 过程。
|
||||
|
||||
## 4. 主系统业务功能
|
||||
|
||||
### 4.1 系统维护
|
||||
|
||||
页面:
|
||||
|
||||
- 人员管理
|
||||
- 角色维护
|
||||
- 菜单管理
|
||||
- 工位管理
|
||||
- 组织管理
|
||||
- 操作日志
|
||||
|
||||
核心数据:
|
||||
|
||||
- `登录基础数据_人员信息`
|
||||
- `登录基础数据_角色信息`
|
||||
- `登录基础数据_人员权限角色`
|
||||
- `登录基础数据_二级菜单`
|
||||
- `登录基础数据_部门`
|
||||
- `工位人员绑定表`
|
||||
- `MES_资源主数据`
|
||||
- `_日志`
|
||||
|
||||
功能:
|
||||
|
||||
- 登录、人员、角色、菜单、权限配置。
|
||||
- 数据库菜单驱动动态路由。
|
||||
- 工位基础信息和工位人员绑定。
|
||||
- 操作日志查询。
|
||||
|
||||
### 4.2 计划排产
|
||||
|
||||
页面:
|
||||
|
||||
- 自制件计划
|
||||
- 自制件排产
|
||||
- 自制件已排产
|
||||
- 装配计划
|
||||
- 装配执行计划
|
||||
- 优先级排产
|
||||
- 计划外壳
|
||||
- 生产订单关闭
|
||||
|
||||
核心数据:
|
||||
|
||||
- `MES_接口_生产计划`
|
||||
- `MES_接口_生产计划_生产任务`
|
||||
- `计划任务视图`
|
||||
- `View_生产订单_MES`
|
||||
- `View_生产订单全部(包括已关闭)`
|
||||
|
||||
功能:
|
||||
|
||||
- 查询生产订单和任务。
|
||||
- 按自制件属性区分机加、装配。
|
||||
- 派工、二次派工、单任务派工。
|
||||
- 计划时间调整、说明维护、优先级管理。
|
||||
- 订单关闭与 SAP B1 状态协同。
|
||||
|
||||
### 4.3 工艺管理
|
||||
|
||||
页面:
|
||||
|
||||
- 工序管理
|
||||
- 标准工艺维护
|
||||
- 生产工艺维护
|
||||
- 工艺查询
|
||||
- 生产订单工艺下发
|
||||
- 零件图纸、工艺图纸、采购图纸查看/上传/删除
|
||||
|
||||
核心数据:
|
||||
|
||||
- `基础表_工序`
|
||||
- `车间生产管理工艺_零件工序_工艺库`
|
||||
- `车间生产管理工艺_零件生产工艺_工艺库`
|
||||
- `物料基础数据_零件图纸`
|
||||
- `物料基础数据_工艺图纸`
|
||||
- `物料基础数据_零件图纸删除记录`
|
||||
- `View_标准工艺视图`
|
||||
- `View_生产工艺视图`
|
||||
- `View_图纸视图`
|
||||
|
||||
功能:
|
||||
|
||||
- 标准工艺制定和复制。
|
||||
- 生产工艺按订单生成、调整、排序、启用。
|
||||
- 图纸上传下载与删除记录。
|
||||
- 生产任务下发前的工艺准备。
|
||||
|
||||
### 4.4 生产管理
|
||||
|
||||
核心页面:
|
||||
|
||||
- 加工中心
|
||||
- 装配中心
|
||||
- 生产任务管理
|
||||
- 装配任务管理
|
||||
- 生产任务汇总
|
||||
- 装配任务汇总
|
||||
- 生产计划跟踪
|
||||
- 外协管理
|
||||
- 外协报表
|
||||
- 工时查询
|
||||
- 工时统计
|
||||
- 工时校验
|
||||
- 工时编辑
|
||||
- 加急件
|
||||
- 拣配任务
|
||||
- 班次管理
|
||||
- 过程异常管控
|
||||
|
||||
核心数据:
|
||||
|
||||
- `MES_接口_生产计划`
|
||||
- `MES_接口_生产计划_生产任务`
|
||||
- `YL_加工中心_操作记录表`
|
||||
- `YL_加工中心_报工记录`
|
||||
- `生产管理_工时校验_校验工时表`
|
||||
- `班次表`
|
||||
- `班次人员绑定表`
|
||||
- `设备信息缓存表`
|
||||
- `View_生产工时视图`
|
||||
- `View_校验后的生产工时`
|
||||
- `View_外协报表视图`
|
||||
|
||||
功能:
|
||||
|
||||
- 现场开工、暂停、继续、报工、送检、完工。
|
||||
- 工位/人员/任务绑定。
|
||||
- 外协发料、收料、打印、备注、历史和质检记录。
|
||||
- 工时校验、批量校验、异常工时录入。
|
||||
- 加急、拣配、任务跟踪和汇总。
|
||||
|
||||
### 4.5 质量管理
|
||||
|
||||
页面:
|
||||
|
||||
- 质量中心
|
||||
- 质检明细
|
||||
- 检验标准
|
||||
- 不合格品处置
|
||||
- 来料检验
|
||||
- 序检收检
|
||||
- 终检
|
||||
- 销售退货检
|
||||
- 其他入库检验
|
||||
- 原材料退库检验
|
||||
|
||||
核心数据:
|
||||
|
||||
- `YL_质量检验_质检记录`
|
||||
- `YL_质量检验_检测标准`
|
||||
- `YL_质量检验_量具信息`
|
||||
- `YL_质量检验_质检记录_检测零件`
|
||||
- `YL_质量检验_质检记录_检测数据`
|
||||
- `YL_质量检验_不合格品处理`
|
||||
- `质量检验_质检任务_SAP`
|
||||
- `View_质检明细`
|
||||
- `View_质量检验_质检记录`
|
||||
- `View_终检状态`
|
||||
|
||||
功能:
|
||||
|
||||
- 质检任务查询和处理。
|
||||
- 检测标准维护。
|
||||
- 多零件、多项目检测数据记录。
|
||||
- 合格、不合格、让步放行、报废统计。
|
||||
- 不合格品处理流程。
|
||||
- 与 SAP B1/TM 接口协同。
|
||||
|
||||
### 4.6 设备管理
|
||||
|
||||
页面:
|
||||
|
||||
- 设备信息
|
||||
- 设备实时数据
|
||||
- 设备历史数据
|
||||
- 设备状态
|
||||
|
||||
核心数据:
|
||||
|
||||
- `YL_设备管理_设备台账`
|
||||
- `YL_设备管理_维修记录`
|
||||
- `YL_设备管理_工时记录`
|
||||
- `历史_工位设备状态每分钟记录`
|
||||
- `历史_设备数据_定时`
|
||||
- `CaChe_Var`
|
||||
- `报警_记录_历史`
|
||||
- `报警_记录_历史_缓存`
|
||||
|
||||
功能:
|
||||
|
||||
- 设备台账维护。
|
||||
- 设备运行状态和历史采集数据查询。
|
||||
- 报警、缓存变量、OEE/状态看板支撑。
|
||||
|
||||
## 5. 数据库结构
|
||||
|
||||
### 5.1 表清单
|
||||
|
||||
更新后的 `script.sql` 包含 50 张表:
|
||||
|
||||
- `_日志`
|
||||
- `Attachments`
|
||||
- `BOM数据`
|
||||
- `CaChe_Var`
|
||||
- `MES_接口_工艺路线主数据`
|
||||
- `MES_接口_生产计划`
|
||||
- `MES_接口_生产计划_生产任务`
|
||||
- `MES_资源主数据`
|
||||
- `YL_基础表_数据字典`
|
||||
- `YL_加工中心_报工记录`
|
||||
- `YL_加工中心_操作记录表`
|
||||
- `YL_设备管理_工时记录`
|
||||
- `YL_设备管理_设备台账`
|
||||
- `YL_设备管理_维修记录`
|
||||
- `YL_质量检验_不合格品处理`
|
||||
- `YL_质量检验_不合格品处理_处理节点`
|
||||
- `YL_质量检验_检测标准`
|
||||
- `YL_质量检验_量具信息`
|
||||
- `YL_质量检验_质检记录`
|
||||
- `YL_质量检验_质检记录_检测零件`
|
||||
- `YL_质量检验_质检记录_检测数据`
|
||||
- `班次表`
|
||||
- `班次人员绑定表`
|
||||
- `报警_记录_历史`
|
||||
- `报警_记录_历史_缓存`
|
||||
- `车间生产管理工艺_零件工序_工艺库`
|
||||
- `车间生产管理工艺_零件生产工艺_工艺库`
|
||||
- `登录基础数据_部门`
|
||||
- `登录基础数据_二级菜单`
|
||||
- `登录基础数据_角色信息`
|
||||
- `登录基础数据_人员权限角色`
|
||||
- `登录基础数据_人员信息`
|
||||
- `工位人员绑定表`
|
||||
- `基础表_工序`
|
||||
- `基础数据_设备工位点检表`
|
||||
- `记录_日志_项目运行日志`
|
||||
- `历史_工位设备状态每分钟记录`
|
||||
- `历史_设备数据_定时`
|
||||
- `流程表`
|
||||
- `流程节点表`
|
||||
- `流程完成记录表`
|
||||
- `流程转办表`
|
||||
- `设备信息缓存表`
|
||||
- `审批记录表`
|
||||
- `生产管理_工时校验_校验工时表`
|
||||
- `物料基础数据_工艺图纸`
|
||||
- `物料基础数据_零件图纸`
|
||||
- `物料基础数据_零件图纸删除记录`
|
||||
- `物料数据`
|
||||
- `质量检验_质检任务_SAP`
|
||||
|
||||
### 5.2 视图清单
|
||||
|
||||
更新后的 `script.sql` 包含 26 个视图:
|
||||
|
||||
- `v_CurrentProductionStatus`
|
||||
- `View_报工人员`
|
||||
- `View_标准工艺视图`
|
||||
- `View_工位人员绑定数`
|
||||
- `View_基础数据_工位`
|
||||
- `View_设备工位人员`
|
||||
- `View_生产订单_MES`
|
||||
- `View_生产订单Temp_ERP`
|
||||
- `View_生产订单全部(包括已关闭)`
|
||||
- `View_生产订单完工`
|
||||
- `View_生产工时视图`
|
||||
- `View_生产工艺视图`
|
||||
- `View_生产计划零件图纸视图`
|
||||
- `View_图纸视图`
|
||||
- `View_外协报表视图`
|
||||
- `View_外协质检`
|
||||
- `View_校验后的生产工时`
|
||||
- `View_账号权限信息`
|
||||
- `View_质检明细`
|
||||
- `View_质量检验_不合格品处理`
|
||||
- `View_质量检验_质检记录`
|
||||
- `View_质量检验_质检记录_外协收检`
|
||||
- `View_终检状态`
|
||||
- `View_装配信息`
|
||||
- `登录基础数据_管理人员权限视图`
|
||||
- `计划任务视图`
|
||||
|
||||
### 5.3 存储过程分布
|
||||
|
||||
| 前缀/业务域 | 数量 |
|
||||
| --- | ---: |
|
||||
| `MES_` | 70 |
|
||||
| `生产管理_` | 39 |
|
||||
| `工艺管理_` | 38 |
|
||||
| `质量管理_` | 21 |
|
||||
| `工时...` | 20 |
|
||||
| `计划排产_` | 17 |
|
||||
| `sp_` 审批/流程/分页类 | 13 |
|
||||
| `看板_` 旧版综合看板 | 11 |
|
||||
| `设备管理_` | 10 |
|
||||
| `Event_` 采集/报警/日志事件 | 10 |
|
||||
| `机加设备生产运营看板_` | 9 |
|
||||
| `菜单...` | 9 |
|
||||
| `人员管理_` | 7 |
|
||||
| `usp_` 工时计算/校验辅助 | 7 |
|
||||
| `装配中心任务看板_` | 7 |
|
||||
| `生产任务综合看板_` | 6 |
|
||||
| `质量任务看板_` | 4 |
|
||||
| `TV_` | 3 |
|
||||
| `WEB_` | 2 |
|
||||
| 其他 | 42 |
|
||||
|
||||
### 5.4 看板过程清单
|
||||
|
||||
旧版综合看板:
|
||||
|
||||
- `看板_主页六个关键数据_查询`
|
||||
- `看板_左上订单看板_表格_查询`
|
||||
- `看板_左上计划执行情况_曲线_查询`
|
||||
- `看板_左中装配看板_表格_查询`
|
||||
- `看板_左下未完成看板_表格_查询`
|
||||
- `看板_右上合同看板_表格_查询`
|
||||
- `看板_右下质量看板_表格_查询`
|
||||
- `看板_右下质量看板_饼图_查询`
|
||||
- `看板_中间主体订单_表格_查询`
|
||||
- `看板_中间主体订单详情_表格_查询`
|
||||
- `看板_中间实时OEE数据展示_查询`
|
||||
|
||||
机加设备生产运营看板:
|
||||
|
||||
- `机加设备生产运营看板_设备任务查询`
|
||||
- `机加设备生产运营看板_不良品查询`
|
||||
- `机加设备生产运营看板_当天已完成明细`
|
||||
- `机加设备生产运营看板_设备运行状态查询`
|
||||
- `机加设备生产运营看板_未及时开工查询`
|
||||
- `机加设备生产运营看板_计划执行率`
|
||||
- `机加设备生产运营看板_加急任务查询`
|
||||
- `机加设备生产运营看板_机加在制查询`
|
||||
- `机加设备生产运营看板_机加在制查询2`
|
||||
|
||||
生产任务综合看板:
|
||||
|
||||
- `生产任务综合看板_按期齐套率`
|
||||
- `生产任务综合看板_未排产无工艺查询`
|
||||
- `生产任务综合看板_加急任务查询`
|
||||
- `生产任务综合看板_未及时开工查询`
|
||||
- `生产任务综合看板_未及时开工查询_Count`
|
||||
- `生产任务综合看板_未按期齐套任务`
|
||||
|
||||
装配中心任务看板:
|
||||
|
||||
- `装配中心任务看板_异常未关闭总数`
|
||||
- `装配中心任务看板_发货状态查询`
|
||||
- `装配中心任务看板_在制品缺件查询`
|
||||
- `装配中心任务看板_加急任务总数查询`
|
||||
- `装配中心任务看板_装配任务查询`
|
||||
- `装配中心任务看板_装配合格率`
|
||||
- `装配中心任务看板_已完成任务`
|
||||
|
||||
质量任务看板:
|
||||
|
||||
- `质量任务看板_未完成统计`
|
||||
- `质量任务看板_未完成明细查询`
|
||||
- `质量任务看板_当天已完成汇总`
|
||||
- `质量任务看板_当天已完成明细`
|
||||
|
||||
TV/设备看板:
|
||||
|
||||
- `TV_视图看板_查询`
|
||||
- `TV_视图看板2楼_查询`
|
||||
- `TV_视图看板仓库_查询`
|
||||
- `设备管理_设备状态_查询`
|
||||
- `Event_CaChe_Var_看板查询`
|
||||
|
||||
本轮核对结果:看板端 36 个关键调用过程在更新后的 `script.sql` 中全部存在。
|
||||
|
||||
## 6. 核心业务数据流
|
||||
|
||||
### 6.1 计划到执行
|
||||
|
||||
```text
|
||||
SAP/ERP 生产计划
|
||||
-> MES_接口_生产计划
|
||||
-> MES_接口_生产计划_生产任务
|
||||
-> 工艺维护/生产工艺下发
|
||||
-> 计划排产/派工
|
||||
-> 加工中心/装配中心执行
|
||||
-> 报工/质检/入库/订单关闭
|
||||
```
|
||||
|
||||
关键字段:
|
||||
|
||||
- `订单编号`
|
||||
- `合同号`
|
||||
- `计划号`
|
||||
- `TaskAID`
|
||||
- `阶段标识`
|
||||
- `工序名称`
|
||||
- `指派对象`
|
||||
- `计划开始时间`
|
||||
- `计划完成时间`
|
||||
- `任务状态`
|
||||
- `完成数量`
|
||||
- `合格数量`
|
||||
- `不合格数量`
|
||||
|
||||
### 6.2 工艺到任务
|
||||
|
||||
```text
|
||||
基础表_工序
|
||||
-> 标准工艺库
|
||||
-> 生产工艺库
|
||||
-> 生产订单工艺任务下发
|
||||
-> MES_接口_生产计划_生产任务
|
||||
```
|
||||
|
||||
关键表:
|
||||
|
||||
- `基础表_工序`
|
||||
- `车间生产管理工艺_零件工序_工艺库`
|
||||
- `车间生产管理工艺_零件生产工艺_工艺库`
|
||||
|
||||
### 6.3 生产工时
|
||||
|
||||
```text
|
||||
现场开工/暂停/继续/报工
|
||||
-> YL_加工中心_操作记录表
|
||||
-> YL_加工中心_报工记录
|
||||
-> 工时校验
|
||||
-> 生产管理_工时校验_校验工时表
|
||||
-> 工时统计/导出/上传
|
||||
```
|
||||
|
||||
关键过程:
|
||||
|
||||
- `usp_ValidateWorkTime`
|
||||
- `usp_BatchValidateWorkTime`
|
||||
- `usp_CalculateShiftTime`
|
||||
- `usp_CalculateUploadMinutes`
|
||||
- `工时统计_任务工时_查询`
|
||||
- `工时统计_设备工时_查询`
|
||||
- `工时统计_项目工时_查询`
|
||||
- `工时统计_作业者工时_查询`
|
||||
|
||||
### 6.4 质量检验
|
||||
|
||||
```text
|
||||
生产任务/质检任务
|
||||
-> YL_质量检验_质检记录
|
||||
-> YL_质量检验_质检记录_检测零件
|
||||
-> YL_质量检验_质检记录_检测数据
|
||||
-> 合格/不合格/让步/报废
|
||||
-> 不合格品处置或 SAP/TM 回写
|
||||
```
|
||||
|
||||
关键表:
|
||||
|
||||
- `YL_质量检验_检测标准`
|
||||
- `YL_质量检验_质检记录`
|
||||
- `YL_质量检验_质检记录_检测零件`
|
||||
- `YL_质量检验_质检记录_检测数据`
|
||||
- `质量检验_质检任务_SAP`
|
||||
|
||||
### 6.5 看板数据流
|
||||
|
||||
```text
|
||||
MES 主业务表/视图
|
||||
-> 看板专用存储过程
|
||||
-> MESCommonBase.ashx
|
||||
-> Vue2/Vue3 看板定时刷新
|
||||
-> 大屏指标、滚动表格、图表
|
||||
```
|
||||
|
||||
看板常用数据来源:
|
||||
|
||||
- `View_生产订单_MES`
|
||||
- `View_生产工时视图`
|
||||
- `View_生产工艺视图`
|
||||
- `View_质检明细`
|
||||
- `v_CurrentProductionStatus`
|
||||
- `MES_接口_生产计划`
|
||||
- `MES_接口_生产计划_生产任务`
|
||||
- `YL_加工中心_操作记录表`
|
||||
- `YL_质量检验_质检记录`
|
||||
- `历史_设备数据_定时`
|
||||
- `CaChe_Var`
|
||||
|
||||
## 7. 主系统与看板关系
|
||||
|
||||
| 维度 | 主系统 | 看板端 |
|
||||
| --- | --- | --- |
|
||||
| 主要使用者 | 计划、工艺、生产、质检、设备、管理员 | 车间、管理层、现场展示屏 |
|
||||
| 操作方式 | 表单、表格、弹窗、日历、文件上传下载 | 只读大屏、自动刷新、滚动列表、图表 |
|
||||
| 技术栈 | Vue2 + Webpack + Element UI | Vue2/Webpack/DataV 或 Vue3/Vite/Element Plus/TDesign |
|
||||
| 接口 | `window.dt_Config.serverAddress` | `window.g.API_WEB_URL` 或 `window.ConnectConfig.url2` |
|
||||
| 数据协议 | `CreateData + ExecDatabase` | 同协议或简化封装 |
|
||||
| 主要过程 | 计划/生产/质量/设备/系统管理过程 | `看板_*`、`*_任务看板_*`、`机加设备生产运营看板_*` |
|
||||
| 数据权限 | 登录、角色、动态菜单 | 多数看板不走完整登录权限,直接读接口 |
|
||||
|
||||
## 8. 当前风险与问题
|
||||
|
||||
1. 主系统仍有 16 个前端调用过程未包含在当前 `script.sql`
|
||||
|
||||
缺失清单:
|
||||
|
||||
- `Prog_MES_SingleTaskPlanned`
|
||||
- `WEB_报警查询_未读报警记录_查询`
|
||||
- `WEB_报警查询_未读报警记录_未读条数查询`
|
||||
- `WEB_基本表_产品结构_查询`
|
||||
- `WEB_基本表_产品结构_删除`
|
||||
- `WEB_基本表_产品结构_新增`
|
||||
- `WEB_基本表_产品结构_修改`
|
||||
- `WEB_人员设备查看权限_查询`
|
||||
- `WEB_人员设备查看权限_权限切换`
|
||||
- `WEB_人员摄像头查看权限_权限切换`
|
||||
- `WEB_摄像头查看权限_查询`
|
||||
- `产品关系_变更节点排序`
|
||||
- `登录基础数据_人员信息_切换是否用户`
|
||||
- `点检类型_查询`
|
||||
- `工艺名称_查询`
|
||||
- `设备管理_设备信息_验证工位号是否重复`
|
||||
|
||||
2. 看板 SQL 已补齐,但刷新压力要评估
|
||||
|
||||
新版看板多数 5 秒刷新一次。如果多个大屏同时打开,`MESCommonBase.ashx` 和 SQL Server 会承受周期性查询压力。看板过程应避免重 JOIN、避免全表扫描,必要时用缓存表或汇总表。
|
||||
|
||||
3. `TableTV` 配置与实现不一致
|
||||
|
||||
`public/config.js` 配置了 `TV_SQL: 'TV_视图看板_查询'`,但当前页面直接调用 `设备管理_设备状态_查询`。如果希望“一套 TableTV 通过配置切换不同 SQL”,需要修正实现。
|
||||
|
||||
4. 编码问题仍然存在
|
||||
|
||||
主系统和旧版 `board_view` 中大量中文在默认 PowerShell 输出为乱码。用 `-Encoding UTF8` 可正常读取部分文件,但历史文件可能混有不同编码。维护过程名和中文字段时要格外谨慎。
|
||||
|
||||
5. 认证与权限边界薄弱
|
||||
|
||||
主系统 Cookie 中的 `Admin-Token` 更像角色编号;新版看板多数直接读接口,不走完整登录权限。如果看板部署在内网之外,需要后端加白名单、token 或网关控制。
|
||||
|
||||
6. 多项目重复代码明显
|
||||
|
||||
多个 Vite 看板项目复制了相同的:
|
||||
|
||||
- `src/utils/request.js`
|
||||
- `src/utils/curd.js`
|
||||
- `src/utils/curdVue3.js`
|
||||
- `src/router`
|
||||
- `src/store`
|
||||
- 静态资源和配置结构
|
||||
|
||||
后续维护时容易出现一个看板修了协议,其他看板未同步的问题。
|
||||
|
||||
7. 主系统超时时间过长,看板超时时间偏短
|
||||
|
||||
- 主系统:1500000ms,约 25 分钟。
|
||||
- 新版看板:5000ms,约 5 秒。
|
||||
|
||||
建议对接口分层配置:普通业务、导出、看板查询分别设置合理超时。
|
||||
|
||||
## 9. 建议技术路线
|
||||
|
||||
### 9.1 短期
|
||||
|
||||
- 以更新后的 `script.sql` 为基础,补齐主系统缺失的 16 个过程。
|
||||
- 为看板过程建立清单和刷新频率表,确认每个过程的平均耗时。
|
||||
- 修正 `TableTV` 的 `TV_SQL` 未生效问题,或者删除无效配置避免误导。
|
||||
- 保留当前 `.ashx + 存储过程` 架构,先稳定生产。
|
||||
- 将看板项目部署说明补全:端口、访问路径、`public/config.js`、构建命令、后端地址。
|
||||
|
||||
### 9.2 中期
|
||||
|
||||
- 抽取 Vue3 看板公共模板,统一 `request/curdVue3/router/store`。
|
||||
- 对看板 SQL 建立缓存或中间汇总表,降低实时查询压力。
|
||||
- 主系统建立“页面-过程-表/视图”映射文档,优先覆盖加工中心、质量中心、外协、工时校验、排产。
|
||||
- 对 `.ashx` 返回结构、错误码、超时、登录失效做统一拦截。
|
||||
- 清理乱码和历史备份文件,确认源码统一 UTF-8。
|
||||
|
||||
### 9.3 长期
|
||||
|
||||
- 后端从“前端直接传过程名”逐步演进为明确业务 API。
|
||||
- 建立数据库版本管理机制,按版本维护增量 SQL 和回滚脚本。
|
||||
- 看板数据进入独立只读 API 或缓存服务,避免大屏直接冲击业务库。
|
||||
- SAP B1、TM、设备/PLC 接口统一收敛到后端服务层。
|
||||
- 建立权限模型:主系统、看板、设备接口分层授权。
|
||||
|
||||
## 10. 接手排查路径
|
||||
|
||||
主系统页面问题:
|
||||
|
||||
1. 找页面:`MES_Manage_View_V20/src/views/<模块>/<页面>/index.vue`
|
||||
2. 搜索 `CreateData(`,确认存储过程名。
|
||||
3. 在 `script.sql` 搜索该过程。
|
||||
4. 检查过程返回列名是否与前端表格字段一致。
|
||||
5. 检查 `static/config.js` 服务地址。
|
||||
|
||||
看板页面问题:
|
||||
|
||||
1. 找同级看板目录。
|
||||
2. 查看 `public/config.js` 或 `static/config.js`。
|
||||
3. 搜索 `queryDashboardData(`、`CreateData(`、`ExecDatabaseByParam(`。
|
||||
4. 在 `script.sql` 中定位对应看板过程。
|
||||
5. 检查过程耗时、返回字段、刷新频率。
|
||||
6. 若是 `TableTV`,注意当前代码没有使用 `TV_SQL`。
|
||||
|
||||
数据库问题:
|
||||
|
||||
1. 先确认 `script.sql` 版本。
|
||||
2. 看过程是否存在。
|
||||
3. 看过程依赖的视图和表是否存在。
|
||||
4. 看字段名是否与前端一致。
|
||||
5. 看看板过程是否有全表扫描或复杂排序。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user