# 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. 看看板过程是否有全表扫描或复杂排序。


