feat(schProdScheduleItem): 添加批量新增排产单主加明细可合并功能

- 在服务接口中新增insertBatchByBo方法定义
- 在控制器中添加批量新增API端点/batch
- 实现服务层批量插入逻辑,支持多条记录同时插入
- 集成日志记录和重复提交防护机制
- 实现批量插入后的ID回填功能
This commit is contained in:
2026-06-26 16:33:29 +08:00
parent 174cd29280
commit 7e028da213
3 changed files with 36 additions and 0 deletions

View File

@@ -75,6 +75,16 @@ public class SchProdScheduleItemController extends BaseController {
return toAjax(iSchProdScheduleItemService.insertByBo(bo));
}
/**
* 批量新增排产单主加明细可合并
*/
@Log(title = "排产单主加明细可合并", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/batch")
public R<Void> addBatch(@Validated(AddGroup.class) @RequestBody List<SchProdScheduleItemBo> boList) {
return toAjax(iSchProdScheduleItemService.insertBatchByBo(boList));
}
/**
* 修改排产单主加明细可合并
*/

View File

@@ -42,6 +42,11 @@ public interface ISchProdScheduleItemService {
*/
Boolean updateByBo(SchProdScheduleItemBo bo);
/**
* 批量新增排产单主加明细可合并
*/
Boolean insertBatchByBo(List<SchProdScheduleItemBo> boList);
/**
* 校验并批量删除排产单主加明细可合并信息
*/

View File

@@ -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<SchProdScheduleItemBo> boList) {
List<SchProdScheduleItem> 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;
}
/**
* 修改排产单主加明细可合并
*/