From aed2afd5494b530c074271fac3928d1b35c8e9d1 Mon Sep 17 00:00:00 2001 From: yinq Date: Sat, 21 Feb 2026 09:28:29 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E9=85=8D=E6=96=B9=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E7=BB=B4=E6=8A=A4=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProdRecipeInfoController.java | 6 +++--- .../mes/service/IProdRecipeInfoService.java | 4 ++-- .../impl/ProdRecipeInfoServiceImpl.java | 18 ++++++++++++------ 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdRecipeInfoController.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdRecipeInfoController.java index 2a0749aa..320b9a3e 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdRecipeInfoController.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdRecipeInfoController.java @@ -131,11 +131,11 @@ public class ProdRecipeInfoController extends BaseController { /** * 配方明细一次保存(基本信息+称量信息+混炼信息) */ - @SaCheckPermission("mes:recipeInfo:edit") + @SaCheckPermission({"mes:recipeInfo:add", "mes:recipeInfo:edit"}) @Log(title = "配方明细", businessType = BusinessType.UPDATE) @RepeatSubmit() @PostMapping("/saveDetail") - public R saveDetail(@Validated @RequestBody RecipeDetailSaveBo bo) { - return toAjax(prodRecipeInfoService.saveDetail(bo)); + public R saveDetail(@Validated @RequestBody RecipeDetailSaveBo bo) { + return R.ok(prodRecipeInfoService.saveDetail(bo)); } } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdRecipeInfoService.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdRecipeInfoService.java index ca19aff2..af301a3e 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdRecipeInfoService.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdRecipeInfoService.java @@ -73,9 +73,9 @@ public interface IProdRecipeInfoService { * 配方明细一次保存(基本信息+称量信息+混炼信息) * * @param bo 配方明细保存对象 - * @return 是否成功 + * @return 配方ID,新增时返回新ID,修改时返回原ID */ - Boolean saveDetail(RecipeDetailSaveBo bo); + Long saveDetail(RecipeDetailSaveBo bo); /** * 根据配方ID查询配方信息 diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdRecipeInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdRecipeInfoServiceImpl.java index 08958edb..1dc44f6e 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdRecipeInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdRecipeInfoServiceImpl.java @@ -205,14 +205,20 @@ public class ProdRecipeInfoServiceImpl implements IProdRecipeInfoService { @Override @Transactional(rollbackFor = Exception.class) - public Boolean saveDetail(RecipeDetailSaveBo bo) { + public Long saveDetail(RecipeDetailSaveBo bo) { ProdRecipeInfoBo recipeInfo = bo.getRecipeInfo(); - if (recipeInfo == null || recipeInfo.getRecipeId() == null) { - throw new IllegalArgumentException("配方ID不能为空"); + if (recipeInfo == null) { + throw new IllegalArgumentException("配方基本信息不能为空"); } Long recipeId = recipeInfo.getRecipeId(); - // 1. 更新配方基本信息 - updateByBo(recipeInfo); + // 新增时 recipeId 为空,先创建配方 + if (recipeId == null) { + insertByBo(recipeInfo); + recipeId = recipeInfo.getRecipeId(); + } else { + // 1. 更新配方基本信息 + updateByBo(recipeInfo); + } // 2. 称量信息:有主键则更新,无主键则插入;删除提交列表中已不存在的原记录 List weightList = bo.getWeightList() != null ? bo.getWeightList() : new ArrayList<>(); @@ -291,7 +297,7 @@ public class ProdRecipeInfoServiceImpl implements IProdRecipeInfoService { prodRecipeMixingService.insertByBo(m); } } - return true; + return recipeId; } @Override