From 7e028da213f9c826b9f3f7a96cf8431ac0e080b5 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 26 Jun 2026 16:33:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(schProdScheduleItem):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=96=B0=E5=A2=9E=E6=8E=92=E4=BA=A7=E5=8D=95?= =?UTF-8?q?=E4=B8=BB=E5=8A=A0=E6=98=8E=E7=BB=86=E5=8F=AF=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在服务接口中新增insertBatchByBo方法定义 - 在控制器中添加批量新增API端点/batch - 实现服务层批量插入逻辑,支持多条记录同时插入 - 集成日志记录和重复提交防护机制 - 实现批量插入后的ID回填功能 --- .../SchProdScheduleItemController.java | 10 +++++++++ .../service/ISchProdScheduleItemService.java | 5 +++++ .../impl/SchProdScheduleItemServiceImpl.java | 21 +++++++++++++++++++ 3 files changed, 36 insertions(+) diff --git a/klp-flow/src/main/java/com/klp/flow/controller/SchProdScheduleItemController.java b/klp-flow/src/main/java/com/klp/flow/controller/SchProdScheduleItemController.java index 0527e52bb..9ddc6a593 100644 --- a/klp-flow/src/main/java/com/klp/flow/controller/SchProdScheduleItemController.java +++ b/klp-flow/src/main/java/com/klp/flow/controller/SchProdScheduleItemController.java @@ -75,6 +75,16 @@ public class SchProdScheduleItemController extends BaseController { return toAjax(iSchProdScheduleItemService.insertByBo(bo)); } + /** + * 批量新增排产单主加明细可合并 + */ + @Log(title = "排产单主加明细可合并", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/batch") + public R addBatch(@Validated(AddGroup.class) @RequestBody List boList) { + return toAjax(iSchProdScheduleItemService.insertBatchByBo(boList)); + } + /** * 修改排产单主加明细可合并 */ diff --git a/klp-flow/src/main/java/com/klp/flow/service/ISchProdScheduleItemService.java b/klp-flow/src/main/java/com/klp/flow/service/ISchProdScheduleItemService.java index 7b187e200..8c43ff478 100644 --- a/klp-flow/src/main/java/com/klp/flow/service/ISchProdScheduleItemService.java +++ b/klp-flow/src/main/java/com/klp/flow/service/ISchProdScheduleItemService.java @@ -42,6 +42,11 @@ public interface ISchProdScheduleItemService { */ Boolean updateByBo(SchProdScheduleItemBo bo); + /** + * 批量新增排产单主加明细可合并 + */ + Boolean insertBatchByBo(List boList); + /** * 校验并批量删除排产单主加明细可合并信息 */ diff --git a/klp-flow/src/main/java/com/klp/flow/service/impl/SchProdScheduleItemServiceImpl.java b/klp-flow/src/main/java/com/klp/flow/service/impl/SchProdScheduleItemServiceImpl.java index 2eb5bc6c3..457835729 100644 --- a/klp-flow/src/main/java/com/klp/flow/service/impl/SchProdScheduleItemServiceImpl.java +++ b/klp-flow/src/main/java/com/klp/flow/service/impl/SchProdScheduleItemServiceImpl.java @@ -15,6 +15,7 @@ import com.klp.flow.domain.SchProdScheduleItem; import com.klp.flow.mapper.SchProdScheduleItemMapper; import com.klp.flow.service.ISchProdScheduleItemService; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Collection; @@ -110,6 +111,26 @@ public class SchProdScheduleItemServiceImpl implements ISchProdScheduleItemServi return flag; } + /** + * 批量新增排产单主加明细可合并 + */ + @Override + public Boolean insertBatchByBo(List boList) { + List addList = new ArrayList<>(boList.size()); + for (SchProdScheduleItemBo bo : boList) { + SchProdScheduleItem add = BeanUtil.toBean(bo, SchProdScheduleItem.class); + validEntityBeforeSave(add); + addList.add(add); + } + boolean flag = baseMapper.insertBatch(addList); + if (flag) { + for (int i = 0; i < boList.size(); i++) { + boList.get(i).setScheduleId(addList.get(i).getScheduleId()); + } + } + return flag; + } + /** * 修改排产单主加明细可合并 */