更新装配、精工车间、技术中心、仓储模块,新增工序工价、生产审核、三楼仓库可视化等功能及文档SQL
This commit is contained in:
299
docs/零件改制/零件改制入库链路测试报告.md
Normal file
299
docs/零件改制/零件改制入库链路测试报告.md
Normal file
@@ -0,0 +1,299 @@
|
||||
# 零件改制入库链路测试报告
|
||||
|
||||
## 1. 测试目的
|
||||
|
||||
验证零件改制任务在完成生产后,是否能够进入现有“自制件入库”流程,并判断是否存在入库数据风险。
|
||||
|
||||
## 2. 测试方式
|
||||
|
||||
本次采用只读查询和事务内回滚模拟方式测试。
|
||||
|
||||
- 未保留任何业务数据改动。
|
||||
- 未真实新增库存。
|
||||
- 未真实执行入库提交。
|
||||
- 使用事务临时修改完成数量,调用现有自制件入库查询过程后立即回滚。
|
||||
|
||||
## 3. 涉及对象
|
||||
|
||||
### 3.1 前端页面
|
||||
|
||||
```text
|
||||
src/views/WarehouseManagement/PurchasePartsStorage/index.vue
|
||||
```
|
||||
|
||||
自制件入库页签使用接口:
|
||||
|
||||
```text
|
||||
仓储管理_自制件入库_查询
|
||||
仓储管理_自制件入库_循环执行
|
||||
物料入库_自制件入库_零件图号_查询数据
|
||||
```
|
||||
|
||||
### 3.2 数据库对象
|
||||
|
||||
```text
|
||||
技术中心_改制订单记录
|
||||
车间生产管理_零件工艺计划_视图
|
||||
车间生产管理工艺_零件工艺计划
|
||||
仓储管理_自制件入库_查询
|
||||
仓储管理_自制件入库_循环执行
|
||||
库存管理_物料与货位对照表
|
||||
库存管理_外购件累计库存
|
||||
库存管理_自制件_入库记录
|
||||
```
|
||||
|
||||
## 4. 当前改制任务状态检查
|
||||
|
||||
执行 SQL:
|
||||
|
||||
```sql
|
||||
SELECT
|
||||
COUNT(*) AS 改制任务数,
|
||||
SUM(CASE WHEN ISNULL(V.完成数量,0) > ISNULL(V.入库数量,0) THEN 1 ELSE 0 END) AS 当前可入库数,
|
||||
SUM(CASE WHEN ISNULL(V.完成数量,0) >= ISNULL(V.批次数量,0) AND ISNULL(V.批次数量,0) > 0 THEN 1 ELSE 0 END) AS 已完成生产数,
|
||||
SUM(CASE WHEN V.工艺计划流水号 IS NULL THEN 1 ELSE 0 END) AS 未关联生产任务数
|
||||
FROM dbo.技术中心_改制订单记录 GZ
|
||||
LEFT JOIN dbo.车间生产管理_零件工艺计划_视图 V
|
||||
ON GZ.工艺计划流水号 = V.工艺计划流水号
|
||||
WHERE ISNULL(GZ.是否删除,0)=0;
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
| 改制任务数 | 当前可入库数 | 已完成生产数 | 未关联生产任务数 |
|
||||
| --- | --- | --- | --- |
|
||||
| 11 | 0 | 0 | 3 |
|
||||
|
||||
结论:
|
||||
|
||||
- 当前没有已经完成生产并可入库的改制任务。
|
||||
- 有 3 条历史改制记录未关联到生产任务,原因是未回写 `工艺计划流水号`。
|
||||
|
||||
## 5. 入库查询模拟测试
|
||||
|
||||
### 5.1 测试 SQL
|
||||
|
||||
以下 SQL 在事务中临时将一条改制任务的 `完成数量` 设置为 `批次数量`,调用现有自制件入库查询后立即回滚。
|
||||
|
||||
```sql
|
||||
BEGIN TRAN;
|
||||
|
||||
DECLARE @工艺计划流水号 int;
|
||||
DECLARE @订单流水号 int;
|
||||
DECLARE @批次数量 int;
|
||||
DECLARE @图号 nvarchar(50);
|
||||
|
||||
SELECT TOP 1
|
||||
@工艺计划流水号 = V.工艺计划流水号,
|
||||
@订单流水号 = V.订单流水号,
|
||||
@批次数量 = V.批次数量,
|
||||
@图号 = V.零件图号
|
||||
FROM dbo.技术中心_改制订单记录 GZ
|
||||
INNER JOIN dbo.车间生产管理_零件工艺计划_视图 V
|
||||
ON GZ.工艺计划流水号 = V.工艺计划流水号
|
||||
WHERE ISNULL(GZ.是否删除,0)=0
|
||||
AND V.工艺计划流水号 IS NOT NULL
|
||||
ORDER BY GZ.改制订单流水号 DESC;
|
||||
|
||||
UPDATE dbo.车间生产管理工艺_零件工艺计划
|
||||
SET 完成数量 = @批次数量
|
||||
WHERE 工艺计划流水号 = @工艺计划流水号;
|
||||
|
||||
EXEC dbo.仓储管理_自制件入库_查询
|
||||
@排序名称 = 0,
|
||||
@排序方式 = 0,
|
||||
@订单号_check = 1,
|
||||
@订单号 = @订单流水号,
|
||||
@零件图号_check = 1,
|
||||
@零件图号 = @图号;
|
||||
|
||||
ROLLBACK TRAN;
|
||||
```
|
||||
|
||||
### 5.2 查询结果
|
||||
|
||||
| 工艺计划流水号 | 订单号 | 零件名称 | 零件图号 | 物料流水号 | 批次数量 | 完成数量 | 入库数量 | 本次入库 | 类型 |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| 6591 | BHGZ-202607010011 | 300封油板 | URS3042Z-07-01 | 741 | 1 | 1 | 0 | 1 | 自制件 |
|
||||
|
||||
结论:
|
||||
|
||||
- 改制任务在完成生产后,可以进入现有 `仓储管理_自制件入库_查询` 查询结果。
|
||||
- 页面层面具备被选择并执行自制件入库的条件。
|
||||
|
||||
## 6. 入库执行逻辑分析
|
||||
|
||||
现有自制件入库提交过程:
|
||||
|
||||
```text
|
||||
仓储管理_自制件入库_循环执行
|
||||
```
|
||||
|
||||
关键逻辑:
|
||||
|
||||
```sql
|
||||
INSERT INTO 库存管理_物料与货位对照表
|
||||
(
|
||||
物料流水号,
|
||||
货位流水号,
|
||||
货位存量,
|
||||
操作日期,
|
||||
工艺计划流水号
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@物料流水号,
|
||||
@货位流水号,
|
||||
@实际到货数量,
|
||||
GETDATE(),
|
||||
@工艺计划流水号
|
||||
);
|
||||
|
||||
INSERT INTO 库存管理_自制件_入库记录
|
||||
(
|
||||
工艺计划流水号,
|
||||
实际到货数量,
|
||||
入库人员流水号,
|
||||
入库时间,
|
||||
货位流水号
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@工艺计划流水号,
|
||||
@实际到货数量,
|
||||
@入库人员流水号,
|
||||
GETDATE(),
|
||||
@货位流水号
|
||||
);
|
||||
|
||||
UPDATE 车间生产管理工艺_零件工艺计划
|
||||
SET 入库数量 = ISNULL(入库数量,0) + @实际到货数量
|
||||
WHERE 工艺计划流水号 = @工艺计划流水号;
|
||||
```
|
||||
|
||||
该过程会:
|
||||
|
||||
- 增加货位库存。
|
||||
- 增加累计库存。
|
||||
- 写入自制件入库记录。
|
||||
- 回写工艺计划入库数量。
|
||||
- 入库数量达到生产数量减报废数量时,将工艺计划状态更新为入库完成。
|
||||
|
||||
## 7. 风险发现
|
||||
|
||||
### 7.1 入库可执行,但可能入到原物料流水号
|
||||
|
||||
当前改制任务查询结果中,虽然视图显示了改制后的零件名称和零件图号,但 `物料流水号` 仍来自原基本件关联的物料。
|
||||
|
||||
抽样结果:
|
||||
|
||||
| 改制订单编号 | 改制零件图号 | 工艺计划流水号 | 物料流水号 | 当前物料代号 | 结论 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| BHGZ-202607010011 | URS3042Z-07-01 | 6591 | 741 | URS2267Z-04 | 不一致 |
|
||||
| BHGZ-202606270010 | XT40-2-BT40-14.09-G | 6590 | 1716 | XT40-MF-05.08 | 不一致 |
|
||||
| BHGZ-202606260009 | XT20-02-G | 6589 | 1251 | XT20-09 | 不一致 |
|
||||
|
||||
影响:
|
||||
|
||||
- 如果直接使用现有入库流程,库存可能增加到原基本件物料,而不是改制后的目标零件物料。
|
||||
- 页面显示看起来是改制零件,但库存台账实际使用的是原 `物料流水号`。
|
||||
|
||||
## 8. 测试结论
|
||||
|
||||
### 8.1 能否正常进入入库流程
|
||||
|
||||
可以。
|
||||
|
||||
完成生产后,只要满足:
|
||||
|
||||
```sql
|
||||
完成数量 > 入库数量
|
||||
```
|
||||
|
||||
改制任务可以被 `仓储管理_自制件入库_查询` 查出,并进入现有自制件入库页面。
|
||||
|
||||
### 8.2 能否直接认为入库完全正确
|
||||
|
||||
不能。
|
||||
|
||||
当前链路存在关键风险:
|
||||
|
||||
```text
|
||||
显示字段使用改制零件信息
|
||||
库存入库仍使用原物料流水号
|
||||
```
|
||||
|
||||
因此只能说“流程可进入入库”,但不能确认“库存入到正确改制物料”。
|
||||
|
||||
## 9. 修复方案执行情况
|
||||
|
||||
### 9.1 已执行方案
|
||||
|
||||
已在 `技术中心_改制订单记录` 中增加改制目标物料流水号:
|
||||
|
||||
```sql
|
||||
ALTER TABLE dbo.技术中心_改制订单记录
|
||||
ADD 改制物料流水号 int NULL;
|
||||
```
|
||||
|
||||
已修改 `技术中心_改制订单_发起改制`:
|
||||
|
||||
```sql
|
||||
SELECT TOP 1
|
||||
@改制物料流水号 = 物料流水号
|
||||
FROM dbo.库存管理_物料主文件_基本
|
||||
WHERE LTRIM(RTRIM(名称)) = LTRIM(RTRIM(@改制零件名称))
|
||||
AND LTRIM(RTRIM(代号)) = LTRIM(RTRIM(@改制零件图号))
|
||||
AND ISNULL(是否禁用, 0) = 0;
|
||||
```
|
||||
|
||||
查不到新物料时禁止发起:
|
||||
|
||||
```sql
|
||||
SELECT '0' AS result, '未找到改制零件对应的新物料,请先维护物料信息' AS msg;
|
||||
```
|
||||
|
||||
已修改 `车间生产管理_零件工艺计划_视图`,让以下字段优先使用改制物料:
|
||||
|
||||
```text
|
||||
物料流水号
|
||||
物料编码
|
||||
代号
|
||||
货位流水号
|
||||
货位名称
|
||||
单位
|
||||
```
|
||||
|
||||
同时保留改制订单编号、改制零件名称、改制零件图号的优先显示。
|
||||
|
||||
### 9.2 当前验证结果
|
||||
|
||||
结构验证:
|
||||
|
||||
| 检查项 | 结果 |
|
||||
| --- | --- |
|
||||
| 改制物料字段存在 | 1 |
|
||||
| 发起过程已包含改制物料 | 1 |
|
||||
| 生产任务视图已关联改制物料 | 1 |
|
||||
|
||||
历史数据:
|
||||
|
||||
| 未删除改制记录数 | 未维护改制物料数 | 已维护改制物料数 |
|
||||
| --- | --- | --- |
|
||||
| 11 | 11 | 0 |
|
||||
|
||||
说明:
|
||||
|
||||
- 历史改制记录没有匹配到新物料流水号。
|
||||
- 原因是物料主文件中没有与历史记录的“改制零件名称 + 改制零件图号”完全匹配的可用物料。
|
||||
- 新流程已阻止继续产生该问题。
|
||||
|
||||
## 10. 后续验收项
|
||||
|
||||
| 验收项 | 状态 | 标准 |
|
||||
| --- | --- | --- |
|
||||
| 改制任务完成后可进入自制件入库查询 | 通过 | 事务回滚模拟已验证 |
|
||||
| 改制任务入库后库存写入正确物料 | 待新数据验证 | 新流程已支持改制物料流水号,需用新发起改制订单验证 |
|
||||
| 入库后工艺计划入库数量增加 | 待真实流程验证 | 入库数量应增加 |
|
||||
| 入库完成后考核状态变为 4 | 待真实流程验证 | 完成数量全部入库后状态为入库 |
|
||||
| 入库记录显示改制订单编号 | 待联调 | 入库记录查询需关联改制记录 |
|
||||
Reference in New Issue
Block a user