feat(wms): 添加钢卷回滚功能替代原有的复活功能

- 将原有的reviveCoil方法重命名为rollbackCoil,实现更精确的回滚操作
- 修改接口路径从GET /reviveCoil/{coilId}改为POST /rollback/{currentCoilId}
- 新增详细的回滚验证逻辑,包括检查数据类型、删除标志和发货状态
- 实现基于二维码记录的钢卷历史追踪,支持撤销更新、合卷和分卷操作
- 添加回滚操作的阻止机制,防止对初始创建、合卷产物和分卷产物进行回滚
- 完善回滚过程中的库位释放和数据恢复流程
- 更新二维码记录以记录回滚操作步骤和相关信息
This commit is contained in:
2026-01-20 09:57:59 +08:00
parent 567a1d5cae
commit 1f284d3607
3 changed files with 335 additions and 75 deletions

View File

@@ -150,13 +150,14 @@ public interface IWmsMaterialCoilService {
Map<String, Object> getDuplicateCoilGroups();
/**
* 复活历史钢卷
* 将dataType=0的历史钢卷恢复为dataType=1的当前钢卷
* 同时清空实际库位绑定,并检查当前钢卷号是否重复
* 回滚钢卷操作
* 根据当前钢卷ID找到历史钢卷恢复,删除当前钢卷
* 用于撤销单个更新、合卷或分卷操作
*
* @param coilId 钢卷ID
* @return 复活结果,包含success状态和错误信息
* @param currentCoilId 当前钢卷ID(需要回滚的钢卷)
* @return 操作结果,包含恢复的历史钢卷信息
*/
Map<String, Object> reviveCoil(@NotNull(message = "钢卷ID不能为空") Long coilId);
Map<String, Object> rollbackCoil(@NotNull(message = "当前钢卷ID不能为空") Long currentCoilId);
}