From 6a406c05a4623a0f9448c7ae1fa3a7aa163d8ade Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 17 Oct 2025 11:44:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(qc):=20=E6=96=B0=E5=A2=9E=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E4=BB=BB=E5=8A=A1=E6=97=B6=E5=A4=8D=E5=88=B6=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E9=A1=B9=E8=AF=A6=E7=BB=86=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入WmsCheckItemMapper依赖以查询检查项详情 - 在新增检查任务时,根据检查项ID查询并复制目标值、标准值等字段 -优化检查任务项插入逻辑,确保检查项数据完整性- 使用Map结构提高检查项查找效率 -保持原有异常处理机制,确保数据插入失败时能及时抛出异常 --- .../service/impl/WmsCheckTaskServiceImpl.java | 51 ++++++++++++++----- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java index f34f08f1..adf21441 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; +import com.klp.mes.qc.domain.WmsCheckItem; import com.klp.mes.qc.domain.WmsCheckTaskItem; import com.klp.mes.qc.domain.vo.WmsCheckItemVo; import com.klp.mes.qc.mapper.WmsCheckItemMapper; @@ -21,10 +22,7 @@ import com.klp.mes.qc.mapper.WmsCheckTaskMapper; import com.klp.mes.qc.service.IWmsCheckTaskService; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.util.*; /** * 检查任务Service业务层处理 @@ -37,6 +35,7 @@ import java.util.Collection; public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { private final WmsCheckTaskMapper baseMapper; + private final WmsCheckItemMapper wmsCheckItemMapper; private final WmsCheckTaskItemMapper wmsCheckTaskItemMapper; /** @@ -133,17 +132,43 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { validEntityBeforeSave(add); boolean mainFlag = baseMapper.insert(add) > 0; int count = 0; - for (Long itemId : bo.getItemId()) { - WmsCheckTaskItem wmsCheckTaskItem = new WmsCheckTaskItem(); - wmsCheckTaskItem.setCheckTaskId(add.getTaskId()); - wmsCheckTaskItem.setCheckItemId(itemId); - int insertCount = wmsCheckTaskItemMapper.insert(wmsCheckTaskItem); - if (insertCount <= 0) { - throw new RuntimeException("新增检查任务失败,检查项ID:" + itemId); - } else { - count++; + + // 查询检查项的详细信息 + List itemIds = bo.getItemId(); + if (itemIds != null && !itemIds.isEmpty()) { + // 查询检查项的详细信息 + List checkItems = wmsCheckItemMapper.selectBatchIds(itemIds); + + Map itemMap = new HashMap<>(); + for (WmsCheckItem item : checkItems) { + itemMap.put(item.getItemId(), item); + } + + // 插入检查任务项 + for (Long itemId : itemIds) { + WmsCheckTaskItem wmsCheckTaskItem = new WmsCheckTaskItem(); + wmsCheckTaskItem.setCheckTaskId(add.getTaskId()); + wmsCheckTaskItem.setCheckItemId(itemId); + + // 复制检查项的五个字段值 + WmsCheckItem checkItem = itemMap.get(itemId); + if (checkItem != null) { + wmsCheckTaskItem.setTargetUpper(checkItem.getTargetUpper()); + wmsCheckTaskItem.setTargetLower(checkItem.getTargetLower()); + wmsCheckTaskItem.setStandardTarget(checkItem.getStandardTarget()); + wmsCheckTaskItem.setUnit(checkItem.getUnit()); + wmsCheckTaskItem.setQualitativeQuantitative(checkItem.getQualitativeQuantitative()); + } + + int insertCount = wmsCheckTaskItemMapper.insert(wmsCheckTaskItem); + if (insertCount <= 0) { + throw new RuntimeException("新增检查任务失败,检查项ID:" + itemId); + } else { + count++; + } } } + if (mainFlag) { bo.setTaskId(add.getTaskId()); }