27 KiB
MES 测试环境接管基线
文档版本:V1.3
基线日期:2026-07-25
适用项目:MES_Manage_View_V20
接管环境:测试环境
文档状态:已建立,后续按验证进度持续更新
1. 基线结论
当前测试环境已完成前端、MES 接口、数据库、只读外部集成和恢复演练的受控接管,可作为后续生产接管的演练环境。核心后端按现有发布物维护,不把缺少原始源码列为当前接管阻断项;涉及 DLL 逻辑修改时仍需单独评估。
| 领域 | 状态 | 结论 |
|---|---|---|
| 前端代码/部署 | 已接管 | 构建通过,测试前端已部署到 IIS 10012 |
| MES 通用接口 | 已验证 | HTTPS 接口可访问,登录、菜单和只读过程调用成功 |
| 测试数据库 | 已验证 | SQL Server 可连接,YL_MESDB 在线且对象可读 |
| MES 应用账号 | 已验证 | 测试超级管理员账号可登录,角色和菜单加载成功 |
| B1 集成 | 只读接管 | 通过管理机 VPN 访问现场代理,登录代理与语义 GET 可用,POST/PATCH 被测试前端阻止 |
| TM 集成 | 受限只读 | 现场代理端口可达;当前前端只有库存任务 POST 调用,测试环境全部阻止,尚无明确 GET 验收端点 |
| 数据库版本一致性 | 关键项已同步 | 装配任务查询、索引、合同工时和预算进度相关变更已同步,完整对象差异仍需持续维护 |
| 测试账号权限 | 部分整改 | 已创建 meswork_readonly 只读账号,原 meswork 仍为 dbo/sysadmin |
| 配置隔离 | 已验证 | 测试 dist/static/config.js 独立指向测试 MES,并启用 B1/TM 只读保护 |
| 接口服务源码/部署 | 发布物接管 | IIS、部署目录、配置和脱敏快照已归档;按约定不修改核心 DLL,无原始源码不阻断当前运维接管 |
接管判定:有条件接管。
- 可以开展:代码分析、只读诊断、菜单与权限核对、MES 查询流程测试、SQL 修复脚本编写、测试环境受控变更。
- 暂不可开展:B1/TM 真实联调、生产等价验收、未经审批的数据库写入、完整灾备恢复演练。
V1.2 增量状态:WinRM HTTPS 已接通并完成 IIS/后端只读盘点;部署快照已脱敏归档,数据库备份历史已核对,但核心 DLL 原始源码和恢复演练仍未完成。
2. 基线范围
本基线覆盖:
- Vue 主系统代码、构建配置和运行时配置。
- MES 统一接口
MESCommonBase.ashx。 - 测试服务器 IIS 站点、应用池、证书、日志和接口部署目录。
- 测试 SQL Server 中的
YL_MESDB。 - MES 应用登录、角色菜单和通用存储过程查询。
- B1/TM 网络可用性及前端依赖范围。
- 正式库与测试库部分关键对象的定义一致性。
- 接管安全规则、变更规则、已知限制和后续任务。
本基线不包含明文密码、数据库连接口令、Token 或生产业务数据。
3. 代码基线
3.1 版本信息
| 项目 | 当前值 |
|---|---|
| 仓库目录 | C:\WorkYuanLy\MES_Manage_View_V20 |
| 当前分支 | snapshot/local-save-20260625-154806 |
| 当前提交 | 62f7632fc6708a8dcb25934c463d18520d9619de |
| 提交时间 | 2026-07-24 14:59:37 +08:00 |
| 提交说明 | feat: 完善设计报工与研发工时功能 |
| Node.js | v20.14.0 |
| npm | 10.7.0 |
| 应用版本 | 1.1.0 |
当前工作区存在未提交文档、数据库脚本和工作目录。接管期间不得清理或覆盖来源不明的现有变更;正式发布前应建立明确的发布分支和提交边界。
3.2 技术栈
| 层级 | 技术 |
|---|---|
| 前端框架 | Vue 2.7.16 |
| 路由 | Vue Router 3.6.5,数据库菜单动态生成路由 |
| 状态管理 | Vuex 3.6.2 |
| UI | Element UI 2.15.14 |
| HTTP | Axios 0.21.4 |
| 构建 | Webpack 5.103.0 |
| 数据库 | SQL Server 2019 |
| 业务接口 | ASP.NET .ashx 统一存储过程网关 |
| 外部集成 | SAP B1 代理、TM/OpenAPI、文件服务、设备/MQTT |
3.3 前端规模
| 指标 | 数量 |
|---|---|
src/views 下 Vue 文件 |
99 |
src 下 JavaScript 文件 |
77 |
CreateData 调用 |
770 |
| 可静态识别的字面量过程调用 | 724 |
| 可静态识别的唯一过程名 | 219 |
业务模块页面分布:
| 模块 | Vue 文件数 |
|---|---|
| 生产管理 | 36 |
| 质量管理 | 15 |
| 计划排产 | 13 |
| 工艺管理 | 9 |
| 系统管理 | 6 |
| 异常管理 | 4 |
| 设备管理 | 4 |
| 其他布局、登录、看板、销售、基础模块 | 12 |
4. 环境清单
4.1 地址规则
| 环境 | MES 通用接口 | 基础地址 | 说明 |
|---|---|---|---|
| 正式 | https://192.168.2.92:10101/submit/MESCommonBase.ashx |
https://192.168.2.92:10101 |
正式业务环境,默认只读诊断 |
| 测试 | https://124.220.15.242:10101/submit/MESCommonBase.ashx |
https://124.220.15.242:10101 |
当前接管验证环境 |
| 本地 | http://127.0.0.1:10101/submit/MESCommonBase.ashx |
http://127.0.0.1:10101 |
本地接口服务 |
测试 B1/TM 通过管理机 VPN 访问现场代理:
- B1:
https://192.168.2.92:9996/b1s - TM:
https://192.168.2.92:9996/openapi
测试运行配置必须设置 externalReadOnly: true。B1/TM 的语义 POST/PATCH 在前端请求发出前被阻止;语义 GET 仍由代理通过 HTTP POST 传输,判定写保护时以请求体 func 为准。
4.2 配置加载机制
index.html 在应用脚本前加载 ./static/config.js。MES、文件服务、B1 和 TM 地址均从 window.dt_Config 读取。
npm run build 完成后会删除 dist/static/config.js,因此运行时配置应由部署环境单独注入。推荐维护正式、测试、本地三套模板,并通过脚本选择目标配置,禁止人工切换注释。
当前风险:源码中的 static/config.js 默认指向正式环境。启动测试前端前必须先完成环境隔离。
5. 系统架构与调用链
浏览器 / Vue 页面
|
| CreateData + ExecDatabase
v
MESCommonBase.ashx 统一接口
|
| 过程名 + 参数 + 用户/模块信息
v
SQL Server / YL_MESDB
|
+-- 存储过程、视图、业务表
+-- SAP 跨库视图或 B1 代理
+-- TM 领料/收料/退料接口
+-- 文件上传下载服务
关键实现:
src/utils/request.js:主 Axios 实例,读取serverAddress。src/utils/curd.js:构造统一过程请求并执行接口调用。src/api/login.js:登录和角色菜单查询。src/router/getTreeData.js:将数据库菜单转换为动态路由。src/api/b1s.js:B1 GET/POST/PATCH 代理封装。src/api/tm.js:TM/OpenAPI 代理封装。
6. 测试数据库基线
6.1 数据库信息
| 项目 | 当前值 |
|---|---|
| SQL Server | Microsoft SQL Server 2019 Enterprise |
| 服务器实例 | 10_0_4_16\MSSQLSERVER2019 |
| 数据库 | YL_MESDB |
| 状态 | ONLINE |
| 兼容级别 | 150 |
| 排序规则 | Chinese_PRC_CI_AS |
| 恢复模式 | SIMPLE |
| 数据库总容量 | 1234.69 MB |
| 数据文件 | 1226.69 MB |
| 日志文件 | 8.00 MB |
6.2 对象规模
| 对象类型 | 数量 |
|---|---|
| 用户表 | 61 |
| 视图 | 27 |
| 存储过程 | 425 |
| 标量函数 | 2 |
| 主键约束 | 47 |
| 外键约束 | 8 |
| 默认约束 | 45 |
| 唯一约束 | 5 |
正式库和测试库的上述对象数量一致,但对象定义并不完全一致。
6.3 账号权限
原测试数据库账号在 YL_MESDB 中映射为 dbo,并具有 CONTROL、ALTER、CREATE、INSERT、UPDATE、DELETE 和 EXECUTE 等完整权限。
已创建日常诊断账号 meswork_readonly,映射到 YL_MESDB 后仅加入 db_datareader 并授予 VIEW DEFINITION。验证结果为:数据库 SELECT=1、VIEW DEFINITION=1,INSERT=0、UPDATE=0、DELETE=0。该账号不授予全库 EXECUTE,避免通过未知写过程间接修改数据。
该账号只应作为临时受控部署账号,不应作为日常诊断账号。需要新增:
- 只读诊断账号:仅允许连接、查看定义、查询数据和查看执行计划。
- 受控部署账号:按变更窗口启用,发布完成后收回或禁用。
7. 正式库与测试库漂移
抽查 6 个近期关键过程,结果如下:
| 存储过程 | 测试/正式定义 | 结论 |
|---|---|---|
MES_OrderPlanned_Query |
不一致 | 测试库为 2026-06-09 版本,正式库为 2026-07-24 版本 |
计划排产_系统类任务查询 |
不一致 | 正式库已包含 2026-07-25 合同工时修复,测试库未同步 |
计划排产_阀类任务查询 |
不一致 | 正式库已包含 2026-07-25 合同工时修复,测试库未同步 |
车间生产管理工艺_零件工序_保存为标准工艺 |
一致 | 修改时间不同,但定义哈希一致 |
生产管理_及时齐套跟踪结果_查询 |
一致 | 定义哈希一致 |
设计报工_研发财务工时_查询 |
一致 | 定义哈希一致 |
禁止直接用正式库覆盖测试库。应按数据库变更脚本逐项同步,并在同步前记录测试库对象哈希和回滚定义。
8. 已完成验证
8.1 网络与数据库
| 验证项 | 结果 |
|---|---|
| 测试 SQL Server 端口 | 通过 |
| 测试数据库登录 | 通过 |
YL_MESDB 对象读取 |
通过 |
| 测试 MES 接口端口 | 通过 |
| 测试 B1/TM 代理端口 | 失败,当前不可达 |
8.2 应用接口
| 验证项 | 结果 | 证据 |
|---|---|---|
| MES 测试账号登录 | 通过 | HTTP 200,返回超级管理员角色 |
| 角色菜单查询 | 通过 | HTTP 200,返回 84 条菜单/权限数据 |
| 通用只读过程查询 | 通过 | HTTP 200,返回 33 条工位数据 |
| B1 查询/写入 | 未执行 | 代理端口不可达 |
| TM 领料/收料/退料 | 未执行 | 代理端口不可达 |
8.3 前端构建
执行命令:npm run build
结果:构建成功,Webpack 5.103.0 用时约 79 秒,出现 2 类既有警告:
- 字体、登录图片和主要 JavaScript 包超过推荐体积。
- Browserslist/caniuse-lite 与 baseline-browser-mapping 数据过期。
入口资源约 6.85 MiB,存在前端首屏性能优化空间。构建完成后 dist/static/config.js 按脚本设计被删除,部署前必须注入目标环境配置。
9. 已知限制与未验证范围
以下项目尚不能视为已接管完成:
- B1 生产订单、资源、工艺路线、发料和库存单据联调。
- TM 领料任务、收料任务和退料任务联调。
- 文件上传、下载、图纸和附件完整链路。
- 设备采集、MQTT、PLC、AGV 和定时任务。
- 排产、报工、送检、收检、退库等写入流程。
- 核心 DLL 原始源码、可重复构建流程、接口发布和回滚演练。
- 数据库完整备份恢复和灾备演练。
- 页面级全量浏览器回归、并发和性能测试。
10. 安全与运行风险
| 编号 | 级别 | 风险 | 处理要求 |
|---|---|---|---|
| SEC-01 | P1 | 原测试数据库账号为 dbo |
只读账号已建立;切换完成后再限制或停用原 dbo/sysadmin 账号 |
| SEC-02 | P1 | 登录接口返回明文 password 字段 |
后端查询和序列化结果移除密码 |
| SEC-03 | P1 | 登录页“记住密码”将密码保存到 Cookie 7 天 | 改为仅记住账号,不在浏览器保存明文密码 |
| SEC-04 | P1 | 10100/10101 复用名称不匹配的自签名 WMSvc 证书 | 换用与测试域名匹配、受信任且独立的业务 HTTPS 证书 |
| SEC-05 | P2 | submit/web.config 开启目录浏览 |
验证无业务依赖后关闭目录浏览 |
| ENV-01 | P1 | 源码运行时配置默认指向正式环境 | 建立三套配置模板和环境防误连校验 |
| ENV-02 | P1 | 测试库与正式库过程版本漂移 | 建立对象哈希清单和脚本化同步流程 |
| INT-01 | P2 | B1/TM 测试代理不可用 | 恢复测试代理或提供模拟服务 |
| OPS-01 | P2 | 发布包已归档但 DataLinkMesWork.dll 原始源码缺失 |
获取原始项目仓库,建立可重复构建和版本标记 |
| OPS-02 | P2 | 服务器 C 盘仅余约 13.5 GB | 建立容量告警并清理经确认可删除的历史备份/发布包 |
| PERF-01 | P3 | 前端入口和字体资源体积较大 | 按页面拆包、裁剪字体、压缩静态资源 |
11. 接管操作规则
- 生产环境默认只读;任何生产写操作需要用户明确批准。
- 测试环境写操作也必须先给出测试数据、预期结果和回滚方法。
- 数据库变更必须包含前置结构校验、事务、验证 SQL 和回滚脚本。
- 不直接覆盖正式/测试数据库,不使用数据库整体覆盖代替版本迁移。
- 不在仓库、文档或日志中保存密码和 Token。
- 发布前记录 Git 提交、数据库对象哈希、配置目标和构建结果。
- 发布后执行页面、接口和数据库三层验证。
- 每次执行过程和结论追加到
gptlog-process/gpdlog.md。 - B1/TM 不可用时,相关页面只能验证错误处理和模拟结果,不能判定业务联调通过。
- 发现正式环境与测试环境漂移时,先评估差异来源,再决定同步方向。
12. 接管任务清单
P0:接管前置
- 验证测试 SQL Server 和
YL_MESDB。 - 验证 MES 测试账号登录。
- 验证菜单权限查询。
- 验证通用只读存储过程调用。
- 验证前端生产构建。
- 确认 B1/TM 测试端口不可用。
- 建立正式、测试、本地配置模板和自动切换命令。
- 建立只读数据库账号
meswork_readonly。 - 完成业务服务账号切换后,限制或停用原
meswork的dbo/sysadmin权限。 - 获取后端
.ashx、IIS 站点、部署目录和程序集发布快照。 - 获取
DataLinkMesWork.dll等核心程序集的原始项目源码。
P1:版本与安全
- 输出完整正式/测试数据库对象哈希差异清单。
- 审批并同步
MES_OrderPlanned_Query等确认差异。 - 将合同工时修复同步到测试库并回归。
- 移除登录接口返回的密码字段。
- 移除浏览器 Cookie 中的明文密码。
- 建立数据库备份、恢复和回滚演练记录。
P2:业务接管
- 登录、菜单、角色和权限全量回归。
- 工艺、计划、生产、质量、设备和异常模块只读冒烟测试。
- 建立页面到过程、视图和表的可检索映射。
- 为关键写流程准备隔离测试数据和回滚脚本。
- 恢复或模拟 B1/TM 后完成外部集成验收。
- 建立发布清单、问题台账和定期巡检机制。
13. 接管完成标准
满足以下条件后,测试环境可从“有条件接管”升级为“完整接管”:
- 三套环境配置完全隔离,测试前端不能连接正式接口。
- 后端接口源码、部署目录、连接配置和回滚方法已归档。
- 测试库与正式库的结构差异全部有明确原因和同步记录。
- 日常诊断使用最小权限账号,高权限账号仅用于受控发布。
- 登录密码泄露和 Cookie 明文密码问题已修复。
- 核心 MES 模块的查询与写入流程均完成测试环境回归。
- B1/TM 已恢复测试连接或具备可验收的模拟服务。
- 数据库备份恢复、前端发布和接口回滚均完成至少一次演练。
- 每个关键模块都有负责人、验收口径和故障升级路径。
14. 参考资产
doc/大连元利流体技术有限公司MES系统标准技术文档_V1.1_2026-07-24.docxdoc/大连元利流体技术有限公司MES系统标准设计文档_V1.1_2026-07-24.docxdoc/大连元利流体技术有限公司MES系统用户操作手册_V1.1_2026-07-23.docxdoc/工时模块全流程技术说明_20260721.htmldb_backups/数据库变更与回滚脚本目录server_baseline/MES_ManageV20250916_20260725/脱敏后端部署快照与 SHA-256 清单gptlog-process/gpdlog.mdGPT/Codex 执行过程日志
基线维护原则:每次环境地址、数据库结构、接口版本、权限或外部集成状态发生变化后,应更新本文件的版本、日期、验证结果和任务清单。
15. V1.2 增量验证记录
数据库账号
- 创建对象:服务器登录
meswork_readonly,数据库用户YL_MESDB.meswork_readonly。 - 权限:
db_datareader、VIEW DEFINITION。 - 验证:能够登录、查询表、读取对象定义;数据库级
INSERT、UPDATE、DELETE均无权限。 - 原账号:
meswork仍为dbo且属于sysadmin,未在未确认服务依赖前删除或降权。
远程服务器
- RDP 自定义端口
124.220.15.242:12920:TCP 可达。 - 标准 RDP
3389:不可达。 - WinRM HTTPS
5986:外部 TCP 可达,使用受控引导会话已成功认证到 Windows Server 2019 Datacenter。 - IIS Management Service
8172:WMSVC 已运行,服务器本机监听成功;公网未列为当前接管前置条件。 - 远程盘点仅执行读取和文件拉取,没有停止站点、回收应用池或修改接口部署文件。
IIS 与后端部署
- IIS 站点:
元利流体MES_Manage,状态 Started,站点 ID 29。 - 绑定:HTTPS 10100、10101;物理目录
C:\ProjectShow\元利流体\MES_ManageV20250916。 - 应用池:同名,
.NET v4.0、Integrated、ApplicationPoolIdentity、按需启动、空闲 20 分钟、周期回收 29 小时。 - 认证:IIS 匿名认证开启,Windows/Basic 认证关闭;应用认证由接口业务逻辑承担。
- 证书:10100/10101 共用自签名
CN=WMSvc-SHA2-10_0_4_16,与公网 IP 不匹配。 - 日志:
C:\inetpub\logs\LogFiles\W3SVC29;当前抽样 11 次MESCommonBase.ashx请求均为 HTTP 200,近两天未发现 ASP.NET/.NET/IIS 错误事件。 - 部署规模:274 个文件、约 91.31 MB;包含 32 个内联 C#
.ashx、50 个 DLL 和 PDB,没有独立.cs项目文件。 - 本地快照:163 个文件、约 75.44 MB;排除了根
Web.config、PDF、上传文件、业务数据和.vs。 - 核心逻辑:
MESCommonBase.ashx将默认调用转交DataLinkMesWork.DataLink.SqlWebCall;PDB 记录了原始构建源码路径,但该路径和项目源码在测试服务器不存在。 - 恢复源码:使用 ILSpy 9.1.0.7988 生成 76 个 C# 文件和
net48项目,本地构建为 0 错误、102 警告;重建 DLL 与发布 DLL 哈希不一致,严禁直接替换发布件。
后端连接与备份
- 根
Web.config的实际ConnectionString指向124.220.15.242,64722 / YL_MESDB,SQL 凭据未复制或写入文档。 - 配置仍保留旧字段
.\MSSQLSERVER2016 / MESBasicDB_PZ126,实际接口使用上述ConnectionString。 - 服务器同时运行 SQL Server 2016/2019,64722 在 IPv4/IPv6 全地址监听;
YL_MESDB数据文件位于 SQL Server 2019 实例目录。 - 最新完整备份
C:\YL_MESDB_202607240000.bak已确认存在,大小 1,278,302,720 字节,时间 2026-07-24 14:40:52。 - 2026-05-09 的完整备份文件也存在;历史记录中的
C:\123.bak已不存在。尚未执行RESTORE VERIFYONLY或隔离恢复演练。 - 服务器 C 盘剩余空间约 13.5 GB。
下一步
- 获取
DataLinkMesWork等核心程序集的原始源码仓库和构建说明;在此之前只能维护内联.ashx或以发布包方式回滚。 - 创建后端专用最小权限 SQL 服务账号并回归接口,再限制原
meswork的高权限。 - 建立测试/正式/本地运行时配置模板,阻止测试前端误连正式环境。
- 在隔离位置执行数据库备份校验、恢复演练和接口发布回滚演练。
- 更换业务 HTTPS 证书、关闭目录浏览,并修复接口/浏览器明文密码风险。
16. 装配任务正式变更同步记录
同步日期与范围
- 同步日期:2026-07-25
- 测试数据库:
124.220.15.242,64722 / YL_MESDB - 测试接口:
https://124.220.15.242:10101/submit/MESCommonBase.ashx - 同步范围:系统类和阀类装配任务合同工时修复、共享查询优化、5 个辅助索引、预算工时保存及预算进度返回、前端首屏渲染优化。
数据库对象
- 新增共享核心过程
dbo.计划排产_装配任务查询_核心。 - 原入口过程
计划排产_系统类任务查询、计划排产_阀类任务查询保留名称和参数,定义哈希与正式库对应入口完全一致。 - 保留测试库原过程备份:
计划排产_系统类任务查询_优化前_20260725、计划排产_阀类任务查询_优化前_20260725。 - 新增
计划排产_装配任务预算、计划排产_装配合同预算和计划排产_装配任务预算_保存。 - 新增 5 个查询辅助索引,名称和结构与正式库一致。
测试环境 SAP 适配
测试 SQL 链接服务器 [SAP] 无法连接现场 SAP,单独读取超过 39 秒仍未返回。装配任务查询原本每次等待该链接,系统类约 44 秒、阀类约 22 秒,并导致接口不能正常返回分页结构。
仅在测试核心过程中跳过远程交货日期读取,使用空日期保留 交货日期理论齐套日期 字段结构。订单、合同工时、预算字段和其他业务条件不变。现场 SAP 恢复后可执行:
- 部署脚本:
db_backups/test_disable_install_task_sap_delivery_20260725.sql - 回滚脚本:
db_backups/rollback_test_disable_install_task_sap_delivery_20260725.sql - 过程备份:
dbo.计划排产_装配任务查询_核心_测试跳过SAP前_20260725
回归结果
| 查询 | 测试接口耗时 | 返回结果 |
|---|---|---|
| 系统类装配任务 | 818-1089 ms | 20/55 行,4 个预算字段齐全 |
| 阀类装配任务 | 931-1136 ms | 20/263 行,4 个预算字段齐全 |
预算接口写入和读取回归通过:测试订单 5598、合同 HT260597 临时保存任务预算 123.45 小时和合同预算 67.89 小时,查询返回进度 2.48%、10.04%。回归记录已按专用编辑标记精确删除,两张预算表最终均为 0 行。
前端交付
根目录 dist 已使用包含 20 行默认分页、预算进度功能、登录安全修复和外部系统只读保护的 app.83b8251a.js。服务器已创建 IIS 站点 元利流体MES_View,物理目录为 C:\ProjectShow\元利流体\MES_Manage_View\dist,HTTP 绑定为 *:10012:。本地和远程文件共 84 个、95,691,424 字节,index.html 和 config.js 的 SHA-256 一致。本次直接复制 dist,未生成 zip。
17. V1.3 接管落地与验收记录
17.1 当前可执行的工作
- 在
http://124.220.15.242:10012/部署和回归测试前端,独立维护测试运行配置。 - 通过
10101完成登录、菜单、权限和 MES 存储过程的查询/受控变更验证。 - 使用数据库只读账号开展结构、数据、执行计划和性能诊断;数据库变更使用部署/回滚脚本受控执行。
- 维护系统类、阀类装配任务查询、预算工时和进度功能,并在测试环境做接口回归。
- 通过 VPN 对 B1 做登录代理和 GET 联调;B1/TM 的 POST/PATCH 在测试前端强制阻止。
- 执行数据库备份校验、隔离恢复、完整性检查和清理演练。
- 盘点 IIS、部署目录、配置、日志、证书和防火墙,为生产接管准备操作清单。
17.2 前端与外部集成保护
- 构建结果:Webpack 成功,入口
app.83b8251a.js;仅有既有的大资源和浏览器数据过期警告。 - IIS 验证:服务器本机和管理端访问
10012均返回 HTTP 200,运行配置返回 HTTP 200 且externalReadOnly=true。 - 隔离测试:B1/TM 四个语义写入口均返回
blocked=true,网络调用次数为 0;B1/TM GET 包装仍正常发出func=GET。 - B1 实际 GET:
ProductionOrders最小查询返回 HTTP 200,约 252 ms,有value集合且无 B1 错误。 - TM:端口可达,但代码中没有可确认无副作用的登录/GET 端点,因此未调用库存任务接口。
17.3 数据库恢复演练
- 备份:
C:\YL_MESDB_202607240000.bak,备份完成时间 2026-07-24 14:40:52,大小 1,278,302,720 字节。 RESTORE VERIFYONLY通过;该备份未包含 SQL Server checksum,带CHECKSUM的校验无法执行,后续备份任务应启用 checksum。- 隔离恢复库:
YL_MESDB_RestoreDrill_20260725,恢复约 9.4 秒并正常 ONLINE。 DBCC CHECKDB(..., PHYSICAL_ONLY)通过,约 5.9 秒。- 备份对象为 61 表/27 视图/425 过程;当前测试库为 63/27/432,增加项来自 7 月 25 日已部署变更。
- 演练结束后数据库、MDF 和 LDF 均已删除,磁盘空间恢复。
17.4 安全整改
- 登录过程已保留回滚备份并改为显式返回字段,仍校验密码但不返回
password;公网接口实测登录成功且响应无密码属性。 - 登录页只记住账号,不再写入密码 Cookie,并会删除旧
passwordCookie。 - 后端根目录和
submit目录浏览已从True改为False,原配置已在服务器同目录备份;目录访问返回 HTTP 403,接口仍为 HTTP 200。 - 仓库内两个历史注释中的口令和执行日志中的口令特征已脱敏。
- WinRM 5986 和 IIS Management 8172 仅允许管理端公网 IP;测试前端 10012 当前允许任意来源访问。
17.5 核心模块只读冒烟
| 模块 | 查询入口 | 结果 | 耗时 |
|---|---|---|---|
| 系统 | 人员管理_人员信息查询 |
200 / 135 行 | 385 ms |
| 工艺 | MES_ProcessManagement_ProcessGet |
200 / 合法 JSON | 113 ms |
| 计划 | 计划排产_生产订单_工艺查询 |
200 / 9878 行 | 2619 ms |
| 生产 | 生产管理_班次管理_班次列表查询 |
200 / 4 行 | 128 ms |
| 质量 | 质量管理_测试装配任务_查询2 |
200 / 0 行 | 200 ms |
| 设备 | 设备管理_设备数据_工位信息_查询 |
200 / 21 行 | 140 ms |
| 异常 | 加急订单_加急明细查询 |
200 / 合法 JSON | 117 ms |
| 销售 | 销售管理_销售订单状态 |
200 / 200 行 | 430 ms |
| 首页看板 | 看板_主页六个关键数据_查询 |
200 / 25 行 | 1099 ms |
登录账号角色菜单查询另返回 84 条,覆盖工艺、计划、生产、质量、设备和异常等主模块。
17.6 仍保留的生产接管前风险
- 测试后端业务 HTTPS 证书为名称不匹配的自签名证书,需要替换为受信任且与访问域名匹配的证书。
- 测试前端
10012当前使用 HTTP 且防火墙来源为 Any;正式接管前应使用 HTTPS,并按实际测试人员/网络范围限制入口。 - 后端仍使用高权限数据库账号。已有只读诊断账号,但应用服务账号降权需要覆盖全部写流程和 SQL 链接服务器场景后再切换。
- 本轮全模块验收为只读冒烟;MES 报工、送检、入库等写流程未执行,B1/TM 写流程按要求明确禁止。
- 核心 DLL 没有原始源码,按当前约定不做 DLL 修改;将来若生产问题必须修改核心逻辑,需要取得源码或采用经过专项验证的替代构建流程。