fix: 修复BOM新增时自动生成编码未校验重复的问题

自动生成 bom_code 时跳过了唯一性校验,导致重复数据直接触发数据库
uk_bom_code 约束异常。将重复校验移出 else 分支,对自动生成和手动
传入两种情况统一校验,并返回友好提示信息。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
panchengyong
2026-03-14 10:09:15 +08:00
parent d8255c355f
commit 0961b9e407

View File

@@ -99,12 +99,11 @@ public class MdBomServiceImpl implements IMdBomService
bomCode += "-V1.00";
}
mdBom.setBomCode(bomCode);
} else {
// 检查BOM编码是否已存在
MdBom existBom = mdBomMapper.selectMdBomByBomCode(mdBom.getBomCode());
if (existBom != null) {
return AjaxResult.error("BOM编码已存在");
}
}
// 无论编码是自动生成还是手动传入,都校验唯一性
MdBom existBom = mdBomMapper.selectMdBomByBomCode(mdBom.getBomCode());
if (existBom != null) {
return AjaxResult.error("BOM编码已存在" + mdBom.getBomCode());
}
// 5. 从产品物料获取冗余字段信息