Files
MES_Manage_View_V20/doc/装配任务预算进度功能_20260725.md

54 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 装配任务预算进度功能
## 功能范围
系统类装配任务和阀类装配任务页面新增:
| 字段 | 来源 | 单位/格式 |
| --- | --- | --- |
| 任务预算装配工时 | 人工录入,按生产订单保存 | 小时 |
| 任务预算装配进度 | 任务装配工时 / 任务预算装配工时 | 百分比,保留两位小数 |
| 合同预算测试工时 | 人工录入,按销售合同保存 | 小时 |
| 合同预算测试进度 | 合同质检工时 / 合同预算测试工时 | 百分比,保留两位小数 |
预算工时为 `0` 时,对应进度显示 `0.00%`。进度允许超过 `100%`,用于反映实际工时超出预算的情况。
## 数据设计
- `dbo.计划排产_装配任务预算`:以订单号为主键保存任务预算。
- `dbo.计划排产_装配合同预算`:以合同号为主键保存合同预算。
- `dbo.计划排产_装配任务预算_保存`:参数化保存过程,校验预算类型、业务键和非负预算。
- `dbo.计划排产_装配任务查询_核心`:返回新增 4 个字段并计算百分比。
- `dbo.计划排产_装配任务查询_核心_预算前_20260725`:正式环境部署前的精确过程备份。
预算按小时录入;数据库中的实际装配和质检工时为秒,计算时先除以 `3600` 转换为小时,再除以预算并乘以 `100`
## 验证结果
1. 正式数据库事务回归:订单 `5727` 临时设置任务预算 `100` 小时、合同预算 `50` 小时,得到任务进度 `27.13%`、合同测试进度 `39.59%`,随后回滚,预算表均为 0 行。
2. 正式接口读写回归:两个预算保存均返回 `result=1`,再次查询得到相同进度;仅删除带 `Codex接口回归` 标记且值完全匹配的两条测试数据,清理后预算表均为 0 行。
3. 新旧查询一致性:系统类 55 行、阀类 283 行;全部原字段均存在且公共字段 SHA-256 哈希一致,只新增需求中的 4 个字段。
4. 性能回归:本次对比中系统类新查询约 `723 ms`,阀类新查询约 `904 ms`,未发现性能退化。
5. 前端生产构建成功Webpack 仅报告项目既有的大资源包告警。
6. 页面初始化防误保存回归:预算原值加入行状态后,重新启动页面并等待初始化,正式预算表持续为 0 行,未再产生零值记录。
## 发布状态
- 正式数据库:已部署并验证。
- 前端源码:已修改并通过生产构建。
- 正式前端静态站点未部署。当前未提供正式前端站点地址、IIS 物理目录或受控发布通道;`192.168.2.92:10101` 为后端接口站点,不承载当前前端入口。
- 本地预览:`https://127.0.0.1:1998/`,使用开发自签名证书。
发布包:`release_packages/MES_Manage_View_V20_装配任务预算进度_20260725.zip`
- 大小62,963,217 字节
- SHA-256`5E53DA3CA7BF2825589077D1F90433E57549096090F460F3E32A1DEC5F8D232B`
- 包内包含正式环境 `static/config.js`
## 回滚
- 数据库部署:`db_backups/add_install_task_budget_progress_20260725.sql`
- 数据库回滚:`db_backups/rollback_install_task_budget_progress_20260725.sql`
数据库回滚恢复预算功能上线前的核心查询并删除保存过程,但有意保留两张预算表,防止已经录入的人工预算数据丢失。正式前端发布时必须先备份原静态目录,前端回滚使用该目录备份。